Re: [PATCH] reproducible Debian: filter Environment section from buildinfo files
On Mon, Nov 07, 2016 at 06:11:36PM -0500, Daniel Kahn Gillmor wrote: > What if we only included the .buildinfo differences (clearly demarcated) > if there was other stuff which should be fixed? And if nothing needs to > be fixed, then don't show the buildinfo differences. That strikes me as > potentially useful output for someone trying to diagnose a problem. I agree, this would be best. (Added showing both .buildinfo files to my todo, will leave diffoscope to others…) -- cheers, Holger 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: [PATCH] reproducible Debian: filter Environment section from buildinfo files
On Mon 2016-11-07 09:14:00 -0500, HW42 wrote: > 1) Currently the diff contains only stuff which should be fixed. If we >include .buildinfo differences it will include stuff which should not >be "fixed" (and can't be by the package maintainer). What if we only included the .buildinfo differences (clearly demarcated) if there was other stuff which should be fixed? And if nothing needs to be fixed, then don't show the buildinfo differences. That strikes me as potentially useful output for someone trying to diagnose a problem. --dkg ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [PATCH] reproducible Debian: filter Environment section from buildinfo files
Mattia Rizzolo: > On Mon, Nov 07, 2016 at 01:41:00PM +, HW42 wrote: >> I removed the filter from Reiner and replaced it with a 'sed' filtering >> out the .buildinfo entries from the .changes file. So diffoscope should >> not compare the .buildinfos (and the files refered by them) at all. > > Ah, right, I missed the filter_buildinfo_files → filter_changes_files > change… sorry > (this still feels "unclean", same as removing fields from .buildinfo, so > no increase in the "dirt count") I think it's cleaner since it represents better what we want: All produced binary artifacts should be identical. But .buildinfos document part of the build environment and therefore are not identical by design. (In the old version we would need to start filter Build-Path for example, or keep it in /tmp) A diffoscope option would be of course better than sed. > btw, I need to check that again (didn't have the right tuit to do it), > but comparing .changes with different .buildinfo but otherwise > reproducible .deb, diffoscope should already return 0 and no diffs (we > could argue whether this should have be better as an opt-in option > rather than hardcoded, but well… > See c61f41c5128094508d6fff8b746cecc3841f6b27 in diffoscope.git IIRC somebody mentioned that this does not work as intended. If somebody confirms that it works we can just drop the filter function. > but: > >>> I'll file a diffoscope bug after this email. >> >> Once diffoscope has a --ignore-buildinfo options for comparing .changes >> you can just drop the filter_changes_files function and pass the option >> to diffoscope. > > personally I'd prefer to see .buildinfo differences together with the > .deb diffs. They can provide useful insight (that currently we also > have because the 2 build environments are documented elsewhere). Just > that diffoscope should really not compare files that have already been > compared. It's just very hard to do, on the same level of the parallel > diffoscope one maybe… I can understand very well why you think it's useful but I also see two problems: 1) Currently the diff contains only stuff which should be fixed. If we include .buildinfo differences it will include stuff which should not be "fixed" (and can't be by the package maintainer). 2) The .buildinfo differences are a very incomplete documentation of what has been varied so we need some other documentation anyway (unless somebody thinks extending .buildinfo to this extend would be a good idea). signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [PATCH] reproducible Debian: filter Environment section from buildinfo files
On Mon, Nov 07, 2016 at 01:41:00PM +, HW42 wrote: > I removed the filter from Reiner and replaced it with a 'sed' filtering > out the .buildinfo entries from the .changes file. So diffoscope should > not compare the .buildinfos (and the files refered by them) at all. Ah, right, I missed the filter_buildinfo_files → filter_changes_files change… sorry (this still feels "unclean", same as removing fields from .buildinfo, so no increase in the "dirt count") btw, I need to check that again (didn't have the right tuit to do it), but comparing .changes with different .buildinfo but otherwise reproducible .deb, diffoscope should already return 0 and no diffs (we could argue whether this should have be better as an opt-in option rather than hardcoded, but well… See c61f41c5128094508d6fff8b746cecc3841f6b27 in diffoscope.git but: > > I'll file a diffoscope bug after this email. > > Once diffoscope has a --ignore-buildinfo options for comparing .changes > you can just drop the filter_changes_files function and pass the option > to diffoscope. personally I'd prefer to see .buildinfo differences together with the .deb diffs. They can provide useful insight (that currently we also have because the 2 build environments are documented elsewhere). Just that diffoscope should really not compare files that have already been compared. It's just very hard to do, on the same level of the parallel diffoscope one maybe… -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [PATCH] reproducible Debian: filter Environment section from buildinfo files
Mattia Rizzolo: > On Sun, Nov 06, 2016 at 10:04:00PM +, HW42 wrote: >> (As I wrote an hour ago on irc,) See last 3 commit at >> https://anonscm.debian.org/git/users/hw42-guest/jenkins.debian.net.git/ > > >> commit fdb7a50073ef9e3b8d22176b63817a78c928d73c >> Author: HW42>> Date: Sun Nov 6 18:30:46 2016 +0100 >> >> reproducible Debian: always build under /build >> >> This way the build-path gets included into the .buildinfo like it will >> on buildds. > > This was (non-intentionally, and not sure whether anybody realized) done > due to the same reason we are not including Environment. > After this you could also just remove that code from Reiner from the > other day as well... > >> commit 3c400e29acfa961e240986771159ff1d5637ebf0 >> Author: HW42 >> Date: Sun Nov 6 21:20:35 2016 +0100 >> >> reproducible Debian: adapt for non identical .buildinfos >> >> .buildinfo document part of the build environment and are not expected >> to be the same for the two builds. > > I see that Holger already merged this, but: > > Did anybody checked the git history to see why this was done? > > Now that we're comparing .changes again diffoscope will walk through the > packages twice, once through .changes→.deb and once through > .changes→.buildinfo→.deb, doubling the comparing time and so causing > timeouts in a lot more packages (and we already have a lot of them). I removed the filter from Reiner and replaced it with a 'sed' filtering out the .buildinfo entries from the .changes file. So diffoscope should not compare the .buildinfos (and the files refered by them) at all. > I'll file a diffoscope bug after this email. Once diffoscope has a --ignore-buildinfo options for comparing .changes you can just drop the filter_changes_files function and pass the option to diffoscope. signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [PATCH] reproducible Debian: filter Environment section from buildinfo files
On Sun, Nov 06, 2016 at 10:04:00PM +, HW42 wrote: > (As I wrote an hour ago on irc,) See last 3 commit at > https://anonscm.debian.org/git/users/hw42-guest/jenkins.debian.net.git/ > commit fdb7a50073ef9e3b8d22176b63817a78c928d73c > Author: HW42> Date: Sun Nov 6 18:30:46 2016 +0100 > > reproducible Debian: always build under /build > > This way the build-path gets included into the .buildinfo like it will > on buildds. This was (non-intentionally, and not sure whether anybody realized) done due to the same reason we are not including Environment. After this you could also just remove that code from Reiner from the other day as well... > commit 3c400e29acfa961e240986771159ff1d5637ebf0 > Author: HW42 > Date: Sun Nov 6 21:20:35 2016 +0100 > > reproducible Debian: adapt for non identical .buildinfos > > .buildinfo document part of the build environment and are not expected > to be the same for the two builds. I see that Holger already merged this, but: Did anybody checked the git history to see why this was done? Now that we're comparing .changes again diffoscope will walk through the packages twice, once through .changes→.deb and once through .changes→.buildinfo→.deb, doubling the comparing time and so causing timeouts in a lot more packages (and we already have a lot of them). I'll file a diffoscope bug after this email. -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: PGP signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds