[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