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

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



On Wed, 18 Apr 2018 at 14:36:14 +0200, Mike Gabriel wrote:
> On Wed, 4 Jan 2017 13:41:53 +0000 Ian Jackson
> <ijackson@chiark.greenend.org.uk> wrote:
> > But [vendor.series] is quite wrong, because it means that the same
> > source package has different "contents" on different computers.
> 
> The source package is always the same. The bin:pkgs' contents is different.
> But that is different anyway, even if built against different versions of
> Debian. You have to rebuild the package for your system anyway, so what is
> your point here? (addressing Ian with this question)

This isn't as clear-cut as you might think. There are two frequently-seen
possibilities for what you think the contents of a 3.0 (quilt) source
package are:

- the upstream source, with debian/ deleted if it exists, the
  contents of debian.tar.* unpacked into debian/, and patches from
  debian/patches/ applied
  (the "patches-applied" state, as produced by dpkg-source -x and
  stored in git by git-dpm and dgit)

- the upstream source, with debian/ deleted if it exists, and the
  contents of debian.tar.* unpacked into debian/
  (the "patches-unapplied" state, as stored in git by gbp import-dsc
  and gbp pq)

Based on his work on dgit, I believe Ian considers the canonical contents
of the source package to be the patches-applied state. Developers who
agree with this point of view would say that applying patches is part of
unpacking the source package, and any source package with vendor-specific
series gets different contents depending where it was unpacked, which
seems strange - steps described as "unpacking" are normally deterministic.

Conversely, developers who consider the canonical contents of the
source package to be the patches-unapplied state would say that applying
patches is more like part of the process of building a binary package
(converting a source package into a binary package), which would imply
that a source package with vendor-specific series always has the same
contents (but those contents result in different vendors building different
patched source code).

I prefer to manage the patches-unapplied state in version control,
but despite that I'm not sure that I can disagree with Ian about the
patches-applied state being the "contents" of the package.

    smcv


Reply to: