Gentoo Archives: gentoo-dev

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Detecting Baselayout2/openrc - no-symlink profiles leading to breakage
Date: Sat, 17 Jan 2009 23:07:43
Message-Id: 20090117230733.GV7944@curie-int.orbis-terrarum.net
1 I'm raising this as an extension of bug 253076, but also because I see
2 the potential for danger.
3
4 To date, for an init script that has baselayout2-specific behavior, we
5 have had some variant of [ -e /lib/librc.so ] in the init script.
6
7 On a multilib profile with no symlinks and a 64-bit userspace, the .so
8 file would be installed in /lib64/librc.so, and the check would
9 mistakenly have the wrong result.
10
11 There's one fix that has started to turn up already, but I'm not sure if
12 it's going to be safe always: [ -f /etc/init.d/sysfs ]
13 This happens to work as openrc installs that init script.
14
15 As a long term solution, can we just consume an inode and have some file
16 like /etc/baselayout2? The file must reside on the / partition even when
17 the major trees /usr, /var, /tmp, /opt, /boot, /home, /dev, /root are
18 separate mountpoints.
19
20 Affected and broken profiles:
21 - amd64's 2005.0/no-symlink (it was very widely deployed. It's not
22 supported or in the tree anymore, but there ARE still people using it)
23 - default/linux/sparc/2008.0 (unconfirmed)
24 - Any profile that sets SYMLINK_LIB="no" AND the userspace is 64-bit.
25 - Wouldn't surprise me if some of the N32 style mips stuff was broken
26 too.
27
28 Affected, but not broken profiles:
29 These are multilib, but with the default as 32-bit causes the lib to be
30 in right place.
31 - arch/powerpc/ppc64/32ul
32 - hardened/linux/powerpc/ppc64/2008.0/32bit-userland
33 - Any other profile that inherits features/32bit-userland
34
35 --
36 Robin Hugh Johnson
37 Gentoo Linux Developer & Infra Guy
38 E-Mail : robbat2@g.o
39 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Replies