[Aptitude-devel] hacking aptitude/release process

Daniel Hartwig mandyke at gmail.com
Sun Jan 22 13:12:43 UTC 2012


It is great to see many fixes being applied without any breakage.  The
time draws near when it may be suitable to package up a new release,
so I have investigated the development/release process for aptitude
since the change to git:

[Shell prompts here assume you are in the root 'aptitude' directory.]

First, it is prudent to copy the git-buildpackage config file to your
.git directory so that it is always available even if you are not on
the debian branch:

 $ git show debian:debian/gbp.conf > .git/gbp.conf

Then, the general work flow anticipating release NNN is something
like:

 $ git checkout master

 [hacking ...]

 $ git tag NNN
 [produce ../aptitude_NNN.orig.tar.gz]
 $ git checkout debian
 $ git-import-orig ../aptitude_NNN.orig.tar.gz
 [update changelog for changes in master -- git-dch or similar]
 [update packaging files if needed]
 $ git-buildpackage --git-tag

The merge and changelog updating can all be automated through the
git-buildpackage suite of tools.

The debian changelog and other files are always accurate to the
current state of debian/upstream branch.  Currently what has happened
is we updated the changelog even though the changes refered to are not
merged yet, thus the debian branch is in an inconsistent state.  This
is not a problem for now, though in the future I shall avoid updating
the changelog for changes on master until after they are merged (the
git-import-orig step).

git-dch is an excellent tool for updating the changelog with all
changes since the last merge/git-import-orig, so keeping track
of this should not be a hassle.

The shortlog for the debian branch will also be more concise, with
full documentation in the changelog and on the master commit log.

***

Production of the .orig.tar.gz is a bit hairy.  It contains files
which do not appear in a clean tree of branch master (generated by
autogen.sh):

 aclocal.m4
 ChangeLog
 config.guess
 config.h.in
 config.sub
 configure
 depcomp
 ...

and does not contain some other files which are in the master branch:

 autogen.sh
 po/Makevars.template
 po/POTFILES.ignore
 ...

If anyone has any clues there they are appreciated -- is there a
makefile or debian/rules target to do this that I am missing?



More information about the Aptitude-devel mailing list