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