Hi Andreas and Kibi, Andreas Beckmann wrote: > while preparing the move of firmware-nvidia-gsp from non-free to > non-free-firmware I noticed this error from lintian: > > E: nvidia-graphics-drivers source: archive-liberty-mismatch (in section for > firmware-nvidia-gsp) non-free-firmware vs non-free [debian/control:106]
Thanks for that bug report! non-free packages alone are seldom enough so that these checks don't get a chance to be checked for the in the wild already, and non-free-firmware is even more seldom. Cyril Brulebois wrote: > Andreas Beckmann <a...@debian.org> (2023-02-02): > > while preparing the move of firmware-nvidia-gsp from non-free to > > non-free-firmware I noticed this error from lintian: > > > > E: nvidia-graphics-drivers source: archive-liberty-mismatch (in section for > > firmware-nvidia-gsp) non-free-firmware vs non-free [debian/control:106] > > Without a deep understanding of concepts or implementation, maybe a > quick fix would be to consider non-free-firmware of lower liberty than > non-free For this implementation it looks like that on a first glance, yes. Need to dig into this deeper, too, though. > (even if they really should be considered the same), I'd even say higher liberty due that infamous GR: There are obviously people who would accept non-free-firmware on their systems, but not other non-free packages. So non-free-firmware must be a bit more "free" than "non-free". ;-P (And yes, in most cases, it's less "free" than most software in "non-free". That's why I still don't get the outcome of that GR. But I'm digressing...) > changing this: > for my $inferior_liberty ('non-free', 'contrib') { > into this: > for my $inferior_liberty ('non-free-firmware', 'non-free', 'contrib') { […] > # must remain inferior > last > if $inferior_liberty eq $source_liberty; Thanks for that analysis. I suspect this type of change is probably necessary. Will have a closer look at it. Andreas Beckmann wrote: > > for my $inferior_liberty ('non-free', 'contrib') { > > into this: > > for my $inferior_liberty ('non-free-firmware', 'non-free', 'contrib') { > > That doesn't work for me (but may be needed for other cases). I suspect the latter, too. > The attached patch does make the error go away by adding an exception for > 'non-free-firmware build from non-free' similar to 'contrib built from main' > --- /usr/share/lintian/lib/Lintian/Check/Archive/Liberty/Mismatch.pm.orig > 2023-02-03 00:30:29.782861611 +0100 > +++ /usr/share/lintian/lib/Lintian/Check/Archive/Liberty/Mismatch.pm > 2023-02-03 01:02:12.441805855 +0100 > @@ -87,6 +87,9 @@ > # special exception for contrib built from main > next > if $source_liberty eq 'main' && $installable_liberty eq 'contrib'; > + # and non-free-firmware built from non-free > + next > + if $source_liberty eq 'non-free' && $installable_liberty eq > 'non-free-firmware'; > > my $control_item= $self->processable->debian_control->item; > my $position = $installable_fields->position('Section'); Thanks for that patch, too. Maybe both are necessary. Will check. Unfortunately firmware-nvidia-gsp/nvidia-graphics-drivers is rather large and I ran out of disk space when first unpacking it in my home directory. Will need to run my checks elsewhere for now. Or buy new SSDs. %-) Regards, Axel -- ,''`. | Axel Beckert <a...@debian.org>, https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE