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

Bug#850156: Please firmly deprecate vendor-specific series files



Hello.

On Wed, Jan 04, 2017 at 01:41:53PM +0000, Ian Jackson wrote:
> Package: dpkg-dev, debian-policy
> Version: 1.17.27, 3.9.8.0
> 
> dpkg-source has a surprising and not-very-well-documented feature,
> that it is possible to have in a `3.0 (quilt)' package a
> vendor-specific series file, which is used only if the vendor matches
> that of the running host.[1]
> 
> This feature is a very bad idea.  I can see why people thought it
> might be nice: it means you can use the same (or very similar) .dsc
> (and perhaps vcs history) on different distros.
> 
> But it is quite wrong, because it means that the same source package
> has different "contents" on different computers.
[...]

While I have nothing in general against deprecating the vendor series
files, since they as designed are rarely useful, it will not accomplish
the goal you're stating as a reason for getting rid of them.

The vendor series files are mostly useless because most of the time you
want /additional/ vendor patches, but the vendor series files completely
replaces the original debian/patches/series which means you duplicate
the maintenance anyway and the vendor series files will likely get
outdated and miss important patches.

In practise what instead happens is that debian/rules gets hacked to
query dpkg-vendor (or $(DEB_VENDOR)) and apply the extra patches or do
derivate/vendor specific things to the package.
If you go looking in the archive you'll find that this is likely much
more common than the few examples you've found that uses the vendor
specific series.
Just to provide one example you should view the history of the
changes done to the systemd package during the stretch development
timeframe. (Right now there are only minor differences when building
on Debian vs Ubuntu, but you should find more interesting things
if you investigate the packaging history.)

In reality you always need to download the binary packages that the
vendor built and the users are actually running to investigate them. If
you need to rebuild them you should do so on the vendors platform to be
sure about them generating similar result.


Thus, even if you deprecate vendor series files that will make little
practical difference. I don't see the point. The only thing you'll
accomplish is to make it a bit harder for different vendors to
collaborate on the same source in Debian rather than downstreams
carrying their own delta and we stick our head in the sand on the debian
side and pretend it doesn't exist.

Regards,
Andreas Henriksson


Reply to: