Re: [PATCH] reproducible Debian: filter Environment section from buildinfo files

2016-11-10 Thread Holger Levsen
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

2016-11-07 Thread Daniel Kahn Gillmor
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

2016-11-07 Thread HW42
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

2016-11-07 Thread 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")

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

2016-11-07 Thread HW42
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

2016-11-07 Thread 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'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