Revert "Deprecate the network and staticroute scripts"

This reverts commit 5994e55937.
There are situations where these scripts can be useful, so I am bringing
them back. Also, I want to start discussions about simplifying the
OpenRC network stack.
This commit is contained in:
William Hubbs 2012-07-08 15:02:11 -05:00
parent dceeef9fe5
commit 3e2018f5e9
7 changed files with 64 additions and 21 deletions

View File

@ -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

1
README
View File

@ -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

40
README.newnet Normal file
View File

@ -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.

View File

@ -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}

View File

@ -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

View File

@ -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"
}

View File

@ -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