uboot: Apply patches outside container
When running inside a rootless Podman container on a SELinux-enabled host, the `patch` command fails because it cannot copy SELinux labels from the original file to the patched file. This only happens patching files that are located in a bind mount.gentoo
parent
025b7c6115
commit
b9696ab003
|
@ -5,14 +5,8 @@ set -e
|
|||
|
||||
. ./config
|
||||
|
||||
./patch-uboot.sh
|
||||
cd u-boot
|
||||
if [ ! -f .patched ]; then
|
||||
for x in ../patches/uboot/*.patch; do
|
||||
printf 'Applying patch %s ...\n' "${x##*/}"
|
||||
patch -p1 < "${x}"
|
||||
done
|
||||
: > .patched
|
||||
fi
|
||||
cat configs/rpi_4_defconfig ../u-boot.config > configs/yellow_defconfig
|
||||
make yellow_defconfig
|
||||
CROSS_COMPILE=${target}- make
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
# vim: set sw=4 ts=4 sts=4 et :
|
||||
|
||||
if [ -f u-boot/.patched ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
rc=0
|
||||
cd u-boot || exit
|
||||
for x in ../patches/uboot/*.patch; do
|
||||
[ -f "${x}" ] || continue
|
||||
printf 'Applying patch %s ...\n' "${x##*/}"
|
||||
patch -p1 < "${x}" || rc=$?
|
||||
done
|
||||
if [ $rc -eq 0 ]; then
|
||||
: > .patched
|
||||
fi
|
|
@ -20,6 +20,8 @@ cid=$(podman run \
|
|||
python -c 'from signal import *;signal(SIGTERM, lambda x, y: None);pause()'
|
||||
)
|
||||
|
||||
./patch-uboot.sh
|
||||
|
||||
podman exec -it ${cid} ./build-all.sh "${target}"
|
||||
|
||||
podman stop ${cid}
|
||||
|
|
Loading…
Reference in New Issue