[Pkg-crosswire-devel] BibleTime 2.11.0 package ready for review

Roberto C. Sánchez roberto at debian.org
Thu Oct 5 19:21:44 BST 2017


On Thu, Oct 05, 2017 at 05:16:18PM +0000, Teus Benschop wrote:
>    Hi Roberto,
>    I definitely knew I had overlooked something, just that I didn't know what
>    exactly :)
>    I tried to fix it on the working tree, as follows:
>    $ cd ~/bibletime/bibletime
>    $ gbp import-dsc --create-missing-branches --pristine-tar
>    --allow-same-version ../bibletime_*.dsc
>    The result was different from what was expected:
>    gbp:warning: Version 2.11.0-1 already imported.
>    gbp:info: Moving tag of version '2.11.0-1' since import forced
>    gbp:error: Git command failed: Failed to ls-tree 'upstream': 'fatal: Not a
>    valid object name upstream
>    Then doing 
>    $ git branch
>    * master
>    So something is going on here, and I don't know what it is, it fails with
>    an error.

Teus,

Your repository is in a very bad state.  I have documented for you what
you need to do.  However, please read on to the end where I explain some
very important points that you will need to be aware of after taking
these steps.

You need to do something like this:

$  git log --oneline --graph --branches
* 28a6a2a (HEAD -> master, tag: debian/2.11.0-1) Import Debian changes 2.11.0-1
* 27d7b39 (tag: debian/2.11.0-1_1507223162, origin/master, origin/HEAD) Import Debian changes 2.11.0-1
* b17dfe5 Fixes for unknown-paragraph-in-dep5-copyright paragraph and for binary-without-manpage lintian W's
* e1d5274 Fixed: bibletime source: syntax-error-in-dep5-copyright line 61: Continuation line outside a paragraph (maybe line 60 should be " .").
* 71b9053 Fix for missing manpage bibletime
* 511f531 Fixed:bibletime: binary-without-manpage usr/bin/bibletime
* dcd821a Fixed: debian-changelog-has-wrong-day-of-week 2017-10-04 is a Wednesday
* 48c1aeb Fixed: W: bibletime source: missing-license-paragraph-in-dep5-copyright gpl-2.0 (paragraph at line 10)
* 1d74044 Fixed: bibletime source: unknown-paragraph-in-dep5-copyright paragraph at line 3
* 0f48b8f Add debian/bibletime.1 man page
* 8c22e47 Standards-Version: 4.1.1
* da789ec bibletime source: syntax-error-in-dep5-copyright line 30: Continuation line outside a paragraph (maybe line 29 should be " .").
* b308675 Updated Build-Depends
* 0d09464 updated debian/changelog
* cc90f3c debian/rules: override_dh_auto_test because the test rely on a display which is not there
* 74cb289 upstream 2.11.0
* d65791d debian/patches/series: remove already applied patches
* 39157a8 debian/control: updated Build-Depends, Uploaders
* 3da0efa updated changelog
* 781e0e6 updated changelog
* 3947f01 Updated debian/copyright
* 8ca5d16 Make debian/copyright machine-readable
* 428aece (tag: upstream/2.11.0) upstream 2.11.0
* b67cfaa write test
* 4b859b8 test write access
* 9405cb2 lintian cleanup
* c211931 (tag: debian/2.10.1-3) release 2.10.1-3
* 20f7f02 patch to fix translations #555887
* d39cf86 patch to remove MimeType entry from bibletime.desktop
* 4d3261a desktop keywords patch
* 8f0dded build dep on libsword-dev >= 1.7.3+dfdg-3
* 0aea16d .gitignore - .pc
* fbf4fc4 (tag: debian/2.10.1-2) releasing package bibletime version 2.10.1-2
* 4bbeb4e Add patch to build without pie, fixes FTBFS on s390x (Closes: #767209)
* c25a39c (tag: debian/2.10.1-1) debian/control: Bumped debhelper compatibility level to 9
* 737d6ff debian/control: Bumped Standards-Version to 3.9.6 (no changes)
* 04ebca9 * debian/control: Add /me to uploaders * debian/control: Add links to Alioth Git repository
* b7e0aff Bug closure notice
*   c046987 Imported Debian patch 2.10.1-1
|\  
| * 1ea03c0 (tag: upstream/2.10.1, origin/upstream) Imported Upstream version 2.10.1
* | d40aeea (tag: debian/2.9.2-1.1) Imported Debian patch 2.9.2-1.1
* |   26eaa65 (tag: debian/2.9.2-1) Imported Debian patch 2.9.2-1
|\ \  
| |/  
| * 579657c (tag: upstream/2.9.2) Imported Upstream version 2.9.2
* | 761f016 (tag: debian/2.9.1-3) Imported Debian patch 2.9.1-3
* | 88646ea (tag: debian/2.9.1-2) Imported Debian patch 2.9.1-2
* |   1da8254 (tag: debian/2.9.1-1) Imported Debian patch 2.9.1-1
$  git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/pristine-tar
  remotes/origin/upstream
$  git branch upstream origin/upstream
Branch upstream set up to track remote branch upstream from origin.
$  git branch pristine-tar origin/pristine-tar 
Branch pristine-tar set up to track remote branch pristine-tar from origin.
$  git branch -a
* master
  pristine-tar
  upstream
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/pristine-tar
  remotes/origin/upstream
$  git tag -d upstream/2.11.0
Deleted tag 'upstream/2.11.0' (was 428aece)
$  git tag -d debian/2.11.0-1
Deleted tag 'debian/2.11.0-1' (was 20707ef)
$  git tag -d debian/2.11.0-1_1507223162 
Deleted tag 'debian/2.11.0-1_1507223162' (was 3453344)
$  git branch master-tmp
$  git checkout master-tmp
Switched to branch 'master-tmp'
$  git branch -d master
warning: not deleting branch 'master' that is not yet merged to
         'refs/remotes/origin/master', even though it is merged to HEAD.
error: The branch 'master' is not fully merged.
If you are sure you want to delete it, run 'git branch -D master'.
$  git branch -D master
Deleted branch master (was 28a6a2a).
$  git checkout -b master 9405cb2
Switched to a new branch 'master'
$  git branch -a
* master
  master-tmp
  pristine-tar
  upstream
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/pristine-tar
  remotes/origin/upstream
$  git import-orig --pristine-tar ../bibletime_2.11.0.orig.tar.gz
git: 'import-orig' is not a git command. See 'git --help'.
$  gbp import-orig --pristine-tar ../bibletime_2.11.0.orig.tar.gz
What is the upstream version? [2.11.0] 
gbp:info: Importing '../bibletime_2.11.0.orig.tar.gz' to branch 'upstream'...
gbp:info: Source package is bibletime
gbp:info: Upstream version is 2.11.0
gbp:info: Merging to 'master'
gbp:info: Successfully imported version 2.11.0 of ../bibletime_2.11.0.orig.tar.gz
$  git log --oneline 9405cb2..master-tmp
28a6a2a (master-tmp) Import Debian changes 2.11.0-1
27d7b39 (origin/master, origin/HEAD) Import Debian changes 2.11.0-1
b17dfe5 Fixes for unknown-paragraph-in-dep5-copyright paragraph and for binary-without-manpage lintian W's
e1d5274 Fixed: bibletime source: syntax-error-in-dep5-copyright line 61: Continuation line outside a paragraph (maybe line 60 should be " .").
71b9053 Fix for missing manpage bibletime
511f531 Fixed:bibletime: binary-without-manpage usr/bin/bibletime
dcd821a Fixed: debian-changelog-has-wrong-day-of-week 2017-10-04 is a Wednesday
48c1aeb Fixed: W: bibletime source: missing-license-paragraph-in-dep5-copyright gpl-2.0 (paragraph at line 10)
1d74044 Fixed: bibletime source: unknown-paragraph-in-dep5-copyright paragraph at line 3
0f48b8f Add debian/bibletime.1 man page
8c22e47 Standards-Version: 4.1.1
da789ec bibletime source: syntax-error-in-dep5-copyright line 30: Continuation line outside a paragraph (maybe line 29 should be " .").
b308675 Updated Build-Depends
0d09464 updated debian/changelog
cc90f3c debian/rules: override_dh_auto_test because the test rely on a display which is not there
74cb289 upstream 2.11.0
d65791d debian/patches/series: remove already applied patches
39157a8 debian/control: updated Build-Depends, Uploaders
3da0efa updated changelog
781e0e6 updated changelog
3947f01 Updated debian/copyright
8ca5d16 Make debian/copyright machine-readable
428aece upstream 2.11.0
b67cfaa write test
4b859b8 test write access
$  git cherry-pick 8ca5d16 3947f01 781e0e6 3da0efa 39157a8 d65791d cc90f3c 0d09464 b308675 da789ec 8c22e47 0f48b8f 1d74044 48c1aeb dcd821a 511f531 71b9053 e1d5274 b17dfe5
[master 2e13a3b] Make debian/copyright machine-readable
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Tue Oct 3 14:45:31 2017 +0200
 1 file changed, 33 insertions(+), 29 deletions(-)
 rewrite debian/copyright (99%)
[master e5cf059] Updated debian/copyright
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Tue Oct 3 14:57:54 2017 +0200
 1 file changed, 9 insertions(+), 5 deletions(-)
[master bf1bb97] updated changelog
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Tue Oct 3 15:02:21 2017 +0200
 1 file changed, 7 insertions(+)
[master f365439] updated changelog
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Tue Oct 3 15:03:58 2017 +0200
 1 file changed, 1 insertion(+), 1 deletion(-)
[master a759874] debian/control: updated Build-Depends, Uploaders
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 13:04:25 2017 +0200
 1 file changed, 6 insertions(+), 5 deletions(-)
[master 721a598] debian/patches/series: remove already applied patches
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 13:19:32 2017 +0200
 1 file changed, 4 insertions(+), 4 deletions(-)
[master bd7cfe1] debian/rules: override_dh_auto_test because the test rely on a display which is not there
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 13:44:51 2017 +0200
 1 file changed, 2 insertions(+)
[master 40271c5] updated debian/changelog
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 13:54:04 2017 +0200
 1 file changed, 5 insertions(+), 1 deletion(-)
[master 437b101] Updated Build-Depends
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 14:23:43 2017 +0200
 1 file changed, 2 insertions(+), 2 deletions(-)
[master 54812cc] bibletime source: syntax-error-in-dep5-copyright line 30: Continuation line outside a paragraph (maybe line 29 should be " .").
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 14:31:50 2017 +0200
 2 files changed, 2 insertions(+), 3 deletions(-)
[master 1ef3c8e] Standards-Version: 4.1.1
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 14:33:53 2017 +0200
 2 files changed, 2 insertions(+), 1 deletion(-)
[master ee53c05] Add debian/bibletime.1 man page
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Wed Oct 4 14:51:39 2017 +0200
 2 files changed, 110 insertions(+)
 create mode 100644 debian/bibletime.1
[master 4a61dcb] Fixed: bibletime source: unknown-paragraph-in-dep5-copyright paragraph at line 3
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 12:28:31 2017 +0200
 1 file changed, 1 insertion(+), 4 deletions(-)
[master f70ac87] Fixed: W: bibletime source: missing-license-paragraph-in-dep5-copyright gpl-2.0 (paragraph at line 10)
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 12:44:39 2017 +0200
 2 files changed, 34 insertions(+), 2 deletions(-)
[master 84bf48f] Fixed: debian-changelog-has-wrong-day-of-week 2017-10-04 is a Wednesday
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 12:45:26 2017 +0200
 1 file changed, 1 insertion(+), 1 deletion(-)
[master 6a6137a] Fixed:bibletime: binary-without-manpage usr/bin/bibletime
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 12:53:16 2017 +0200
 2 files changed, 7 insertions(+), 2 deletions(-)
[master 58b39b5] Fix for missing manpage bibletime
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 13:16:47 2017 +0200
 3 files changed, 2 insertions(+), 7 deletions(-)
[master 518d054] Fixed: bibletime source: syntax-error-in-dep5-copyright line 61: Continuation line outside a paragraph (maybe line 60 should be " .").
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 13:21:58 2017 +0200
 1 file changed, 1 insertion(+), 1 deletion(-)
[master 265787a] Fixes for unknown-paragraph-in-dep5-copyright paragraph and for binary-without-manpage lintian W's
 Author: Teus Benschop <teusjannette at gmail.com>
 Date: Thu Oct 5 13:30:07 2017 +0200
 2 files changed, 1 insertion(+), 5 deletions(-)
$  git branch -D master-tmp
Deleted branch master-tmp (was 28a6a2a).
$  git branch -a
* master
  pristine-tar
  upstream
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/pristine-tar
  remotes/origin/upstream
$  git log --oneline --graph --branches
* 265787a (HEAD -> master) Fixes for unknown-paragraph-in-dep5-copyright paragraph and for binary-without-manpage lintian W's
* 518d054 Fixed: bibletime source: syntax-error-in-dep5-copyright line 61: Continuation line outside a paragraph (maybe line 60 should be " .").
* 58b39b5 Fix for missing manpage bibletime
* 6a6137a Fixed:bibletime: binary-without-manpage usr/bin/bibletime
* 84bf48f Fixed: debian-changelog-has-wrong-day-of-week 2017-10-04 is a Wednesday
* f70ac87 Fixed: W: bibletime source: missing-license-paragraph-in-dep5-copyright gpl-2.0 (paragraph at line 10)
* 4a61dcb Fixed: bibletime source: unknown-paragraph-in-dep5-copyright paragraph at line 3
* ee53c05 Add debian/bibletime.1 man page
* 1ef3c8e Standards-Version: 4.1.1
* 54812cc bibletime source: syntax-error-in-dep5-copyright line 30: Continuation line outside a paragraph (maybe line 29 should be " .").
* 437b101 Updated Build-Depends
* 40271c5 updated debian/changelog
* bd7cfe1 debian/rules: override_dh_auto_test because the test rely on a display which is not there
* 721a598 debian/patches/series: remove already applied patches
* a759874 debian/control: updated Build-Depends, Uploaders
* f365439 updated changelog
* bf1bb97 updated changelog
* e5cf059 Updated debian/copyright
* 2e13a3b Make debian/copyright machine-readable
*   ddf5553 Merge tag 'upstream/2.11.0'
|\  
| * 442ebf2 (tag: upstream/2.11.0, upstream) New upstream version 2.11.0
* | 9405cb2 lintian cleanup
* | c211931 (tag: debian/2.10.1-3) release 2.10.1-3
* | 20f7f02 patch to fix translations #555887
* | d39cf86 patch to remove MimeType entry from bibletime.desktop
* | 4d3261a desktop keywords patch
* | 8f0dded build dep on libsword-dev >= 1.7.3+dfdg-3
* | 0aea16d .gitignore - .pc
* | fbf4fc4 (tag: debian/2.10.1-2) releasing package bibletime version 2.10.1-2
* | 4bbeb4e Add patch to build without pie, fixes FTBFS on s390x (Closes: #767209)
* | c25a39c (tag: debian/2.10.1-1) debian/control: Bumped debhelper compatibility level to 9
* | 737d6ff debian/control: Bumped Standards-Version to 3.9.6 (no changes)
* | 04ebca9 * debian/control: Add /me to uploaders * debian/control: Add links to Alioth Git repository
* | b7e0aff Bug closure notice
* |   c046987 Imported Debian patch 2.10.1-1
|\ \  
| |/  
| * 1ea03c0 (tag: upstream/2.10.1, origin/upstream) Imported Upstream version 2.10.1
* | d40aeea (tag: debian/2.9.2-1.1) Imported Debian patch 2.9.2-1.1
* |   26eaa65 (tag: debian/2.9.2-1) Imported Debian patch 2.9.2-1
|\ \  
| |/  
| * 579657c (tag: upstream/2.9.2) Imported Upstream version 2.9.2
* | 761f016 (tag: debian/2.9.1-3) Imported Debian patch 2.9.1-3
* | 88646ea (tag: debian/2.9.1-2) Imported Debian patch 2.9.1-2
* |   1da8254 (tag: debian/2.9.1-1) Imported Debian patch 2.9.1-1
|\ \  
| |/  
$ 

At this point you now have a repository with a very different history
than what you had when you started.  You will need to compare the output
of 'git log' from the start to that from the end.

The main problem is that you brought in the new upstream sources into
the master branch, which normally only contains Debian packaging.  The
branch arrangement expected by git-buildpackage is 'master' for Debian
packaging, 'upstream' for the upstream sources, and (optionally)
'pristine-tar' for xdelta information which allows git-buildpackage to
reproduce a bit-for-bit identical source tarball as what was imported.
We use 'pristine-tar' for pkg-crosswire packages.

You needed to have checkout out the 'upstream' and 'pristine-tar'
branches locally as remote tracking branches of 'origin/upstream' and
'origin/pristine-tar', respectively.  The steps I have documented start
with that step.  Then we go through the process of removing the tags
that you made, which will end up being created in different places.
After the tags are removed, we place a temporary branch marker at the
master branch, then relocate master to the last good commit prior to you
starting your work.  Then we import the new upstream tarball, which will
now do the right thing that you have all the branches present in your
local repository.

Once that is done, we cherry-pick the commits from your old line of
development except for those which brought the upstream code into the
master branch.  Those commits would likely conflict now that we have
properly imported the upstream sources to the 'upstream' branch and then
merged that into 'master'.  After the cherry-picking is complete, we
remove the temporary marker on the old master branch since that line of
development is no longer any good.

At this point you have a repository that should be in a good state.  You
will need to build the package again and confirm that everything is in
order.  Once you have confirmed that, you can recreate the
debian/2.11.0-1 tag using the --git-tag option to gbp buildpackage.
(Though, I would note that in the future it is better to not create the
tag until the package has been reviewed and uploaded.)

Once all of that is done and you are satisfied that the package is again
ready for review, you will need to push everything.  Since we have
changed a great deal of history, Git will complain when you try to push.
You will likely need to force push.  I am not sure if that will be a
problem with respect to Git on Alioth being configured to reject a force
push.  If you are not able to force push, then let me know and perhaps I
can log into Alioth with a shell and handle it from there.

Ordinarily a force push like this would be a terrible thing to do (it
actually is in this case), but I think I am the only other person who
has pulled your changes.  That limits the impact of the force push since
I will be expecting it and I know how to handle it.

Please carefully study the steps I have documented before executing them
and let me know if you have any questions.

Regards,

-Roberto

-- 
Roberto C. Sánchez




More information about the Pkg-crosswire-devel mailing list