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

Bug#1035505: firmware-nonfree: debian/bin/gencontrol.py fails on spaces and backslashes



Source: firmware-nonfree
Version: 20230210-5
Severity: normal
X-Debbugs-Cc: 1029843@bugs.debian.org, kibi@debian.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

While trying to prepare a MR to fix bug #1029843, I encountered a
failure which seems to be `gencontrol.py`'s inability to deal with
spaces and/or backslashes (used to escape the spaces).

$ debian/rules debian/control-real
mkdir -p debian/build
printf >debian/build/version-info 'Source: %s\nVersion: %s\n' firmware-nonfree 20230210-6
./copy-firmware.sh debian/build/install
debian/bin/gencontrol.py /usr/src/linux-support-6.1.0-8
Traceback (most recent call last):
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 341, in <module>
    GenControl()()
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 94, in __call__
    self.do_main(packages, makefile)
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 128, in do_main
    self.do_package(packages, makefile, package, vars.copy(), makeflags.copy())
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 228, in do_package
    f, f_real, version = files_real[f]
                         ~~~~~~~~~~^^^
KeyError: 'brcm/brcmfmac43455-sdio.Raspberry\\'
make: *** [debian/rules:53: debian/control-real] Error 1

The upstream WHENCE file contains these lines:
Link: brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ 4\ Model\ B.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt
Link: brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ Compute\ Module\ 4.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt

Removing the `\`, but keeping the spaces, resulted in a similar error:

$ debian/rules debian/control-real
./copy-firmware.sh debian/build/install
debian/bin/gencontrol.py /usr/src/linux-support-6.1.0-8
Traceback (most recent call last):
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 341, in <module>
    GenControl()()
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 94, in __call__
    self.do_main(packages, makefile)
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 128, in do_main
    self.do_package(packages, makefile, package, vars.copy(), makeflags.copy())
  File "/home/diederik/dev/debian/salsa/kernel-team/firmware-nonfree/debian/bin/gencontrol.py", line 228, in do_package
    f, f_real, version = files_real[f]
                         ~~~~~~~~~~^^^
KeyError: 'brcm/brcmfmac43455-sdio.Raspberry'
make: *** [debian/rules:53: debian/control-real] Error 1

So AFAICT this means that firmware files or links with spaces in them
can not be added to the Debian packages.

I'm guessing this was the reason that the non-CM link was added, but
then removed again before the upload (but there's still an entry about
it in `debian/changelog`.
See commits 53779c7b6131a541 and b42c40616208270a.


- -- System Information:
Debian Release: 12.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-8-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQT1sUPBYsyGmi4usy/XblvOeH7bbgUCZFOIDwAKCRDXblvOeH7b
bkAhAP97KDfuB6CsxAokJnAUCcJvXT4APdYaVYtAjrzoJXYiVgEA8hjbsBy13Yp7
4OfoxKsQnbdFeSv35gQxAauaSvAJdAU=
=11HZ
-----END PGP SIGNATURE-----


Reply to: