sh/openrc-run.sh: read global configuration settings first

X-Gentoo-Bug: 503134
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=503134
This commit is contained in:
William Hubbs 2016-09-05 11:20:03 -05:00
parent d5db5489be
commit d4d5593238
2 changed files with 15 additions and 9 deletions

@ -5,6 +5,12 @@ the information in this file is in reverse order.
## OpenRC-0.22
In previous versions of OpenRC, configuration information was processed
so that service-specific configuration stored in /etc/conf.d/* was
overridden by global configuration stored in /etc/rc.conf. This release
reverses that. Global configuration is now overridden by
service-specific configuration.
The swapfiles service, which was basically a copy of the swap service,
has been removed. If you are only using swap partitions, this change
will not affect you. If you are using swap files, please adjust the

@ -193,6 +193,15 @@ status()
yesno $RC_DEBUG && set -x
# Load configuration settings. First the global ones, then any
# service-specific settings.
sourcex -e "@SYSCONFDIR@/rc.conf"
if [ -d "@SYSCONFDIR@/rc.conf.d" ]; then
for _f in "@SYSCONFDIR@"/rc.conf.d/*.conf; do
sourcex -e "$_f"
done
fi
_conf_d=${RC_SERVICE%/*}/../conf.d
# If we're net.eth0 or openvpn.work then load net or openvpn config
_c=${RC_SVCNAME%%.*}
@ -209,15 +218,6 @@ if ! sourcex -e "$_conf_d/$RC_SVCNAME.$RC_RUNLEVEL"; then
fi
unset _conf_d
# Load any system overrides
sourcex -e "@SYSCONFDIR@/rc.conf"
if [ -d "@SYSCONFDIR@/rc.conf.d" ]; then
for _f in "@SYSCONFDIR@"/rc.conf.d/*.conf; do
sourcex -e "$_f"
done
fi
# load service supervisor functions
sourcex "@LIBEXECDIR@/sh/runit.sh"
sourcex "@LIBEXECDIR@/sh/s6.sh"