Bug#843867: pbuilder: allow passing the timestamp for the new changelog entry for binNMUs

Johannes Schauer josch at debian.org
Thu Nov 10 13:46:29 UTC 2016


Hi,

Quoting Mattia Rizzolo (2016-11-10 11:30:20)
> On Thu, Nov 10, 2016 at 10:22:11AM -0200, Johannes Schauer wrote:
> > Quoting Mattia Rizzolo (2016-11-10 09:31:47)
> > > On Thu, 10 Nov 2016, 12:20 p.m. Johannes Schauer, <josch at debian.org> wrote:
> > > > and then packages with the same binNMU number will not be co-installable
> > > > anymore if they share a file that ends up having different content because
> > > > of S_D_E.
> > > 
> > > I argue that should not be in a ma:same package.
> > 
> > you argue that files with content that changes depending on S_D_E should either
> > be in architecture specific paths or not be shared across architectures?
> 
> Yes, exactly.
> In m-a:same packages should only go:
>  - arch-specific files that will always be in arch-specific paths and
>    have no chances to collide
>  - files that will always ever be the same regardless of what
>    architectures built it and when, etc (these should really be in
>    arch:all binaries though)
> 
> The typical example of a m-a:same binary package is a library package.
> 
> Do we agree on this?

I fear many packages will not be able to support these restrictions and still
need to be M-A:same.

You argue that files that are equal across all architectures should go into an
Architecture:all package and thus avoid the problem of having these files be
equal no matter the architecture they are built on, the time they are built at
or the version of their dependencies. But unfortunately, Architecture:all is
the wrong answer in many cases. This is because currently, Architecture:all
implicitly means that the package is of the native architecture. Thus, if you
would put those files into an Architecture:all package, they would loose the
ability to transport the original architecture to their dependencies. In fact,
for the sake of making source packages cross buildable, many Architecture:all
packages are right now being converted into Architecture:any M-A:same packages.
So we are currently artificially increasing the amount of Architecture:any
M-A:same package which are supposed to contain the same file across all
architectures. Suppose one of these files would be different, depending on what
S_D_E is set to. How would you fix that problem? You cannot convert the package
into an Architecture:all package because that would break cross-build
dependencies. As far as I see it, your only hope is to either find a scheme
that sets S_D_E to the same value for the same binNMU version, independent of
the architecture, or be lucky enough that this software can be patched such
that it doesn't rely on S_D_E anymore. Though I fear that there might exist
cases where S_D_E is used legitimately. After all, if there were no legitimate
uses of S_D_E, then why was it introduced instead of just patching all source
packages to be completely independent of an input timestamp?

> > You might want to share your rationale for that in #843773 because those
> > files potentially being shared and then differing between different binNMUs
> > is currently a problem.
> 
> That bug is already more messy than what I usually accept :S

For the sake of this bug staying sane, I'm gonna skip replying to your
arguments on co-installability of binary packages with a different binNMU
version.

Thanks!

cheers, josch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: signature
URL: <http://lists.alioth.debian.org/pipermail/pbuilder-maint/attachments/20161110/8668c3b8/attachment.sig>


More information about the Pbuilder-maint mailing list