Bug#891867: closed by "Chris Lamb" <lamby at debian.org> (Re: diffoscope: improve .changes diffs)

Helmut Grohne helmut at subdivi.de
Wed May 26 13:21:46 BST 2021


Hi Chris,

On Wed, May 26, 2021 at 09:59:03AM +0100, Chris Lamb wrote:
> Can you confirm in, say, version 175? If so, do you have a testcase that
> I can replicate locally?

I find this way of dealing with the issue quite disrespectful. I've
included a patch (which admittedly is more of a workaround) and the bug
log fully explains what the issue is, why it is there and what can be
done to fix it. You didn't like my solution, fine, I removed the patch
tag.

To replicate it locally, you can create a rfc822 file, copy it and
remove the first or last line of a multiline field in your copy.

As for a real-world example, look for any reproducible source package
that builds both arch:all and arch:any packages. Say dash. Now perform a
full build.  Then look into what kind of package comes last (or first)
in the .dsc's Package-List. Happens to be that dash (arch:any) is last.
Now drop it by performing an indep-only build. Go compare your builds.
This is what you see (with version 175):

| ...
| │ ├── Checksums-Sha256
| │ │ @@ -1,4 +1,2 @@
| │ │
| │ │ - f54228a4191361ffd0bc9ebe8b22d2545356aff9efa6d4a949dc8fa22114519c 34828 ash_0.5.11+git20210120+802ebd4-1_all.deb
| │ │ - e09828d59480ac2182e7781c358cea5c60cc513d68ee435f07809b50253a01cc 154972 dash-dbgsym_0.5.11+git20210120+802ebd4-1_amd64.deb
| │ │ - 572fc08ed88b8c79a99322110f8597ef0cbb49ccbdb1a31b485cdc40461debd2 115512 dash_0.5.11+git20210120+802ebd4-1_amd64.deb
| │ │ + f54228a4191361ffd0bc9ebe8b22d2545356aff9efa6d4a949dc8fa22114519c 34828 ash_0.5.11+git20210120+802ebd4-1_all.deb

This is a real-world issue, well-understood since three years.

If you don't like the original workaround, how about this variant that
deals with line endings and indentation simultaneously?

| def normalize_multiline(lines: str) -> str:
|     return "".join(line.strip() + "\n" for line in lines.splitlines())

Can we please stop running in circles one step per year?

Helmut



More information about the Reproducible-builds mailing list