diff options
author | Konrad Weihmann <kweihmann@outlook.com> | 2022-05-09 12:59:57 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-05-10 09:46:03 +0100 |
commit | 3ccfcc3fcf35bbf0bf1193c855ed71000b1cbefe (patch) | |
tree | 43e66d69fe5af1931dc7aa134856d3a3c93cffad /meta/recipes-kernel/linux-firmware | |
parent | 75ee46e5d6a56acf4f18ca68d9f9032a4774e60b (diff) | |
download | poky-3ccfcc3fcf35bbf0bf1193c855ed71000b1cbefe.tar.gz |
linux-firmware: replace mkdir by install
if a setup is using RPM for packaging and there are multiple
recipes that install to ${nonarch_base_libdir}/firmware by using
install -d ${nonarch_base_libdir}/firmware, it will create installation
clashes on image install, as linux-firmware in before this patch
used mkdir -p, which creates different file mode bits (depending
on the current user's settings).
In a particular example
linux-fimware created /lib/firmware with 0600
while other-firmware-package created it with 0644
making the combination not installable by rpm backend
(From OE-Core rev: 98bf3f427702687bf81ed759e7cde5d6d15e77eb)
Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/linux-firmware')
-rw-r--r-- | meta/recipes-kernel/linux-firmware/files/0001-Makefile-replace-mkdir-by-install.patch | 84 | ||||
-rw-r--r-- | meta/recipes-kernel/linux-firmware/linux-firmware_20220411.bb | 5 |
2 files changed, 88 insertions, 1 deletions
diff --git a/meta/recipes-kernel/linux-firmware/files/0001-Makefile-replace-mkdir-by-install.patch b/meta/recipes-kernel/linux-firmware/files/0001-Makefile-replace-mkdir-by-install.patch new file mode 100644 index 0000000000..b1ac5a16ab --- /dev/null +++ b/meta/recipes-kernel/linux-firmware/files/0001-Makefile-replace-mkdir-by-install.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | From 71514e74f35f2b51ca24062573d6d913525b30db Mon Sep 17 00:00:00 2001 | ||
2 | From: Konrad Weihmann <kweihmann@outlook.com> | ||
3 | Date: Mon, 9 May 2022 12:57:57 +0200 | ||
4 | Subject: [PATCH] Makefile: replace mkdir by install | ||
5 | |||
6 | mkdir -p creates paths that are bound to user's settings and therefore | ||
7 | can lead to different file mode bits of the base paths accross different | ||
8 | machines. | ||
9 | Use install instead, as this tool is not prone to such behavior. | ||
10 | |||
11 | Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> | ||
12 | Upstream-Status: Submitted [https://lore.kernel.org/linux-firmware/PR2PR09MB310088EA719E6D7CA5C268F1A8C69@PR2PR09MB3100.eurprd09.prod.outlook.com/] | ||
13 | --- | ||
14 | Makefile | 2 +- | ||
15 | carl9170fw/toolchain/Makefile | 4 ++-- | ||
16 | copy-firmware.sh | 6 +++--- | ||
17 | 3 files changed, 6 insertions(+), 6 deletions(-) | ||
18 | |||
19 | diff --git a/Makefile b/Makefile | ||
20 | index e1c362f..83a0ec6 100644 | ||
21 | --- a/Makefile | ||
22 | +++ b/Makefile | ||
23 | @@ -9,5 +9,5 @@ check: | ||
24 | @./check_whence.py | ||
25 | |||
26 | install: | ||
27 | - mkdir -p $(DESTDIR)$(FIRMWAREDIR) | ||
28 | + install -d $(DESTDIR)$(FIRMWAREDIR) | ||
29 | ./copy-firmware.sh $(DESTDIR)$(FIRMWAREDIR) | ||
30 | diff --git a/carl9170fw/toolchain/Makefile b/carl9170fw/toolchain/Makefile | ||
31 | index 2b25ffe..aaea8e8 100644 | ||
32 | --- a/carl9170fw/toolchain/Makefile | ||
33 | +++ b/carl9170fw/toolchain/Makefile | ||
34 | @@ -46,14 +46,14 @@ src/gcc-$(GCC_VER): src/$(GCC_TAR) src/newlib-$(NEWLIB_VER) | ||
35 | ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/libgloss $@ | ||
36 | |||
37 | binutils: src/binutils-$(BINUTILS_VER) | ||
38 | - mkdir -p build/binutils | ||
39 | + install -d build/binutils | ||
40 | cd build/binutils; \ | ||
41 | $(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst; \ | ||
42 | $(MAKE) -j3; \ | ||
43 | $(MAKE) install | ||
44 | |||
45 | gcc: src/gcc-$(GCC_VER) binutils | ||
46 | - mkdir -p build/gcc | ||
47 | + install -d build/gcc | ||
48 | cd build/gcc; \ | ||
49 | $(BASEDIR)/$</configure --target=sh-elf --prefix=$(BASEDIR)/inst -enable-languages=c --without-pkgversion --with-newlib; \ | ||
50 | $(MAKE) -j3; \ | ||
51 | diff --git a/copy-firmware.sh b/copy-firmware.sh | ||
52 | index 9b46b63..bbacb92 100755 | ||
53 | --- a/copy-firmware.sh | ||
54 | +++ b/copy-firmware.sh | ||
55 | @@ -34,7 +34,7 @@ done | ||
56 | grep '^File:' WHENCE | sed -e's/^File: *//g' -e's/"//g' | while read f; do | ||
57 | test -f "$f" || continue | ||
58 | $verbose "copying file $f" | ||
59 | - mkdir -p $destdir/$(dirname "$f") | ||
60 | + install -d $destdir/$(dirname "$f") | ||
61 | cp -d "$f" $destdir/"$f" | ||
62 | done | ||
63 | |||
64 | @@ -42,7 +42,7 @@ grep -E '^Link:' WHENCE | sed -e's/^Link: *//g' -e's/-> //g' | while read f d; d | ||
65 | if test -L "$f"; then | ||
66 | test -f "$destdir/$f" && continue | ||
67 | $verbose "copying link $f" | ||
68 | - mkdir -p $destdir/$(dirname "$f") | ||
69 | + install -d $destdir/$(dirname "$f") | ||
70 | cp -d "$f" $destdir/"$f" | ||
71 | |||
72 | if test "x$d" != "x"; then | ||
73 | @@ -63,7 +63,7 @@ grep -E '^Link:' WHENCE | sed -e's/^Link: *//g' -e's/-> //g' | while read f d; d | ||
74 | fi | ||
75 | else | ||
76 | $verbose "creating link $f -> $d" | ||
77 | - mkdir -p $destdir/$(dirname "$f") | ||
78 | + install -d $destdir/$(dirname "$f") | ||
79 | ln -sf "$d" "$destdir/$f" | ||
80 | fi | ||
81 | done | ||
82 | -- | ||
83 | 2.25.1 | ||
84 | |||
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20220411.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20220411.bb index 89e1b8cbaf..19b970c091 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20220411.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20220411.bb | |||
@@ -203,7 +203,10 @@ NO_GENERIC_LICENSE[WHENCE] = "WHENCE" | |||
203 | 203 | ||
204 | PE = "1" | 204 | PE = "1" |
205 | 205 | ||
206 | SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz" | 206 | SRC_URI = "\ |
207 | ${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz \ | ||
208 | file://0001-Makefile-replace-mkdir-by-install.patch \ | ||
209 | " | ||
207 | 210 | ||
208 | SRC_URI[sha256sum] = "020b11f6412f4956f5a6f98de7d41867d2b30ea0ce81b1e2d206ec9840363849" | 211 | SRC_URI[sha256sum] = "020b11f6412f4956f5a6f98de7d41867d2b30ea0ce81b1e2d206ec9840363849" |
209 | 212 | ||