OpenRC: some fixes for /run transition.
- do not mount /dev/shm anymore, it's a symlink to /run/shm. - always mount /run as tmpfs with required dirs, and created required compat symlinks if they aren't correct (rootfs must be mounted rw to work).
This commit is contained in:
parent
5ae93346f2
commit
b9b2168a3b
|
@ -11,9 +11,9 @@ xbps changes:
|
|||
(symlinked to /run, which is tmpfs).
|
||||
* The mtab service checks if / is of type rootfs and tmpfs, and don't add it
|
||||
into /etc/mtab, which is redundant.
|
||||
* mount_svcdir() doesn't mount any tmpfs or ramfs anymore, rather uses symlinks
|
||||
pointing to the /run directory which is always a tmpfs. Compat symlinks
|
||||
for common dirs are also provided.
|
||||
* mount_svcdir() doesn't mount any tmpfs or ramfs anymore, rather mounts an
|
||||
tmpfs in /run and creates compat symlinks on it for /tmp, /dev/shm, /var/tmp,
|
||||
/var/lock, /var/run, etc.
|
||||
* Backported a patch to skip unmounting the /run mountpoint from upstream
|
||||
git repo (Gentoo).
|
||||
|
||||
|
@ -168,9 +168,19 @@ xbps changes:
|
|||
fi
|
||||
no_umounts_r="^($no_umounts_r)$"
|
||||
|
||||
--- sh/init.sh.Linux.in.orig 2011-02-10 06:15:24.000000000 +0100
|
||||
+++ sh/init.sh.Linux.in 2011-04-29 18:11:13.254999893 +0200
|
||||
@@ -3,59 +3,50 @@
|
||||
--- init.d/devfs.in.orig 2011-02-10 06:15:24.000000000 +0100
|
||||
+++ init.d/devfs.in 2011-04-29 18:12:48.983999871 +0200
|
||||
@@ -13,7 +13,6 @@ start() {
|
||||
# Mount required stuff as user may not have then in /etc/fstab
|
||||
for x in \
|
||||
"devpts /dev/pts 0755 ,gid=5,mode=0620 devpts" \
|
||||
- "tmpfs /dev/shm 1777 ,nodev shm" \
|
||||
; do
|
||||
set -- $x
|
||||
grep -Eq "[[:space:]]+$1$" /proc/filesystems || continue
|
||||
--- sh/init.sh.Linux.in.orig 2011-04-29 22:12:20.648999920 +0200
|
||||
+++ sh/init.sh.Linux.in 2011-04-29 22:15:20.159999881 +0200
|
||||
@@ -3,59 +3,42 @@
|
||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
||||
# All rights reserved. Released under the 2-clause BSD license.
|
||||
|
||||
|
@ -188,10 +198,6 @@ xbps changes:
|
|||
- return $rc
|
||||
-}
|
||||
-
|
||||
+# /lib/rc/init.d should be rw, previously it was mounted as tmpfs or
|
||||
+# ramfs. XBPS no longer mounts this, rather uses a symlink to /run/init.d
|
||||
+# which is always a tmpfs.
|
||||
+#
|
||||
mount_svcdir()
|
||||
{
|
||||
- # mount from fstab if we can
|
||||
|
@ -199,12 +205,7 @@ xbps changes:
|
|||
-
|
||||
- local fs= fsopts="-o rw,noexec,nodev,nosuid"
|
||||
- local svcsize=${rc_svcsize:-1024}
|
||||
+ # Create /lib/rc/init.d symlink to /run/init.d.
|
||||
+ if [ ! -d /run/init.d ]; then
|
||||
+ mkdir -p -m 0755 /run/init.d
|
||||
+ fi
|
||||
+ rm -rf /lib/rc/init.d && ln -sf /run/init.d /lib/rc/init.d
|
||||
|
||||
-
|
||||
- # Some buggy kernels report tmpfs even when not present :(
|
||||
- if grep -Eq "[[:space:]]+tmpfs$" /proc/filesystems; then
|
||||
- local tmpfsopts="${fsopts},mode=755,size=${svcsize}k"
|
||||
|
@ -212,26 +213,24 @@ xbps changes:
|
|||
- if [ $? -eq 0 ]; then
|
||||
- svcdir_restorecon
|
||||
- [ $? -eq 0 ] && return 0
|
||||
+ # Create compatibility symlinks for:
|
||||
+ #
|
||||
+ # /tmp -> /run/tmp
|
||||
+ # /var/tmp -> /run/tmp
|
||||
+ # /var/lock -> /run/lock
|
||||
+ # /var/run -> /run/pid
|
||||
+ # /dev/shm -> /run/shm
|
||||
+ # Mount /run as tmpfs.
|
||||
+ mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /run
|
||||
+ # Create required /run directories.
|
||||
+ for d in init.d pid udev; do
|
||||
+ mkdir -m0755 /run/${d}
|
||||
+ done
|
||||
+ for d in lock tmp shm; do
|
||||
+ mkdir -m1777 /run/${d}
|
||||
+ done
|
||||
+
|
||||
+ [ ! -d /run/tmp ] && mkdir -m 1777 /run/tmp
|
||||
+ [ ! -d /run/lock ] && mkdir -m 1777 /run/lock
|
||||
+ [ ! -d /run/pid ] && mkdir -m 0755 /run/pid
|
||||
+ [ ! -d /run/shm ] && mkdir -m 1777 /run/shm
|
||||
+
|
||||
+ if [ -d /tmp ]; then
|
||||
+ rmdir /tmp
|
||||
+ ln -sf /run/tmp /tmp
|
||||
+ # Create /run compat symlinks.
|
||||
+ if [ "$(readlink -f /lib/rc/init.d)" != "/run/init.d" ]; then
|
||||
+ rm -rf /lib/rc/init.d
|
||||
+ ln -sf /run/init.d /lib/rc/init.d
|
||||
fi
|
||||
+ if [ -d /var/tmp ]; then
|
||||
+ rmdir /var/tmp
|
||||
+ ln -sf /run/tmp /var/tmp
|
||||
+ if [ "$(readlink -f /tmp)" != "/run/tmp" ]; then
|
||||
+ rm -rf /tmp
|
||||
+ ln -sf /run/tmp /tmp
|
||||
fi
|
||||
-
|
||||
- if grep -Eq "[[:space:]]+ramfs$" /proc/filesystems; then
|
||||
|
@ -249,32 +248,26 @@ xbps changes:
|
|||
- eerror "compiled into the kernel"
|
||||
- echo
|
||||
- return 1
|
||||
+ if [ -d /var/run ]; then
|
||||
+ rm -rf /var/run
|
||||
+ ln -sf /run/pid /var/run
|
||||
+ if [ "$(readlink -f /var/tmp)" != "/run/tmp" ]; then
|
||||
+ rm -rf /var/tmp
|
||||
+ ln -sf /run/tmp /var/tmp
|
||||
fi
|
||||
-
|
||||
- mount -n -t "$fs" $fsopts rc-svcdir "$RC_SVCDIR"
|
||||
- if [ $? -eq 0 ]; then
|
||||
- svcdir_restorecon
|
||||
- [ $? -eq 0 ] && return 0
|
||||
+ if [ -d /var/lock ]; then
|
||||
+ rmdir /var/lock
|
||||
+ ln -sf /run/lock /var/lock
|
||||
+ fi
|
||||
+ if [ -d /run/shm ]; then
|
||||
+ [ -d /dev/shm ] && rmdir /dev/shm
|
||||
+ if [ "$(readlink -f /dev/shm)" != "/run/shm" ]; then
|
||||
+ rm -rf /dev/shm
|
||||
+ ln -sf /run/shm /dev/shm
|
||||
+ fi
|
||||
+ if [ "$(readlink -f /var/run)" != "/run/pid" ]; then
|
||||
+ rm -rf /var/run
|
||||
+ ln -sf /run/pid /var/run
|
||||
+ fi
|
||||
+ if [ "$(readlink -f /var/lock)" != "/run/lock" ]; then
|
||||
+ rm -rf /var/lock
|
||||
+ ln -sf /run/lock /var/lock
|
||||
fi
|
||||
}
|
||||
|
||||
--- init.d/devfs.in.orig 2011-02-10 06:15:24.000000000 +0100
|
||||
+++ init.d/devfs.in 2011-04-29 18:12:48.983999871 +0200
|
||||
@@ -13,7 +13,6 @@ start() {
|
||||
# Mount required stuff as user may not have then in /etc/fstab
|
||||
for x in \
|
||||
"devpts /dev/pts 0755 ,gid=5,mode=0620 devpts" \
|
||||
- "tmpfs /dev/shm 1777 ,nodev shm" \
|
||||
; do
|
||||
set -- $x
|
||||
grep -Eq "[[:space:]]+$1$" /proc/filesystems || continue
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'OpenRC'
|
||||
pkgname=OpenRC
|
||||
version=20110211
|
||||
revision=2
|
||||
revision=4
|
||||
wrksrc=openrc-${version}
|
||||
distfiles="http://xbps.nopcode.org/distfiles/openrc-$version.tar.bz2"
|
||||
build_style=custom-install
|
||||
|
|
Loading…
Reference in New Issue