summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2011-04-10 16:10:47 -0500
committerWilliam Hubbs <williamh@gentoo.org>2011-04-10 16:10:47 -0500
commit8e925368b7a07df23bc168ce4f50dc826181411b (patch)
tree3ebbc472c09e50aabfecfb553fc8ec704af3e9ca
parent15660dbbfcbf8eace589a3284130036b481c1cdf (diff)
downloadopenrc-8e925368b7a07df23bc168ce4f50dc826181411b.tar.gz
openrc-8e925368b7a07df23bc168ce4f50dc826181411b.tar.bz2
openrc-8e925368b7a07df23bc168ce4f50dc826181411b.tar.xz
bring up the loopback interface earlier
For most situations, the loopback interface can depend on root instead of localmount, so this patch makes that happen. It also adds comments to the net.example files explaining when a user might want to change this and giving an example. I would like to thank Robin Johnson for the original patch and suggested examples. X-Gentoo-Bug: 292894 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=292894 Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-rw-r--r--doc/net.example.BSD.in9
-rw-r--r--doc/net.example.Linux.in9
-rw-r--r--init.d/net.lo.in5
3 files changed, 20 insertions, 3 deletions
diff --git a/doc/net.example.BSD.in b/doc/net.example.BSD.in
index 2329fa2..eacfca6 100644
--- a/doc/net.example.BSD.in
+++ b/doc/net.example.BSD.in
@@ -359,6 +359,15 @@
# manager like resolvconf-gentoo to manage this file for you. All packages
# that baselayout supports use resolvconf-gentoo if installed.
+# If you run any services on net.lo which need localmount, either the
+# services or net.lo should explicitly bring in localmount.
+# If you do not do this, openrc will try to bring up net.lo as soon as
+# possible, which may be too early for your services.
+# If you use network file systems for your core system this may
+# interfere.
+# Also, you may need this if 127.0.0.1 is in your /etc/resolv.conf.
+#rc_net_lo0_need="localmount"
+
#-----------------------------------------------------------------------------
# Cable in/out detection
# Sometimes the cable is in, others it's out. Obviously you don't want to
diff --git a/doc/net.example.Linux.in b/doc/net.example.Linux.in
index 709e201..844a67a 100644
--- a/doc/net.example.Linux.in
+++ b/doc/net.example.Linux.in
@@ -962,6 +962,15 @@
# manager like resolvconf-gentoo to manage this file for you. All packages
# that baselayout supports use resolvconf-gentoo if installed.
+# If you run any services on net.lo which need localmount, either the
+# services or net.lo should explicitly bring in localmount.
+# If you do not do this, openrc will try to bring up net.lo as soon as
+# possible, which may be too early for your services.
+# If you use network file systems for your core system this may
+# interfere.
+# Also, you may need this if 127.0.0.1 is in your /etc/resolv.conf.
+#rc_net_lo_need="localmount"
+
#-----------------------------------------------------------------------------
# Cable in/out detection
# Sometimes the cable is in, others it's out. Obviously you don't want to
diff --git a/init.d/net.lo.in b/init.d/net.lo.in
index 8f4ea9b..1615b0c 100644
--- a/init.d/net.lo.in
+++ b/init.d/net.lo.in
@@ -18,14 +18,13 @@ depend()
local IFACE=${RC_SVCNAME#*.}
local IFVAR=$(shell_var "${IFACE}")
- need localmount
after bootmisc
provide net
keyword -jail -prefix -vserver
case "${IFACE}" in
- lo|lo0);;
- *) after net.lo net.lo0;;
+ lo|lo0) need root ;;
+ *) after net.lo net.lo0 ; need localmount ;;
esac
if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then