Bug#1011635: Diff between {,sticky} Debian binary package fails
Chris Lamb
lamby at debian.org
Thu May 26 17:49:17 BST 2022
Hi David,
> I use diffoscope all the time to check for regression before upload,
> it usually goes well.
Thanks!
> I noticed a difference in the file(1) output that might be a clue:
>
> $ file php-react-promise_2.*deb
> php-react-promise_2.7.0-2_all.deb: sticky Debian binary package (format
> 2.0), with control.tar.xz, data compression xz
> php-react-promise_2.9.0-1_all.deb: Debian binary package (format 2.0),
> with control.tar.xz, data compression xz
Huh, that's interesting! Here's the relevant code section from file's
src/fsmagic.c:
if (sb->st_mode & S_ISVTX)
if (file_printf(ms, "%ssticky", COMMA) == -1)
return -1;
sb is a stat(1) struct.
So, diffoscope uses regular expressions to match the output of file,
and many of the patterns use the start-of-string anchor (ie. "^").
We'll therefore need to find a way of convincing file to either not
prefix the string with "sticky" (and "setuid" or "setgid" now that I
look at the code...), or strip it out manually within diffoscope if
that is not possible.
(Seems a little odd that file adds this info at all IMHO. I would have
guessed that those are actually properties of the ~filesystem, not the
file itself...)
Anyway, should be easily fixed; will get to this ASAP.
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org 🍥 chris-lamb.co.uk
`-
More information about the Reproducible-builds
mailing list