Compare commits
	
		
			2 Commits
		
	
	
		
			funtoo-ope
			...
			openrc-0.9
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					02e7df3f92 | ||
| 
						 | 
					a4ecc0eedc | 
							
								
								
									
										9
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								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
 | 
			
		||||
 | 
			
		||||
# Build our old net foo or not
 | 
			
		||||
ifeq (${MKOLDNET},yes)
 | 
			
		||||
SUBDIR+=	net doc
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Build pkgconfig or not
 | 
			
		||||
MKPKGCONFIG?=	yes
 | 
			
		||||
@@ -25,8 +30,6 @@ include ${MK}/dist.mk
 | 
			
		||||
include ${MK}/git.mk
 | 
			
		||||
 | 
			
		||||
_installafter:
 | 
			
		||||
ifneq ($(OS),Linux)
 | 
			
		||||
	${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d
 | 
			
		||||
endif
 | 
			
		||||
	${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/tmp
 | 
			
		||||
	${ECHO} "${VERSION}${GITVER}" > ${DESTDIR}/${LIBEXECDIR}/version
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
NAME=		openrc
 | 
			
		||||
VERSION=	0.10
 | 
			
		||||
VERSION=	0.9.1
 | 
			
		||||
PKG=		${NAME}-${VERSION}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								README
									
									
									
									
									
								
							@@ -12,10 +12,11 @@ LIBNAME=lib64
 | 
			
		||||
DESTDIR=/tmp/openrc-image
 | 
			
		||||
MKPAM=pam
 | 
			
		||||
MKPKGCONFIG=no
 | 
			
		||||
MKRCSYS=prefix
 | 
			
		||||
MKSELINUX=yes
 | 
			
		||||
MKSTATICLIBS=no
 | 
			
		||||
MKTERMCAP=ncurses
 | 
			
		||||
MKTERMCAP=termcap
 | 
			
		||||
MKOLDNET=yes
 | 
			
		||||
PKG_PREFIX=/usr/pkg
 | 
			
		||||
LOCAL_PREFIX=/usr/local
 | 
			
		||||
PREFIX=/usr/local
 | 
			
		||||
@@ -33,6 +34,20 @@ LOCAL_PREFIX should be set when to where user maintained packages are.
 | 
			
		||||
Only set LOCAL_PREFIX if different from PKG_PREFIX.
 | 
			
		||||
PREFIX should be set when OpenRC is not installed to /.
 | 
			
		||||
 | 
			
		||||
MKRCSYS should be set only if you need to specify a default system
 | 
			
		||||
subtype. The subtype should be set to match the type of environment the
 | 
			
		||||
file is installed into, not the virtualization the environment is
 | 
			
		||||
capable of handling. Here is a list of subtypes and their meanings.
 | 
			
		||||
 | 
			
		||||
jail	FreeBSD jail
 | 
			
		||||
lxc	Linux container
 | 
			
		||||
openvz	Linux OpenVZ
 | 
			
		||||
prefix	Linux and *BSD prefix system
 | 
			
		||||
uml	UsermodeLinux
 | 
			
		||||
vserver	Linux vserver
 | 
			
		||||
xen0 Linux and NetBSD xen0 Domain
 | 
			
		||||
xenU Linux and NetBSD xenU Domain
 | 
			
		||||
 | 
			
		||||
If any of the following files exist then we do not overwrite them
 | 
			
		||||
/etc/devd.conf
 | 
			
		||||
/etc/rc
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								README.newnet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								README.newnet
									
									
									
									
									
										Normal 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.
 | 
			
		||||
							
								
								
									
										16
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								TODO
									
									
									
									
									
								
							@@ -1,21 +1,7 @@
 | 
			
		||||
- ensure all forks block, restore and unblock signals. needs review
 | 
			
		||||
- ensure all forks block, restore and unblock signals. needs review 
 | 
			
		||||
 | 
			
		||||
- add support somehow for optional translations
 | 
			
		||||
 | 
			
		||||
- oldnet[bridging]: Review setting of bridge configuration on dynamic interface add
 | 
			
		||||
 | 
			
		||||
- Document rc-depend binary.
 | 
			
		||||
 | 
			
		||||
- _ifindex is not a reliable means of calculating metrics:
 | 
			
		||||
	_ifindex is used for calculating metrics for new devices but has a major
 | 
			
		||||
	problem: Since it's only the nth entry in /proc/net/dev
 | 
			
		||||
	And devices may be removed from that file, and reordered, you won't always
 | 
			
		||||
	get the same result.
 | 
			
		||||
	If you do:
 | 
			
		||||
	- add eth0 - _ifindex (eth0=0)
 | 
			
		||||
	- add vlan1 - _ifindex (eth0=0,vlan1=1)
 | 
			
		||||
	- add vlan2 - _ifindex (eth0=0,vlan1=1,vlan2=2)
 | 
			
		||||
	- rem vlan1 - _ifindex (eth0=0,vlan2=1)
 | 
			
		||||
	- add vlan3 - _ifindex (eth0=0,vlan2=1,vlan3=2)
 | 
			
		||||
	Now your routing table has entries for both vlan2 and vlan3 with a metric of 2.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,23 +1,19 @@
 | 
			
		||||
DIR=	${CONFDIR}
 | 
			
		||||
CONF=	bootmisc fsck hostname localmount network staticroute urandom \
 | 
			
		||||
	${CONF-${OS}}
 | 
			
		||||
CONF=	bootmisc fsck hostname localmount network staticroute urandom
 | 
			
		||||
 | 
			
		||||
TARGETS+=	network staticroute
 | 
			
		||||
CLEANFILES+=	network staticroute
 | 
			
		||||
 | 
			
		||||
MK=	../mk
 | 
			
		||||
include ${MK}/os.mk
 | 
			
		||||
 | 
			
		||||
CONF-FreeBSD=	ipfw moused powerd rarpd savecore syscons
 | 
			
		||||
 | 
			
		||||
CONF-Linux=	consolefont dmesg hwclock keymaps killprocs modules
 | 
			
		||||
 | 
			
		||||
CONF-NetBSD=	moused rarpd savecore
 | 
			
		||||
 | 
			
		||||
include Makefile.${OS}
 | 
			
		||||
include ${MK}/scripts.mk
 | 
			
		||||
 | 
			
		||||
network: network.in network${SFX}
 | 
			
		||||
	cat $^ > $@
 | 
			
		||||
SOS?=	BSD
 | 
			
		||||
 | 
			
		||||
staticroute: staticroute${SFX}
 | 
			
		||||
	cp $@${SFX} $@
 | 
			
		||||
network: network.in network.${SOS}
 | 
			
		||||
	cp $@.in $@
 | 
			
		||||
	[ -e $@.${SOS} ] && cat $@.${SOS} >> $@ || true
 | 
			
		||||
 | 
			
		||||
staticroute: staticroute.${SOS}
 | 
			
		||||
	cp $@.${SOS} $@
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								conf.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
CONF+=	ipfw moused powerd rarpd savecore syscons
 | 
			
		||||
							
								
								
									
										2
									
								
								conf.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								conf.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
CONF+=	consolefont dmesg hwclock keymaps killprocs modules
 | 
			
		||||
SOS=	Linux
 | 
			
		||||
							
								
								
									
										1
									
								
								conf.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
CONF+=	moused rarpd savecore
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
# Set CLOCK to "UTC" if your system clock is set to UTC (also known as
 | 
			
		||||
# Greenwich Mean Time).  If your clock is set to the local time, then
 | 
			
		||||
# set CLOCK to "local".  Note that if you dual boot with Windows, then
 | 
			
		||||
# Greenwich Mean Time).  If your clock is set to the local time, then 
 | 
			
		||||
# set CLOCK to "local".  Note that if you dual boot with Windows, then 
 | 
			
		||||
# you should set it to "local".
 | 
			
		||||
clock="UTC"
 | 
			
		||||
 | 
			
		||||
# If you want to set the Hardware Clock to the current System Time
 | 
			
		||||
# If you want to set the Hardware Clock to the current System Time 
 | 
			
		||||
# during shutdown, then say "YES" here.
 | 
			
		||||
# You normally don't need to do this if you run a ntp daemon.
 | 
			
		||||
clock_systohc="NO"
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,3 @@ clean_tmp_dirs="/tmp"
 | 
			
		||||
# Should we wipe the tmp paths completely or just selectively remove known
 | 
			
		||||
# locks / files / etc... ?
 | 
			
		||||
wipe_tmp="YES"
 | 
			
		||||
 | 
			
		||||
# Write the initial dmesg log into /var/log/dmesg after boot
 | 
			
		||||
# This may be useful if you need the kernel boot log afterwards
 | 
			
		||||
log_dmesg="YES"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,9 @@
 | 
			
		||||
# The consolefont service is not activated by default. If you need to
 | 
			
		||||
# use it, you should run "rc-update add consolefont boot" as root.
 | 
			
		||||
#
 | 
			
		||||
# consolefont specifies the default font that you'd like Linux to use on the
 | 
			
		||||
# console.  You can find a good selection of fonts in /usr/share/consolefonts;
 | 
			
		||||
# you shouldn't specify the trailing ".psf.gz", just the font name below.
 | 
			
		||||
# To use the default console font, comment out the CONSOLEFONT setting below.
 | 
			
		||||
# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do
 | 
			
		||||
# not want to use it, run "rc-update del consolefont boot" as root).
 | 
			
		||||
consolefont="default8x16"
 | 
			
		||||
 | 
			
		||||
# consoletranslation is the charset map file to use.  Leave commented to use
 | 
			
		||||
 
 | 
			
		||||
@@ -13,13 +13,6 @@
 | 
			
		||||
#fsck_passno=">1"
 | 
			
		||||
#fsck_passno="<2"
 | 
			
		||||
 | 
			
		||||
# If passno is not enough granularity, you can also specify mountpoints to
 | 
			
		||||
# check. This should NOT be used for the default non-multiplexed fsck, or your
 | 
			
		||||
# system might not be checked. Additionally, it is mutually exclusive with
 | 
			
		||||
# the fsck_passno setting.
 | 
			
		||||
#fsck_mnt=""
 | 
			
		||||
#fsck_mnt="/home"
 | 
			
		||||
 | 
			
		||||
# Most modern fs's don't require a full fsck on boot, but for those that do
 | 
			
		||||
# it may be advisable to skip this when running on battery.
 | 
			
		||||
# WARNING: Do not turn this off if you have any JFS partitions.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,22 @@
 | 
			
		||||
# Set CLOCK to "UTC" if your Hardware Clock is set to UTC (also known as
 | 
			
		||||
# Greenwich Mean Time).  If that clock is set to the local time, then
 | 
			
		||||
# set CLOCK to "local".  Note that if you dual boot with Windows, then
 | 
			
		||||
# Greenwich Mean Time).  If that clock is set to the local time, then 
 | 
			
		||||
# set CLOCK to "local".  Note that if you dual boot with Windows, then 
 | 
			
		||||
# you should set it to "local".
 | 
			
		||||
clock="UTC"
 | 
			
		||||
 | 
			
		||||
# If you want the hwclock script to set the system time (software clock)
 | 
			
		||||
# to match the current hardware clock during bootup, leave this
 | 
			
		||||
# commented out.
 | 
			
		||||
# However, you can set this to "NO" ifyou are running a modern kernel
 | 
			
		||||
# with CONFIG_RTC_HCTOSYS set to y and your hardware clock set to UTC.
 | 
			
		||||
#clock_hctosys="YES"
 | 
			
		||||
 | 
			
		||||
# If you do not want to set the hardware clock to the current system
 | 
			
		||||
# time (software clock) during shutdown, set this to no.
 | 
			
		||||
#clock_systohc="YES"
 | 
			
		||||
# If you want to set the Hardware Clock to the current System Time 
 | 
			
		||||
# (software clock) during shutdown, then say "YES" here.
 | 
			
		||||
# You normally don't need to do this if you run a ntp daemon.
 | 
			
		||||
clock_systohc="NO"
 | 
			
		||||
 | 
			
		||||
# If you want to set the system time to the current hardware clock
 | 
			
		||||
# during bootup, then say "YES" here. You do not need this if you are
 | 
			
		||||
# running a modern kernel with CONFIG_RTC_HCTOSYS set to y.
 | 
			
		||||
# Also, be aware that if you set this to "NO", the system time will
 | 
			
		||||
# never be saved to the hardware clock unless you set
 | 
			
		||||
# clock_systohc="YES" above.
 | 
			
		||||
clock_hctosys="YES"
 | 
			
		||||
 
 | 
			
		||||
# If you wish to pass any other arguments to hwclock during bootup,
 | 
			
		||||
# you may do so here. Alpha users may wish to use --arc or --srm here.
 | 
			
		||||
clock_args=""
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ windowkeys="NO"
 | 
			
		||||
extended_keymaps=""
 | 
			
		||||
#extended_keymaps="backspace keypad euro2"
 | 
			
		||||
 | 
			
		||||
# Tell dumpkeys(1) to interpret character action codes to be
 | 
			
		||||
# Tell dumpkeys(1) to interpret character action codes to be 
 | 
			
		||||
# from the specified character set.
 | 
			
		||||
# This only matters if you set unicode="yes" in /etc/rc.conf.
 | 
			
		||||
# For a list of valid sets, run `dumpkeys --help`
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,6 @@
 | 
			
		||||
 | 
			
		||||
# You can also multiplex the init script for each device like so
 | 
			
		||||
#   ln -s moused /etc/init.d/moused.ums0
 | 
			
		||||
# This enables you to have a config file per mouse (forces moused_device
 | 
			
		||||
# This enables you to have a config file per mouse (forces moused_device 
 | 
			
		||||
# to ums0 in this case) and control each mouse.
 | 
			
		||||
# devd can also start and stop these mice, which laptop users will find handy.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
# This blank configuration will automatically use DHCP for any net.*
 | 
			
		||||
# scripts in /etc/init.d.  To create a more complete configuration,
 | 
			
		||||
# please review /usr/share/doc/openrc*/net.example* and save your configuration
 | 
			
		||||
# please review /usr/share/doc/openrc/net.example and save your configuration
 | 
			
		||||
# in /etc/conf.d/net (this file :]!).
 | 
			
		||||
 
 | 
			
		||||
@@ -2,4 +2,4 @@
 | 
			
		||||
# (say for crypt swap), so you will need to customize this
 | 
			
		||||
# behavior.  If you have /var on a separate partition, then
 | 
			
		||||
# make sure this path lives on your root device somewhere.
 | 
			
		||||
urandom_seed="/var/lib/misc/random-seed"
 | 
			
		||||
urandom_seed="/var/run/random-seed"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,7 @@
 | 
			
		||||
DIR=	${DOCDIR}/openrc
 | 
			
		||||
SRCS=	net.example.in
 | 
			
		||||
INC=	net.example
 | 
			
		||||
 | 
			
		||||
MK=	../mk
 | 
			
		||||
include ${MK}/os.mk
 | 
			
		||||
 | 
			
		||||
%.example.in: %.example${SFX}
 | 
			
		||||
	${CP} $< $@
 | 
			
		||||
 | 
			
		||||
include Makefile.${OS}
 | 
			
		||||
include ${MK}/scripts.mk
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								doc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
SRCS+=		net.example.in
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:	.BSD.in
 | 
			
		||||
.BSD.in:
 | 
			
		||||
	${CP} $< $@
 | 
			
		||||
							
								
								
									
										5
									
								
								doc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
SRCS+=		net.example.in
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:	.Linux.in
 | 
			
		||||
.Linux.in:
 | 
			
		||||
	${CP} $< $@
 | 
			
		||||
							
								
								
									
										5
									
								
								doc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
SRCS+=		net.example.in
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:	.BSD.in
 | 
			
		||||
.BSD.in:
 | 
			
		||||
	${CP} $< $@
 | 
			
		||||
@@ -388,17 +388,6 @@
 | 
			
		||||
#
 | 
			
		||||
# ${IFACE} is set to the interface being brought up/down
 | 
			
		||||
# ${IFVAR} is ${IFACE} converted to variable name bash allows
 | 
			
		||||
#
 | 
			
		||||
# For historical and compatibility reasons, preup is actually normally called
 | 
			
		||||
# in the following sequence: up ; preup ; up.
 | 
			
		||||
# The first up causes the kernel to initialize the device, so
 | 
			
		||||
# that it is available for use in the preup function.  However, for some
 | 
			
		||||
# hardware, e.g. CAN devices, some configuration is needed before trying to up
 | 
			
		||||
# the interface will actually work. For such hardware, the
 | 
			
		||||
# up_before_preup variables will allow skipping the first up call if set
 | 
			
		||||
# to yes.
 | 
			
		||||
#up_before_preup_IFVAR="NO"
 | 
			
		||||
#up_before_preup="NO"
 | 
			
		||||
 | 
			
		||||
#preup() {
 | 
			
		||||
#	# Remember to return 0 on success
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@
 | 
			
		||||
# In other words, you probably should DO NOTHING HERE...
 | 
			
		||||
 | 
			
		||||
# Prefer ifconfig over iproute2
 | 
			
		||||
#modules="!iproute2"
 | 
			
		||||
#modules="ifconfig"
 | 
			
		||||
 | 
			
		||||
# You can also specify other modules for an interface
 | 
			
		||||
# In this case we prefer udhcpc over dhcpcd
 | 
			
		||||
@@ -57,7 +57,7 @@
 | 
			
		||||
 | 
			
		||||
# If you don't specify an interface then we prefer iproute2 if it's installed
 | 
			
		||||
# To prefer ifconfig over iproute2
 | 
			
		||||
#modules="!iproute2"
 | 
			
		||||
#modules="ifconfig"
 | 
			
		||||
 | 
			
		||||
# For a static configuration, use something like this
 | 
			
		||||
# (They all do exactly the same thing btw)
 | 
			
		||||
@@ -68,7 +68,6 @@
 | 
			
		||||
# NOTE: ifconfig creates an aliased device for each extra IPv4 address
 | 
			
		||||
#       (eth0:1, eth0:2, etc)
 | 
			
		||||
#       iproute2 does not do this as there is no need to
 | 
			
		||||
# WARNING: You cannot mix multiple addresses on a line with other parameters!
 | 
			
		||||
#config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24"
 | 
			
		||||
# However, that only works with CIDR addresses, so you can't use netmask.
 | 
			
		||||
 | 
			
		||||
@@ -86,14 +85,6 @@
 | 
			
		||||
# If you don't want ANY address (only useful when calling for advanced stuff)
 | 
			
		||||
#config_eth0="null"
 | 
			
		||||
 | 
			
		||||
# If you need to pass parameters to go with an address, you can do so on the
 | 
			
		||||
# same line as the address. You should split multiple addresses with newlines.
 | 
			
		||||
# WARNING: You cannot mix multiple addresses on a line with other parameters!
 | 
			
		||||
#config_eth0="192.168.0.2/24 scope host"
 | 
			
		||||
#config_eth0="4321:0:1:2:3:4:567:89ab/64 nodad home preferred_lft 0"
 | 
			
		||||
#config_eth0="192.168.0.2/24 scope host
 | 
			
		||||
#4321:0:1:2:3:4:567:89ab/64 nodad home preferred_lft 0"
 | 
			
		||||
 | 
			
		||||
# Here's how to do routing if you need it
 | 
			
		||||
# We add an IPv4 default route, IPv4 subnet route and an IPv6 unicast route
 | 
			
		||||
#routes_eth0="default via 192.168.0.1
 | 
			
		||||
@@ -359,7 +350,7 @@
 | 
			
		||||
# By default we don't wait for wpa_supplicant to associate and authenticate.
 | 
			
		||||
# If you need to change this behaviour then you don't know how our scripts work
 | 
			
		||||
# and setting this value could cause strange things to happen.
 | 
			
		||||
# If you would like it to wait, you can specify how long in seconds.
 | 
			
		||||
# If you would like to, so can specify how long in seconds.
 | 
			
		||||
#associate_timeout_eth0=60
 | 
			
		||||
# A value of 0 means wait forever.
 | 
			
		||||
 | 
			
		||||
@@ -586,27 +577,10 @@
 | 
			
		||||
#vlan_start_eth0="no"
 | 
			
		||||
 | 
			
		||||
# If you do the above then you may want to depend on eth0 like so
 | 
			
		||||
# rc_net_vlan1_need="net.eth0"
 | 
			
		||||
# rc_need_vlan1="net.eth0"
 | 
			
		||||
# NOTE: depend functions only work in /etc/conf.d/net
 | 
			
		||||
# and not in profile configs such as /etc/conf.d/net.foo
 | 
			
		||||
 | 
			
		||||
# Also, you might want to make eth0 not provide net in this case so that
 | 
			
		||||
# dependent services will start when the vlan is active instead of the
 | 
			
		||||
# physical interface.
 | 
			
		||||
# rc_net_eth0_provide="!net"
 | 
			
		||||
 | 
			
		||||
# MAC-VLAN support
 | 
			
		||||
# The following configuration can be used to create a new interface 'macvlan0'
 | 
			
		||||
# linked to 'eth0'
 | 
			
		||||
#macvlan_macvlan0="eth0"
 | 
			
		||||
 | 
			
		||||
# MAC-VLAN mode (private, vepa, bridge, passtru)
 | 
			
		||||
#mode_macvlan0="private"
 | 
			
		||||
 | 
			
		||||
# IP address, MAC address, ... are configured as a normal interface
 | 
			
		||||
#config_macvlan0="192.168.20.20/24"
 | 
			
		||||
#mac_macvlan0="00:50:06:20:20:20"
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
# Bonding
 | 
			
		||||
# For link bonding/trunking on 2.4 kernels, or kernels without sysfs
 | 
			
		||||
@@ -616,27 +590,14 @@
 | 
			
		||||
#slaves_bond0="eth0 eth1 eth2"
 | 
			
		||||
#config_bond0="null" # You may not want to assign an IP the the bond
 | 
			
		||||
 | 
			
		||||
# Please note, that you should generally NOT try to change the MAC addresses of
 | 
			
		||||
# a bond interface yourself. If you do so, the kernel and your network switches
 | 
			
		||||
# may not work quite right. It is permissible to set the MAC addresses of bond
 | 
			
		||||
# slaves BEFORE the bond comes up, but not after the bond is up (it will change
 | 
			
		||||
# MAC addresses of the slaves on it's own).
 | 
			
		||||
 | 
			
		||||
# You can also configure the parameters of the bond here, which must be done
 | 
			
		||||
# via sysfs on 2.6 kernels or newer. The description of all the options can be
 | 
			
		||||
# found in the kernel: /usr/src/linux-*/Documentation/networking/bonding.txt
 | 
			
		||||
# You will probably want the 'mode' option at the least.
 | 
			
		||||
# Some possible parameters: mode fail_over_mac arp_validate arp_interval
 | 
			
		||||
# arp_ip_target downdelay updelay lacp_rate ad_select xmit_hash_policy
 | 
			
		||||
# num_grat_arp num_unsol_na miimon primary primary_reselect use_carrier
 | 
			
		||||
# active_slave queue_id all_slaves_active resend_igmp min_links
 | 
			
		||||
#mode_bond0="round-robin"
 | 
			
		||||
#miimon_bond0="100"
 | 
			
		||||
# You can also configure the bond here, which must be done via sysfs on 2.6
 | 
			
		||||
# kernels or newer. See the kernel bonding documentation for a description of
 | 
			
		||||
# these options.
 | 
			
		||||
#arp_ip_target_bond0="+26.0.0.0"
 | 
			
		||||
 | 
			
		||||
# If any of the slaves require extra configuration - for example wireless or
 | 
			
		||||
# ppp devices - we need to depend function on the bonded interfaces
 | 
			
		||||
#rc_net_bond0_need="net.eth0 net.eth1"
 | 
			
		||||
#rc_need_bond0="net.eth0 net.eth1"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
@@ -753,7 +714,7 @@
 | 
			
		||||
# If the link require extra configuration - for example wireless or
 | 
			
		||||
# RFC 268 bridge - we need to depend on the bridge so they get
 | 
			
		||||
# configured correctly.
 | 
			
		||||
#rc_net_ppp0_need="net.nas0"
 | 
			
		||||
#rc_need_ppp0="net.nas0"
 | 
			
		||||
 | 
			
		||||
#WARNING: if MTU of the PPP interface is less than 1500 and you use this
 | 
			
		||||
#machine as a router, you should add the following rule to your firewall
 | 
			
		||||
@@ -793,8 +754,6 @@
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
# MAC changer
 | 
			
		||||
# Warning: Do NOT use this on bonding interfaces! Bonding changes MACs itself.
 | 
			
		||||
#
 | 
			
		||||
# To set a specific MAC address
 | 
			
		||||
#mac_eth0="00:11:22:33:44:55"
 | 
			
		||||
 | 
			
		||||
@@ -819,7 +778,7 @@
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
# TUN/TAP
 | 
			
		||||
# For TUN/TAP support install iproute2, openvpn or usermode-utilities
 | 
			
		||||
# For TUN/TAP support emerge net-misc/openvpn or sys-apps/usermode-utilities
 | 
			
		||||
#
 | 
			
		||||
# You must specify if we're a tun or tap device. Then you can give it any
 | 
			
		||||
# name you like - such as vpn
 | 
			
		||||
@@ -830,9 +789,6 @@
 | 
			
		||||
#tuntap_tap0="tap"
 | 
			
		||||
#config_tap0="192.168.0.1/24"
 | 
			
		||||
 | 
			
		||||
# Use something like this to pass custom options to iproute2 during
 | 
			
		||||
# tunnel creation. This sets the user and group ownership of the node.
 | 
			
		||||
#iproute2_tun1="user foo group bar"
 | 
			
		||||
# For passing custom options to tunctl use something like the following.  This
 | 
			
		||||
# example sets the owner to adm
 | 
			
		||||
#tunctl_tun1="-u adm"
 | 
			
		||||
@@ -867,13 +823,13 @@
 | 
			
		||||
 | 
			
		||||
# If any of the ports require extra configuration - for example wireless or
 | 
			
		||||
# ppp devices - we need to depend on them like so.
 | 
			
		||||
#rc_net_br0_need="net.eth0 net.eth1"
 | 
			
		||||
#rc_need_br0="net.eth0 net.eth1"
 | 
			
		||||
 | 
			
		||||
# Below is an example of configuring the bridge
 | 
			
		||||
# Consult "man brctl" for more details
 | 
			
		||||
#brctl_br0="setfd 15
 | 
			
		||||
#sethello 2
 | 
			
		||||
#stp on"
 | 
			
		||||
#brctl_br0="setfd 0
 | 
			
		||||
#sethello 0
 | 
			
		||||
#stp off"
 | 
			
		||||
 | 
			
		||||
# You can also configure the bridge or bridge members via sysfs on 2.6 kernels
 | 
			
		||||
# or newer. See the kernel bridge documentation for a description of these
 | 
			
		||||
@@ -918,7 +874,7 @@
 | 
			
		||||
# link_6to4="eth0"		# Interface to base its addresses on
 | 
			
		||||
# config_6to4="ip6to4"
 | 
			
		||||
# You may want to depend on eth0 like so
 | 
			
		||||
#rc_net_6to4_need="net.eth0"
 | 
			
		||||
#rc_need_6to4="net.eth0"
 | 
			
		||||
# To ensure that eth0 is configured before 6to4. Of course, the tunnel could be
 | 
			
		||||
# any name and this also works for any configured interface.
 | 
			
		||||
# NOTE: If you're not using iproute2 then your 6to4 tunnel has to be called
 | 
			
		||||
@@ -961,8 +917,6 @@
 | 
			
		||||
# /etc/iproute2/rt_tables, an example follows:
 | 
			
		||||
# 2 oob
 | 
			
		||||
# 3 external
 | 
			
		||||
#
 | 
			
		||||
# IPv6 RPDB entries are to be found in the rules6_IFVAR variables:
 | 
			
		||||
 | 
			
		||||
#rules_eth0="
 | 
			
		||||
#from ZZZ.ZZZ.200.128/27 table oob priority 500
 | 
			
		||||
@@ -977,11 +931,6 @@
 | 
			
		||||
#XXX.XXX.112.0/24 dev eth1 table external scope link
 | 
			
		||||
#default via XXX.XXX.112.1 dev eth1"
 | 
			
		||||
 | 
			
		||||
# IPv6 example:
 | 
			
		||||
#rules6_eth0="
 | 
			
		||||
#from 2001:0DB8:AAAA:BBBB::/64 table vpn priority 100
 | 
			
		||||
#to 2001:0DB8:AAAA:BBBB::/64 table vpn priority 150"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
# System
 | 
			
		||||
@@ -1131,17 +1080,6 @@
 | 
			
		||||
#
 | 
			
		||||
# ${IFACE} is set to the interface being brought up/down
 | 
			
		||||
# ${IFVAR} is ${IFACE} converted to variable name bash allows
 | 
			
		||||
#
 | 
			
		||||
# For historical and compatibility reasons, preup is actually normally called
 | 
			
		||||
# in the following sequence: up ; preup ; up.
 | 
			
		||||
# The first up causes the kernel to initialize the device, so
 | 
			
		||||
# that it is available for use in the preup function.  However, for some
 | 
			
		||||
# hardware, e.g. CAN devices, some configuration is needed before trying to up
 | 
			
		||||
# the interface will actually work. For such hardware, the
 | 
			
		||||
# up_before_preup variables will allow skipping the first up call if set
 | 
			
		||||
# to yes.
 | 
			
		||||
#up_before_preup_IFVAR="NO"
 | 
			
		||||
#up_before_preup="NO"
 | 
			
		||||
 | 
			
		||||
#preup() {
 | 
			
		||||
#	# Test for link on the interface prior to bringing it up.  This
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								etc/Makefile
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								etc/Makefile
									
									
									
									
									
								
							@@ -1,28 +1,21 @@
 | 
			
		||||
DIR=	${SYSCONFDIR}
 | 
			
		||||
SRCS=	rc.conf.in rc.in rc.shutdown.in
 | 
			
		||||
BIN=	${BIN-${OS}}
 | 
			
		||||
CONF=	rc.conf ${BIN-${OS}}
 | 
			
		||||
CONF=	rc.conf
 | 
			
		||||
 | 
			
		||||
CLEANFILES+=	rc.conf
 | 
			
		||||
 | 
			
		||||
MK=	../mk
 | 
			
		||||
include ${MK}/os.mk
 | 
			
		||||
 | 
			
		||||
SED_EXTRA-FreeBSD=	-e 's:@TERM@:cons25:g'
 | 
			
		||||
BIN-FreeBSD=		rc rc.shutdown rc.devd
 | 
			
		||||
CONF-FreeBSD=		devd.conf
 | 
			
		||||
 | 
			
		||||
SED_EXTRA-Linux=	-e 's:@TERM@:wsvt25:g'
 | 
			
		||||
BIN-Linux=
 | 
			
		||||
CONF-Linux=
 | 
			
		||||
 | 
			
		||||
SED_EXTRA-NetBSD=	-e 's:@TERM@:wsvt25:g'
 | 
			
		||||
BIN-NetBSD=		rc rc.shutdown
 | 
			
		||||
CONF-NetBSD=
 | 
			
		||||
 | 
			
		||||
SED_EXTRA=	${SED_EXTRA-${OS}}
 | 
			
		||||
 | 
			
		||||
include Makefile.${OS}
 | 
			
		||||
include ${MK}/scripts.mk
 | 
			
		||||
 | 
			
		||||
# We can't use "ifndef" here because that treats set-but-empty
 | 
			
		||||
# as not-set which is not what we want
 | 
			
		||||
MKRCSYS ?= automagicplease
 | 
			
		||||
ifeq ($(MKRCSYS),automagicplease)
 | 
			
		||||
# If the user isn't picking a default, then have the
 | 
			
		||||
# config go with runtime automagic detection #357247
 | 
			
		||||
rc.conf: SED_EXTRA += -e '/^rc_sys=""/s:^:\#:'
 | 
			
		||||
MKRCSYS =
 | 
			
		||||
endif
 | 
			
		||||
rc.conf: rc.conf.in rc.conf.${OS}
 | 
			
		||||
	${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								etc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								etc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
SED_EXTRA=	-e 's:@TERM@:cons25:g'
 | 
			
		||||
SRCS+=		rc.conf.in rc.in rc.shutdown.in
 | 
			
		||||
CONF+=		devd.conf
 | 
			
		||||
BIN+=		rc rc.shutdown rc.devd
 | 
			
		||||
							
								
								
									
										2
									
								
								etc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								etc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
SED_EXTRA=	-e 's:@TERM@:wsvt25:g'
 | 
			
		||||
SRCS+=		rc.conf.in rc.in rc.shutdown.in
 | 
			
		||||
							
								
								
									
										3
									
								
								etc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								etc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
SED_EXTRA=	-e 's:@TERM@:wsvt25:g'
 | 
			
		||||
SRCS+=		rc.conf.in rc.in rc.shutdown.in
 | 
			
		||||
BIN+=		rc rc.shutdown
 | 
			
		||||
@@ -4,9 +4,11 @@
 | 
			
		||||
# This is the subsystem type. Valid options on FreeBSD:
 | 
			
		||||
# ""        - nothing special
 | 
			
		||||
# "jail"    - FreeBSD jails
 | 
			
		||||
# If this is commented out, automatic detection will be used.
 | 
			
		||||
# "prefix"  - Prefix
 | 
			
		||||
# If this is commented out, automatic detection will be attempted.
 | 
			
		||||
# Note that automatic detection does not work in a prefix environment.
 | 
			
		||||
#
 | 
			
		||||
# This should be set to the value representing the environment this file is
 | 
			
		||||
# PRESENTLY in, not the virtualization the environment is capable of.
 | 
			
		||||
#rc_sys=""
 | 
			
		||||
rc_sys="@RC_SYS_DEFAULT@"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,16 +5,20 @@
 | 
			
		||||
# ""        - nothing special
 | 
			
		||||
# "lxc"     - Linux Containers
 | 
			
		||||
# "openvz"  - Linux OpenVZ
 | 
			
		||||
# "prefix"  - Prefix
 | 
			
		||||
# "uml"     - Usermode Linux
 | 
			
		||||
# "vserver" - Linux vserver
 | 
			
		||||
# "xen0"    - Xen0 Domain
 | 
			
		||||
# "xenU"    - XenU Domain
 | 
			
		||||
# If this is commented out, automatic detection will be used.
 | 
			
		||||
# If this is commented out, automatic detection will be attempted.
 | 
			
		||||
# Note that autodetection will not work in a prefix environment or in a
 | 
			
		||||
# linux container.
 | 
			
		||||
#
 | 
			
		||||
# This should be set to the value representing the environment this file is
 | 
			
		||||
# PRESENTLY in, not the virtualization the environment is capable of.
 | 
			
		||||
#rc_sys=""
 | 
			
		||||
rc_sys="@RC_SYS_DEFAULT@"
 | 
			
		||||
 | 
			
		||||
# This is the number of tty's used in most of the rc-scripts (like
 | 
			
		||||
# consolefont, numlock, etc ...)
 | 
			
		||||
rc_tty_number=12
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,11 +3,13 @@
 | 
			
		||||
 | 
			
		||||
# This is the subsystem type. Valid options on NetBSD:
 | 
			
		||||
# ""        - nothing special
 | 
			
		||||
# "prefix"  - Prefix
 | 
			
		||||
# "xen0"    - Xen0 Domain
 | 
			
		||||
# "xenU"    - XenU Domain
 | 
			
		||||
# If this is commented out, automatic detection will be used.
 | 
			
		||||
# If this is commented out, automatic detection will be attempted.
 | 
			
		||||
# Note that automatic detection does not work in a prefix environment.
 | 
			
		||||
#
 | 
			
		||||
# This should be set to the value representing the environment this file is
 | 
			
		||||
# PRESENTLY in, not the virtualization the environment is capable of.
 | 
			
		||||
#rc_sys=""
 | 
			
		||||
rc_sys="@RC_SYS_DEFAULT@"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,5 +7,5 @@ MK=	../mk
 | 
			
		||||
 | 
			
		||||
SED_EXTRA+= -e 's:@VARBASE@:/var:g'
 | 
			
		||||
 | 
			
		||||
include ${MK}/os.mk
 | 
			
		||||
include ${MK}/scripts.mk
 | 
			
		||||
include Makefile.${OS}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								init.d.misc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								init.d.misc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
PKG_PREFIX?=	/usr/local
 | 
			
		||||
							
								
								
									
										1
									
								
								init.d.misc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								init.d.misc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
PKG_PREFIX?=/usr
 | 
			
		||||
							
								
								
									
										1
									
								
								init.d.misc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								init.d.misc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
PKG_PREFIX?=	/usr/pkg
 | 
			
		||||
							
								
								
									
										1
									
								
								init.d/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								init.d/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -11,7 +11,6 @@ network
 | 
			
		||||
root
 | 
			
		||||
savecache
 | 
			
		||||
swap
 | 
			
		||||
swapfiles
 | 
			
		||||
sysctl
 | 
			
		||||
urandom
 | 
			
		||||
devfs
 | 
			
		||||
 
 | 
			
		||||
@@ -1,42 +1,25 @@
 | 
			
		||||
DIR=	${INITDIR}
 | 
			
		||||
SRCS=	bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
 | 
			
		||||
	network.in root.in savecache.in staticroute.in swap.in swapfiles.in \
 | 
			
		||||
	swclock.in sysctl.in urandom.in ${SRCS-${OS}}
 | 
			
		||||
	network.in root.in savecache.in staticroute.in swap.in swclock.in \
 | 
			
		||||
	sysctl.in urandom.in
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
NET_LO-FreeBSD=	net.lo0
 | 
			
		||||
# Generic BSD scripts
 | 
			
		||||
SRCS-FreeBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
 | 
			
		||||
		rpcbind.in savecore.in syslogd.in
 | 
			
		||||
# These are FreeBSD specific
 | 
			
		||||
SRCS-FreeBSD+=	adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \
 | 
			
		||||
		powerd.in syscons.in
 | 
			
		||||
 | 
			
		||||
NET_LO-Linux=	net.lo
 | 
			
		||||
SRCS-Linux=	devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \
 | 
			
		||||
		killprocs.in modules.in mount-ro.in mtab.in numlock.in \
 | 
			
		||||
		procfs.in sysfs.in termencoding.in
 | 
			
		||||
 | 
			
		||||
NET_LO-NetBSD=	net.lo0
 | 
			
		||||
# Generic BSD scripts
 | 
			
		||||
SRCS-NetBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
 | 
			
		||||
		rpcbind.in savecore.in syslogd.in
 | 
			
		||||
# These are NetBSD specific
 | 
			
		||||
SRCS-NetBSD+=	devdb.in swap-blk.in ttys.in wscons.in
 | 
			
		||||
 | 
			
		||||
%.in: %${SFX}
 | 
			
		||||
	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
 | 
			
		||||
 | 
			
		||||
include Makefile.${OS}
 | 
			
		||||
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}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								init.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								init.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
NET_LO=	net.lo0
 | 
			
		||||
 | 
			
		||||
# Generic BSD scripts
 | 
			
		||||
SRCS+=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
 | 
			
		||||
	rpcbind.in savecore.in syslogd.in
 | 
			
		||||
 | 
			
		||||
# These are FreeBSD specific
 | 
			
		||||
SRCS+=	adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \
 | 
			
		||||
	powerd.in syscons.in
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:	.BSD.in
 | 
			
		||||
.BSD.in:
 | 
			
		||||
	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
 | 
			
		||||
							
								
								
									
										9
									
								
								init.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								init.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
NET_LO=	net.lo
 | 
			
		||||
 | 
			
		||||
SRCS+=	devfs.in dmesg.in hwclock.in consolefont.in keymaps.in killprocs.in \
 | 
			
		||||
	modules.in mount-ro.in mtab.in numlock.in procfs.in sysfs.in \
 | 
			
		||||
	termencoding.in
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:	.Linux.in
 | 
			
		||||
.Linux.in:
 | 
			
		||||
	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
 | 
			
		||||
							
								
								
									
										12
									
								
								init.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								init.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
NET_LO=	net.lo0
 | 
			
		||||
 | 
			
		||||
# Generic BSD scripts
 | 
			
		||||
SRCS+=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
 | 
			
		||||
	rpcbind.in savecore.in syslogd.in
 | 
			
		||||
 | 
			
		||||
# These are NetBSD specific
 | 
			
		||||
SRCS+=	devdb.in swap-blk.in ttys.in wscons.in
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:	.BSD.in
 | 
			
		||||
.BSD.in:
 | 
			
		||||
	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
 | 
			
		||||
@@ -22,7 +22,7 @@ depend()
 | 
			
		||||
	   [ "$clock" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
 | 
			
		||||
		need root
 | 
			
		||||
	fi
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -7,11 +7,15 @@ depend()
 | 
			
		||||
	need localmount
 | 
			
		||||
	before logger
 | 
			
		||||
	after clock sysctl
 | 
			
		||||
	keyword -timeout
 | 
			
		||||
	keyword -prefix -timeout
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dir_writeable()
 | 
			
		||||
{
 | 
			
		||||
	mkdir "$1"/.test.$$ 2>/dev/null && rmdir "$1"/.test.$$
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
: ${wipe_tmp:=${WIPE_TMP:-yes}}
 | 
			
		||||
: ${log_dmesg:=${LOG_DMESG:-yes}}
 | 
			
		||||
 | 
			
		||||
cleanup_tmp_dir()
 | 
			
		||||
{
 | 
			
		||||
@@ -20,7 +24,7 @@ cleanup_tmp_dir()
 | 
			
		||||
	if ! [ -d "$dir" ]; then
 | 
			
		||||
		mkdir -p "$dir" || return $?
 | 
			
		||||
	fi
 | 
			
		||||
	checkpath -W "$dir" || return 1
 | 
			
		||||
	dir_writeable "$dir" || return 1
 | 
			
		||||
	chmod a+rwt "$dir" 2> /dev/null
 | 
			
		||||
	cd "$dir" || return 1
 | 
			
		||||
	if yesno $wipe_tmp; then
 | 
			
		||||
@@ -67,26 +71,6 @@ mkutmp()
 | 
			
		||||
	chmod 0664 "$1"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
migrate_to_run()
 | 
			
		||||
{
 | 
			
		||||
	src="$1"
 | 
			
		||||
	dst="$2"
 | 
			
		||||
 	if [ -L $src -a "$(readlink -f $src)" != $dst ]; then
 | 
			
		||||
 		ewarn "$src does not point to $dst."
 | 
			
		||||
 		ewarn "Setting $src to point to $dst."
 | 
			
		||||
 		rm $src
 | 
			
		||||
 	elif [ ! -L $src -a -d $src ]; then
 | 
			
		||||
 		ebegin "Migrating $src to $dst"
 | 
			
		||||
 		cp -a $src/* $dst/
 | 
			
		||||
 		rm -rf $src
 | 
			
		||||
 		eend $?
 | 
			
		||||
 	fi
 | 
			
		||||
 	# If $src doesn't exist at all, just run this
 | 
			
		||||
 	if [ ! -e $src ]; then
 | 
			
		||||
 		ln -s $dst $src
 | 
			
		||||
 	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	# Remove any added console dirs
 | 
			
		||||
@@ -94,16 +78,8 @@ start()
 | 
			
		||||
 | 
			
		||||
	local logw=false runw=false extra=
 | 
			
		||||
	# Ensure that our basic dirs exist
 | 
			
		||||
	if [ "$RC_UNAME" = Linux ]; then
 | 
			
		||||
		# Satisfy Linux FHS
 | 
			
		||||
		extra=/var/lib/misc
 | 
			
		||||
		if [ ! -d /run ]; then
 | 
			
		||||
			extra="/var/run $extra"
 | 
			
		||||
		fi
 | 
			
		||||
	else
 | 
			
		||||
		extra=/var/run
 | 
			
		||||
	fi
 | 
			
		||||
	for x in /var/log /tmp $extra; do
 | 
			
		||||
	[ "$RC_UNAME" = Linux ] && extra=/var/lib/misc # Satisfy Linux FHS
 | 
			
		||||
	for x in /var/log /var/run /tmp $extra; do
 | 
			
		||||
		if ! [ -d $x ]; then
 | 
			
		||||
			if ! mkdir -p $x; then
 | 
			
		||||
				eend 1 "failed to create needed directory $x"
 | 
			
		||||
@@ -112,12 +88,7 @@ start()
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	if [ "$RC_UNAME" = Linux -a -d /run ] && false; then
 | 
			
		||||
		migrate_to_run	/var/lock /run/lock
 | 
			
		||||
		migrate_to_run	/var/run /run
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if checkpath -W /var/run; then
 | 
			
		||||
	if dir_writeable /var/run; then
 | 
			
		||||
		ebegin "Creating user login records"
 | 
			
		||||
		local xtra=
 | 
			
		||||
		[ "$RC_UNAME" = NetBSD ] && xtra=x
 | 
			
		||||
@@ -159,7 +130,7 @@ start()
 | 
			
		||||
		cleanup_tmp_dir "$tmp"
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	if checkpath -W /tmp; then
 | 
			
		||||
	if dir_writeable /tmp; then
 | 
			
		||||
		# Make sure our X11 stuff have the correct permissions
 | 
			
		||||
		# Omit the chown as bootmisc is run before network is up
 | 
			
		||||
		# and users may be using lame LDAP auth #139411
 | 
			
		||||
@@ -171,16 +142,15 @@ start()
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if yesno $log_dmesg; then
 | 
			
		||||
		if $logw || checkpath -W /var/log; then
 | 
			
		||||
			# Create an 'after-boot' dmesg log
 | 
			
		||||
			if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
 | 
			
		||||
				dmesg > /var/log/dmesg
 | 
			
		||||
				chmod 640 /var/log/dmesg
 | 
			
		||||
			fi
 | 
			
		||||
	if $logw || dir_writeable /var/log; then
 | 
			
		||||
		# Create an 'after-boot' dmesg log
 | 
			
		||||
		if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
 | 
			
		||||
			dmesg > /var/log/dmesg
 | 
			
		||||
			chmod 640 /var/log/dmesg
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	[ -w /etc/nologin ] && rm -f /etc/nologin
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount termencoding
 | 
			
		||||
	after hotplug bootmisc
 | 
			
		||||
	keyword -openvz -uml -vserver -xenu -lxc
 | 
			
		||||
	keyword -openvz -prefix -uml -vserver -xenu -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -49,12 +49,12 @@ start()
 | 
			
		||||
			retval=1
 | 
			
		||||
			break
 | 
			
		||||
		fi
 | 
			
		||||
		: $(( x += 1 ))
 | 
			
		||||
		x=$(($x + 1))
 | 
			
		||||
	done
 | 
			
		||||
	eend $retval
 | 
			
		||||
 | 
			
		||||
	# Store the last font so we can use it ASAP on boot
 | 
			
		||||
	if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then
 | 
			
		||||
	if [ $retval -eq 0 -a -w "$RC_LIBEXECDIR" ]; then
 | 
			
		||||
		mkdir -p "$RC_LIBEXECDIR"/console
 | 
			
		||||
		for font in /usr/share/consolefonts/"$consolefont".*; do
 | 
			
		||||
			:
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ depend() {
 | 
			
		||||
	need localmount
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	before net.lo0
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start_pre() {
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ depend()
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	ebegin "Building the dev database"
 | 
			
		||||
	ebegin "Bulding the dev database"
 | 
			
		||||
	if [ /var/run/dev.db -nt /dev ]; then
 | 
			
		||||
		:
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ description="Mount system critical filesystems in /dev."
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	use dev
 | 
			
		||||
	keyword -vserver
 | 
			
		||||
	keyword -prefix -vserver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start() {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ description="Configures a specific kernel dump device."
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need swap
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start() {
 | 
			
		||||
@@ -19,7 +19,7 @@ start() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stop() {
 | 
			
		||||
	ebegin "Deactivating kernel core dump device"
 | 
			
		||||
	ebegin "Deactiving kernel core dump device"
 | 
			
		||||
	dumpon off
 | 
			
		||||
	eend $?
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ _IFS="
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	use dev clock modules
 | 
			
		||||
	keyword -jail -openvz -timeout -vserver -lxc
 | 
			
		||||
	keyword -jail -openvz -prefix -timeout -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_abort() {
 | 
			
		||||
@@ -48,13 +48,8 @@ start()
 | 
			
		||||
 | 
			
		||||
	if [ -n "$fsck_passno" ]; then
 | 
			
		||||
		check_extra="[passno $fsck_passno] $check_extra"
 | 
			
		||||
		if [ -n "$fsck_mnt" ]; then
 | 
			
		||||
			eerror "Only 1 of fsck_passno and fsck_mnt must be set!"
 | 
			
		||||
			return 1
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
	ebegin "Checking local filesystems $check_extra"
 | 
			
		||||
	# Append passno mounts
 | 
			
		||||
	for p in $fsck_passno; do
 | 
			
		||||
		local IFS="$_IFS"
 | 
			
		||||
		case "$p" in
 | 
			
		||||
@@ -63,21 +58,10 @@ start()
 | 
			
		||||
		set -- "$@" $(fstabinfo --passno "$p")
 | 
			
		||||
		unset IFS
 | 
			
		||||
	done
 | 
			
		||||
	# Append custom mounts
 | 
			
		||||
	for m in $fsck_mnt ; do
 | 
			
		||||
		local IFS="$_IFS"
 | 
			
		||||
		set -- "$@" "$m"
 | 
			
		||||
		unset IFS
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	if [ "$RC_UNAME" = Linux ]; then
 | 
			
		||||
		local skiptypes x
 | 
			
		||||
		for x in $net_fs_list $extra_net_fs_list; do
 | 
			
		||||
			skiptypes="${skiptypes}no${x},"
 | 
			
		||||
		done
 | 
			
		||||
		skiptypes="${skiptypes}noopts=_netdev"
 | 
			
		||||
		fsck_opts="$fsck_opts -C0 -T -t $skiptypes"
 | 
			
		||||
		if [ -z "$fsck_passno" -a -z "$fsck_mnt" ]; then
 | 
			
		||||
		fsck_opts="$fsck_opts -C0 -T"
 | 
			
		||||
		if [ -z "$fsck_passno" ]; then
 | 
			
		||||
			fsck_args=${fsck_args--A -p}
 | 
			
		||||
			if echo 2>/dev/null >/.test.$$; then
 | 
			
		||||
				rm -f /.test.$$
 | 
			
		||||
@@ -107,7 +91,7 @@ start()
 | 
			
		||||
			_reboot
 | 
			
		||||
		fi;;
 | 
			
		||||
	8)	ewend 1 "Operational error"; return 0;;
 | 
			
		||||
	12)	ewend 1 "fsck interrupted";;
 | 
			
		||||
	12)	ewend 1 "fsck interupted";;
 | 
			
		||||
	*)	eend 2 "Filesystems couldn't be fixed";;
 | 
			
		||||
	esac
 | 
			
		||||
	_abort || return 1
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	use root
 | 
			
		||||
	before devd net
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_set()
 | 
			
		||||
 
 | 
			
		||||
@@ -5,37 +5,12 @@
 | 
			
		||||
description="Sets the hostname of the machine."
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need root
 | 
			
		||||
	keyword -prefix -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	hostname=${hostname-${HOSTNAME-localhost}}
 | 
			
		||||
	out=$hostname
 | 
			
		||||
	short=${hostname%%.*}
 | 
			
		||||
	if [ "$short" != "$hostname" ]; then
 | 
			
		||||
		out="$out $short"
 | 
			
		||||
	fi
 | 
			
		||||
	if [ "$nisdomainname" != "" ]; then
 | 
			
		||||
		ebegin "Setting NIS domain name to $nisdomainname"
 | 
			
		||||
		nisdomainname $nisdomainname
 | 
			
		||||
		eend $? "Failed to set the NIS domain name"
 | 
			
		||||
	fi
 | 
			
		||||
	if [ "$short" != "localhost" ]; then
 | 
			
		||||
		out="$out localhost"
 | 
			
		||||
	fi
 | 
			
		||||
	if [ "$hostname" != "localhost.localdomain" ]; then
 | 
			
		||||
		out="$out localhost.localdomain"
 | 
			
		||||
	fi
 | 
			
		||||
	ebegin "Configuring /etc/hosts"
 | 
			
		||||
	sed -i -e '/[[:space:]]*127.0.0.1[[:space:]]/d' -e '/[[:space:]]*::1[[:space:]]/d' /etc/hosts
 | 
			
		||||
	cat <<END >> /etc/hosts
 | 
			
		||||
127.0.0.1	$out
 | 
			
		||||
::1		$out
 | 
			
		||||
END
 | 
			
		||||
	chmod 0644 /etc/hosts
 | 
			
		||||
	eend $?
 | 
			
		||||
	[ "$RC_SYS" = "LXC" ] && return 0
 | 
			
		||||
	ebegin "Setting hostname to $hostname"
 | 
			
		||||
	hostname "$hostname"
 | 
			
		||||
	eend $? "Failed to set the hostname"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ depend()
 | 
			
		||||
	else
 | 
			
		||||
		before *
 | 
			
		||||
	fi
 | 
			
		||||
	keyword -openvz -uml -vserver -xenu -lxc
 | 
			
		||||
	keyword -openvz -prefix -uml -vserver -xenu -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
setupopts()
 | 
			
		||||
@@ -85,7 +85,7 @@ start()
 | 
			
		||||
 | 
			
		||||
	if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
 | 
			
		||||
		_hwclock --adjust $utc_cmd
 | 
			
		||||
		: $(( retval += $? ))
 | 
			
		||||
		retval=$(($retval + $?))
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# If setting UTC, don't bother to run hwclock when first booting
 | 
			
		||||
@@ -94,12 +94,12 @@ start()
 | 
			
		||||
		"$utc_cmd" != --utc -o \
 | 
			
		||||
		-n "$clock_args" ];
 | 
			
		||||
	then
 | 
			
		||||
		if yesno ${clock_hctosys:-YES}; then
 | 
			
		||||
		if yesno $clock_hctosys; then
 | 
			
		||||
			_hwclock --hctosys $utc_cmd $clock_args
 | 
			
		||||
		else
 | 
			
		||||
			_hwclock --systz $utc_cmd $clock_args
 | 
			
		||||
		fi
 | 
			
		||||
		: $(( retval += $? ))
 | 
			
		||||
		retval=$(($retval + $?))
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	eend $retval "Failed to set the system clock"
 | 
			
		||||
@@ -111,7 +111,7 @@ stop()
 | 
			
		||||
{
 | 
			
		||||
	# Don't tweak the hardware clock on LiveCD halt.
 | 
			
		||||
	[ -n "$CDBOOT" ] && return 0
 | 
			
		||||
	yesno ${clock_systohc:-YES} || return 0
 | 
			
		||||
	yesno $clock_systohc || return 0
 | 
			
		||||
 | 
			
		||||
	local retval=0 errstr=""
 | 
			
		||||
	setupopts
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,7 @@ start() {
 | 
			
		||||
		return 1
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Use a stateful firewall
 | 
			
		||||
	# Use a statefull firewall
 | 
			
		||||
	ipfw add check-state
 | 
			
		||||
	ipfw add pass tcp from me to any established
 | 
			
		||||
 | 
			
		||||
@@ -123,7 +123,7 @@ start() {
 | 
			
		||||
	ipfw add deny udp from any to any 520 in
 | 
			
		||||
 | 
			
		||||
	# Noise from webbrowsing.
 | 
			
		||||
	# The stateful filter is a bit aggressive, and will cause some
 | 
			
		||||
	# The statefull filter is a bit agressive, and will cause some
 | 
			
		||||
	# connection teardowns to be logged.
 | 
			
		||||
	ipfw add deny tcp from any 80,443 to any 1024-65535 in
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount termencoding
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	keyword -openvz -uml -vserver -xenu -lxc
 | 
			
		||||
	keyword -openvz -prefix -uml -vserver -xenu -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -47,7 +47,7 @@ start()
 | 
			
		||||
	n=1
 | 
			
		||||
	while [ $n -le $ttyn ]; do
 | 
			
		||||
		kbd_mode $kmode -C $ttydev$n
 | 
			
		||||
		: $(( n += 1 ))
 | 
			
		||||
		n=$(($n + 1))
 | 
			
		||||
	done
 | 
			
		||||
	eend 0
 | 
			
		||||
 | 
			
		||||
@@ -63,7 +63,7 @@ start()
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Save the keymapping for use immediately at boot
 | 
			
		||||
	if checkpath -W "$RC_LIBEXECDIR"; then
 | 
			
		||||
	if [ -w "$RC_LIBEXECDIR" ]; then
 | 
			
		||||
		mkdir -p "$RC_LIBEXECDIR"/console
 | 
			
		||||
		dumpkeys >"$RC_LIBEXECDIR"/console/keymap
 | 
			
		||||
	fi
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,11 @@
 | 
			
		||||
 | 
			
		||||
description="Kill all processes so we can unmount disks cleanly."
 | 
			
		||||
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	ebegin "Terminating remaining processes"
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ depend()
 | 
			
		||||
	need fsck
 | 
			
		||||
	use lvm modules mtab
 | 
			
		||||
	after lvm modules
 | 
			
		||||
	keyword -jail -vserver -lxc
 | 
			
		||||
	keyword -jail -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -33,14 +33,9 @@ start()
 | 
			
		||||
 | 
			
		||||
stop()
 | 
			
		||||
{
 | 
			
		||||
	yesno $RC_GOINGDOWN || return 0
 | 
			
		||||
	# We never unmount / or /dev or $RC_SVCDIR
 | 
			
		||||
 | 
			
		||||
	# Bug 381783
 | 
			
		||||
	local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g')
 | 
			
		||||
 | 
			
		||||
	local x= no_umounts_r="/|/dev|/dev/.*|${rc_svcdir}"
 | 
			
		||||
	no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib(32|64)?|/libexec"
 | 
			
		||||
	local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}"
 | 
			
		||||
	no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec"
 | 
			
		||||
	# RC_NO_UMOUNTS is an env var that can be set by plugins
 | 
			
		||||
	local IFS="$IFS:"
 | 
			
		||||
	for x in $no_umounts $RC_NO_UMOUNTS; do
 | 
			
		||||
@@ -48,7 +43,7 @@ stop()
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	if [ "$RC_UNAME" = Linux ]; then
 | 
			
		||||
		no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*|/usr"
 | 
			
		||||
		no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*"
 | 
			
		||||
	fi
 | 
			
		||||
	no_umounts_r="^($no_umounts_r)$"
 | 
			
		||||
 | 
			
		||||
@@ -74,7 +69,7 @@ stop()
 | 
			
		||||
	done
 | 
			
		||||
	[ -n "$fs" ] && fs="^($fs)$"
 | 
			
		||||
	do_unmount umount --skip-point-regex "$no_umounts_r" \
 | 
			
		||||
		"${fs:+--skip-fstype-regex}" $fs --nonetdev
 | 
			
		||||
		${fs:+--skip-fstype-regex} $fs --nonetdev
 | 
			
		||||
	eoutdent
 | 
			
		||||
 | 
			
		||||
	return 0
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ extra_commands="restore"
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
restore()
 | 
			
		||||
@@ -21,7 +21,7 @@ restore()
 | 
			
		||||
			mixer -f "$mixer" \
 | 
			
		||||
			$(cat "/var/db/${mixer#/dev/}-state") >/dev/null
 | 
			
		||||
			veend $?
 | 
			
		||||
			: $(( retval += $? ))
 | 
			
		||||
			: $((retval += $?))
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
@@ -40,7 +40,7 @@ stop()
 | 
			
		||||
		vebegin "$mixer"
 | 
			
		||||
		mixer -f "$mixer" -s >/var/db/"${mixer#/dev/}"-state
 | 
			
		||||
		veend $?
 | 
			
		||||
		: $(( retval += $? ))
 | 
			
		||||
		: $((retval += $?))
 | 
			
		||||
	done
 | 
			
		||||
	eoutdent
 | 
			
		||||
	eend $retval
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ description="Loads a user defined list of kernel modules."
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	use isapnp
 | 
			
		||||
	keyword -openvz -vserver -lxc
 | 
			
		||||
	keyword -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -57,7 +57,7 @@ start()
 | 
			
		||||
		[ -z "$args" ] && eval args=\$module_${aa}_args
 | 
			
		||||
		[ -z "$args" ] && eval args=\$module_${xx}_args
 | 
			
		||||
		eval modprobe -q "$mpargs" "$x" "$args"
 | 
			
		||||
		eend $? "Failed to load $x" && : $(( cnt += 1 ))
 | 
			
		||||
		eend $? "Failed to load $x" && cnt=$(($cnt + 1))
 | 
			
		||||
	done
 | 
			
		||||
	einfo "Autoloaded $cnt module(s)"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ description="Re-mount filesytems read-only for a clean reboot."
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need killprocs savecache
 | 
			
		||||
	keyword -openvz -vserver -lxc
 | 
			
		||||
	keyword -prefix -openvz -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -19,12 +19,8 @@ start()
 | 
			
		||||
	# We need the do_unmount function
 | 
			
		||||
	. "$RC_LIBEXECDIR"/sh/rc-mount.sh
 | 
			
		||||
	eindent
 | 
			
		||||
 | 
			
		||||
	# Bug 381783
 | 
			
		||||
	local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g')
 | 
			
		||||
 | 
			
		||||
	local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs=
 | 
			
		||||
	m="$m|/bin|/sbin|/lib(32|64)?|/libexec"
 | 
			
		||||
	local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|${RC_SVCDIR}" x= fs=
 | 
			
		||||
	m="$m|/bin|/sbin|/lib|/libexec"
 | 
			
		||||
	# RC_NO_UMOUNTS is an env var that can be set by plugins
 | 
			
		||||
	local IFS="$IFS:"
 | 
			
		||||
	for x in $no_umounts $RC_NO_UMOUNTS; do
 | 
			
		||||
@@ -38,7 +34,7 @@ start()
 | 
			
		||||
	[ -n "$fs" ] && fs="^($fs)$"
 | 
			
		||||
	do_unmount "umount -r" \
 | 
			
		||||
		--skip-point-regex "$m" \
 | 
			
		||||
		"${fs:+--skip-fstype-regex}" $fs --nonetdev
 | 
			
		||||
		${fs:+--skip-fstype-regex} $fs --nonetdev
 | 
			
		||||
	eoutdent
 | 
			
		||||
	eend $?
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -54,7 +54,7 @@ start()
 | 
			
		||||
		local ttyv=
 | 
			
		||||
		for ttyv in /dev/ttyv*; do
 | 
			
		||||
			vidcontrol < "$ttyv" -m on
 | 
			
		||||
			: $(( retval += $? ))
 | 
			
		||||
			: $((retval+= $?))
 | 
			
		||||
		done
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,11 +7,12 @@ description="Update /etc/mtab to match what the kernel knows about"
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need root
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	if [ -L /etc/mtab ]
 | 
			
		||||
	if [ -l /etc/mtab ]
 | 
			
		||||
	then
 | 
			
		||||
		einfo "Skipping mtab update (mtab is a symbolic link)"
 | 
			
		||||
		return 0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										129
									
								
								init.d/net.lo.in
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								init.d/net.lo.in
									
									
									
									
									
								
							@@ -19,18 +19,13 @@ depend()
 | 
			
		||||
	local IFVAR=$(shell_var "${IFACE}")
 | 
			
		||||
 | 
			
		||||
	need localmount
 | 
			
		||||
	if [ "$RC_UNAME" = Linux ]; then
 | 
			
		||||
		need sysfs
 | 
			
		||||
	fi
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	keyword -jail -vserver
 | 
			
		||||
	provide net
 | 
			
		||||
	keyword -jail -prefix -vserver
 | 
			
		||||
 | 
			
		||||
	case "${IFACE}" in
 | 
			
		||||
		lo|lo0) provide lo;;
 | 
			
		||||
		*)
 | 
			
		||||
			after net.lo net.lo0 dbus
 | 
			
		||||
			provide net
 | 
			
		||||
			;;
 | 
			
		||||
		lo|lo0);;
 | 
			
		||||
		*) after net.lo net.lo0;;
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
	if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
 | 
			
		||||
@@ -42,23 +37,11 @@ depend()
 | 
			
		||||
		eval prov=\$rc_${dep}_${IFVAR}
 | 
			
		||||
		if [ -n "${prov}" ]; then
 | 
			
		||||
			${dep} ${prov}
 | 
			
		||||
			ewarn "rc_${dep}_${IFVAR} is deprecated."
 | 
			
		||||
			ewarn "Please use rc_net_${IFVAR}_${dep} instead."
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Support bash arrays - sigh
 | 
			
		||||
_array_helper()
 | 
			
		||||
{
 | 
			
		||||
	local _a=
 | 
			
		||||
 | 
			
		||||
	eval _a=\$$1
 | 
			
		||||
	_a=$(echo "${_a}" | sed -e 's:^[[:space:]]*::' -e 's:[[:space:]]*$::' -e '/^$/d' -e 's:[[:space:]]\{1,\}: :g')
 | 
			
		||||
 | 
			
		||||
	[ -n "${_a}" ] && printf "%s\n" "${_a}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_get_array()
 | 
			
		||||
{
 | 
			
		||||
	local _a=
 | 
			
		||||
@@ -77,7 +60,10 @@ _get_array()
 | 
			
		||||
		esac
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	_array_helper $1
 | 
			
		||||
	eval _a=\$$1
 | 
			
		||||
	printf "%s" "${_a}"
 | 
			
		||||
	printf "\n"
 | 
			
		||||
	[ -n "${_a}" ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Flatten bash arrays to simple strings
 | 
			
		||||
@@ -98,7 +84,10 @@ _flatten_array()
 | 
			
		||||
		esac
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	_array_helper $1
 | 
			
		||||
	eval _a=\$$1
 | 
			
		||||
	printf "%s" "${_a}"
 | 
			
		||||
	printf "\n"
 | 
			
		||||
	[ -n "${_a}" ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_wait_for_carrier()
 | 
			
		||||
@@ -122,7 +111,7 @@ _wait_for_carrier()
 | 
			
		||||
			eend 0
 | 
			
		||||
			return 0
 | 
			
		||||
		fi
 | 
			
		||||
		: $(( timeout -= 1 ))
 | 
			
		||||
		timeout=$((${timeout} - 1))
 | 
			
		||||
		[ "${efunc}" = "einfon" ] && printf "."
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
@@ -151,9 +140,9 @@ _netmask2cidr()
 | 
			
		||||
	local i= len=
 | 
			
		||||
	local IFS=.
 | 
			
		||||
	for i in $1; do
 | 
			
		||||
		while [ ${i} -ne 0 ]; do
 | 
			
		||||
			: $(( len += i % 2 ))
 | 
			
		||||
			: $(( i >>= 1 ))
 | 
			
		||||
		while [ ${i} != "0" ]; do
 | 
			
		||||
			len=$((${len} + ${i} % 2))
 | 
			
		||||
			i=$((${i} >> 1))
 | 
			
		||||
		done
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
@@ -176,36 +165,6 @@ _configure_variables()
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_which()
 | 
			
		||||
{
 | 
			
		||||
	local i OIFS
 | 
			
		||||
	# Empty
 | 
			
		||||
	[ -z "$1" ] && return
 | 
			
		||||
	# check paths
 | 
			
		||||
	OIFS="$IFS"
 | 
			
		||||
	IFS=:
 | 
			
		||||
	for i in $PATH ; do
 | 
			
		||||
		[ -x $i/$1 ] && echo $i/$1 && break
 | 
			
		||||
	done
 | 
			
		||||
	IFS=$OIFS
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Like _which, but also consider shell builtins, and multiple alternatives
 | 
			
		||||
_program_available()
 | 
			
		||||
{
 | 
			
		||||
	[ -z "$1" ] && return 0
 | 
			
		||||
	local x=
 | 
			
		||||
	for x; do
 | 
			
		||||
		case "${x}" in
 | 
			
		||||
			/*) [ -x "${x}" ] && break;;
 | 
			
		||||
			*) type "${x}" >/dev/null 2>&1 && break;;
 | 
			
		||||
		esac
 | 
			
		||||
		unset x
 | 
			
		||||
	done
 | 
			
		||||
	[ -n "${x}" ] && echo $x && return 0
 | 
			
		||||
	return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_show_address()
 | 
			
		||||
{
 | 
			
		||||
	einfo "received address $(_get_inet_address "${IFACE}")"
 | 
			
		||||
@@ -314,7 +273,7 @@ _gen_module_list()
 | 
			
		||||
		echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
 | 
			
		||||
		echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
 | 
			
		||||
		echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
 | 
			
		||||
		: $(( i += 1 ))
 | 
			
		||||
		i=$((${i} + 1))
 | 
			
		||||
	done
 | 
			
		||||
	echo "module_${i}=" >> "${MODULESLIST}"
 | 
			
		||||
	)
 | 
			
		||||
@@ -341,17 +300,18 @@ _load_modules()
 | 
			
		||||
 | 
			
		||||
	local i=-1 x= mod= f= provides=
 | 
			
		||||
	while true; do
 | 
			
		||||
		: $(( i += 1 ))
 | 
			
		||||
		i=$((${i} + 1))
 | 
			
		||||
		eval mod=\$module_${i}
 | 
			
		||||
		[ -z "${mod}" ] && break
 | 
			
		||||
		[ -e "${MODULESDIR}/${mod}.sh" ] || continue
 | 
			
		||||
 | 
			
		||||
		eval set -- \$module_${i}_program
 | 
			
		||||
		if [ -n "$1" ]; then
 | 
			
		||||
			if ! _program_available "$@" >/dev/null; then
 | 
			
		||||
				vewarn "Skipping module $mod due to missing program: $@"
 | 
			
		||||
				continue
 | 
			
		||||
			fi
 | 
			
		||||
			x=
 | 
			
		||||
			for x; do
 | 
			
		||||
				[ -x "${x}" ] && break
 | 
			
		||||
			done
 | 
			
		||||
			[ -x "${x}" ] || continue
 | 
			
		||||
		fi
 | 
			
		||||
		if ${starting}; then
 | 
			
		||||
			eval set -- \$module_${i}_program_start
 | 
			
		||||
@@ -359,10 +319,15 @@ _load_modules()
 | 
			
		||||
			eval set -- \$module_${i}_program_stop
 | 
			
		||||
		fi
 | 
			
		||||
		if [ -n "$1" ]; then
 | 
			
		||||
			if ! _program_available "$@" >/dev/null; then
 | 
			
		||||
				vewarn "Skipping module $mod due to missing program: $@"
 | 
			
		||||
				continue
 | 
			
		||||
			fi
 | 
			
		||||
			x=
 | 
			
		||||
			for x; do
 | 
			
		||||
				case "${x}" in
 | 
			
		||||
					/*) [ -x "${x}" ] && break;;
 | 
			
		||||
					*) type "${x}" >/dev/null 2>&1 && break;;
 | 
			
		||||
				esac
 | 
			
		||||
				unset x
 | 
			
		||||
			done
 | 
			
		||||
			[ -n "${x}" ] || continue
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		eval provides=\$module_${i}_provide
 | 
			
		||||
@@ -438,18 +403,16 @@ _load_config()
 | 
			
		||||
	set -- ${config}
 | 
			
		||||
 | 
			
		||||
	# We should support a space separated array for cidr configs
 | 
			
		||||
	# But only as long as they do not contain other parameters for the address
 | 
			
		||||
	if [ $# = 1 ]; then
 | 
			
		||||
		unset IFS
 | 
			
		||||
		set -- ${config}
 | 
			
		||||
		# Of course, we may have a single address added old style.
 | 
			
		||||
		# If the NEXT argument is a v4 or v6 address, it's the next config.
 | 
			
		||||
		# Otherwise, it's arguments to the first config...
 | 
			
		||||
		if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then
 | 
			
		||||
			# Not an IPv4/IPv6
 | 
			
		||||
			local IFS="$__IFS"
 | 
			
		||||
			set -- ${config}
 | 
			
		||||
		fi
 | 
			
		||||
		case "$2" in
 | 
			
		||||
			netmask|broadcast|brd|brd+|peer|pointopoint)
 | 
			
		||||
				local IFS="$__IFS"
 | 
			
		||||
				set -- ${config}
 | 
			
		||||
				;;
 | 
			
		||||
		esac
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Ensure that loopback has the correct address
 | 
			
		||||
@@ -471,7 +434,7 @@ _load_config()
 | 
			
		||||
	# so modules can influence it
 | 
			
		||||
	for cmd; do
 | 
			
		||||
		eval config_${config_index}="'${cmd}'"
 | 
			
		||||
		: $(( config_index += 1 ))
 | 
			
		||||
		config_index=$((${config_index} + 1))
 | 
			
		||||
	done
 | 
			
		||||
	# Terminate the list
 | 
			
		||||
	eval config_${config_index}=
 | 
			
		||||
@@ -479,7 +442,7 @@ _load_config()
 | 
			
		||||
	config_index=0
 | 
			
		||||
	for cmd in ${fallback}; do
 | 
			
		||||
		eval fallback_${config_index}="'${cmd}'"
 | 
			
		||||
		: $(( config_index += 1 ))
 | 
			
		||||
		config_index=$((${config_index} + 1))
 | 
			
		||||
	done
 | 
			
		||||
	# Terminate the list
 | 
			
		||||
	eval fallback_${config_index}=
 | 
			
		||||
@@ -521,9 +484,7 @@ start()
 | 
			
		||||
{
 | 
			
		||||
	local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
 | 
			
		||||
	local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
 | 
			
		||||
	local metric=0 _up_before_preup
 | 
			
		||||
	eval _up_before_preup="\$up_before_preup_${IFVAR}"
 | 
			
		||||
	[ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup
 | 
			
		||||
	local metric=0
 | 
			
		||||
 | 
			
		||||
	einfo "Bringing up interface ${IFACE}"
 | 
			
		||||
	eindent
 | 
			
		||||
@@ -537,7 +498,7 @@ start()
 | 
			
		||||
	# available in preup and afterwards incase the user inadvertently
 | 
			
		||||
	# brings it down
 | 
			
		||||
	if [ "$(command -v preup)" = "preup" ]; then
 | 
			
		||||
		yesno "${_up_before_preup:-yes}" && _up 2>/dev/null
 | 
			
		||||
		_up 2>/dev/null
 | 
			
		||||
		ebegin "Running preup"
 | 
			
		||||
		eindent
 | 
			
		||||
		preup || return 1
 | 
			
		||||
@@ -576,7 +537,7 @@ start()
 | 
			
		||||
	if [ -n "${our_metric}" ]; then
 | 
			
		||||
		metric=${our_metric}
 | 
			
		||||
	elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
 | 
			
		||||
		: $(( metric += $(_ifindex) ))
 | 
			
		||||
		metric=$((${metric} + $(_ifindex)))
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	while true; do
 | 
			
		||||
@@ -616,11 +577,11 @@ start()
 | 
			
		||||
				eindent
 | 
			
		||||
				eval config_${config_index}=\$config
 | 
			
		||||
				unset fallback_${config_index}
 | 
			
		||||
				: $(( config_index -= 1 ))
 | 
			
		||||
				config_index=$((${config_index} - 1))
 | 
			
		||||
			fi
 | 
			
		||||
		fi
 | 
			
		||||
		eoutdent
 | 
			
		||||
		: $(( config_index += 1 ))
 | 
			
		||||
		config_index=$((${config_index} + 1))
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	if ! ${oneworked}; then
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ depend()
 | 
			
		||||
	need net $pmap
 | 
			
		||||
	use afc-client amd autofs openvpn
 | 
			
		||||
	use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
 | 
			
		||||
	keyword -jail -vserver
 | 
			
		||||
	keyword -jail -prefix -vserver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ depend()
 | 
			
		||||
	need localmount
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	provide net
 | 
			
		||||
	keyword -jail -vserver
 | 
			
		||||
	keyword -jail -prefix -vserver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uniqify()
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -287,7 +281,7 @@ start()
 | 
			
		||||
		tentative || break
 | 
			
		||||
		[ $r = 5 ] && vebegin "Waiting for tentative addresses"
 | 
			
		||||
		sleep 1
 | 
			
		||||
		: $(( r -= 1 ))
 | 
			
		||||
		r=$(($r - 1))
 | 
			
		||||
	done
 | 
			
		||||
	if [ $r != 5 ]; then
 | 
			
		||||
		[ $r != 0 ]
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ required_files="/etc/newsyslog.conf"
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -openvz -vserver -lxc
 | 
			
		||||
	keyword -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_setleds()
 | 
			
		||||
@@ -21,7 +21,7 @@ _setleds()
 | 
			
		||||
 | 
			
		||||
	while [ $i -le $ttyn ]; do
 | 
			
		||||
		setleds -D "$1"num < $dev$i || retval=1
 | 
			
		||||
		: $(( i += 1 ))
 | 
			
		||||
		i=$(($i + 1))
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	return $retval
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ extra_started_commands="reload"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ depend()
 | 
			
		||||
	need localmount
 | 
			
		||||
	use logger
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start_pre()
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	use modules devfs
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -openvz -vserver -lxc
 | 
			
		||||
	keyword -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -20,29 +20,6 @@ start()
 | 
			
		||||
 | 
			
		||||
	[ -e /proc/filesystems ] || return 0
 | 
			
		||||
 | 
			
		||||
	# Setup Kernel Support for miscellaneous Binary Formats
 | 
			
		||||
	if [ -d /proc/sys/fs/binfmt_misc -a ! -e /proc/sys/fs/binfmt_misc/register ]; then
 | 
			
		||||
		if grep -qs binfmt_misc /proc/filesystems; then
 | 
			
		||||
			ebegin "Mounting misc binary format filesystem"
 | 
			
		||||
			mount -t binfmt_misc -o nodev,noexec,nosuid \
 | 
			
		||||
				binfmt_misc /proc/sys/fs/binfmt_misc
 | 
			
		||||
			if eend $? ; then
 | 
			
		||||
				local fmts
 | 
			
		||||
				ebegin "Loading custom binary format handlers"
 | 
			
		||||
				fmts=$(grep -hsv -e '^[#;]' -e '^[[:space:]]*$' \
 | 
			
		||||
					/run/binfmt.d/*.conf \
 | 
			
		||||
					@SYSCONFDIR@/binfmt.d/*.conf \
 | 
			
		||||
					""/usr/lib/binfmt.d/*.conf)
 | 
			
		||||
				if [ -n "${fmts}" ]; then
 | 
			
		||||
					echo "${fmts}" > /proc/sys/fs/binfmt_misc/register
 | 
			
		||||
				fi
 | 
			
		||||
				eend $?
 | 
			
		||||
			fi
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	[ "$RC_SYS" = "OPENVZ" ] && return 0
 | 
			
		||||
 | 
			
		||||
	# Check what USB fs the kernel support.  Currently
 | 
			
		||||
	# 2.5+ kernels, and later 2.4 kernels have 'usbfs',
 | 
			
		||||
	# while older kernels have 'usbdevfs'.
 | 
			
		||||
@@ -60,6 +37,27 @@ start()
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Setup Kernel Support for the NFS daemon status
 | 
			
		||||
	if [ -d /proc/fs/nfsd ] && ! mountinfo -q /proc/fs/nfsd; then
 | 
			
		||||
		if grep -qs nfsd /proc/filesystems; then
 | 
			
		||||
			ebegin "Mounting NFS filesystem"
 | 
			
		||||
			mount -t nfsd -o nodev,noexec,nosuid \
 | 
			
		||||
				nfsd /proc/fs/nfsd
 | 
			
		||||
			eend $?
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Setup Kernel Support for miscellaneous Binary Formats
 | 
			
		||||
	if [ -d /proc/sys/fs/binfmt_misc ] \
 | 
			
		||||
		&& ! mountinfo -q /proc/sys/fs/binfmt_misc; then
 | 
			
		||||
		if grep -qs binfmt_misc /proc/filesystems; then
 | 
			
		||||
			ebegin "Mounting misc binary format filesystem"
 | 
			
		||||
			mount -t binfmt_misc -o nodev,noexec,nosuid \
 | 
			
		||||
				binfmt_misc /proc/sys/fs/binfmt_misc
 | 
			
		||||
			eend $?
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Setup Kernel Support for SELinux
 | 
			
		||||
	if [ -d /selinux ] && ! mountinfo -q /selinux; then
 | 
			
		||||
		if grep -qs selinuxfs /proc/filesystems; then
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ depend()
 | 
			
		||||
	need localmount net
 | 
			
		||||
	after *
 | 
			
		||||
	before local
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -32,7 +33,7 @@ start()
 | 
			
		||||
 | 
			
		||||
		# Good to go!
 | 
			
		||||
		"$svc" start && started="$started $svc"
 | 
			
		||||
		: $(( retval += $? ))
 | 
			
		||||
		: $((retval += $?))
 | 
			
		||||
	done
 | 
			
		||||
	service_set_value started "$started"
 | 
			
		||||
	eend $retval "Some local rc services failed to start"
 | 
			
		||||
@@ -45,7 +46,7 @@ stop()
 | 
			
		||||
	local svc= retval=0
 | 
			
		||||
	for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
 | 
			
		||||
		"$svc" stop
 | 
			
		||||
		: $(( retval += $? ))
 | 
			
		||||
		: $((retval += $?))
 | 
			
		||||
	done
 | 
			
		||||
	eend $retval "Some local rc services failed to stop"
 | 
			
		||||
	return 0
 | 
			
		||||
 
 | 
			
		||||
@@ -7,47 +7,26 @@ description="Mount the root fs read/write"
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need fsck
 | 
			
		||||
	keyword -jail -openvz -vserver -lxc
 | 
			
		||||
	keyword -jail -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	case ",$(fstabinfo -o /)," in
 | 
			
		||||
		*,ro,*)
 | 
			
		||||
		;;
 | 
			
		||||
		*)
 | 
			
		||||
			# Check if the rootfs isn't already writable.
 | 
			
		||||
			if checkpath -W /; then
 | 
			
		||||
				rm -f /fastboot /forcefsck
 | 
			
		||||
			else
 | 
			
		||||
				ebegin "Remounting root filesystem read/write"
 | 
			
		||||
				case "$RC_UNAME" in
 | 
			
		||||
					Linux)
 | 
			
		||||
						mount -n -o remount,rw /
 | 
			
		||||
					;;
 | 
			
		||||
					*)
 | 
			
		||||
						mount -u -o rw /
 | 
			
		||||
					;;
 | 
			
		||||
				esac
 | 
			
		||||
				eend $? "Root filesystem could not be mounted read/write"
 | 
			
		||||
				if [ $?  -eq 0 ]; then
 | 
			
		||||
					rm -f /fastboot /forcefsck
 | 
			
		||||
				fi
 | 
			
		||||
			fi
 | 
			
		||||
		;;
 | 
			
		||||
	*,ro,*) return 0;;
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
	ebegin "Remounting filesystems"
 | 
			
		||||
	local mountpoint
 | 
			
		||||
	for mountpoint in $(fstabinfo); do
 | 
			
		||||
		case "${mountpoint}" in
 | 
			
		||||
			/)
 | 
			
		||||
			;;
 | 
			
		||||
			/*)
 | 
			
		||||
				mountinfo -q "${mountpoint}" && \
 | 
			
		||||
					fstabinfo --remount "${mountpoint}"
 | 
			
		||||
			;;
 | 
			
		||||
		esac
 | 
			
		||||
	done
 | 
			
		||||
	eend 0
 | 
			
		||||
	if echo 2>/dev/null >/.test.$$; then
 | 
			
		||||
		rm -f /.test.$$ /fastboot /forcefsck
 | 
			
		||||
		return 0
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	ebegin "Remounting root filesystem read/write"
 | 
			
		||||
	case "$RC_UNAME" in
 | 
			
		||||
		Linux)	mount -n -o remount,rw /;;
 | 
			
		||||
		*)	mount -u -o rw /;;
 | 
			
		||||
	esac
 | 
			
		||||
	if eend $? "Root filesystem could not be mounted read/write"; then
 | 
			
		||||
		rm -f /fastboot /forcefsck
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ description="Saves a kernel dump."
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	provide net
 | 
			
		||||
	use network
 | 
			
		||||
	keyword -jail -vserver
 | 
			
		||||
	keyword -jail -prefix -vserver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pre_flight_checks()
 | 
			
		||||
@@ -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"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	before fsck
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -4,15 +4,14 @@
 | 
			
		||||
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	before localmount
 | 
			
		||||
	keyword -jail -openvz -vserver -lxc
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	ebegin "Activating swap devices"
 | 
			
		||||
	case "$RC_UNAME" in
 | 
			
		||||
		Linux)		swapon -a -e >/dev/null;;
 | 
			
		||||
		NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
 | 
			
		||||
		*)		swapon -a >/dev/null;;
 | 
			
		||||
	esac
 | 
			
		||||
@@ -24,7 +23,7 @@ stop()
 | 
			
		||||
	ebegin "Deactivating swap devices"
 | 
			
		||||
 | 
			
		||||
	# Try to unmount all tmpfs filesystems not in use, else a deadlock may
 | 
			
		||||
	# occur. As $RC_SVCDIR may also be tmpfs we cd to it to lock it
 | 
			
		||||
	# occure. As $RC_SVCDIR may also be tmpfs we cd to it to lock it
 | 
			
		||||
	cd "$RC_SVCDIR"
 | 
			
		||||
	umount -a -t tmpfs 2>/dev/null
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,45 +0,0 @@
 | 
			
		||||
#!@PREFIX@/sbin/runscript
 | 
			
		||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
 | 
			
		||||
# Released under the 2-clause BSD license.
 | 
			
		||||
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail -openvz -prefix -vserver -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
{
 | 
			
		||||
	ebegin "Activating additional swap space"
 | 
			
		||||
	case "$RC_UNAME" in
 | 
			
		||||
		NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
 | 
			
		||||
		*)		swapon -a >/dev/null;;
 | 
			
		||||
	esac
 | 
			
		||||
	eend 0 # If swapon has nothing todo it errors, so always return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stop()
 | 
			
		||||
{
 | 
			
		||||
	ebegin "Deactivating additional swap space"
 | 
			
		||||
 | 
			
		||||
	# Try to unmount all tmpfs filesystems not in use, else a deadlock may
 | 
			
		||||
	# occur. As $RC_SVCDIR may also be tmpfs we cd to it to lock it
 | 
			
		||||
	# fixme: Do we need this here since we are only unmounting swap files
 | 
			
		||||
	# and loopback swap?
 | 
			
		||||
	cd "$RC_SVCDIR"
 | 
			
		||||
	umount -a -t tmpfs 2>/dev/null
 | 
			
		||||
 | 
			
		||||
	case "$RC_UNAME" in
 | 
			
		||||
		Linux)
 | 
			
		||||
			while read filename type rest; do
 | 
			
		||||
				case "$type" in
 | 
			
		||||
					file) swapoff $filename >/dev/null;;
 | 
			
		||||
				esac
 | 
			
		||||
				case "$filename" in
 | 
			
		||||
					/dev/loop*) swapoff $filename >/dev/null;;
 | 
			
		||||
				esac
 | 
			
		||||
			done < /proc/swaps
 | 
			
		||||
			;;
 | 
			
		||||
	esac
 | 
			
		||||
	eend 0
 | 
			
		||||
}
 | 
			
		||||
@@ -8,7 +8,7 @@ depend()
 | 
			
		||||
{
 | 
			
		||||
	before *
 | 
			
		||||
	provide clock
 | 
			
		||||
	keyword -openvz -uml -vserver -xenu -lxc
 | 
			
		||||
	keyword -openvz -prefix -uml -vserver -xenu -lxc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# swclock is an OpenRC built in
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail
 | 
			
		||||
	keyword -jail -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start() {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	before bootmisc logger
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -13,7 +14,7 @@ start()
 | 
			
		||||
	local retval=0 var= comments= conf=
 | 
			
		||||
	ebegin "Configuring kernel parameters"
 | 
			
		||||
	eindent
 | 
			
		||||
	for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do
 | 
			
		||||
	for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
 | 
			
		||||
		if [ -r "$conf" ]; then
 | 
			
		||||
			vebegin "applying $conf"
 | 
			
		||||
			while read var comments; do
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	before bootmisc logger
 | 
			
		||||
	keyword -lxc -vserver
 | 
			
		||||
	keyword -prefix -vserver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -15,20 +15,12 @@ start()
 | 
			
		||||
	ebegin "Configuring kernel parameters"
 | 
			
		||||
	eindent
 | 
			
		||||
 | 
			
		||||
	# default sysctl System V max shared memory to 1/4 of RAM:
 | 
			
		||||
	mem_bytes=`awk '/MemTotal:/ { printf "%0.f",$2 * 1024}' /proc/meminfo`
 | 
			
		||||
	mem_max=`expr $mem_bytes / 4` 
 | 
			
		||||
	page_size=`getconf PAGE_SIZE`
 | 
			
		||||
	shmall=`expr $mem_bytes / $page_size`
 | 
			
		||||
	sysctl kernel.shmmax=$mem_max > /dev/null
 | 
			
		||||
	sysctl kernel.shmall=$shmall > /dev/null
 | 
			
		||||
 | 
			
		||||
	for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do
 | 
			
		||||
	for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
 | 
			
		||||
		if [ -r "$conf" ]; then
 | 
			
		||||
			vebegin "applying $conf"
 | 
			
		||||
			if ! err=$(sysctl -p "$conf" 2>&1 >/dev/null) ; then
 | 
			
		||||
			if ! err=$(sysctl -q -p "$conf" 2>&1) ; then
 | 
			
		||||
				errs="${errs} ${err}"
 | 
			
		||||
				sysctl -e -p "${conf}" >/dev/null
 | 
			
		||||
				sysctl -q -e -p "${conf}"
 | 
			
		||||
			fi
 | 
			
		||||
			veend $? || retval=1
 | 
			
		||||
		fi
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ description="Mount the sys filesystem."
 | 
			
		||||
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	keyword -vserver
 | 
			
		||||
	keyword -prefix -vserver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
mount_sys()
 | 
			
		||||
@@ -50,47 +50,6 @@ mount_misc()
 | 
			
		||||
			eend $?
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Setup Kernel Support for configfs
 | 
			
		||||
	if [ -d /sys/kernel/config ] && ! mountinfo -q /sys/kernel/config; then
 | 
			
		||||
		if grep -qs configfs /proc/filesystems; then
 | 
			
		||||
			ebegin "Mounting config filesystem"
 | 
			
		||||
			mount -n -t configfs -o  nodev,noexec,nosuid \
 | 
			
		||||
				configfs /sys/kernel/config
 | 
			
		||||
			eend $?
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# set up kernel support for cgroups
 | 
			
		||||
	if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
 | 
			
		||||
		if grep -qs cgroup /proc/filesystems; then
 | 
			
		||||
			ebegin "Mounting cgroup filesystem"
 | 
			
		||||
			local opts="nodev,noexec,nosuid,mode=755,size=${rc_cgroupsize:-10m}"
 | 
			
		||||
			mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup
 | 
			
		||||
			eend $?
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
mount_cgroups()
 | 
			
		||||
{
 | 
			
		||||
	yesno ${rc_cgroups:-YES} && [ -e /proc/cgroups ] && \
 | 
			
		||||
		mountinfo -q /sys/fs/cgroup || return 0
 | 
			
		||||
 | 
			
		||||
	local agent="@LIBEXECDIR@/sh/cgroup-release-agent.sh"
 | 
			
		||||
	mkdir /sys/fs/cgroup/openrc
 | 
			
		||||
	mount -n -t cgroup \
 | 
			
		||||
		-o none,nodev,noexec,nosuid,name=openrc,release_agent="$agent" \
 | 
			
		||||
		openrc /sys/fs/cgroup/openrc
 | 
			
		||||
	echo 1 > /sys/fs/cgroup/openrc/notify_on_release
 | 
			
		||||
	while read name hier groups enabled rest; do
 | 
			
		||||
		case "${enabled}" in
 | 
			
		||||
			1)	mkdir /sys/fs/cgroup/${name}
 | 
			
		||||
				mount -n -t cgroup -o nodev,noexec,nosuid,${name} \
 | 
			
		||||
					${name} /sys/fs/cgroup/${name}
 | 
			
		||||
				;;
 | 
			
		||||
		esac
 | 
			
		||||
	done < /proc/cgroups
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
@@ -100,11 +59,6 @@ start()
 | 
			
		||||
	retval=$?
 | 
			
		||||
	if [ $retval -eq 0 ]; then
 | 
			
		||||
		mount_misc
 | 
			
		||||
		retval=$?
 | 
			
		||||
	fi
 | 
			
		||||
	if [ $retval -eq 0 ]; then
 | 
			
		||||
		mount_cgroups
 | 
			
		||||
		retval=$?
 | 
			
		||||
	fi
 | 
			
		||||
	return $retval
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -16,4 +16,5 @@ depend()
 | 
			
		||||
	use net newsyslog
 | 
			
		||||
	need localmount
 | 
			
		||||
	after bootmisc
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,8 +9,8 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
 | 
			
		||||
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	keyword -lxc -openvz -uml -vserver -xenu
 | 
			
		||||
	use root
 | 
			
		||||
	keyword -openvz -prefix -uml -vserver -xenu
 | 
			
		||||
	need root
 | 
			
		||||
	after bootmisc
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -31,11 +31,11 @@ start()
 | 
			
		||||
	n=1
 | 
			
		||||
	while [ ${n} -le "$ttyn" ]; do
 | 
			
		||||
		printf "\033%s" "$termencoding" >$ttydev$n
 | 
			
		||||
		: $(( n += 1 ))
 | 
			
		||||
		n=$(($n + 1))
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	# Save the encoding for use immediately at boot
 | 
			
		||||
	if checkpath -W "$RC_LIBEXECDIR"; then
 | 
			
		||||
	if [ -w "$RC_LIBEXECDIR" ]; then
 | 
			
		||||
		mkdir -p "$RC_LIBEXECDIR"/console
 | 
			
		||||
		if yesno ${unicode:-${UNICODE}}; then
 | 
			
		||||
			echo "" > "$RC_LIBEXECDIR"/console/unicode
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	after fsck
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -2,13 +2,13 @@
 | 
			
		||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
 | 
			
		||||
# Released under the 2-clause BSD license.
 | 
			
		||||
 | 
			
		||||
: ${urandom_seed:=${URANDOM_SEED:-/var/lib/misc/random-seed}}
 | 
			
		||||
: ${urandom_seed:=${URANDOM_SEED:-/var/run/random-seed}}
 | 
			
		||||
description="Initializes the random number generator."
 | 
			
		||||
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -jail -openvz
 | 
			
		||||
	keyword -jail -openvz -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
save_seed()
 | 
			
		||||
@@ -16,7 +16,7 @@ save_seed()
 | 
			
		||||
	local psz=1
 | 
			
		||||
 | 
			
		||||
	if [ -e /proc/sys/kernel/random/poolsize ]; then
 | 
			
		||||
		: $(( psz = $(cat /proc/sys/kernel/random/poolsize) / 4096 ))
 | 
			
		||||
		psz=$(($(cat /proc/sys/kernel/random/poolsize) / 4096))
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	(	# sub shell to prevent umask pollution
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
depend()
 | 
			
		||||
{
 | 
			
		||||
	need localmount
 | 
			
		||||
	keyword -prefix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start()
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ install:
 | 
			
		||||
	for man in ${MAN3}; do \
 | 
			
		||||
		${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man3 || exit $$?; \
 | 
			
		||||
		${MAKE_LINKS} \
 | 
			
		||||
	done
 | 
			
		||||
	done	
 | 
			
		||||
	${INSTALL} -d ${DESTDIR}/${MANDIR}/man8
 | 
			
		||||
	for man in ${MAN8}; do \
 | 
			
		||||
		${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man8 || exit $$?; \
 | 
			
		||||
 
 | 
			
		||||
@@ -115,7 +115,7 @@ to true.
 | 
			
		||||
These functions are designed to output a whole line, so they also
 | 
			
		||||
append a newline to the string. To stop this behaviour, you can use the
 | 
			
		||||
functions
 | 
			
		||||
.Fn einfon ,
 | 
			
		||||
.Fn einfon , 
 | 
			
		||||
.Fn ewarnn ,
 | 
			
		||||
.Fn eerrorn ,
 | 
			
		||||
.Fn einfovn ,
 | 
			
		||||
@@ -149,7 +149,7 @@ does the same as
 | 
			
		||||
.Fn eend
 | 
			
		||||
but prints
 | 
			
		||||
.Fa msg
 | 
			
		||||
instead of ok or !! in the color
 | 
			
		||||
instead of ok or !! in the color 
 | 
			
		||||
.Fa color
 | 
			
		||||
at the column
 | 
			
		||||
.Fa col .
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@
 | 
			
		||||
.Os OpenRC
 | 
			
		||||
.Sh NAME
 | 
			
		||||
.Nm rc-service
 | 
			
		||||
.Nd locate and run an OpenRC service with the given arguments
 | 
			
		||||
.Nd locate and run an OpenRC service with the given arguments 
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.Nm
 | 
			
		||||
.Op Fl i , -ifexists
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
.Fl r , -resolve
 | 
			
		||||
.Ar service
 | 
			
		||||
.Sh DESCRIPTION
 | 
			
		||||
Service scripts could be in different places on different systems.
 | 
			
		||||
Service scripts could be in different places on different systems. 
 | 
			
		||||
.Nm
 | 
			
		||||
locates the specified service and runs it with the given arguments.
 | 
			
		||||
If
 | 
			
		||||
 
 | 
			
		||||
@@ -33,8 +33,8 @@
 | 
			
		||||
.Op Ar runlevel
 | 
			
		||||
.Sh DESCRIPTION
 | 
			
		||||
.Nm
 | 
			
		||||
gathers and displays information about the status of services
 | 
			
		||||
in different runlevels.  The default behavior is to show information
 | 
			
		||||
gathers and displays information about the status of services 
 | 
			
		||||
in different runlevels.  The default behavior is to show information 
 | 
			
		||||
about the current runlevel and any unassigned services that are not stopped,
 | 
			
		||||
but any runlevel can be quickly examined.
 | 
			
		||||
.Pp
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@
 | 
			
		||||
.Os OpenRC
 | 
			
		||||
.Sh NAME
 | 
			
		||||
.Nm rc-update
 | 
			
		||||
.Nd add and remove services to and from a runlevel
 | 
			
		||||
.Nd add and remove services to and from a runlevel 
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.Nm
 | 
			
		||||
.Op Fl s , -stack
 | 
			
		||||
@@ -44,7 +44,7 @@
 | 
			
		||||
.Ar show
 | 
			
		||||
.Op Ar runlevel ...
 | 
			
		||||
.Sh DESCRIPTION
 | 
			
		||||
OpenRC uses named runlevels.  Rather than editing some obscure
 | 
			
		||||
OpenRC uses named runlevels.  Rather than editing some obscure 
 | 
			
		||||
file or managing a directory of symlinks,
 | 
			
		||||
.Nm
 | 
			
		||||
exists to quickly add or delete services to and from from different runlevels.
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@
 | 
			
		||||
.Sh LIBRARY
 | 
			
		||||
Run Command library (librc, -lrc)
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.In rc.h
 | 
			
		||||
.In rc.h 
 | 
			
		||||
.Ft bool Fn rc_deptree_update void
 | 
			
		||||
.Ft bool Fn rc_deptree_update_needed void
 | 
			
		||||
.Ft RC_DEPTREE Fn rc_deptree_load void
 | 
			
		||||
@@ -77,7 +77,7 @@ loads the deptree and returns a pointer to it which needs to be freed by
 | 
			
		||||
when done.
 | 
			
		||||
.Pp
 | 
			
		||||
.Fn rc_deptree_depend ,
 | 
			
		||||
.Fn rc_deptree_depends
 | 
			
		||||
.Fn rc_deptree_depends 
 | 
			
		||||
and
 | 
			
		||||
.Fn rc_deptree_order
 | 
			
		||||
return a list of services from the
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
.Sh LIBRARY
 | 
			
		||||
Run Command library (librc, -lrc)
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.In rc.h
 | 
			
		||||
.In rc.h 
 | 
			
		||||
.Ft "char *" Fn rc_runlevel_get void
 | 
			
		||||
.Ft bool Fn rc_runlevel_exists
 | 
			
		||||
.Ft "RC_STRINGLIST *" Fn rc_runlevel_list void
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@
 | 
			
		||||
.Sh LIBRARY
 | 
			
		||||
Run Command library (librc, -lrc)
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.In rc.h
 | 
			
		||||
.In rc.h 
 | 
			
		||||
.Ft bool Fn rc_service_add "const char *runlevel" "const char *service"
 | 
			
		||||
.Ft bool Fn rc_service_delete "const char *runlevel" "const char *service"
 | 
			
		||||
.Ft bool Fo rc_service_daemon_set
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@
 | 
			
		||||
Run Command library (librc, -lrc)
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.In rc.h
 | 
			
		||||
.Ft "RC_STRINGLIST *" Fn rc_stringlist_new void
 | 
			
		||||
.Ft "RC_STRINGLIST *" Fn rc_stringlist_new void 
 | 
			
		||||
.Ft "RC_STRING *" Fn rc_stringlist_add "RC_STRINGLIST *list" "const char *item"
 | 
			
		||||
.Ft "RC_STRING *" Fn rc_stringlist_addu "RC_STRINGLIST *list" "const char *item"
 | 
			
		||||
.Ft bool Fn rc_stringlist_delete RC_STRINGLIST "const char *item"
 | 
			
		||||
 
 | 
			
		||||
@@ -21,18 +21,17 @@
 | 
			
		||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | 
			
		||||
.\" SUCH DAMAGE.
 | 
			
		||||
.\"
 | 
			
		||||
.Dd December 31, 2011
 | 
			
		||||
.Dd November 4, 2009
 | 
			
		||||
.Dt RUNSCRIPT 8 SMM
 | 
			
		||||
.Os OpenRC
 | 
			
		||||
.Sh NAME
 | 
			
		||||
.Nm runscript
 | 
			
		||||
.Nm runscript 
 | 
			
		||||
.Nd a means of hooking shell commands into a service
 | 
			
		||||
.Sh SYNOPSIS
 | 
			
		||||
.Nm
 | 
			
		||||
.Op Fl D , -nodeps
 | 
			
		||||
.Op Fl d , -debug
 | 
			
		||||
.Op Fl s , -ifstarted
 | 
			
		||||
.Op Fl S , -ifstopped
 | 
			
		||||
.Op Fl Z , -dry-run
 | 
			
		||||
.Op Ar command ...
 | 
			
		||||
.Sh DESCRIPTION
 | 
			
		||||
@@ -77,8 +76,6 @@ Set xtrace on in the shell to assist in debugging.
 | 
			
		||||
Ignore all dependency information the service supplies.
 | 
			
		||||
.It Fl s , -ifstarted
 | 
			
		||||
Only run the command if the service has been started.
 | 
			
		||||
.It Fl S , -ifstopped
 | 
			
		||||
Only run the command if the service has been stopped.
 | 
			
		||||
.It Fl q , -quiet
 | 
			
		||||
Turns off all informational output the service generates.
 | 
			
		||||
Output from any non OpenRC commands is not affected.
 | 
			
		||||
@@ -92,42 +89,24 @@ or stopping them.
 | 
			
		||||
The following variables affect the service script:
 | 
			
		||||
.Bl -tag -width "RC_DEFAULTLEVEL"
 | 
			
		||||
.It Ar extra_commands
 | 
			
		||||
Space separated list of extra commands the service defines. These should
 | 
			
		||||
not depend on the service being stopped or started.
 | 
			
		||||
Space separated list of extra commands the service defines.
 | 
			
		||||
.It Ar extra_started_commands
 | 
			
		||||
Space separated list of extra commands the service defines. These only work if
 | 
			
		||||
the service has already been started.
 | 
			
		||||
.It Ar extra_stopped_commands
 | 
			
		||||
Space separated list of extra commands the service defines. These only work if
 | 
			
		||||
the service has already been stopped.
 | 
			
		||||
.It Ar description
 | 
			
		||||
String describing the service.
 | 
			
		||||
.It Ar description_$command
 | 
			
		||||
String describing the extra command.
 | 
			
		||||
.It Ar start_stop_daemon_args
 | 
			
		||||
List of arguments passed to start-stop-daemon when starting the daemon.
 | 
			
		||||
String describing the extra command the.
 | 
			
		||||
.It Ar command
 | 
			
		||||
Daemon to start or stop via
 | 
			
		||||
.Nm start-stop-daemon
 | 
			
		||||
if no start or stop function is defined by the service.
 | 
			
		||||
.It Ar command_args
 | 
			
		||||
List of arguments to pass to the daemon when starting.
 | 
			
		||||
.It Ar command_background
 | 
			
		||||
Set this to "true", "yes" or "1" (case-insensitive) to force the daemon into
 | 
			
		||||
the background. This implies the "--make-pidfile" and "--pidfile" option of
 | 
			
		||||
.Xr start-stop-daemon 8
 | 
			
		||||
so the pidfile variable must be set.
 | 
			
		||||
.It Ar pidfile
 | 
			
		||||
Pidfile to use for the above defined command.
 | 
			
		||||
.It Ar name
 | 
			
		||||
Display name used for the above defined command.
 | 
			
		||||
.It Ar retry
 | 
			
		||||
Retry schedule to use when stopping the daemon. It can either be a
 | 
			
		||||
timeout in seconds or multiple signal/timeout pairs (like SIGTERM/5).
 | 
			
		||||
.It Ar required_dirs
 | 
			
		||||
A list of directories which must exist for the service to start.
 | 
			
		||||
.It Ar required_files
 | 
			
		||||
A list of files which must exist for the service to start.
 | 
			
		||||
.El
 | 
			
		||||
.Sh DEPENDENCIES
 | 
			
		||||
You should define a
 | 
			
		||||
@@ -140,7 +119,7 @@ Here is a list of the functions you can use in a
 | 
			
		||||
.Ic depend
 | 
			
		||||
function. You simply pass the names of the services to it to add to that
 | 
			
		||||
dependency type, or prefix it with ! to remove it.
 | 
			
		||||
.Bl -tag -width "RC_DEFAULTLEVEL"
 | 
			
		||||
.Bl -tag -width "RC_DEFAULTLEVEL" 
 | 
			
		||||
.It Ic need
 | 
			
		||||
The service will refuse to start until needed services have started and it
 | 
			
		||||
will refuse to stop until any services that need it have stopped.
 | 
			
		||||
@@ -160,7 +139,7 @@ Tags a service with a keyword. Here's the keywords we currently understand:-
 | 
			
		||||
.Bl -tag -width indent
 | 
			
		||||
.It Dv -shutdown
 | 
			
		||||
Don't stop this service when shutting the system down.
 | 
			
		||||
This is normally quite safe as remaining daemons will be sent a SIGTERM just
 | 
			
		||||
This normally quite safe as remaining daemons will be sent a SIGTERM just
 | 
			
		||||
before final shutdown.
 | 
			
		||||
Network related services such as the network and dhcpcd init scripts normally
 | 
			
		||||
have this keyword.
 | 
			
		||||
@@ -172,14 +151,16 @@ Other services should wait indefinitely for this service to start. Use
 | 
			
		||||
this keyword if your service may take longer than 60 seconds to start.
 | 
			
		||||
.It Dv -jail
 | 
			
		||||
When in a jail, exclude this service from any dependencies. The service can
 | 
			
		||||
still be run directly. Set via
 | 
			
		||||
.Ic rc_sys
 | 
			
		||||
in
 | 
			
		||||
still be run directly. Set via 
 | 
			
		||||
.Ic rc_sys 
 | 
			
		||||
in 
 | 
			
		||||
.Pa /etc/rc.conf
 | 
			
		||||
.It Dv -lxc
 | 
			
		||||
Same as -jail, but for Linux Resource Containers (LXC).
 | 
			
		||||
.It Dv -openvz
 | 
			
		||||
Same as -jail, but for OpenVZ systems.
 | 
			
		||||
.It Dv -prefix
 | 
			
		||||
Same as -jail, but for Prefix systems.
 | 
			
		||||
.It Dv -uml
 | 
			
		||||
Same as -jail, but for UML systems.
 | 
			
		||||
.It Dv -vserver
 | 
			
		||||
@@ -240,7 +221,7 @@ seconds until all files exist.
 | 
			
		||||
Returns 0 if all files exist, otherwise non zero.
 | 
			
		||||
If
 | 
			
		||||
.Ar timeout
 | 
			
		||||
is less than 1 then we wait indefinitely.
 | 
			
		||||
is less then 1 then we wait indefinitely.
 | 
			
		||||
.It Ic is_newer_than Ar file1 Ar file2 ...
 | 
			
		||||
If
 | 
			
		||||
.Ar file1
 | 
			
		||||
@@ -307,22 +288,14 @@ Mark the service as coldplugged.
 | 
			
		||||
Mark the service as inactive.
 | 
			
		||||
.It Xo
 | 
			
		||||
.Ic checkpath
 | 
			
		||||
.Op Fl D , -directory-truncate
 | 
			
		||||
.Op Fl d , -directory
 | 
			
		||||
.Op Fl F , -file-truncate
 | 
			
		||||
.Op Fl f , -file
 | 
			
		||||
.Op Fl p , -pipe
 | 
			
		||||
.Op Fl m , -mode Ar mode
 | 
			
		||||
.Op Fl o , owner Ar owner
 | 
			
		||||
.Ar path ...
 | 
			
		||||
.Xc
 | 
			
		||||
Checks to see if the path exists, is of the right type, owned by the right
 | 
			
		||||
people and has the correct access modes. If not, then it corrects the path.
 | 
			
		||||
.It Ic checkpath
 | 
			
		||||
.Op Fl W , -writable
 | 
			
		||||
.Ar path
 | 
			
		||||
.Xc
 | 
			
		||||
checks to see if the path is writable.
 | 
			
		||||
.It Ic yesno Ar value
 | 
			
		||||
If
 | 
			
		||||
.Ar value
 | 
			
		||||
@@ -331,18 +304,11 @@ matches YES, TRUE, ON or 1 regardless of case then we return 0, otherwise 1.
 | 
			
		||||
.Sh ENVIRONMENT
 | 
			
		||||
.Nm
 | 
			
		||||
sets the following environment variables for use in the service scripts:
 | 
			
		||||
.Bl -tag -width "RC_DEFAULTLEVEL"
 | 
			
		||||
.Bl -tag -width "RC_DEFAULTLEVEL" 
 | 
			
		||||
.It Va RC_SVCNAME
 | 
			
		||||
Name of the service.
 | 
			
		||||
.It Va RC_RUNLEVEL
 | 
			
		||||
Current runlevel that rc is in. Note that, in OpenRC, the reboot
 | 
			
		||||
runlevel is mapped to the shutdown runlevel. This was done because most
 | 
			
		||||
services do not need to know if a system is shutting down or rebooting.
 | 
			
		||||
If you are writing a service that does need to know this, see the
 | 
			
		||||
RC_REBOOT variable.
 | 
			
		||||
.It Va RC_REBOOT
 | 
			
		||||
This variable contains YES if the system is rebooting. If your service
 | 
			
		||||
needs to know the system is rebooting, you should test this variable.
 | 
			
		||||
Current runlevel that rc is in.
 | 
			
		||||
.It Va RC_BOOTLEVEL
 | 
			
		||||
Boot runlevel chosen. Default is boot.
 | 
			
		||||
.It Va RC_DEFAULTLEVEL
 | 
			
		||||
@@ -388,8 +354,9 @@ rc_provide_tap1="!net"
 | 
			
		||||
# To put in in /etc/rc.conf you would do it like this
 | 
			
		||||
rc_net_tap1_provide="!net"
 | 
			
		||||
 | 
			
		||||
# It's also possible to negate keywords.
 | 
			
		||||
rc_keyword="-keyword"
 | 
			
		||||
# It's also possible to negate keywords. This is mainly useful for prefix
 | 
			
		||||
# users testing OpenRC.
 | 
			
		||||
rc_keyword="!noprefix"
 | 
			
		||||
.Ed
 | 
			
		||||
.Sh EXAMPLES
 | 
			
		||||
.Pp
 | 
			
		||||
@@ -432,7 +399,7 @@ depend()
 | 
			
		||||
	_need=`service_get_value need`
 | 
			
		||||
    else
 | 
			
		||||
	if _need_dbus; then
 | 
			
		||||
	   _need="${_need} dbus"
 | 
			
		||||
	   _need="${_need} dbus" 
 | 
			
		||||
	fi
 | 
			
		||||
    fi
 | 
			
		||||
    need ${_need}
 | 
			
		||||
@@ -479,7 +446,7 @@ eat()
 | 
			
		||||
	veinfo "Eating `basename ${food}`"
 | 
			
		||||
	${command} --eat ${food}
 | 
			
		||||
	retval=$?
 | 
			
		||||
	: $(( result += retval ))
 | 
			
		||||
	: $((${result} += ${retval}))
 | 
			
		||||
	[ ${retval} = 0 ] && ate="${ate} `basename ${food}`"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
@@ -495,12 +462,6 @@ show()
 | 
			
		||||
 | 
			
		||||
.Ed
 | 
			
		||||
.Sh BUGS
 | 
			
		||||
Because of the way we load our configuration files and the need to handle
 | 
			
		||||
more than one service directory, you can only use symlinks in service
 | 
			
		||||
directories to other services in the same directory.
 | 
			
		||||
You cannot symlink to a service in a different directory even if it is
 | 
			
		||||
another service directory.
 | 
			
		||||
.Pp
 | 
			
		||||
is_older_than should return 0 on success.
 | 
			
		||||
Instead we return 1 to be compliant with Gentoo baselayout.
 | 
			
		||||
Users are encouraged to use the is_newer_than function which returns correctly.
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ is used in an OpenRC service, then OpenRC can in turn check to see if the
 | 
			
		||||
daemon is still running. If not, then the service is marked as crashed.
 | 
			
		||||
.Pp
 | 
			
		||||
Here are the options to specify the daemon and how it should start or stop:
 | 
			
		||||
.Bl -tag -width indent
 | 
			
		||||
.Bl -tag -width indent 
 | 
			
		||||
.It Fl x , -exec Ar daemon
 | 
			
		||||
The
 | 
			
		||||
.Ar daemon
 | 
			
		||||
@@ -162,8 +162,9 @@ but with the standard error output.
 | 
			
		||||
These options are only used for stopping daemons:
 | 
			
		||||
.Bl -tag -width indent
 | 
			
		||||
.It Fl R , -retry Ar timeout | Ar signal Ns / Ns Ar timeout
 | 
			
		||||
The retry specification can be either a timeout in seconds or multiple
 | 
			
		||||
signal/timeout pairs (like SIGTERM/5).
 | 
			
		||||
You can either specify a timeout in seconds or a multiple signal/timeout
 | 
			
		||||
pairs as a stopping schedule.
 | 
			
		||||
If not specified then a default value of SIGTERM/5 is assumed.
 | 
			
		||||
.El
 | 
			
		||||
.Sh ENVIRONMENT
 | 
			
		||||
.Va SSD_NICELEVEL
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user