aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile7
-rw-r--r--README1
-rw-r--r--README.newnet40
-rw-r--r--init.d/Makefile14
-rw-r--r--init.d/network.in6
-rw-r--r--init.d/staticroute.in5
-rw-r--r--runlevels/Makefile12
7 files changed, 64 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index 0a834957..0462f028 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,12 @@
include Makefile.inc
-SUBDIR= conf.d doc etc init.d local.d sysctl.d man net scripts sh src
+SUBDIR= conf.d etc init.d local.d man scripts sh src sysctl.d
+
+# Build our old net foo or not
+ifeq (${MKOLDNET},yes)
+SUBDIR+= net doc
+endif
# Build pkgconfig or not
MKPKGCONFIG?= yes
diff --git a/README b/README
index e43fcb97..f02557e5 100644
--- a/README
+++ b/README
@@ -16,6 +16,7 @@ MKSELINUX=yes
MKSTATICLIBS=no
MKTERMCAP=ncurses
MKTERMCAP=termcap
+MKOLDNET=yes
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local
diff --git a/README.newnet b/README.newnet
new file mode 100644
index 00000000..2e157e2b
--- /dev/null
+++ b/README.newnet
@@ -0,0 +1,40 @@
+The following applies only to the newnet stack, which is not presently
+maintained in OpenRC. The oldnet stack is maintained instead.
+- Robin H. Johnson <robbat2@gentoo.org>, 2011/02/21
+
+OpenRC Network Ideals
+---------------------
+
+The new style networking for OpenRC is very simplistic - provide a basic means
+of configuring static interface address and routes whilst allowing the
+possibility to run any command at any point.
+
+In a nutshell, init.d/network is a wrapper around ifconfig(8) and
+init.d/staticroute is wrapper around route(8).
+
+In the Perfect World (TM) ifconfig should be able to configure everything
+about the interface easily * . The BSD family almost get this right and Linux
+epically fails.
+
+* Only static configuration, including link setup.
+For dynamic, static, IPv4LL, arping and per ssid IPv4 setup dhcpcd-5.x
+provides your needs.
+
+It fails because there are many tools to do the same job and often have
+vastly different syntax where they could be similar. In other words, there
+is no coherence.
+
+OpenRC-0.4.x and older (inc Gentoo baselayout-1) had a collection of scripts
+for each tool and allowed a script per interface. Over the years, this design
+has proven very hard to maintain as each user has their own idea of how
+things should work. Also, there were (and still are) race conditions.
+
+So where do we go from here?
+Well, it's possible to use the new network scripts using the tools
+currently available. It's just harder as you have to know them and their
+documentation can be lacking at times.
+The correct end goal is a BSD style ifconfig tool.
+I've started work on it, but the project has stalled somewhat.
+It's display only right now and the source is not yet publicly available.
+If you have the skills and share the vision then contact me privately and
+we'll take it from there.
diff --git a/init.d/Makefile b/init.d/Makefile
index 863864f2..82c73afb 100644
--- a/init.d/Makefile
+++ b/init.d/Makefile
@@ -4,9 +4,15 @@ SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
swclock.in sysctl.in urandom.in ${SRCS-${OS}}
BIN= ${OBJS}
-INSTALLAFTER= _installafter_net.lo
-CLEANFILES+= net.lo
-TARGETS+= net.lo
+# Build our old net foo or not
+ifeq (${MKOLDNET},yes)
+_OLDNET= net.lo
+endif
+_NET_LO= ${_OLDNET}
+
+INSTALLAFTER= _installafter_${_NET_LO}
+CLEANFILES+= ${_NET_LO}
+TARGETS+= ${_NET_LO}
MK= ../mk
include ${MK}/os.mk
@@ -39,4 +45,4 @@ include ${MK}/scripts.mk
_installafter_: realinstall
_installafter_net.lo: realinstall
- ${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO-${OS}}
+ ${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO}
diff --git a/init.d/network.in b/init.d/network.in
index d65a6a9d..20d46f4a 100644
--- a/init.d/network.in
+++ b/init.d/network.in
@@ -219,12 +219,6 @@ start()
eend $?
fi
- ewarn
- ewarn "The $RC_SVCNAME script is deprecated and will be"
- ewarn "removed in the future."
- ewarn "Please use the net.* scripts to manage your network interfaces."
- ewarn
-
einfo "Starting network"
routeflush
if [ "$RC_UNAME" = "Linux" ]; then
diff --git a/init.d/staticroute.in b/init.d/staticroute.in
index 7ace6591..91b61a40 100644
--- a/init.d/staticroute.in
+++ b/init.d/staticroute.in
@@ -93,11 +93,6 @@ do_routes()
start()
{
- ewarn
- ewarn "The $RC_SVCNAME script is deprecated and will be"
- ewarn "removed in the future."
- ewarn "Please use the net.* scripts to manage your network interfaces."
- ewarn
do_routes "Adding" "add"
}
diff --git a/runlevels/Makefile b/runlevels/Makefile
index 468a3753..ac3796e0 100644
--- a/runlevels/Makefile
+++ b/runlevels/Makefile
@@ -1,5 +1,5 @@
-BOOT= bootmisc fsck hostname localmount \
- root swap swapfiles sysctl urandom ${BOOT-${OS}}
+BOOT= bootmisc fsck hostname localmount network \
+ root staticroute swap swapfiles sysctl urandom ${BOOT-${OS}}
DEFAULT= local netmount
SHUTDOWN= savecache ${SHUTDOWN-${OS}}
SYSINIT= ${SYSINIT-${OS}}
@@ -10,6 +10,8 @@ BOOTDIR= ${LEVELDIR}/boot
DEFAULTDIR= ${LEVELDIR}/default
SHUTDOWNDIR= ${LEVELDIR}/shutdown
+INITDIR= ../init.d
+
MK= ../mk
include ${MK}/sys.mk
include ${MK}/os.mk
@@ -22,16 +24,16 @@ SYSINIT-${OS}=
BOOT-BSD= hostid newsyslog savecore syslogd swap-blk
# Generic BSD stuff
-BOOT-FreeBSD= hostid net.lo0 newsyslog savecore syslogd
+BOOT-FreeBSD= hostid newsyslog savecore syslogd
# FreeBSD specific stuff
BOOT-FreeBSD+= adjkerntz dumpon syscons
-BOOT-Linux= hwclock keymaps modules mtab net.lo procfs termencoding
+BOOT-Linux= hwclock keymaps modules mtab procfs termencoding
SHUTDOWN-Linux= killprocs mount-ro
SYSINIT-Linux= devfs dmesg
# Generic BSD stuff
-BOOT-NetBSD= hostid net.lo0 newsyslog savecore syslogd
+BOOT-NetBSD= hostid newsyslog savecore syslogd
# NetBSD specific stuff
BOOT-NetBSD+= devdb swap-blk ttys wscons