diff options
Diffstat (limited to 'sys-apps/openrc/files')
17 files changed, 399 insertions, 0 deletions
diff --git a/sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch b/sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch new file mode 100644 index 00000000..ec925cc1 --- /dev/null +++ b/sys-apps/openrc/files/0001-Filter-the-systemd-cgroup-from-the-current-process.patch @@ -0,0 +1,34 @@ +From 9f2ef0dabec9d7644f3f13e6d9e2037396493c6d Mon Sep 17 00:00:00 2001 +From: Fabio Erculiani <lxnay@sabayon.org> +Date: Sat, 22 Jun 2013 11:05:11 +0200 +Subject: [PATCH] Filter the systemd cgroup from the current process + +logind relies on the name=systemd:/ cgroup path to determine the +session name and seat through pam_systemd. The problem arises when +the user log into a tty or via ssh and restart a service: the +name=systemd cgroup is not cleared and it gets inherited by all +the child processes spawned by the service. +--- + sh/runscript.sh.in | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in +index 58e8eac..ba8eeb4 100644 +--- a/sh/runscript.sh.in ++++ b/sh/runscript.sh.in +@@ -249,6 +249,12 @@ while [ -n "$1" ]; do + cd / + continue + fi ++ if [ "$1" = start ] && [ -d /sys/fs/cgroup/systemd ]; then ++ # reset the systemd cgroup so that it won't be ++ # propagated to children. This makes logind work, ++ # which otherwise gets confused. ++ echo $$ > /sys/fs/cgroup/systemd/tasks ++ fi + # See if we have the required function and run it + for _cmd in describe start stop status ${extra_commands:-$opts} \ + $extra_started_commands $extra_stopped_commands +-- +1.8.2.1 + diff --git a/sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch b/sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch new file mode 100644 index 00000000..7e1140d6 --- /dev/null +++ b/sys-apps/openrc/files/0001-efivarfs-Support-EFI-variable-access-in-3.10-kernels.patch @@ -0,0 +1,41 @@ +From 29f0f55c0e7debef879674ed288c1d3af0f84772 Mon Sep 17 00:00:00 2001 +From: "Robin H. Johnson" <robbat2@gentoo.org> +Date: Mon, 24 Jun 2013 19:31:58 +0000 +Subject: [PATCH] efivarfs: Support EFI variable access in 3.10 kernels. + +In the 3.10 kernel, EFI variables are now provided by a dedicated +filesystem that needs to be mounted. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> +--- + init.d/sysfs.in | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/init.d/sysfs.in b/init.d/sysfs.in +index 114a653..7658cb5 100644 +--- a/init.d/sysfs.in ++++ b/init.d/sysfs.in +@@ -81,6 +81,20 @@ mount_misc() + eend $? + fi + fi ++ ++ # setup up kernel support for efivarfs ++ # slightly complicated, as if it's build as a module but NOT yet loaded, ++ # it will NOT appear in /proc/filesystems yet ++ if [ -d /sys/firmware/efi/efivars ] \ ++ && ! mountinfo -q /sys/firmware/efi/efivars; then ++ modprobe -q efivarfs ++ if grep -qs efivarfs /proc/filesystems; then ++ ebegin "Mounting efivarfs filesystem" ++ mount -n -t efivarfs -o ${sysfs_opts} \ ++ efivarfs /sys/firmware/efi/efivars ++ eend $? ++ fi ++ fi + } + + mount_cgroups() +-- +1.8.2.1 + diff --git a/sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch b/sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch new file mode 100644 index 00000000..eb4ed168 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.5.3-disable_warns_until_migrated.patch @@ -0,0 +1,16 @@ +diff -Nurp openrc-0.5.3.orig/sh/rc-functions.sh.in openrc-0.5.3/sh/rc-functions.sh.in +--- openrc-0.5.3.orig/sh/rc-functions.sh.in 2009-12-02 20:08:02.000000000 +0100 ++++ openrc-0.5.3/sh/rc-functions.sh.in 2009-12-26 05:42:17.000000000 +0100 +@@ -18,10 +18,10 @@ _addon_warn() + import_addon() + { + if [ -e /@LIB@/rc/addons/"$1".sh ]; then +- _addon_warn ++ # _addon_warn + . /@LIB@/rc/addons/"$1".sh + elif [ -e /@LIB@/rcscripts/addons/"$1".sh ]; then +- _addon_warn ++ # _addon_warn + . /@LIB@/rcscripts/addons/"$1".sh + else + return 1 diff --git a/sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch b/sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch new file mode 100644 index 00000000..2b666767 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.6.1-fix-clockskew-error-handling.patch @@ -0,0 +1,12 @@ +diff -Naur openrc-0.6.1.a/init.d/savecache.in openrc-0.6.1.b/init.d/savecache.in +--- openrc-0.6.1.a/init.d/savecache.in 2010-03-22 15:02:12.000000000 -0500 ++++ openrc-0.6.1.b/init.d/savecache.in 2010-07-13 13:56:47.000000000 -0500 +@@ -10,7 +10,7 @@ + ewarn "WARNING: clock skew detected!" + if ! yesno "savecache_skewed"; then + eerror "Not saving deptree cache" +- return 1 ++ return 0 + fi + fi + ebegin "Saving dependency cache" diff --git a/sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch b/sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch new file mode 100644 index 00000000..534a8899 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.6.1-network-syntax.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/310805 + +patch by Lars Wendler + +--- openrc-0.6.1/init.d/network.in ++++ openrc-0.6.1/init.d/network.in +@@ -74,6 +74,7 @@ + esac + done + [ $? = 2 ] ++ ;; + *) + local inet= address= rest= + LC_ALL=C ifconfig -a | while read inet address rest; do diff --git a/sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch b/sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch new file mode 100644 index 00000000..14ecd5f8 --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.8.3-ccwgroup.patch @@ -0,0 +1,57 @@ +From c427d3c1fec89f6a9281dccdc123bad73af80804 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Tue, 28 Jun 2011 00:02:11 -0400 +Subject: [PATCH] net: ccwgroup: smooth up/down process + +We need to bring the link up ourselves after we've properly configured +the device. The common code tries to bring the link up itself, but it +does so before things are configured, and so it ends up failing. + +When shutting down, we need to wait for the kernel to finish destroying +the interface. Otherwise, when doing a restart, openrc is quick enough +to tell the kernel to destroy things, but then start trying to bring it +back up before the kernel has finished. + +X-Gentoo-Bug: 367467 +X-Gentoo-Bug-URL: http://bugs.gentoo.org/367467 +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + net/ccwgroup.sh | 14 ++++++++++++-- + 1 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/net/ccwgroup.sh b/net/ccwgroup.sh +index 248b159..60cd25f 100644 +--- a/net/ccwgroup.sh ++++ b/net/ccwgroup.sh +@@ -58,6 +58,11 @@ ccwgroup_pre_start() + echo "${val}" > /sys/devices/${ccw_type}/${first}/${var} + done + eend $? ++ ++ # Now that we've properly configured the device, we can run ++ # bring the interface up. Common code tried to do this already, ++ # but it failed because we didn't setup sysfs yet. ++ _up + } + + ccwgroup_pre_stop() +@@ -88,9 +93,14 @@ ccwgroup_post_stop() + local device="$(service_get_value ccwgroup_device)" + [ -z "${device}" ] && return 0 + local ccw_type="$(service_get_value ccwgroup_type)" ++ local path="/sys/devices/${ccw_type}/${device}" + + einfo "Disabling ccwgroup/${ccw_type} on ${IFACE}" +- echo "0" >/sys/devices/${ccw_type}/"${device}"/online +- echo "1" >/sys/devices/${ccw_type}/"${device}"/ungroup ++ if echo "0" >"${path}"/online && ++ echo "1" >"${path}"/ungroup ; then ++ # The device doesn't disappear right away which breaks ++ # restart, or a quick start up, so wait around. ++ while [ -e "${path}" ] ; do :; done ++ fi + eend $? + } +-- +1.7.5.3 + diff --git a/sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch b/sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch new file mode 100644 index 00000000..1aa7315b --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.8.3-deprecation_warning.patch @@ -0,0 +1,33 @@ +From 24ba7955634dd571a4c34dd712dc8a592eea4d73 Mon Sep 17 00:00:00 2001 +From: Joe Harvell <jharvell@dogpad.net> +Date: Mon, 27 Jun 2011 23:20:47 +0200 +Subject: [PATCH] Only print the deprecation warning for --chuid/-c when using it + +The deprecation warning has been printed when using the replecement functions as +well, bug 373243. +--- + src/rc/start-stop-daemon.c | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c +index b5c2b6e..3017701 100644 +--- a/src/rc/start-stop-daemon.c ++++ b/src/rc/start-stop-daemon.c +@@ -788,12 +788,11 @@ start_stop_daemon(int argc, char **argv) + background = true; + break; + +- case 'u': /* --user <username>|<uid> */ + case 'c': /* --chuid <username>|<uid> */ +- { + /* DEPRECATED */ + ewarn("WARNING: -c/--chuid is deprecated and will be removed in the future, please use -u/--user instead"); +- ++ case 'u': /* --user <username>|<uid> */ ++ { + p = optarg; + tmp = strsep(&p, ":"); + changeuser = xstrdup(tmp); +-- +1.7.3.4 + diff --git a/sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch b/sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch new file mode 100644 index 00000000..b520b34c --- /dev/null +++ b/sys-apps/openrc/files/openrc-0.9.9.3-do-not-print-error-if-tmplog-cannot-be-read.patch @@ -0,0 +1,25 @@ +During boot, if /lib64/rc/init.d/ is a tmpfs mount +and rc.log can be either unavailable or no longer +available at some point in the future. +This patch makes rc-logger deal with ENOENT if +rc.log cannot be opened for reading. +--- openrc-0.9.9.3.orig/src/rc/rc-logger.c ++++ openrc-0.9.9.3/src/rc/rc-logger.c +@@ -268,7 +268,7 @@ rc_logger_open(const char *level) + break; + } + } +- } else { ++ } else if (errno != ENOENT) { + log_error = 1; + eerror("Error: fopen(%s) failed: %s", TMPLOG, strerror(errno)); + } +@@ -280,7 +280,7 @@ rc_logger_open(const char *level) + * logfile or its basedir may be read-only during sysinit and + * shutdown so skip the error in this case + */ +- if (errno != EROFS && ((strcmp(level, RC_LEVEL_SHUTDOWN) != 0) && (strcmp(level, RC_LEVEL_SYSINIT) != 0))) { ++ if (errno != EROFS && errno != ENOENT && ((strcmp(level, RC_LEVEL_SHUTDOWN) != 0) && (strcmp(level, RC_LEVEL_SYSINIT) != 0))) { + log_error = 1; + eerror("Error: fopen(%s) failed: %s", logfile, strerror(errno)); + } diff --git a/sys-apps/openrc/files/openrc-9999-pause.patch b/sys-apps/openrc/files/openrc-9999-pause.patch new file mode 100644 index 00000000..bf2c94f8 --- /dev/null +++ b/sys-apps/openrc/files/openrc-9999-pause.patch @@ -0,0 +1,29 @@ +From e82772a6b6d4374e81b7e19a593ffdef16753418 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 21 Dec 2009 09:02:35 -0500 +Subject: [PATCH] restore init.d pause option + +--- + src/rc/runscript.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/src/rc/runscript.c b/src/rc/runscript.c +index 5939dae..7147902 100644 +--- a/src/rc/runscript.c ++++ b/src/rc/runscript.c +@@ -1316,6 +1316,12 @@ runscript(int argc, char **argv) + prefix = NULL; + retval = svc_exec("status", NULL); + } else { ++ if (strcmp(optarg, "pause") == 0) { ++ ewarn("WARNING: 'pause' is deprecated; please use '--nodeps stop'"); ++ deps = false; ++ optarg = "stop"; ++ } ++ + if (strcmp(optarg, "conditionalrestart") == 0 || + strcmp(optarg, "condrestart") == 0) + { +-- +1.6.6.rc3 + diff --git a/sys-apps/openrc/files/openrc-enable-interactive-2.patch b/sys-apps/openrc/files/openrc-enable-interactive-2.patch new file mode 100644 index 00000000..cd56586d --- /dev/null +++ b/sys-apps/openrc/files/openrc-enable-interactive-2.patch @@ -0,0 +1,11 @@ +--- openrc-0.9.8.1.orig//etc/rc.conf.in ++++ openrc-0.9.8.1/etc/rc.conf.in +@@ -3,7 +3,7 @@ + # Set rc_interactive to "YES" and you'll be able to press the I key during + # boot so you can choose to start specific services. Set to "NO" to disable + # this feature. +-#rc_interactive="YES" ++rc_interactive="YES" + + # If we need to drop to a shell, you can specify it here. + # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, diff --git a/sys-apps/openrc/files/openrc-enable-interactive.patch b/sys-apps/openrc/files/openrc-enable-interactive.patch new file mode 100644 index 00000000..783c3567 --- /dev/null +++ b/sys-apps/openrc/files/openrc-enable-interactive.patch @@ -0,0 +1,11 @@ +--- openrc-0.6.8.orig/etc/rc.conf.in ++++ openrc-0.6.8/etc/rc.conf.in +@@ -13,7 +13,7 @@ + # boot so you can choose to start specific services. Set to "NO" to disable + # this feature. This feature is automatically disabled if rc_parallel is + # set to YES. +-#rc_interactive="YES" ++rc_interactive="YES" + + # If we need to drop to a shell, you can specify it here. + # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, diff --git a/sys-apps/openrc/files/openrc-netmount-fix.patch b/sys-apps/openrc/files/openrc-netmount-fix.patch new file mode 100644 index 00000000..8e6b3686 --- /dev/null +++ b/sys-apps/openrc/files/openrc-netmount-fix.patch @@ -0,0 +1,11 @@ +--- openrc-0.5.3.orig/init.d/netmount.in ++++ openrc-0.5.3/init.d/netmount.in +@@ -80,7 +80,7 @@ stop() + fs="$fs${fs:+,}$x" + done + if [ -n "$fs" ]; then +- umount -at $fs || eerror "Failed to simply unmount filesystems" ++ umount -at $fs || umount -atl $fs || eerror "Failed to simply unmount filesystems" + fi + + eindent diff --git a/sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch b/sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch new file mode 100644 index 00000000..a202aeac --- /dev/null +++ b/sys-apps/openrc/files/openrc-protect-rcsvcdir-for-symlink.patch @@ -0,0 +1,30 @@ +diff -Naur a/openrc-0.6.0/init.d/localmount.in b/openrc-0.6.0/init.d/localmount.in +--- a/openrc-0.6.0/init.d/localmount.in 2009-12-21 09:30:17.000000000 -0600 ++++ b/openrc-0.6.0/init.d/localmount.in 2010-03-09 10:53:53.000000000 -0600 +@@ -32,6 +32,11 @@ + # We never unmount / or /dev or $RC_SVCDIR + local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}" + no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec" ++ ++ # In case $RC_SVCDIR tries to unmount due to lib64 ++ # symlink configuration, we cd to it to lock it ++ cd "$RC_SVCDIR" ++ + # RC_NO_UMOUNTS is an env var that can be set by plugins + OIFS=$IFS SIFS=${IFS-y} + IFS=$IFS: +diff -Naur a/openrc-0.6.0/init.d/mount-ro.in b/openrc-0.6.0/init.d/mount-ro.in +--- a/openrc-0.6.0/init.d/mount-ro.in 2009-12-21 09:30:17.000000000 -0600 ++++ b/openrc-0.6.0/init.d/mount-ro.in 2010-03-09 10:56:25.000000000 -0600 +@@ -16,6 +16,11 @@ + sync; sync + + ebegin "Remounting remaining filesystems read-only" ++ ++ # cd to $RC_SVCDIR it to lock it in case of incorrect ++ # assumptions about lib64 symlink configuration. ++ cd "$RC_SVCDIR" ++ + # We need the do_unmount function + . "$RC_LIBEXECDIR"/sh/rc-mount.sh + eindent diff --git a/sys-apps/openrc/files/openrc-sabayon-config-2.patch b/sys-apps/openrc/files/openrc-sabayon-config-2.patch new file mode 100644 index 00000000..7e392460 --- /dev/null +++ b/sys-apps/openrc/files/openrc-sabayon-config-2.patch @@ -0,0 +1,31 @@ +diff -Nurp openrc-0.9.9.3.orig/conf.d/hwclock openrc-0.9.9.3/conf.d/hwclock +--- openrc-0.9.9.3.orig/conf.d/hwclock 2012-03-11 21:04:51.000000000 +0100 ++++ openrc-0.9.9.3/conf.d/hwclock 2012-04-19 18:50:12.000000000 +0200 +@@ -2,7 +2,7 @@ + # Greenwich Mean Time). If that clock is set to the local time, then + # set CLOCK to "local". Note that if you dual boot with Windows, then + # you should set it to "local". +-clock="UTC" ++clock="local" + + # If you want the hwclock script to set the system time (software clock) + # to match the current hardware clock during bootup, leave this +diff -Nurp openrc-0.9.9.3.orig/etc/rc.conf.in openrc-0.9.9.3/etc/rc.conf.in +--- openrc-0.9.9.3.orig/etc/rc.conf.in 2012-03-11 21:04:51.000000000 +0100 ++++ openrc-0.9.9.3/etc/rc.conf.in 2012-04-19 18:49:46.000000000 +0200 +@@ -39,13 +39,13 @@ + # This allows net.wlan and any service not matching net.* to be plugged. + # Example - rc_hotplug="*" + # This allows all services to be hotplugged +-#rc_hotplug="*" ++rc_hotplug="!net.*" + + # rc_logger launches a logging daemon to log the entire rc process to + # /var/log/rc.log + # NOTE: Linux systems require the devfs service to be started before + # logging can take place and as such cannot log the sysinit runlevel. +-#rc_logger="YES" ++rc_logger="YES" + + # Through rc_log_path you can specify a custom log file. + # The default value is: /var/log/rc.log diff --git a/sys-apps/openrc/files/openrc-sabayon-config.patch b/sys-apps/openrc/files/openrc-sabayon-config.patch new file mode 100644 index 00000000..440171f9 --- /dev/null +++ b/sys-apps/openrc/files/openrc-sabayon-config.patch @@ -0,0 +1,35 @@ +--- openrc-0.5.3.orig/conf.d/hwclock ++++ openrc-0.5.3/conf.d/hwclock +@@ -2,12 +2,12 @@ + # Greenwich Mean Time). If that clock is set to the local time, then + # set CLOCK to "local". Note that if you dual boot with Windows, then + # you should set it to "local". +-clock="UTC" ++clock="local" + + # If you want to set the Hardware Clock to the current System Time + # (software clock) during shutdown, then say "YES" here. + # You normally don't need to do this if you run a ntp daemon. +-clock_systohc="NO" ++clock_systohc="YES" + + # If you wish to pass any other arguments to hwclock during bootup, + # you may do so here. Alpha users may wish to use --arc or --srm here. +--- openrc-0.5.3.orig/etc/rc.conf.in ++++ openrc-0.5.3/etc/rc.conf.in +@@ -38,13 +38,13 @@ + # This allows net.wlan and any service not matching net.* to be plugged. + # Example - rc_hotplug="*" + # This allows all services to be hotplugged +-#rc_hotplug="*" ++rc_hotplug="!net.*" + + # rc_logger launches a logging daemon to log the entire rc process to + # /var/log/rc.log + # NOTE: Linux systems require the devfs service to be started before + # logging can take place and as such cannot log the sysinit runlevel. +-#rc_logger="YES" ++rc_logger="YES" + + # By default we filter the environment for our running scripts. To allow other + # variables through, add them here. Use a * to allow all variables through. diff --git a/sys-apps/openrc/files/openrc.logrotate b/sys-apps/openrc/files/openrc.logrotate new file mode 100644 index 00000000..a168f236 --- /dev/null +++ b/sys-apps/openrc/files/openrc.logrotate @@ -0,0 +1,7 @@ +/var/log/rc.log { + compress + rotate 4 + weekly + missingok + notifempty +} diff --git a/sys-apps/openrc/files/start-stop-daemon.pam b/sys-apps/openrc/files/start-stop-daemon.pam new file mode 100644 index 00000000..2127f6a7 --- /dev/null +++ b/sys-apps/openrc/files/start-stop-daemon.pam @@ -0,0 +1,2 @@ +account required pam_permit.so +session include system-services |