James Addison <jay@jp-hosting.net> (2023-05-04): > I think that the edits to 'debian/config/brcm80211/defines' may be the cause > of the space-escaping issue (noticed that in your fork on Salsa). > > Building locally without modifications from firmware-nonfree_20230210-5 I get: > lrwxrwxrwx 1 jka jka 44 May 4 18:45 'debian/build/install/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt' -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt > lrwxrwxrwx 1 jka jka 44 May 4 18:45 'debian/build/install/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi Compute Module 4.txt' -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt > > > So I think the symlinks are created.. but then lost when the .deb is built? If you start from the git repository, at the appropriate tag (debian/20230210-5), you'll find need to unpack the upstream tarball: tar xf ../firmware-nonfree_20230210.orig.tar.xz --strip 1 Then generate stuff: (unstable-amd64-devel)kibi@tokyo:~/debian-kernel/firmware-nonfree.git (sid)$ ./debian/rules debian/control mkdir -p debian/build printf >debian/build/version-info 'Source: %s\nVersion: %s\n' firmware-nonfree 20230210-5 /usr/bin/make -f debian/rules debian/control-real make[1]: Entering directory '/home/kibi/debian-kernel/firmware-nonfree.git' ./copy-firmware.sh debian/build/install debian/bin/gencontrol.py /usr/src/linux-support-6.1.0-8 md5sum [ edited for brevity ] > debian/control.md5sum This target is made to fail intentionally, to make sure that it is NEVER run during the automated build. Please ignore the following error, the debian/control file has been generated SUCCESSFULLY. exit 1 make[1]: *** [debian/rules:61: debian/control-real] Error 1 make[1]: Leaving directory '/home/kibi/debian-kernel/firmware-nonfree.git' make: *** [debian/rules:43: debian/control] Error 2 See the ./copy-firmware.sh step? That's using the upstream WHENCE file. That step is also called when building from the source package directly. The problem is the next stage, distributing the relevant files into the appropriate binary packages. That part is controlled by the defines, and that's what needs to be adjusted (file format and/or how it's used). A quick look suggests files_orig isn't set properly, with each part of the path being considered a path on its own. I'm not familiar with the config object yet, but if that's indeed the correct thing, that can't work as it is: class SchemaItemList(object): def __init__(self, type=r"\s+"): self.type = type def __call__(self, i): i = i.strip() if not i: return [] return [j.strip() for j in re.split(self.type, i)] Cheers, -- Cyril Brulebois (kibi@debian.org) <https://debamax.com/> D-I release manager -- Release team member -- Freelance Consultant
Attachment:
signature.asc
Description: PGP signature