Compare commits

..

2 Commits

Author SHA1 Message Date
36429459e1 build-rootfs: Relocate misplaced PAM libs
Some packages, notably _systemd_, place their PAM modules in
`/usr/lib64/security` instead of `/usr/lib/security`.  PAM only seems to
look in the latter location, though, so anything in the former needs to
be moved in order to be used.
2024-12-30 17:16:40 -06:00
5bce7dfab3 build-rootfs: Copy GCC libs to target
Software written in C++ typically depends on `libstdc++.so.6` and
`libgcc_s.so.1`.  These library dependencies are implicit, as Gentoo
expects GCC to be installed as part of the _@system_ set.  Since that
set does not get installed in the target root, anything that depends on
those libraries will not function.

Rather than install _sys-devel/gcc_ in the target environment to get
those libraries, we can copy ones built by `crossdev` manually.  This
way, we do not end up with a full C compiler and development toolchain
in the target environment, while still making the libraries available
for applications that need them.
2024-12-30 13:15:00 -06:00

View File

@@ -76,11 +76,23 @@ if [ -f /mnt/gentoo/etc/udev/hwdb.bin ]; then
mv /mnt/gentoo/etc/udev/hwdb.bin /mnt/gentoo/usr/lib/udev/ mv /mnt/gentoo/etc/udev/hwdb.bin /mnt/gentoo/usr/lib/udev/
fi fi
gccver=$(qlist -I -F '%{PV}' cross-${target}/gcc | sed 's/[^0-9].*//')
for lib in \
libstdc++ \
libgcc_s \
; do
cp /usr/lib/gcc/${target}/${gccver}/${lib}.so.* /mnt/gentoo/usr/lib64/
done
qemu-${target%%-*} \ qemu-${target%%-*} \
/mnt/gentoo/usr/sbin/ldconfig \ /mnt/gentoo/usr/sbin/ldconfig \
-r /mnt/gentoo \ -r /mnt/gentoo \
-f /mnt/gentoo/etc/ld.so.conf -f /mnt/gentoo/etc/ld.so.conf
if [ -d /mnt/gentoo/lib64/security ]; then
mv /mnt/gentoo/lib64/security/pam_*.so /mnt/gentoo/lib/security/
fi
rm -f /mnt/gentoo/lib/tmpfiles.d/provision.conf rm -f /mnt/gentoo/lib/tmpfiles.d/provision.conf
systemd-tmpfiles --root=/mnt/gentoo -E --exclude-prefix=/var --create systemd-tmpfiles --root=/mnt/gentoo -E --exclude-prefix=/var --create