aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Makefile12
-rw-r--r--default.mk1
-rw-r--r--net.BSD/Makefile2
-rw-r--r--net.Linux/Makefile2
-rw-r--r--net.Linux/udhcpc.sh5
-rw-r--r--net/Makefile2
-rw-r--r--sh.BSD/Makefile4
-rw-r--r--sh.Linux/Makefile2
-rw-r--r--sh/Makefile2
-rw-r--r--sh/functions.sh6
-rwxr-xr-xsh/rc-functions.sh17
-rw-r--r--src/Makefile11
-rw-r--r--src/rc-misc.h2
14 files changed, 46 insertions, 30 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c1be27f..6f99ebac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,8 +3,14 @@
19 Sep 2007; Roy Marples <uberlord@gentoo.org>:
+ Change from /lib/rcscripts to /lib/rc and adjust our files so changing
+ our libdir is much easier in future. This move makes sense it's so much
+ more than a holding place for our scripts now. It also has the added
+ benefit of not loading the splash plugin for rc4 and lower which is
+ ABI incompatible with us now.
+
plugin hook function is now rc_plugin_hook instead of a name based
- on the name of the plugin.
+ on the name of the plugin.
18 Sep 2007; Roy Marples <uberlord@gentoo.org>:
diff --git a/Makefile b/Makefile
index b7eae221..fce9a7c3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@
SUBDIRS = conf.d etc init.d man net sh share src
NAME = baselayout
-VERSION = 2.0.0_rc4
+VERSION = 2.0.0_rc5
PKG = $(NAME)-$(VERSION)
@@ -21,7 +21,7 @@ OS=BSD
endif
endif
-BASE_DIRS = /$(LIB)/rcscripts/init.d /$(LIB)/rcscripts/tmp
+BASE_DIRS = $(RC_LIB)/init.d $(RC_LIB)/tmp
KEEP_DIRS = /boot /home /mnt /root \
/usr/local/bin /usr/local/sbin /usr/local/share/doc /usr/local/share/man \
/var/lock /var/run
@@ -50,12 +50,12 @@ install::
$(INSTALL_DIR) $(DESTDIR)/etc/runlevels/single || exit $$? ; \
$(INSTALL_DIR) $(DESTDIR)/etc/runlevels/nonetwork || exit $$? ; \
fi
- ln -snf ../../$(LIB)/rcscripts/sh/net.sh $(DESTDIR)/etc/init.d/$(NET_LO) || exit $$?
- ln -snf ../../$(LIB)/rcscripts/sh/functions.sh $(DESTDIR)/etc/init.d || exit $$?
+ ln -snf ../../$(RC_LIB)/sh/net.sh $(DESTDIR)/etc/init.d/$(NET_LO) || exit $$?
+ ln -snf ../../$(RC_LIB)/sh/functions.sh $(DESTDIR)/etc/init.d || exit $$?
# Handle lib correctly
if test $(LIB) != "lib" ; then \
- sed -i'.bak' -e 's,/lib/,/$(LIB)/,g' $(DESTDIR)/$(LIB)/rcscripts/sh/functions.sh || exit $$? ; \
- rm -f $(DESTDIR)/$(LIB)/rcscripts/sh/functions.sh.bak ; \
+ sed -i'.bak' -e 's,/lib/,/$(LIB)/,g' $(DESTDIR)/$(RC_LIB)/sh/functions.sh || exit $$? ; \
+ rm -f $(DESTDIR)/$(RC_LIB)/sh/functions.sh.bak ; \
fi
layout:
diff --git a/default.mk b/default.mk
index e65bad87..6cbe1b7a 100644
--- a/default.mk
+++ b/default.mk
@@ -4,6 +4,7 @@
DESTDIR = /
ROOT = /
LIB = lib
+RC_LIB = /$(LIB)/rc
#
# Recursive rules
diff --git a/net.BSD/Makefile b/net.BSD/Makefile
index 11bd20a4..c000a354 100644
--- a/net.BSD/Makefile
+++ b/net.BSD/Makefile
@@ -1,4 +1,4 @@
-DIR = /$(LIB)/rcscripts/net
+DIR = $(RC_LIB)/net
FILES = ifconfig.sh iwconfig.sh
TOPDIR = ..
diff --git a/net.Linux/Makefile b/net.Linux/Makefile
index 3059f1e4..a1472747 100644
--- a/net.Linux/Makefile
+++ b/net.Linux/Makefile
@@ -1,4 +1,4 @@
-DIR = /$(LIB)/rcscripts/net
+DIR = $(RC_LIB)/net
FILES = adsl.sh apipa.sh arping.sh bonding.sh br2684ctl.sh bridge.sh \
ccwgroup.sh clip.sh ifconfig.sh ifplugd.sh ip6to4.sh ipppd.sh \
iproute2.sh iwconfig.sh netplugd.sh pppd.sh pump.sh tuntap.sh \
diff --git a/net.Linux/udhcpc.sh b/net.Linux/udhcpc.sh
index af5bbea1..2fe23bd2 100644
--- a/net.Linux/udhcpc.sh
+++ b/net.Linux/udhcpc.sh
@@ -65,8 +65,11 @@ udhcpc_start() {
;;
esac
+ local script="${RC_LIBDIR}"/sh/udhcpc.sh
+ [ -x "${script}" ] || script=/lib/rcscripts/sh/udhcpc.sh
+
eval "${x}" "${args}" --interface="${IFACE}" --now \
- --script="${RC_LIBDIR}"/sh/udhcpc.sh \
+ --script="${script}" \
--pidfile="${pidfile}" >/dev/null
eend $? || return 1
diff --git a/net/Makefile b/net/Makefile
index 5ed3d8b9..0aedc1cc 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1,4 +1,4 @@
-DIR = /$(LIB)/rcscripts/net
+DIR = $(RC_LIB)/net
FILES = dhclient.sh dhcpcd.sh macchanger.sh macnet.sh ssidnet.sh system.sh \
wpa_supplicant.sh
diff --git a/sh.BSD/Makefile b/sh.BSD/Makefile
index 9c08bbd6..485de3a7 100644
--- a/sh.BSD/Makefile
+++ b/sh.BSD/Makefile
@@ -1,5 +1,5 @@
-DIR = /$(LIB)/rcscripts/sh
-EXES = init.sh
+DIR = $(RC_LIB)/sh
+EXES = init.sh
TOPDIR = ..
include $(TOPDIR)/default.mk
diff --git a/sh.Linux/Makefile b/sh.Linux/Makefile
index 446d624d..89cd8154 100644
--- a/sh.Linux/Makefile
+++ b/sh.Linux/Makefile
@@ -1,4 +1,4 @@
-DIR = /$(LIB)/rcscripts/sh
+DIR = $(RC_LIB)/sh
EXES = init.sh init-early.sh
TOPDIR = ..
diff --git a/sh/Makefile b/sh/Makefile
index ac50fa90..aa9a4b45 100644
--- a/sh/Makefile
+++ b/sh/Makefile
@@ -1,4 +1,4 @@
-DIR = /$(LIB)/rcscripts/sh
+DIR = $(RC_LIB)/sh
FILES = functions.sh init-functions.sh init-common-post.sh \
rc-functions.sh rc-mount.sh
EXES = gendepends.sh net.sh rc-mount.sh rc-help.sh runscript.sh
diff --git a/sh/functions.sh b/sh/functions.sh
index 5b4f8d91..495f2bd1 100644
--- a/sh/functions.sh
+++ b/sh/functions.sh
@@ -113,9 +113,9 @@ fi
# This should solve both /sbin and /usr/sbin not present when
# doing 'su -c foo', or for something like: PATH= rcscript start
case "${PATH}" in
- /lib/rcscripts/bin:/bin:/sbin:/usr/bin:/usr/sbin) ;;
- /lib/rcscripts/bin:/bin:/sbin:/usr/bin:/usr/sbin:*) ;;
- *) export PATH="/lib/rcscripts/bin:/bin:/sbin:/usr/bin:/usr/sbin:${PATH}" ;;
+ /lib/rc/bin:/bin:/sbin:/usr/bin:/usr/sbin) ;;
+ /lib/rc/bin:/bin:/sbin:/usr/bin:/usr/sbin:*) ;;
+ *) export PATH="/lib/rc/bin:/bin:/sbin:/usr/bin:/usr/sbin:${PATH}" ;;
esac
for arg in "$@" ; do
diff --git a/sh/rc-functions.sh b/sh/rc-functions.sh
index a1a7644b..79f479fc 100755
--- a/sh/rc-functions.sh
+++ b/sh/rc-functions.sh
@@ -2,12 +2,17 @@
# Distributed under the terms of the GNU General Public License v2
has_addon() {
- [ -e "${RC_LIBDIR}/addons/$1.sh" ]
+ [ -e "${RC_LIBDIR}/addons/$1.sh" ] || [ -e /lib/rcscripts/addons/"$1".sh ]
}
import_addon() {
- has_addon "$1" || return 1
- . "${RC_LIBDIR}/addons/$1.sh"
+ if [ -e "${RC_LIBDIR}/addons/$1.sh" ]; then
+ . "${RC_LIBDIR}/addons/$1.sh"
+ elif [ -e /lib/rcscripts/addons/"$1".sh ]; then
+ . /lib/rcscripts/addons/"$1".sh
+ else
+ return 1
+ fi
}
start_addon() {
@@ -22,7 +27,7 @@ is_net_fs() {
[ -z "$1" ] && return 1
local t=$(mountinfo --fstype "$1")
- for x in ${RC_NET_FS_LIST} ; do
+ for x in ${RC_NET_FS_LIST}; do
[ "${x}" = "${t}" ] && return 0
done
return 1
@@ -38,12 +43,12 @@ get_bootparam() {
[ -z "${match}" -o ! -r /proc/cmdline ] && return 1
set -- $(cat /proc/cmdline)
- while [ -n "$1" ] ; do
+ while [ -n "$1" ]; do
case "$1" in
gentoo=*)
local params="${1##*=}"
local IFS=, x=
- for x in ${params} ; do
+ for x in ${params}; do
[ "${x}" = "${match}" ] && return 0
done
;;
diff --git a/src/Makefile b/src/Makefile
index 93e71d26..4da64061 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -41,6 +41,7 @@ CFLAGS += -pedantic -std=c99 \
DESTDIR =
LIB = lib
+RC_LIB = /$(LIB)/rc
# Set PAM = pam for pam support
PAM =
@@ -134,13 +135,13 @@ install: $(TARGET)
install -m 0755 -d $(DESTDIR)/sbin
install -m 0755 $(SBIN_TARGETS) $(DESTDIR)/sbin
ln -sf rc-update $(DESTDIR)/sbin/update-rc
- install -m 0755 -d $(DESTDIR)/$(LIB)/rcscripts/conf.d
- install -m 0644 $(SYS_WHITELIST) $(DESTDIR)/$(LIB)/rcscripts/conf.d
- install -m 0755 -d $(DESTDIR)/$(LIB)/rcscripts/bin
+ install -m 0755 -d $(DESTDIR)/$(RC_LIB)/conf.d
+ install -m 0644 $(SYS_WHITELIST) $(DESTDIR)/$(RC_LIB)/conf.d
+ install -m 0755 -d $(DESTDIR)/$(RC_LIB)/bin
for x in $(BINLINKS); do ln -sf ../sbin/rc $(DESTDIR)/bin/$$x; done
for x in $(SBINLINKS); do ln -sf rc $(DESTDIR)/sbin/$$x; done
- for x in $(RCLINKS); do ln -sf ../../../sbin/rc $(DESTDIR)/$(LIB)/rcscripts/bin/$$x; done
- if test "$(PAM)" != "pam" ; then \
+ for x in $(RCLINKS); do ln -sf ../../../sbin/rc $(DESTDIR)/$(RC_LIB)/bin/$$x; done
+ if test "$(PAM)" = "pam" ; then \
install -m 0755 -d $(DESTDIR)/etc/pam.d ; \
install -m 0644 start-stop-daemon.pam $(DESTDIR)/etc/pam.d/start-stop-daemon ; \
fi
diff --git a/src/rc-misc.h b/src/rc-misc.h
index ec29987e..0df58b5c 100644
--- a/src/rc-misc.h
+++ b/src/rc-misc.h
@@ -14,7 +14,7 @@
#define RC_LEVEL_BOOT "boot"
#define RC_LEVEL_DEFAULT "default"
-#define RC_LIBDIR "/" LIB "/rcscripts"
+#define RC_LIBDIR "/" LIB "/rc"
#define RC_SVCDIR RC_LIBDIR "/init.d"
#define RC_DEPTREE RC_SVCDIR "/deptree"
#define RC_RUNLEVELDIR "/etc/runlevels"