[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#647028: sbuild and the Distribution field in .changes



Hi,

my thoughts on this:

= sbuild side =

Apparently, sbuild is used by buildds and developers, with differing
needs. There should be a switch to sbuild, which buildd calls but
developers don’t, that enables Distribution overriding (for example
for binNMUs to packages in testing that were uploaded to unstable in
the first place), and the default should be that it doesn’t override
the field.

That is, specifying the distribution (e.g. unstable) to sbuild would
still be mandatory (so this wouldn’t entirely solve #529281), but by
default (unless buildd), this value would NOT be copied into the Di-
stribution field of the .changes file – instead it would behave like
cowbuilder (which uses dpkg-genchanges) and copy the field from the
package’s changelog.
This is especially useful for developers building _local_ packages
in e.g. a sid or stable chroot, to prevent them from accidentally
uploading them to Debian, but also to avoid the case of forgetting
to change away UNRELEASED before uploading.

= lintian side =

I also propose an ftpmaster autoreject (via lintian) if:
a) Distribution=unstable, Changes=experimental
b) Distribution=experimental, Changes=unstable
c) Distribution=*, Changes=UNRELEASED

All other mismatch cases should probably be a W, but for these three,
I think not just an E but an autoreject could, maybe, be justified.

= social side =

Just use cowbuilder ;-)

https://www.mirbsd.org/cvs.cgi/contrib/hosted/tg/deb/pbuilderrc?rev=HEAD
contains a sample ~/.pbuilderrc which does multi-arch (i386 and amd64 on
an amd64 host, for example – otherwise of course just one) multi-distro
(debian, ubuntu, debian-ports) multi-suite (from dapper and sarge up to
sid and (currently) precise) cowbuilder handling, plus “multi-client ca-
pability” by setting $CUSTOM. (It also contains some “optimisations” for
the chroots, such as dropping debconf-i18n (for Perl transitions; I did
the 5.12 one on m68k with that) and file-rc, which you may or may not
want; one can also locally optimise by putting fakeroot and even debhel-
per into EXTRAPACKAGES. These are of course not suitable for when buildd
could use cowbuilder, as suggested below.)

Of course, be aware of differences between cowbuilder and sbuild, but I
have had few problems with it (as long as cowbuilder, pbuild and deboot-
strap are taken from sid on the build machine, e.g. due to architecture
wildcards) and would love to see the buildd software support to use both
so buildds could be set up with either. (It’s easier to set up.)

= What now? =

#542747 could contain discussion about the lintian checks I suggested in
the second chapter of this mail.

We could clone #559659 and discuss the changes from the first chapter of
this mail there, as they would obviously not fix #559659 but still ad-
dress the issue of packages uploaded to the archive being not rebuildable
(with cowbuilder) due to their debian/changelog last entry being UNRELEA-
SED instead of unstable. I’ve found some on snapshot.d.o this week, and
buxy had the issue today, too.

Flames as followup-to-poster please. Improvements to pbuilderrc welcome.

bye,
//mirabilos
-- 
16:47⎜«mika:#grml» .oO(mira ist einfach gut....)      23:22⎜«mikap:#grml»
mirabilos: und dein bootloader ist geil :)    23:29⎜«mikap:#grml» und ich
finds saugeil dass ich ein bsd zum booten mit grml hab, das muss ich dann
gleich mal auf usb-stick installieren	-- Michael Prokop über MirOS bsd4grml



Reply to: