From 548b8f12243d8b8ef0f732500258d6a09e1008ff Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 4 May 2011 13:11:19 +0200 Subject: [PATCH] OpenRC: improve /run creation. --- srcpkgs/OpenRC/patches/xbps_changes.diff | 55 ++++++++---------------- srcpkgs/OpenRC/template | 6 +-- 2 files changed, 20 insertions(+), 41 deletions(-) diff --git a/srcpkgs/OpenRC/patches/xbps_changes.diff b/srcpkgs/OpenRC/patches/xbps_changes.diff index 85aa75b075..e0a2a2c592 100644 --- a/srcpkgs/OpenRC/patches/xbps_changes.diff +++ b/srcpkgs/OpenRC/patches/xbps_changes.diff @@ -12,8 +12,7 @@ xbps changes: * 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 mounts an - tmpfs in /run and creates compat symlinks on it for /tmp, /dev/shm, /var/tmp, - /var/lock, /var/run, etc. + tmpfs in /run and creates a compat symlink for /dev/shm. * Backported a patch to skip unmounting the /run mountpoint from upstream git repo (Gentoo). @@ -178,9 +177,9 @@ xbps changes: ; 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 @@ +--- sh/init.sh.Linux.in.orig 2011-02-10 06:15:24.000000000 +0100 ++++ sh/init.sh.Linux.in 2011-05-04 13:03:07.481471247 +0200 +@@ -3,59 +3,22 @@ # Copyright (c) 2007-2009 Roy Marples # All rights reserved. Released under the 2-clause BSD license. @@ -213,25 +212,8 @@ xbps changes: - if [ $? -eq 0 ]; then - svcdir_restorecon - [ $? -eq 0 ] && return 0 -+ # 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 -+ -+ # 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 [ "$(readlink -f /tmp)" != "/run/tmp" ]; then -+ rm -rf /tmp -+ ln -sf /run/tmp /tmp - fi +- fi +- fi - - if grep -Eq "[[:space:]]+ramfs$" /proc/filesystems; then - fs="ramfs" @@ -248,26 +230,25 @@ xbps changes: - eerror "compiled into the kernel" - echo - return 1 -+ if [ "$(readlink -f /var/tmp)" != "/run/tmp" ]; then -+ rm -rf /var/tmp -+ ln -sf /run/tmp /var/tmp - fi -- +- fi ++ # Mount /run as tmpfs. ++ mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /run + - mount -n -t "$fs" $fsopts rc-svcdir "$RC_SVCDIR" - if [ $? -eq 0 ]; then - svcdir_restorecon - [ $? -eq 0 ] && return 0 ++ 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 ++ ++ # Create /dev/shm -> /run/shm compat symlink. + 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 } diff --git a/srcpkgs/OpenRC/template b/srcpkgs/OpenRC/template index 2179ac4f32..ebc85ad9bf 100644 --- a/srcpkgs/OpenRC/template +++ b/srcpkgs/OpenRC/template @@ -1,7 +1,7 @@ # Template file for 'OpenRC' pkgname=OpenRC version=20110211 -revision=4 +revision=5 wrksrc=openrc-${version} distfiles="http://xbps.nopcode.org/distfiles/openrc-$version.tar.bz2" build_style=custom-install @@ -45,9 +45,6 @@ _branding="XBPS GNU/Linux" do_build() { - # Use cmp(1) from diffutils. - export PATH="/usr/bin:$PATH" - # Install the "locale" service cp ${FILESDIR}/locale.rc ${wrksrc}/init.d/locale.in @@ -79,4 +76,5 @@ do_install() chmod 755 ${DESTDIR}/lib/lib* chmod 755 ${DESTDIR}/usr/lib/lib* + rmdir ${DESTDIR}/lib/rc/init.d }