Re: [Reproducible-builds] please don't build on archs that packages don't declare support for
Michael R. Crusoe wrote: > It looks fixed on my end; thanks! > https://tests.reproducible-builds.org/rb-pkg/testing/armhf/khmer.html Yep! khmer will now only build its arch-dep and -indep binaries on amd64. https://tests.reproducible-builds.org/unstable/armhf/index_not_for_us.html now has 255 packages, up from 249. So there weren't many cases of this really. https://tests.reproducible-builds.org/unstable/amd64/index_not_for_us.html now has 90 packages, up from 85. One new one is: https://buildd.debian.org/status/package.php?p=fso-frameworkd=unstable which didn't actually FTBFS on amd64, but it only produces armel and arch:all binaries, so it is quite reasonable that this is now only built and tested for reproducibility on armhf. Regards, -- Steven Chamberlain ste...@pyro.eu.org signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] please don't build on archs that packages don't declare support for
Hi, On Dienstag, 9. Februar 2016, Steven Chamberlain wrote: > I think bin/reproducible_build.sh makes a too broad assumption, that > packages producing arch:all parts can build on "any" arch. indeed > dpkg-buildpackage proceeds, I think, because there are arch-indep parts > that 'might' be able to build. But since this package has no separate > binary-indep target, debian/rules tries to build the arch-dep parts > and fails there. indeed > The code has been much refactored since then. Does my patch below seem > a neat way to try to fix this again? (Though I totally have not tested > it). I think it does. > Where I set ARCHITECTURES="any", that will not be a regression over > current behaviour, but can be substituted for ARCHITECTURES="amd64" if > too many arch:all packages FTBFS on armhf. > > From a759d049b1fd6deeb24985e57a3b6f4fa2e1f72b Mon Sep 17 00:00:00 2001 > From: Steven Chamberlain> Date: Tue, 9 Feb 2016 13:02:13 + > Subject: [PATCH] reproducible: don't always build arch:all on "any" arch > > If a package builds arch-dep parts on a restricted set of arches, > don't assume the arch-indep parts can build on "any" arch. > > If a package *only* lists Architecture: all, keep the current behaviour: > (linux-)amd64 will most likely work; armhf is less likely but is nice > to try anyway. I've applied and deployed this patch now, thanks Steven! Currently https://tests.reproducible-builds.org/unstable/amd64/index_not_for_us.html lists 84 packages, I'm curious how many there will be listed in a week ;-) For comparison in 42 days or so: https://tests.reproducible- builds.org/unstable/armhf/index_not_for_us.html today lists 235 packages. cheers, Holger signature.asc Description: This is a digitally signed message part. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] please don't build on archs that packages don't declare support for
Hi, Holger Levsen wrote: > khmer is being tried to build (on armhf), because it has "all" in the > Architecture field I think bin/reproducible_build.sh makes a too broad assumption, that packages producing arch:all parts can build on "any" arch. dpkg-buildpackage proceeds, I think, because there are arch-indep parts that 'might' be able to build. But since this package has no separate binary-indep target, debian/rules tries to build the arch-dep parts and fails there. It seems there was an attempt to fix this before: https://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/commit/bin/reproducible_build.sh?id=c1157ef4d but reverted: https://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/commit/bin/reproducible_build.sh?id=cdbb4ce https://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/commit/bin/reproducible_build.sh?id=89b4833f I checked the archive of this mailing list but can't find the reason it was reverted? The code has been much refactored since then. Does my patch below seem a neat way to try to fix this again? (Though I totally have not tested it). Where I set ARCHITECTURES="any", that will not be a regression over current behaviour, but can be substituted for ARCHITECTURES="amd64" if too many arch:all packages FTBFS on armhf. From a759d049b1fd6deeb24985e57a3b6f4fa2e1f72b Mon Sep 17 00:00:00 2001 From: Steven ChamberlainDate: Tue, 9 Feb 2016 13:02:13 + Subject: [PATCH] reproducible: don't always build arch:all on "any" arch If a package builds arch-dep parts on a restricted set of arches, don't assume the arch-indep parts can build on "any" arch. If a package *only* lists Architecture: all, keep the current behaviour: (linux-)amd64 will most likely work; armhf is less likely but is nice to try anyway. --- bin/reproducible_build.sh | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh index 4d5dd4b..7b11cef 100755 --- a/bin/reproducible_build.sh +++ b/bin/reproducible_build.sh @@ -525,8 +525,14 @@ check_suitability() { # check whether the package is not for us... local SUITABLE=false local ARCHITECTURES=$(grep "^Architecture: " ${SRCPACKAGE}_*.dsc| cut -d " " -f2- | sed -s "s# #\n#g" | sort -u) + + # packages that are *only* arch:all can be tried on any arch + if [ "$ARCHITECTURES" = "all" ]; then + ARCHITECTURES="any" + fi + for arch in ${ARCHITECTURES} ; do - if [ "$arch" = "any" ] || [ "$arch" = "$ARCH" ] || [ "$arch" = "linux-any" ] || [ "$arch" = "linux-$ARCH" ] || [ "$arch" = "any-$ARCH" ] || [ "$arch" = "all" ] ; then + if [ "$arch" = "any" ] || [ "$arch" = "$ARCH" ] || [ "$arch" = "linux-any" ] || [ "$arch" = "linux-$ARCH" ] || [ "$arch" = "any-$ARCH" ] ; then SUITABLE=true break fi Regards, -- Steven Chamberlain ste...@pyro.eu.org signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] please don't build on archs that packages don't declare support for
Hi Michael, thanks for reaching out to us and reporting this…! On Samstag, 6. Februar 2016, Michael R. Crusoe wrote: > I think you all are the bee's knees. However, some of the packages I > maintain aren't compatible with 32 bit architectures, like armhf, and are > explicitly marked as such. Yet the reproducible builds infrastructure still > tries to build on the incompatible architecture and I get an error on > tracker.d.o and elsewhere. > > Here is an example: > https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/khmer.html > > Package: khmer > Architecture: amd64 any-arm64 any-mips64 any-mips64el any-ia64 any-ppc64el > any-sparc64 > (from https://sources.debian.net/src/khmer/2.0%2Bdfsg-4/debian/control/ ) khmer is being tried to build (on armhf), because it has "all" in the Architecture field, at least as seen on https://tests.reproducible- builds.org/rbuild/testing/armhf/khmer_2.0+dfsg-3.rbuild.log where the line reads: "Architecture: any-amd64 any-arm64 any-mips64 any-mips64el any-ia64 any- ppc64el any-sparc64 any-s390x all ppc64" This line is coming from the .dsc file, see http://httpredir.debian.org/debian/pool/main/k/khmer/khmer_2.0+dfsg-3.dsc I have no idea why the .dsc file differs from the control file. > Could, perhaps, this not happen? That's surely the idea as you can see if you compare https://tests.reproducible-builds.org/unstable/amd64/index_not_for_us.html with https://tests.reproducible-builds.org/unstable/armhf/index_not_for_us.html however there's a bug somewhere. cheers, Holger signature.asc Description: This is a digitally signed message part. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] please don't build on archs that packages don't declare support for
On Mon, Feb 8, 2016 at 10:13 AM Holger Levsenwrote: > Hi Michael, > > thanks for reaching out to us and reporting this…! > Of course! On Samstag, 6. Februar 2016, Michael R. Crusoe wrote: > > I think you all are the bee's knees. However, some of the packages I > > maintain aren't compatible with 32 bit architectures, like armhf, and are > > explicitly marked as such. Yet the reproducible builds infrastructure > still > > tries to build on the incompatible architecture and I get an error on > > tracker.d.o and elsewhere. > > > > Here is an example: > > https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/khmer.html > > > > Package: khmer > > Architecture: amd64 any-arm64 any-mips64 any-mips64el any-ia64 > any-ppc64el > > any-sparc64 > > (from https://sources.debian.net/src/khmer/2.0%2Bdfsg-4/debian/control/ > ) > > khmer is being tried to build (on armhf), because it has "all" in the > Architecture field, at least as seen on > https://tests.reproducible- > builds.org/rbuild/testing/armhf/khmer_2.0+dfsg-3.rbuild.log where the line > reads: > "Architecture: any-amd64 any-arm64 any-mips64 any-mips64el any-ia64 any- > ppc64el any-sparc64 any-s390x all ppc64" > > This line is coming from the .dsc file, see > http://httpredir.debian.org/debian/pool/main/k/khmer/khmer_2.0+dfsg-3.dsc > > I have no idea why the .dsc file differs from the control file. > One of the binary packages, khmer-common, is Architecture: All, Multi-Arch: foreign. Perhaps that is why? > > > Could, perhaps, this not happen? > > That's surely the idea as you can see if you compare > https://tests.reproducible-builds.org/unstable/amd64/index_not_for_us.html > with > https://tests.reproducible-builds.org/unstable/armhf/index_not_for_us.html > > however there's a bug somewhere. > > > cheers, > Holger > ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] please don't build on archs that packages don't declare support for
Hello reproducible builds team! I think you all are the bee's knees. However, some of the packages I maintain aren't compatible with 32 bit architectures, like armhf, and are explicitly marked as such. Yet the reproducible builds infrastructure still tries to build on the incompatible architecture and I get an error on tracker.d.o and elsewhere. Here is an example: https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/khmer.html Package: khmer Architecture: amd64 any-arm64 any-mips64 any-mips64el any-ia64 any-ppc64el any-sparc64 (from https://sources.debian.net/src/khmer/2.0%2Bdfsg-4/debian/control/ ) Could, perhaps, this not happen? Thanks in advance, ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds