Re: multi-arch:same failures when bin-nmus changelog dates are not the same
On Thursday, 29 March 2018 18:43:25 CEST Julien Cristau wrote: > On 03/29/2018 06:35 PM, Jean-Michel Vourgère wrote: > > (...) > > On arm64 [1] the binnmu .buildinfo contains: > > Environment: > > (...) > > SOURCE_DATE_EPOCH="1522153653" > > > > while on armhf [2] the binnmu .buildinfo contains: > > Environment: > > (...) > > SOURCE_DATE_EPOCH="154789" > > > > /s/b/dpkg-buildpackage (...) > It parses debian/changelog, which is where sbuild writes the binNMU info > in the unpacked source. (...) I suppose then the best thing to do would be to have dpkg-buildpackage ignore the d/changelog entries that are tagged "binary-only=yes" when setting SOURCE_DATE_EPOCH, right? Other options I can think of: - Have "dch --bin-nmu" keep the last date. Or whatever tool WB uses when creating the new changelog entry. - Have wanna-build set SOURCE_DATE_EPOCH to the last non-binnmu changelog entry. This would break package that overwrite SOURCE_DATE_EPOCH themselves. So this is a bad idea. - Prohibit bin-nmu of packages tagged Multi-Arch:same and only do full source upload for these. Eeerk :( Any tough anyone? I'll fill a bug against dpkg-dev if nobody moves. Please don't wait for me as I am sure there are many people more qualified that me in this list. By the way, shouldn't the "binary-only=yes" property in the changelog should be documented in the policy 4.4, especially if unrelated processes start using it? signature.asc Description: This is a digitally signed message part.
Re: multi-arch:same failures when bin-nmus changelog dates are not the same
On 03/29/2018 06:35 PM, Jean-Michel Vourgère wrote: > Some thoughs: > > On arm64 [1] the binnmu .buildinfo contains: > Environment: > DEB_BUILD_OPTIONS="parallel=3" > LC_ALL="POSIX" > SOURCE_DATE_EPOCH="1522153653" > > while on armhf [2] the binnmu .buildinfo contains: > Environment: > DEB_BUILD_OPTIONS="parallel=4" > LC_ALL="POSIX" > SOURCE_DATE_EPOCH="154789" > > /s/b/dpkg-buildpackage does not overwrite SOURCE_DATE_EPOCH if it is already > defined in the environment. > Also, it looks like it does not parse the changelog.Debian.$arch that are bin- > nmu specifics. > It parses debian/changelog, which is where sbuild writes the binNMU info in the unpacked source. There's no changelog.Debian.$arch at that point anywhere. > Could it be that the wanna-build stack wrongly define the variable before > calling dpkg-buildpackage? > Nope. Cheers, Julien
Re: multi-arch:same failures when bin-nmus changelog dates are not the same
Some thoughs: On arm64 [1] the binnmu .buildinfo contains: Environment: DEB_BUILD_OPTIONS="parallel=3" LC_ALL="POSIX" SOURCE_DATE_EPOCH="1522153653" while on armhf [2] the binnmu .buildinfo contains: Environment: DEB_BUILD_OPTIONS="parallel=4" LC_ALL="POSIX" SOURCE_DATE_EPOCH="154789" /s/b/dpkg-buildpackage does not overwrite SOURCE_DATE_EPOCH if it is already defined in the environment. Also, it looks like it does not parse the changelog.Debian.$arch that are bin- nmu specifics. Could it be that the wanna-build stack wrongly define the variable before calling dpkg-buildpackage? Any way, the value must be identical in all architectures. And it's not the case. [1] https://buildd.debian.org/status/fetch.php? pkg=rrdtool=arm64=1.7.0-1%2Bb1=1522153882=0 [2] https://buildd.debian.org/status/fetch.php? pkg=rrdtool=armhf=1.7.0-1%2Bb1=155293=0 On Thursday, 29 March 2018 14:41:28 CEST Jean-Michel Vourgère wrote: > Hello > > My package rrdtool [1] got some multi-arch failures since last bin-nmu. > > The problem is that pod2man uses the changelog date to generate the man > footer, and that date is no longer the same on all architectures ! > > /usr/share/doc/librrds-perl/changelog.Debian.arm64.gz contains > rrdtool (1.7.0-1+b1) sid; urgency=low, binary-only=yes > * Binary-only non-maintainer upload for arm64; no source changes. > * Rebuild without ruby2.3 support. > -- arm Build Daemon (arm-conova-01) conova...@buildd.debian.org> Tue, 27 Mar 2018 12:27:33 + > > > while /usr/share/doc/librrds-perl/changelog.Debian.armhf.gz contains > rrdtool (1.7.0-1+b1) sid; urgency=low, binary-only=yes > * Binary-only non-maintainer upload for armhf; no source changes. > * Rebuild without ruby2.3 support. > -- armhf / armel Build Daemon (hoiby) >Wed, 28 Mar 2018 08:13:09 + > > > as a result, /usr/share/man/man3/RRDs.3pm.gz differs on arm64 architecture: > .TH RRDs 3pm "2018-03-27" "perl v5.26.1" "User Contributed Perl > Documentation" and on armhf architecture: > .TH RRDs 3pm "2018-03-28" "perl v5.26.1" "User Contributed Perl > Documentation" > > Ultimately, this makes package librrds-perl is no longer co-installable. > Multi-arch hinter says: > librrds-perl conflicts on /usr/share/man/man3/RRDs.3pm.gz on armhf <-> > amd64, arm64, armel, and 6 more > > Please advise how to proceed! > > > [1] https://tracker.debian.org/pkg/rrdtool signature.asc Description: This is a digitally signed message part.
Re: multi-arch:same failures when bin-nmus changelog dates are not the same
On 2018-03-29 14:41 +0200, Jean-Michel Vourgère wrote: > Hello > > My package rrdtool [1] got some multi-arch failures since last bin-nmu. > > The problem is that pod2man uses the changelog date to generate the man > footer, and that date is no longer the same on all architectures ! Don't do that. It's a reproducibility failure as well as breaking multi-arch co-installability. > Please advise how to proceed! I'm surprised the reproducibility people have not nobbled pod2man to stop this behaviour already. Is there a bg about it somewhere? Wookey -- Principal hats: Linaro, Debian, Wookware, ARM http://wookware.org/ signature.asc Description: PGP signature
Re: multi-arch:same failures when bin-nmus changelog dates are not the same
On 03/29/2018 02:41 PM, Jean-Michel Vourgère wrote: > Hello > > My package rrdtool [1] got some multi-arch failures since last bin-nmu. > > The problem is that pod2man uses the changelog date to generate the man > footer, and that date is no longer the same on all architectures ! > > /usr/share/doc/librrds-perl/changelog.Debian.arm64.gz contains > rrdtool (1.7.0-1+b1) sid; urgency=low, binary-only=yes > * Binary-only non-maintainer upload for arm64; no source changes. > * Rebuild without ruby2.3 support. > -- arm Build Daemon (arm-conova-01) conova...@buildd.debian.org> Tue, 27 Mar 2018 12:27:33 + > > > while /usr/share/doc/librrds-perl/changelog.Debian.armhf.gz contains > rrdtool (1.7.0-1+b1) sid; urgency=low, binary-only=yes > * Binary-only non-maintainer upload for armhf; no source changes. > * Rebuild without ruby2.3 support. > -- armhf / armel Build Daemon (hoiby)> > Wed, 28 Mar 2018 08:13:09 + > > > as a result, /usr/share/man/man3/RRDs.3pm.gz differs on arm64 architecture: > .TH RRDs 3pm "2018-03-27" "perl v5.26.1" "User Contributed Perl Documentation" > and on armhf architecture: > .TH RRDs 3pm "2018-03-28" "perl v5.26.1" "User Contributed Perl Documentation" > > Ultimately, this makes package librrds-perl is no longer co-installable. > Multi-arch hinter says: > librrds-perl conflicts on /usr/share/man/man3/RRDs.3pm.gz on armhf <-> amd64, > arm64, armel, and 6 more > > Please advise how to proceed! > Make the manpage contents not depend on the build date? Cheers, Julien