I'm raising this as an extension of bug 253076, but also because I see the potential for danger.
To date, for an init script that has baselayout2-specific behavior, we have had some variant of [ -e /lib/librc.so ] in the init script. On a multilib profile with no symlinks and a 64-bit userspace, the .so file would be installed in /lib64/librc.so, and the check would mistakenly have the wrong result. There's one fix that has started to turn up already, but I'm not sure if it's going to be safe always: [ -f /etc/init.d/sysfs ] This happens to work as openrc installs that init script. As a long term solution, can we just consume an inode and have some file like /etc/baselayout2? The file must reside on the / partition even when the major trees /usr, /var, /tmp, /opt, /boot, /home, /dev, /root are separate mountpoints. Affected and broken profiles: - amd64's 2005.0/no-symlink (it was very widely deployed. It's not supported or in the tree anymore, but there ARE still people using it) - default/linux/sparc/2008.0 (unconfirmed) - Any profile that sets SYMLINK_LIB="no" AND the userspace is 64-bit. - Wouldn't surprise me if some of the N32 style mips stuff was broken too. Affected, but not broken profiles: These are multilib, but with the default as 32-bit causes the lib to be in right place. - arch/powerpc/ppc64/32ul - hardened/linux/powerpc/ppc64/2008.0/32bit-userland - Any other profile that inherits features/32bit-userland -- Robin Hugh Johnson Gentoo Linux Developer & Infra Guy E-Mail : [email protected] GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
pgpxNsWH5RMgX.pgp
Description: PGP signature
