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 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 # Build pkgconfig or not
MKPKGCONFIG?= yes MKPKGCONFIG?= yes

1
README
View File

@ -16,6 +16,7 @@ MKSELINUX=yes
MKSTATICLIBS=no MKSTATICLIBS=no
MKTERMCAP=ncurses MKTERMCAP=ncurses
MKTERMCAP=termcap MKTERMCAP=termcap
MKOLDNET=yes
PKG_PREFIX=/usr/pkg PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local LOCAL_PREFIX=/usr/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}} swclock.in sysctl.in urandom.in ${SRCS-${OS}}
BIN= ${OBJS} BIN= ${OBJS}
INSTALLAFTER= _installafter_net.lo # Build our old net foo or not
CLEANFILES+= net.lo ifeq (${MKOLDNET},yes)
TARGETS+= net.lo _OLDNET= net.lo
endif
_NET_LO= ${_OLDNET}
INSTALLAFTER= _installafter_${_NET_LO}
CLEANFILES+= ${_NET_LO}
TARGETS+= ${_NET_LO}
MK= ../mk MK= ../mk
include ${MK}/os.mk include ${MK}/os.mk
@ -39,4 +45,4 @@ include ${MK}/scripts.mk
_installafter_: realinstall _installafter_: realinstall
_installafter_net.lo: 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 $? eend $?
fi 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" einfo "Starting network"
routeflush routeflush
if [ "$RC_UNAME" = "Linux" ]; then if [ "$RC_UNAME" = "Linux" ]; then

View File

@ -93,11 +93,6 @@ do_routes()
start() 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" do_routes "Adding" "add"
} }

View File

@ -1,5 +1,5 @@
BOOT= bootmisc fsck hostname localmount \ BOOT= bootmisc fsck hostname localmount network \
root swap swapfiles sysctl urandom ${BOOT-${OS}} root staticroute swap swapfiles sysctl urandom ${BOOT-${OS}}
DEFAULT= local netmount DEFAULT= local netmount
SHUTDOWN= savecache ${SHUTDOWN-${OS}} SHUTDOWN= savecache ${SHUTDOWN-${OS}}
SYSINIT= ${SYSINIT-${OS}} SYSINIT= ${SYSINIT-${OS}}
@ -10,6 +10,8 @@ BOOTDIR= ${LEVELDIR}/boot
DEFAULTDIR= ${LEVELDIR}/default DEFAULTDIR= ${LEVELDIR}/default
SHUTDOWNDIR= ${LEVELDIR}/shutdown SHUTDOWNDIR= ${LEVELDIR}/shutdown
INITDIR= ../init.d
MK= ../mk MK= ../mk
include ${MK}/sys.mk include ${MK}/sys.mk
include ${MK}/os.mk include ${MK}/os.mk
@ -22,16 +24,16 @@ SYSINIT-${OS}=
BOOT-BSD= hostid newsyslog savecore syslogd swap-blk BOOT-BSD= hostid newsyslog savecore syslogd swap-blk
# Generic BSD stuff # Generic BSD stuff
BOOT-FreeBSD= hostid net.lo0 newsyslog savecore syslogd BOOT-FreeBSD= hostid newsyslog savecore syslogd
# FreeBSD specific stuff # FreeBSD specific stuff
BOOT-FreeBSD+= adjkerntz dumpon syscons 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 SHUTDOWN-Linux= killprocs mount-ro
SYSINIT-Linux= devfs dmesg SYSINIT-Linux= devfs dmesg
# Generic BSD stuff # Generic BSD stuff
BOOT-NetBSD= hostid net.lo0 newsyslog savecore syslogd BOOT-NetBSD= hostid newsyslog savecore syslogd
# NetBSD specific stuff # NetBSD specific stuff
BOOT-NetBSD+= devdb swap-blk ttys wscons BOOT-NetBSD+= devdb swap-blk ttys wscons