[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1030325: lintian: archive-liberty-mismatch (in section for firmware-nvidia-gsp) non-free-firmware vs non-free



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 <anbe@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 <abe@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


Reply to: