[Aptitude-devel] hacking aptitude/release process

Axel Beckert abe at debian.org
Sun Jan 22 15:12:01 UTC 2012


Hi,

Daniel Hartwig wrote:
>  $ 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

Hrm, I would have expected that git-import-orig automatically tags the
upstream version and that git-buildpackage --git-tag is only necessary
in the debian branch.

> The merge and changelog updating can all be automated through the
> git-buildpackage suite of tools.
[...]
> 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.

In my experience the changelog entry nevertheless needs some manual
fine tuning after git-dch is run anyway. I rather write the changelog
manually (and commit it together with the changes).

> 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).

This brings up something about which I wondered already for quite a
while: Why is aptitude not a native package. In that case these
problems would just be gone.

Or asked the other way round: If aptitude is a non-native package,
then why do we need upstream changes in the Debian changelog?

(Of course I think that major changes in aptitude itself should be
mentioned in the debian/changelog, but for me, that's a sign that the
package should rather be a native package.)

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

Hrm. Now I'm confused. I'd expected you talk about the
debian/changelog all the time. But now it sounds like the upstream
changelog.

Oh, and btw. I think the outcome of this thread, i.e. the preferred
workflow should be added to at least the VCS, maybe as README.source
or somewhere in the doc directory

> 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):
[...]
>  ChangeLog

Automatically installed into the binary packages by
dh_installchangelogs. Should be part of the upstream tar ball or -- if
generated -- at least generated when the upstream tar ball is
generated.

>  config.guess
>  config.sub

If there's a build-dependency on autotools-dev AFAIK you don't need
these two files, but they should be included anyway for those who
build the software outside a Debian package (which you should expect
because aptitude is not native package).

You just need to call the the two commands
dh_autotools-dev_updateconfig and dh_autotools-dev_restoreconfig --
they care that for the current build those two files are uptodate
(from the autotools-dev package) with regards to current architectures
and whatever, and that they're restored to the state of the files in
package, so your VCS won't argue after a "dpkg-buildpackage clean".

>  configure

Needed in the tar ball unless you want to use autoconf & friends on
build time. Wouldn't be friendly for non-.deb builders to exclude it
either.

> If anyone has any clues there they are appreciated

The above is what I'm quite sure of. Not sure about the other
mentioned files.

> is there a makefile or debian/rules target to do this that I am
> missing?

There may exist a get-orig-source target. But I think it's thought
mostly for repacking (if needed).

Usually you use the upstream Makefile and a target called "dist" or
so.

HTH.

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



More information about the Aptitude-devel mailing list