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
     `. `'`      la...@debian.org 🍥 chris-lamb.co.uk
       `-

Reply via email to