Re: Git packaging workflow discussion on planet.d.o
On 04/04/2013 10:25 PM, Jeremy Stanley wrote:
> On 2013-04-04 16:00:34 +0200 (+0200), Andreas Tille wrote:
> [...]
>> I can not see how Joey[1] and Daniel[3] would solve these problem when
>> they are not interested in upstream tarball releases any more.
> It's worth pointing out, packagers should not assume just because an
> upstream uses a VCS with public access, it in any way means they
> release directly out of their version control repositories. A rather
> large project with which I'm involved has an automated release
> mechanism which integrates information from git tags into files
> within the tarballs at release time... we generate these tarballs
> mostly for the benefit of distribution packagers, to make their
> lives easier (so they don't have to re-run the release scripts).
>
> A simpler example is the common practice of projects which
> autogenerate AUTHORS and ChangeLog files out of their VCS logs... it
> makes no sense to store those files back into the version control,
> but adding them to release tarballs via a scripted release mechanism
> makes a lot of sense. If your packaging workflow does not rely on
> importing the contents of release tarballs, then for projects like
> this you miss some content unless you re-run the same release
> scripts post-facto.
Well, if you really want to generate these from Git, that's
also possible (though the changelog might be quite big, so
in some cases, I'm about to give up on that...):
gen-upstream-changelog:
git checkout master
git reset --hard $(GIT_TAG)
git log >$(CURDIR)/../CHANGELOG
git checkout debian/$(DEBFLAVOR)
mv $(CURDIR)/../CHANGELOG $(CURDIR)/debian/CHANGELOG
git add $(CURDIR)/debian/CHANGELOG
git commit -a -m "Updated upstream changelog"
override_dh_installchangelogs:
if [ -e $(CURDIR)/debian/CHANGELOG ] ; then \
dh_installchangelogs $(CURDIR)/debian/CHANGELOG ; \
else \
dh_installchangelogs ; \
fi
gen-author-list:
git log --format='%aN <%aE>' | awk '{arr[$$0]++} END{for (i in
arr){print arr[i], i;}}' | sort -rn | cut -d' ' -f2-
I use often the above gen-author-list for the debian/copyright file.
Thomas
Reply to: