Re: Daniel Farina 2013-05-06 <CAAZKuFbjbomhPy7Ed5ZWVy8s5C4CLD4UEj4f9dCs1f0tp2GrWw@mail.gmail.com>
> I did some groveling around the Internet and had little luck in
> figuring out as to how the Debian source packages for Postgres are
> developed. However, there is a little evidence out there to suggest
> that there may be ways to convert raw git into Debian source packages
> for building, stamped with version numbers and all.
Hi,
I'm not sure I understand your question correctly. I'll assume you
know how Debian packages work in general, so I'll answer what the
difference on apt.postgresql.org is.
For the vast majority of packages we use generate-pgdg-source to
produce a source package (.dsc) from a git/bzr/svn checkout in
Jenkins:
https://github.com/dimitri/apt.postgresql.org/blob/master/jenkins/generate-pgdg-source
https://wiki.postgresql.org/wiki/Apt/Jenkins
Basically it does some minor modifications of the source (on a few
packages), and then modifies the version number for rebuild.
For postgresql-9.3, there is some hack in place to make it possible to
build from git.postgresql.org (which would usually fail because we
don't have nightly snapshot tarballs). We've set the package to
"native", and then threw some sh code on the git checkout:
(
cd source
if [ -d .bzr ]; then
bzr revert debian/control debian/changelog debian/rules
bzr pull
else
bzr branch http://anonscm.debian.org/bzr/pkg-postgresql/postgresql-9.3/trunk/
mv trunk/.bzr* trunk/debian .
rmdir trunk
fi
)
generate-pgdg-source
... that is, there's both a git and a bzr checkout in this directory.
Having said that, I'll now revert the native hackery because the beta1
tarballs have been released to the packagers.
I'm still thinking of how to best implement "nightly git snapshot"
builds in the future, be it with tarballs (which need a version
number), with delta patches (which need reverting for the next day),
or with the current "native" approach (which needs modifications to
the package).
Christoph
--
cb@df7cb.de | http://www.df7cb.de/