Compare commits

..

2 Commits

Author SHA1 Message Date
Roy Marples
6ce7001a1a Fix dist for svn 2008-12-07 07:51:40 +00:00
Roy Marples
0e0d0ab1ef Tag openrc-0.4.0 2008-12-07 07:49:55 +00:00
212 changed files with 2647 additions and 4087 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
*.bz2

View File

@@ -1,27 +1,12 @@
# OpenRC Makefile
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
include Makefile.inc
SUBDIR= conf.d etc init.d man sh src
# Build our old net foo or not
_OLDNET_SH= case "${MKOLDNET}" in \
[Yy][Ee][Ss]) echo "net doc";; \
*) echo "";; \
esac
_OLDNET!= ${_OLDNET_SH}
SUBDIR+= ${_OLDNET}$(shell ${_OLDNET_SH})
# Build pkgconfig or not
_PKGCONFIG_SH= case "${MKPKGCONFIG}" in \
[Yy][Ee][Ss]|"") echo "pkgconfig";; \
*) echo "";; \
esac
_PKGCONFIG!= ${_PKGCONFIG_SH}
SUBDIR+= ${_PKGCONFIG}$(shell ${_PKGCONFIG_SH})
NAME= openrc
VERSION= 0.4.0
PKG= ${NAME}-${VERSION}
SUBDIR= conf.d doc etc init.d man net sh src
# We need to ensure that runlevels is done last
SUBDIR+= runlevels
@@ -32,9 +17,7 @@ include ${MK}/sys.mk
include ${MK}/os.mk
include ${MK}/subdir.mk
include ${MK}/dist.mk
include ${MK}/git.mk
_installafter:
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/tmp
${ECHO} "${VERSION}${GITVER}" > ${DESTDIR}/${LIBEXECDIR}/version
${INSTALL} -d ${DESTDIR}/${PREFIX}/${RC_LIB}/init.d
${INSTALL} -d ${DESTDIR}/${PREFIX}/${RC_LIB}/tmp

View File

@@ -1,3 +0,0 @@
NAME= openrc
VERSION= 0.5.1
PKG= ${NAME}-${VERSION}

2
README
View File

@@ -11,10 +11,8 @@ PROGLDFLAGS=-static
LIBNAME=lib64
DESTDIR=/tmp/openrc-image
MKPAM=pam
MKPKGCONFIG=no
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKOLDNET=yes
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local

1
conf.d/.gitignore vendored
View File

@@ -1 +0,0 @@
network

View File

@@ -1,14 +1,7 @@
DIR= ${CONFDIR}
CONF= bootmisc fsck hostname local localmount network urandom
TARGETS+= network
CLEANFILES+= network
CONF= bootmisc fsck hostname local localmount net urandom
MK= ../mk
include ${MK}/os.mk
include Makefile.${OS}
include ${MK}/scripts.mk
network: network.in network.${OS}
cp network.in network
[ -e network.${OS} ] && cat network.${OS} >> network || true

View File

@@ -1,3 +1 @@
CONF+= ipfw moused powerd rarpd savecore syscons
network.${OS}:

View File

@@ -1,3 +1 @@
CONF+= moused rarpd savecore
network.${OS}:

View File

@@ -1,5 +1,5 @@
# List of /tmp directories we should clean up
clean_tmp_dirs="/tmp"
wipe_tmp_dirs="/tmp"
# Should we wipe the tmp paths completely or just selectively remove known
# locks / files / etc... ?

View File

@@ -1,31 +0,0 @@
# ifconfig under Linux is not that powerful and doesn't easily handle
# multiple addresses
# On the other hand, ip (iproute2) is quite powerful and is also supported
#ip_eth0="192.168.0.10/24; 192.168.10.10/24"
# Create a bonded interface
#interfaces="bond0"
#ifup_bond0="modprobe bonding; ifconfig \$int up; ifenslave \$int bge0"
#ifconfig_bond0="192.168.0.10 netmask 255.255.255.0"
#ifdown_bond0="rmmod bonding"
# Create tap interface and a bridge interface.
# We add the tap to the bridge.
# An external program, like dhcpcd, will configure the IP on the bridge
#interfaces="tun0 br0"
#ifup_tun0="tunctl -t \$int"
#ifdown_tun0="tunctl -d \$int"
#ifup_br0="brctl addbr \$int; brctl add \$int eth1; brtctl add \$int eth2"
#ifdown_br0="ifconfig \$int down; btctl delbr \$int"
# Create VLAN
#interfaces="eth0_2 eth0_3 eth0_4"
#ifup_eth0="vconfig add \$int 2; vconfig add \$int 3; vconfig add \$int 4"
#ifconfig_eth0_2="192.168.2.10 netmask 255.255.255.0"
#ifconfig_eth0_3="192.168.3.10 netmask 255.255.255.0"
#ifconfig_eth0_4="192.168.4.10 netmask 255.255.255.0"
#ifdown_eth0="vconfig rem \$int.2; vconfig rem \$int.3; vconfig rem \$int.4"
# Normally you would use wpa_supplicant to configure wireless, but you can
# use iwconfig also
#ifup_wlan0="iwconfig \$int key s:secretkey enc open essid foobar"

View File

@@ -1,28 +0,0 @@
# Assign static IP addresses and run custom scripts per interface.
# Seperate commands with ;
# Prefix with ! to run a shell script.
# Use \$int to represent the interface
#ifconfig_eth0="192.168.0.10 netmask 255.255.255.0"
# You also have ifup_eth0 and ifdown_eth0 to run other commands when
# eth0 is started and stopped.
# You should note that we don't stop the network at system shutdown by default.
# If you really need this, then set shutdown_network=YES
# You can assign a default route
#defaultroute="192.168.0.1"
# Lastly, the interfaces variable pulls in virtual interfaces that cannot
# be automatically detected.
#interfaces="br0 bond0 vlan0"
# You can also use files instead of variables here if you like:
# /etc/ifconfig.eth0 is equivalent to ifconfig_eth0
# /etc/ip.eth0 is equivalent to ifconfig_eth0
# /etc/ifup.eth0 is equivalent to ifup_eth0
# /etc/ifdown.eth0 is equivalent to ifdown_eth0
# Any files found will automatically be put into the interfaces variable.
# You don't need to escape variables in files, so use $int instead of \$int.
# If you require DHCP, you should install dhcpcd and it to the boot or
# default runlevel.

1
doc/.gitignore vendored
View File

@@ -1 +0,0 @@
net.example

View File

@@ -992,7 +992,7 @@
# # 'from 24.80.102.112/32 to 192.168.1.0/24 table localnet priority 100' \
# # 'from 216.113.223.51/32 to 192.168.1.0/24 table localnet priority 100' \
# #"
# eval set -- \$rules_${IFVAR}
# eval set -- $\rules_${IFVAR}
# if [ $# != 0 ]; then
# einfo "Adding IP policy routing rules"
# eindent

3
etc/.gitignore vendored
View File

@@ -1,3 +0,0 @@
rc.conf
rc
rc.shutdown

View File

@@ -7,18 +7,12 @@
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
# patches that fix it without breaking other things!
#rc_parallel="NO"
rc_parallel="NO"
# Set rc_interactive to "YES" and you'll be able to press the I key during
# boot so you can choose to start specific services. Set to "NO" to disable
# this feature.
#rc_interactive="YES"
# If we need to drop to a shell, you can specify it here.
# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
# otherwise /bin/sh
# Linux users could specify /sbin/sulogin
#rc_shell=/bin/sh
rc_interactive="YES"
# Do we allow any started service in the runlevel to satisfy the depedency
# or do we want all of them regardless of state? For example, if net.eth0
@@ -26,7 +20,7 @@
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"
rc_depend_strict="YES"
# rc_hotplug is a list of services that we allow to be hotplugged.
# By default we do not allow hotplugging.
@@ -44,11 +38,11 @@
# /var/log/rc.log
# NOTE: Linux systems require the devfs service to be started before
# logging can take place and as such cannot log the sysinit runlevel.
#rc_logger="YES"
rc_logger="NO"
# By default we filter the environment for our running scripts. To allow other
# variables through, add them here. Use a * to allow all variables through.
#rc_env_allow="VAR1 VAR2"
# rc_env_allow="VAR1 VAR2"
# By default we assume that all daemons will start correctly.
# However, some do not - a classic example is that they fork and return 0 AND
@@ -56,24 +50,14 @@
# child crashes. You can set the number of milliseconds start-stop-daemon
# waits to check that the daemon is still running after starting here.
# The default is 0 - no checking.
#rc_start_wait=100
# rc_nostop is a list of services which will not stop when changing runlevels.
# This still allows the service itself to be stopped when called directly.
#rc_nostop=""
# rc will attempt to start crashed services by default.
# However, it will not stop them by default as that could bring down other
# critical services.
#rc_crashed_stop=NO
#rc_crashed_start=YES
# rc_start_wait=100
##############################################################################
# MISC CONFIGURATION VARIABLES
# There variables are shared between many init scripts
# Set unicode to YES to turn on unicode support for keyboards and screens.
#unicode="NO"
unicode="NO"
# Network fstypes. Below is the default.
net_fs_list="afs cifs coda davfs fuse gfs ncpfs nfs nfs4 ocfs2 shfs smbfs"

View File

@@ -1,5 +1,5 @@
#!/bin/sh
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
# Inform RC that we are in the background and hotplugged

View File

@@ -1,5 +1,5 @@
#!@SHELL@
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
# If $TERM is not set then assume default of @TERM@

View File

@@ -1,5 +1,5 @@
#!@SHELL@
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
# Handle interrupts

View File

@@ -1,7 +1,6 @@
DIR= ${INITDIR}
SRCS= avahi-dnsconfd.in avahid.in dhcpcd.in dbus.in \
hald.in named.in ntpd.in \
openvpn.in polkitd.in sshd.in wpa_supplicant.in
SRCS= avahi-dnsconfd.in avahid.in dbus.in hald.in named.in ntpd.in \
openvpn.in polkitd.in sshd.in
MK= ../mk

View File

@@ -1 +1 @@
PKG_PREFIX?= /usr/local
PREFIX?= /usr/local

View File

@@ -1 +1 @@
PKG_PREFIX?=/usr
PREFIX=/usr

View File

@@ -1 +1 @@
PKG_PREFIX?= /usr/pkg
PREFIX?= /usr/pkg

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/avahi-dnsconfd
command_args="$avahi_dnsconfd_args -D"
command_args="${avahi_dnsconfd_args} -D"
pidfile=@VARBASE@/run/avahi-dnsconfd.pid
name="Avahi DNS Configuration Daemon"

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/avahi-daemon
command_args="$avahid_args -D"
command_args="${avahid_args} -D"
pidfile=@VARBASE@/run/avahi-daemon/pid
name="Avahi Service Advertisement Daemon"

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=@PKG_PREFIX@/bin/dbus-daemon

View File

@@ -1,27 +0,0 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2009 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/sbin/dhcpcd
pidfile=/var/run/dhcpcd.pid
command_args=-q
name="DHCP Client Daemon"
depend()
{
provide net
need localmount
use logger
after bootmisc modules
before dns
}
stop_pre()
{
# When shutting down, kill dhcpcd but preserve network
# We do this as /var/run/dhcpcd could be cleaned out when we
# return to multiuser.
if yesno $RC_GOINGDOWN; then
: ${stopsig:=SIGKILL}
fi
}

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/dnsmasq
command_args=$dnsmasq_args
command_args=${dnsmasq_args}
pidfile=@VARBASE@/run/dnsmasq.pid
required_files=/etc/dnsmasq.conf
@@ -18,7 +18,7 @@ depend()
reload()
{
ebegin "Reloading $RC_SVCNAME"
start-stop-daemon --signal SIGHUP --pidfile "$pidfile"
ebegin "Reloading ${RC_SVCNAME}"
start-stop-daemon --signal SIGHUP --pidfile "${pidfile}"
eend $?
}

View File

@@ -1,10 +1,10 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/hald
pidfile=@VARBASE@/run/hald/hald.pid
command_args=$hald_args
command_args="${hald_args}"
name="Hardware Abstraction Layer Daemon"
depend()

View File

@@ -1,16 +1,16 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/named
command_args=$named_args
command_args=${named_args}
pidfile=@VARBASE@/run/named.pid
name="Domain Name server"
extra_started_commands="reload"
namedb=/etc/namedb
uid=named
case "$RC_UNAME" in
case "${RC_UNAME}" in
FreeBSD)
uid=bind
pidfile=@VARBASE@/run/named/pid
@@ -19,7 +19,7 @@ case "$RC_UNAME" in
uid=bind
;;
esac
: ${named_uid:=${uid}}
named_uid=${named_uid:-${uid}}
depend()
{
@@ -30,71 +30,68 @@ depend()
start_pre()
{
if [ -n "$named_chroot" ]; then
if [ -n "${named_chroot}" ]; then
# Create (or update) the chroot directory structure
if [ -r /etc/mtree/BIND.chroot.dist ]; then
mtree -deU -f /etc/mtree/BIND.chroot.dist -p "$named_chroot"
mtree -deU -f /etc/mtree/BIND.chroot.dist -p "${named_chroot}"
else
ewarn "/etc/mtree/BIND.chroot.dist missing,"
ewarn "chroot directory structure not updated"
fi
if [ ! -d "$named_chroot"/. ]; then
eerror "chroot directory $named_chroot missing"
if [ ! -d "${named_chroot}"/. ]; then
eerror "chroot directory ${named_chroot} missing"
exit 1
fi
# Create /etc/namedb symlink
if [ ! -L "$namedb" ]; then
if [ -d "$namedb" ]; then
ewarn "named chroot: $namedb is a directory!"
elif [ -e "$namedb" ]; then
ewarn "named chroot: $namedb exists!"
if [ ! -L "${namedb}" ]; then
if [ -d "${namedb}" ]; then
ewarn "named chroot: ${namedb} is a directory!"
elif [ -e "${namedb}" ]; then
ewarn "named chroot: ${namedb} exists!"
else
ln -s "$named_chroot$namedb" "$namedb"
ln -s "${named_chroot}${namedb}" "${namedb}"
fi
else
# Make sure it points to the right place.
ln -shf "$named_chroot$namedb" "$namedb"
ln -shf "${named_chroot}${namedb}" "${namedb}"
fi
case "$RC_UNAME" in
case "${RC_UNAME}" in
*BSD|DragonFly)
# Mount a devfs in the chroot directory if needed
umount "$named_chroot"/dev 2>/dev/null
mount -t devfs dev "$named_chroot"/dev
devfs -m "$named_chroot"/dev \
ruleset devfsrules_hide_all
devfs -m "$named_chroot"/dev \
rule apply path null unhide
devfs -m "$named_chroot"/dev \
rule apply path random unhide
umount "${named_chroot}"/dev 2>/dev/null
mount -t devfs dev "${named_chroot}"/dev
devfs -m "${named_chroot}"/dev ruleset devfsrules_hide_all
devfs -m "${named_chroot}"/dev rule apply path null unhide
devfs -m "${named_chroot}"/dev rule apply path random unhide
;;
esac
# Copy local timezone information if it is not up to date.
if [ -r /etc/localtime ]; then
cmp -s /etc/localtime "$named_chroot/etc/localtime" ||
cp -p /etc/localtime "$named_chroot/etc/localtime"
cmp -s /etc/localtime "${named_chroot}/etc/localtime" ||
cp -p /etc/localtime "${named_chroot}/etc/localtime"
fi
command_args="$command_args -t $named_chroot"
command_args="${command_args} -t ${named_chroot}"
ln -fs "$named_chroot$pidfile" "$pidfile"
ln -fs "${named_chroot}${pidfile}" "${pidfile}"
fi
if [ ! -s "$named_chroot$namedb/rndc.conf" ]; then
local confgen="${command%/named}/rndc-confgen -a -b256 -u $named_uid \
-c $named_chrootdir/etc/namedb/rndc.key"
if [ -s "$named_chroot$namedb/rndc.key" ]; then
if [ ! -s "${named_chroot}${namedb}/rndc.conf" ]; then
local confgen="${command%/named}/rndc-confgen -a -b256 -u ${named_uid} \
-c ${named_chrootdir}/etc/namedb/rndc.key"
if [ -s "${named_chroot}${namedb}/rndc.key" ]; then
local getuser="stat -f%Su"
[ "$RC_UNAME" = Linux ] && getuser="stat -c%U"
case $(${getuser} "$named_chroot$namedb"/rndc.key) in
root|"$named_uid");;
*) $confgen;;
[ "${RC_UNAME}" = "Linux" ] && getuser="stat -c%U"
case $(${getuser} "${named_chroot}${namedb}"/rndc.key) in
root|"${named_uid}");;
*) ${confgen};;
esac
else
$confgen
${confgen}
fi
fi
}
@@ -106,7 +103,7 @@ reload()
stop_post()
{
if [ -n "$named_chroot" -a -c "$named_chroot"/dev/null ]; then
umount "$named_chroot"/dev 2>/dev/null || true
if [ -n "${named_chroot}" -a -c "${named_chroot}"/dev/null ]; then
umount "${named_chroot}"/dev 2>/dev/null || true
fi
}

View File

@@ -1,14 +1,13 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
: ${ntpd_config:=/etc/ntp.conf}
: ${ntpd_drift:=/var/db/ntpd.drift}
ntpd_config=${ntpd_config:-/etc/ntp.conf}
ntpd_drift=${ntpd_drift:-/var/db/ntpd.drift}
command=/usr/sbin/ntpd
required_files=$ntpd_config
pidfile=/var/run/ntpd.pid
command_args="$ntpd_args -c $ntpd_config -f $ntpd_drift -p $pidfile"
command_args="${ntpd_args} -c ${ntpd_config} -f ${ntpd_drift} -p ${pidfile}"
name="Network Time Protocol Daemon"
depend()
@@ -20,18 +19,22 @@ depend()
start_pre()
{
if [ -n "$ntpd_chroot" ]; then
case "$RC_UNAME" in
if [ ! -r "${ntpd_config}" ]; then
eerror "${ntpd_config} is not readable"
return 1
fi
if [ -n "${ntpd_chroot}" ]; then
case "${RC_UNAME}" in
*BSD|DragonFly)
if [ ! -c "$ntpd_chroot/dev/clockctl" ]; then
rm -f "$ntpd_chroot/dev/clockctl"
(cd /dev; /bin/pax -rw -pe clockctl \
"$ntpd_chroot/dev")
if [ ! -c "${ntpd_chroot}/dev/clockctl" ]; then
rm -f "${ntpd_chroot}/dev/clockctl"
(cd /dev; /bin/pax -rw -pe clockctl "${ntpd_chroot}/dev")
fi
;;
esac
ln -fs "$ntpd_chroot$ntpd_drift" "$ntpd_drift"
ln -fs "${ntpd_chroot}${ntpd_drift}" "${ntpd_drift}"
command_args="$command_args -u ntpd:ntpd -i $ntpd_chroot"
command_args="${command_args} -u ntpd:ntpd -i ${ntpd_chroot}"
fi
}

View File

@@ -1,32 +1,31 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
vpn=${RC_SVCNAME#*.}
name="OpenVPN"
[ "$vpn" != openvpn ] && name="$name ($vpn)"
[ "${vpn}" != "openvpn" ] && name="${name} (${vpn})"
command=@PKG_PREFIX@/sbin/openvpn
pidfile=@VARBASE@/run/"$RC_SVCNAME".pid
: ${openvpn_dir:=@PKG_PREFIX@/etc/openvpn}
: ${openvpn_config:=$openvpn_dir/$vpn.conf}
command_args="$openvpn_args --daemon --config $openvpn_config"
command_args="$command_args --writepid $pidfile"
required_dirs=$openvpn_dir
required_files=$openvpn_config
pidfile=@VARBASE@/run/"${RC_SVCNAME}".pid
openvpn_dir=${openvpn_dir:-@PKG_PREFIX@/etc/openvpn}
openvpn_config=${openvpn_config:-${openvpn_dir}/${vpn}.conf}
command_args="${openvpn_args} --daemon --config ${openvpn_config} --writepid ${pidfile}"
required_dirs="${openvpn_dir}"
required_files="${openvpn_config}"
# If we're an openvpn client, then supply a nice default config
# You can find sample up/down scripts in the OpenRC support/openvpn dir
if yesno $openvpn_client; then
: ${openvpn_up:=${openvpn_dir}/up.sh}
: ${openvpn_down:=${openvpn_dir}/down.sh}
command_args="$command_args --nobind --up-delay --up-restart --down-pre"
command_args="$command_args --up $openvpn_up"
command_args="$command_args --down $openvpn_down"
required_files="$required_files $openvpn_up $openvpn_down"
if yesno "${openvpn_client}"; then
openvpn_up=${openvpn_up:-${openvpn_dir}/up.sh}
openvpn_down=${openvpn_down:-${openvpn_dir}/down.sh}
command_args="${command_args} --nobind --up-delay --up-restart --down-pre"
command_args="${command_args} --up ${openvpn_up}"
command_args="${command_args} --down ${openvpn_down}"
required_files="${required_files} ${openvpn_up} ${openvpn_down}"
in_background_fake="start stop"
start_inactive=YES
start_inactive="YES"
fi
depend()
@@ -39,7 +38,7 @@ depend()
start_pre()
{
# Linux has good dynamic tun/tap creation
if [ "$RC_UNAME" = Linux ]; then
if [ "${RC_UNAME}" = "Linux" ]; then
if [ ! -e /dev/net/tun ]; then
if ! modprobe tun; then
eerror "TUN/TAP support is not available in this kernel"
@@ -61,7 +60,8 @@ start_pre()
fi
# If the config file does not specify the cd option, we do
if ! grep -q "^[ \t]*cd[ \t].*" "$openvpn_config"; then
command_args="$command_args --cd $openvpn_dir"
# But if we specify it, we override the config option which we do not want
if ! grep -q "^[ \t]*cd[ \t].*" "${openvpn_config}"; then
command_args="${command_args} --cd ${openvpn_dir}"
fi
}

View File

@@ -1,10 +1,10 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/polkitd
pidfile=@VARBASE@/run/polkitd/polkitd.pid
command_args="$polkitd_args"
command_args="${polkitd_args}"
name="PolicyKit Daemon"
depend()

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/sshd
command_args=$sshd_args
command_args=${sshd_args}
pidfile=@VARBASE@/run/sshd.pid
required_files=/etc/ssh/sshd_config
@@ -31,5 +31,5 @@ start_pre()
eend $? || return 1
fi
$command -t
${command} -t
}

View File

@@ -1,70 +0,0 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2009 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/wpa_supplicant
: ${wpa_supplicant_conf:=/etc/wpa_supplicant.conf}
wpa_supplicant_if=${wpa_supplicant_if:+-i}$wpa_supplicant_if
command_args="$wpa_supplicant_args -B -c$wpa_supplicant_conf $wpa_supplicant_if"
name="WPA Supplicant Daemon"
depend()
{
need localmount
use logger
after bootmisc modules
before dns dhcpcd net
keyword -shutdown
}
find_wireless()
{
local iface=
case "$RC_UNAME" in
Linux)
for iface in /sys/class/net/*; do
if [ -e "$iface"/wireless -o \
-e "$iface"/phy80211 ]
then
echo "${iface##*/}"
return 0
fi
done
;;
*)
for iface in /dev/net/* $(ifconfig -l 2>/dev/null); do
if ifconfig "${iface##*/}" 2>/dev/null | \
grep -q "[ ]*ssid "
then
echo "${iface##*/}"
return 0
fi
done
;;
esac
return 1
}
append_wireless()
{
local iface= i=
iface=$(find_wireless)
if [ -n "$iface" ]; then
for i in $iface; do
command_args="$command_args -i$i"
done
else
eerror "Could not find a wireless interface"
fi
}
start_pre()
{
case " $command_args" in
*" -i"*) ;;
*) append_wireless;;
esac
}

40
init.d/.gitignore vendored
View File

@@ -1,40 +0,0 @@
bootmisc
fsck
hostname
local
localmount
moused
net.lo
net.lo0
netmount
network
root
savecache
swap
sysctl
urandom
devfs
dmesg
hwclock
consolefont
keymaps
killprocs
modules
mount-ro
mtab
numlock
procfs
sysfs
devdb
hostid
newsyslog
pf
rarpd
rc-enabled
rpcbind
savecore
swap-blk
syslogd
termencoding
ttys
wscons

View File

@@ -1,26 +1,16 @@
DIR= ${INITDIR}
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
network.in root.in savecache.in swap.in sysctl.in urandom.in
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in \
netmount.in root.in savecache.in swap.in sysctl.in urandom.in
BIN= ${OBJS}
# Build our old net foo or not
_OLDNET_SH= case "${MKOLDNET}" in \
[Yy][Ee][Ss]) echo "net.lo";; \
*) echo "";; \
esac
_OLDNET!= ${_OLDNET_SH}
_NET_LO= ${_OLDNET}$(shell ${_OLDNET_SH})
INSTALLAFTER= _installafter_${_NET_LO}
CLEANFILES+= ${_NET_LO}
TARGETS+= ${_NET_LO}
INSTALLAFTER= _installafter
CLEANFILES+= net.lo
TARGETS+= net.lo
MK= ../mk
include ${MK}/os.mk
include Makefile.${OS}
include ${MK}/scripts.mk
_installafter_: realinstall
_installafter_net.lo: realinstall
_installafter: realinstall
${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
extra_commands="save"
@@ -7,8 +7,8 @@ extra_commands="save"
description="Sets the local clock to UTC or Local Time."
description_save="Saves the current time in the BIOS."
: ${clock:=${CLOCK:-UTC}}
if [ "$clock" = "UTC" ]; then
clock=${clock:-${CLOCK:-UTC}}
if [ "${clock}" = "UTC" ]; then
utc="UTC"
else
utc="Local Time"
@@ -18,17 +18,17 @@ depend()
{
provide clock
# BSD adjkerntz needs to be able to write to /etc
if [ "$clock" = "UTC" -a -e /etc/wall_cmos_clock ] ||
[ "$clock" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
if [ "${clock}" = "UTC" -a -e /etc/wall_cmos_clock ] ||
[ "${clock}" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
need root
fi
keyword -jail -prefix
keyword nojail noprefix
}
start()
{
ebegin "Starting the System Clock Adjuster [${utc}]"
if [ "$clock" != "UTC" ]; then
if [ "${clock}" != "UTC" ]; then
echo >/etc/wall_cmos_clock
start-stop-daemon --start --exec /sbin/adjkerntz -- -i
else
@@ -48,8 +48,8 @@ save()
stop()
{
# Don't tweak the hardware clock on LiveCD halt.
if yesno "${clock_systohc:-$CLOCK_SYSTOHC}"; then
[ -z "$CDBOOT" ] && save
if yesno "${clock_systohc:-${CLOCK_SYSTOHC}}"; then
[ -z "${CDBOOT}" ] && save
fi
ebegin "Stopping the System Clock Adjuster"

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
@@ -8,7 +8,7 @@ depend()
need localmount
before logger
after clock sysctl
keyword -prefix
keyword noprefix
}
dir_writeable()
@@ -16,27 +16,25 @@ dir_writeable()
mkdir "$1"/.test.$$ 2>/dev/null && rmdir "$1"/.test.$$
}
: ${wipe_tmp:=${WIPE_TMP:-yes}}
cleanup_tmp_dir()
{
local dir="$1"
if ! [ -d "$dir" ]; then
mkdir -p "$dir" || return $?
if ! [ -d "${dir}" ]; then
mkdir -p "${dir}" || return $?
fi
dir_writeable "$dir" || return 1
chmod a+rwt "$dir"
cd "$dir"
if yesno $wipe_tmp; then
ebegin "Wiping $dir directory"
dir_writeable "${dir}" || return 1
chmod +t "${dir}"
cd "${dir}"
if yesno ${wipe_tmp:-${WIPE_TMP:-yes}}; then
ebegin "Wiping ${dir} directory"
local startopts="-x . -depth"
[ "$RC_UNAME" = Linux ] && startopts=". -xdev -depth"
[ "${RC_UNAME}" = "Linux" ] && startopts=". -xdev -depth"
# Faster than find
rm -rf -- [^ajlq\.]*
rm -rf -- [b-ikm-pr-zA-Z0-9\.]*
find $startopts ! -name . \
find ${startopts} ! -name . \
! -path "./lost+found" \
! -path "./lost+found/*" \
! -path "./quota.user" \
@@ -54,35 +52,23 @@ cleanup_tmp_dir()
-exec rm -rf {} \;
eend 0
else
ebegin "Cleaning $dir directory"
rm -rf -- "$dir"/.X*-lock "$dir"/esrv* "$dir"/kio* \
"$dir"/jpsock.* "$dir"/.fam* "$dir"/.esd* \
"$dir"/orbit-* "$dir"/ssh-* "$dir"/ksocket-* \
"$dir"/.*-unix
ebegin "Cleaning ${dir} directory"
rm -rf -- "${dir}"/.X*-lock "${dir}"/esrv* "${dir}"/kio* \
"${dir}"/jpsock.* "${dir}"/.fam* "${dir}"/.esd* \
"${dir}"/orbit-* "${dir}"/ssh-* "${dir}"/ksocket-* \
"${dir}"/.*-unix
eend 0
fi
}
mkutmp()
{
: >"$1"
# Not all systems have the utmp group
chgrp utmp "$1" 2>/dev/null
chmod 0664 "$1"
}
start()
{
# Remove any added console dirs
rm -rf "$RC_LIBEXECDIR"/console
local logw=false runw=false extra=
local logw=false
# Ensure that our basic dirs exist
[ "$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"
for x in /var/log /var/run /tmp; do
if ! [ -d "${x}" ]; then
if ! mkdir -p "${x}"; then
eend 1 "failed to create needed directory ${x}"
return 1
fi
fi
@@ -90,12 +76,15 @@ start()
if dir_writeable /var/run; then
ebegin "Creating user login records"
local xtra=
[ "$RC_UNAME" = NetBSD ] && xtra=x
for x in "" $xtra; do
mkutmp /var/run/utmp$x
done
[ -e /var/log/wtmp ] && mkutmp /var/log/wtmp
cp /dev/null /var/run/utmp
chgrp utmp /var/run/utmp
chmod 0664 /var/run/utmp
if dir_writeable /var/log; then
logw=true
[ -e /var/log/wtmp ] || cp /dev/null /var/log/wtmp
chgrp utmp /var/log/wtmp
chmod 0664 /var/log/wtmp
fi
eend 0
ebegin "Cleaning /var/run"
@@ -104,30 +93,30 @@ start()
! -name ld-elf.so.hints ! -name ld.so.hints);
do
# Clean stale sockets
if [ -S "$x" ]; then
if [ -S "${x}" ]; then
if type fuser >/dev/null 2>&1; then
fuser "$x" >/dev/null 2>&1 || rm -- "$x"
fuser "${x}" 2>/dev/null || rm "${x}"
else
rm -- "$x"
rm "${x}"
fi
fi
[ ! -f "$x" ] && continue
[ ! -f "${x}" ] && continue
# Do not remove pidfiles of already running daemons
case "$x" in
case "${x}" in
*.pid)
start-stop-daemon --test --quiet \
--stop --pidfile "$x" && continue
--stop --pidfile "${x}" && continue
;;
esac
rm -f -- "$x"
rm -f -- "${x}"
done
eend 0
fi
# Clean up /tmp directories
local tmp=
for tmp in ${clean_tmp_dirs:-${wipe_tmp_dirs-/tmp}}; do
cleanup_tmp_dir "$tmp"
for tmp in ${wipe_tmp_dirs-/tmp}; do
cleanup_tmp_dir "${tmp}"
done
if dir_writeable /tmp; then
@@ -137,32 +126,27 @@ start()
rm -rf /tmp/.ICE-unix /tmp/.X11-unix
mkdir -p /tmp/.ICE-unix /tmp/.X11-unix
chmod 1777 /tmp/.ICE-unix /tmp/.X11-unix
if [ -x /sbin/restorecon ]; then
restorecon /tmp/.ICE-unix /tmp/.X11-unix
fi
[ -x /sbin/restorecon ] && restorecon /tmp/.ICE-unix /tmp/.X11-unix
fi
if $logw || dir_writeable /var/log; then
if ${logw} || dir_writeable /var/log; then
# Create an 'after-boot' dmesg log
if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
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
rm -f /etc/nologin
return 0
}
stop()
{
# Write a halt record if we're shutting down
if [ "$RC_RUNLEVEL" = shutdown ]; then
[ "$RC_UNAME" = Linux ] && halt -w
if [ "$RC_SYS" = OPENVZ ]; then
yesno $RC_REBOOT && printf "" >/reboot
fi
fi
case "${RC_RUNLEVEL}" in
reboot|shutdown) [ "${RC_UNAME}" = "Linux" ] && halt -w;;
esac
return 0
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Sets a font for the consoles."
@@ -7,24 +7,27 @@ description="Sets a font for the consoles."
depend()
{
need localmount termencoding
after hotplug bootmisc
keyword -openvz -prefix -uml -vserver -xenu
after hotplug
keyword noopenvz noprefix nouml novserver noxenu
}
start()
{
# Forget about any font until we are successful
rm -rf "${RC_LIBDIR}"/console
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
consolefont=${consolefont:-${CONSOLEFONT}}
unicodemap=${unicodemap:-${UNICODEMAP}}
consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}}
if [ -z "$consolefont" ]; then
if [ -z "${consolefont}" ]; then
ebegin "Using the default console font"
eend 0
return 0
fi
if [ "$ttyn" = 0 ]; then
if [ "${ttyn}" = 0 ]; then
ebegin "Skipping font setup (rc_tty_number == 0)"
eend 0
return 0
@@ -33,41 +36,39 @@ start()
local x= param= sf_param= retval=0 ttydev=/dev/tty
# Get additional parameters
if [ -n "$consoletranslation" ]; then
param="$param -m $consoletranslation"
if [ -n "${consoletranslation}" ]; then
param="${param} -m ${consoletranslation}"
fi
if [ -n "${unicodemap}" ]; then
param="$param -u $unicodemap"
param="${param} -u ${unicodemap}"
fi
# Set the console font
ebegin "Setting console font [$consolefont]"
ebegin "Setting console font [${consolefont}]"
[ -d /dev/vc ] && ttydev=/dev/vc/
x=1
while [ $x -le $ttyn ]; do
if ! setfont $consolefont $param -C $ttydev$x >/dev/null; then
retval=1
break
fi
x=$(($x + 1))
while [ ${x} -le ${ttyn} ]; do
setfont ${consolefont} ${param} -C ${ttydev}${x} >/dev/null
retval=$((${retval} + $?))
x=$((${x} + 1))
done
eend $retval
eend ${retval}
# Store the last font so we can use it ASAP on boot
if [ $retval -eq 0 -a -w "$RC_LIBEXECDIR" ]; then
mkdir -p "$RC_LIBEXECDIR"/console
for font in /usr/share/consolefonts/"$consolefont".*; do
if [ ${retval} -eq 0 -a -w "${RC_LIBDIR}" ]; then
mkdir -p "${RC_LIBDIR}"/console
for font in /usr/share/consolefonts/"${consolefont}".*; do
:
done
cp "$font" "$RC_LIBEXECDIR"/console
echo "${font##*/}" >"$RC_LIBEXECDIR"/console/font
cp "${font}" "${RC_LIBDIR}"/console
echo "${font##*/}" > "${RC_LIBDIR}"/console/font
if yesno ${unicode:-${UNICODE}}; then
echo "" > "$RC_LIBEXECDIR"/console/unicode
echo "" > "${RC_LIBDIR}"/console/unicode
else
rm -f "$RC_LIBEXECDIR"/console/unicode
rm -f "${RC_LIBDIR}"/console/unicode
fi
fi
return $retval
return ${retval}
}

View File

@@ -1,16 +1,16 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/sbin/devd
command_args=$devd_args
command_args=${devd_args}
name="Device State Change Daemon"
depend() {
need localmount
after bootmisc
before net.lo0
keyword -jail -prefix
keyword nojail noprefix
}
start_pre() {

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2008 Roy Marples <roy@marples.name>
# Copyright 2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Creates the dev database"

View File

@@ -1,12 +1,12 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Mount system critical filesystems in /dev."
depend() {
use dev
keyword -prefix -vserver
keyword noprefix
}
start() {
@@ -15,19 +15,19 @@ start() {
"devpts /dev/pts 0755 ,gid=5,mode=0620 devpts" \
"tmpfs /dev/shm 1777 ,nodev shm" \
; do
set -- $x
set -- ${x}
grep -Eq "[[:space:]]+$1$" /proc/filesystems || continue
mountinfo -q $2 && continue
mountinfo -q "$2" && continue
if [ ! -d $2 ]; then
mkdir -m $3 -p $2 >/dev/null 2>&1 || \
if [ ! -d "$2" ]; then
mkdir -m "$3" -p "$2" >/dev/null 2>&1 || \
ewarn "Could not create $2!"
fi
if [ -d $2 ]; then
if [ -d "$2" ]; then
ebegin "Mounting $2"
if ! fstabinfo --mount $2; then
mount -n -t $1 -o noexec,nosuid$4 $5 $2
if ! fstabinfo --mount "$2"; then
mount -n -t "$1" -o noexec,nosuid"$4" "$5" "$2"
fi
eend $?
fi

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Set the dmesg level for a cleaner boot"
@@ -7,12 +7,11 @@ description="Set the dmesg level for a cleaner boot"
depend()
{
before dev modules
keyword -vserver
}
start()
{
if [ -n "$dmesg_level" ]; then
dmesg -n$dmesg_level
if [ -n "${dmesg_level}" ]; then
dmesg -n"${dmesg_level}"
fi
}

View File

@@ -1,18 +1,18 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Configures a specific kernel dump device."
depend() {
need swap
keyword -jail -prefix
keyword nojail noprefix
}
start() {
# Setup any user requested dump device
if [ -n "$dump_device" ]; then
ebegin "Activating kernel core dump device ($dump_device)"
if [ -n "${dump_device}" ]; then
ebegin "Activating kernel core dump device (${dump_device})"
dumpon ${dump_device}
eend $?
fi

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Check and repair filesystems according to /etc/fstab"
@@ -9,7 +9,7 @@ _IFS="
depend()
{
use dev clock modules
keyword -jail -openvz -prefix -timeout -vserver
keyword nojail noopenvz noprefix notimeout novserver
}
_abort() {
@@ -19,49 +19,12 @@ _abort() {
# We should only reboot when first booting
_reboot() {
if [ "$RC_RUNLEVEL" = "$RC_BOOTLEVEL" ]; then
if [ "${RC_RUNLEVEL}" = "${RC_BOOTLEVEL}" ]; then
reboot "$@"
_abort || return 1
fi
}
_forcefsck()
{
[ -e /forcefsck ] || get_bootparam forcefsck
}
_on_ac_power()
{
if [ -f /proc/acpi/ac_adapter/AC/state ]; then
cat /proc/acpi/ac_adapter/AC/state | while read line; do
case "$line" in
"state:"*"off-line") return 128;;
esac
done
elif [ -f /proc/pmu/info ]; then
cat /proc/pmu/info | while read line; do
case "$line" in
"AC Power"*": 0") return 128;;
esac
done
elif type envstat >/dev/null 2>&1; then
# NetBSD has envstat
envstat -d acpiacad0 2>/dev/null | while read line; do
case "$line" in
"connected:"*"OFF") return 128;;
esac
done
elif sysctl -q hw.acpi.acline >/dev/null 2>/dev/null; then
case $(sysctl -n hw.acpi.acline) in
0) return 1;;
*) return 0;;
esac
else
return 0
fi
[ $? != 128 ]
}
start()
{
local fsck_opts= p= check_extra=
@@ -70,54 +33,49 @@ start()
ewarn "Skipping fsck due to /fastboot"
return 0
fi
if _forcefsck; then
fsck_opts="$fsck_opts -f"
if [ -e /forcefsck ] || get_bootparam forcefsck; then
fsck_opts="${fsck_opts} -f"
check_extra="(check forced)"
elif ! _on_ac_power; then
ewarn "Skipping fsck due to not being on AC power"
return 0
fi
if [ -n "$fsck_passno" ]; then
check_extra="[passno $fsck_passno] $check_extra"
if [ -n "${fsck_passno}" ]; then
check_extra="[passno ${fsck_passno}] ${check_extra}"
fi
ebegin "Checking local filesystems $check_extra"
for p in $fsck_passno; do
local IFS="$_IFS"
case "$p" in
[0-9]*) p="=$p";;
ebegin "Checking local filesystems ${check_extra}"
for p in ${fsck_passno}; do
local IFS="${_IFS}"
case "${p}" in
[0-9]*) p="=${p}";;
esac
set -- "$@" $(fstabinfo --passno "$p")
set -- "$@" $(fstabinfo --passno "${p}")
unset IFS
done
if [ "$RC_UNAME" = Linux ]; then
fsck_opts="$fsck_opts -C0 -T"
if [ -z "$fsck_passno" ]; then
if [ "${RC_UNAME}" = "Linux" ]; 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.$$
fsck_opts="$fsck_opts -R"
fsck_opts="${fsck_opts} -R"
fi
fi
fi
trap : INT QUIT
fsck ${fsck_args--p} $fsck_opts "$@"
fsck ${fsck_args--p} ${fsck_opts} "$@"
case $? in
0) eend 0; return 0;;
1) ewend 1 "Filesystems repaired"; return 0;;
2|3) if [ "$RC_UNAME" = Linux ]; then
2|3) if [ "${RC_UNAME}" = "Linux" ]; then
ewend 1 "Filesystems repaired, but reboot needed"
_reboot -f
else
ewend 1 "Filesystems still have errors;" \
"manual fsck required"
_abort
ewend 1 "Filesystems still have errors; manual fsck required"
fi;;
4) if [ "$RC_UNAME" = Linux ]; then
ewend 1 "Fileystem errors left uncorrected, aborting"
_abort
4) if [ "${RC_UNAME}" = "Linux" ]; then
ewend 1 "Fileystem errors left uncorrected"
return 0
else
ewend 1 "Filesystems repaired, but reboot needed"
_reboot
@@ -134,8 +92,7 @@ stop()
# Fake function so we always shutdown correctly.
_abort() { return 0; }
_reboot() { return 0; }
_forcefsck() { return 1; }
yesno $fsck_shutdown && start
yesno "${fsck_shutdown}" && start
return 0
}

View File

@@ -1,15 +1,15 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
extra_commands="reset"
: ${hostid_file:=/etc/hostid}
hostid_file=${hostid_file:-/etc/hostid}
depend()
{
use root
need root
before devd net
keyword -jail -prefix
keyword nojail noprefix
}
_set()
@@ -20,14 +20,14 @@ _set()
id=$(echo "$1" | md5)
id="0x${id%????????????????????????}"
fi
ebegin "Setting Host ID: $id"
sysctl -w kern.hostid="$id" >/dev/null
ebegin "Setting Host ID: ${id}"
sysctl -w kern.hostid="${id}" >/dev/null
eend $? || return 1
if sysctl -n kern.hostuuid >/dev/null 2>&1; then
[ -n "$1" ] && id=$1
ebegin "Setting Host UUID: $id"
sysctl kern.hostuuid="$id" >/dev/null
ebegin "Setting Host UUID: ${id}"
sysctl kern.hostuuid="${id}" >/dev/null
eend $? || return 1
fi
@@ -38,37 +38,37 @@ _set()
# otherwise we generate a random UUID.
reset()
{
local uuid= x="[0-9a-f]" y="$x$x$x$x"
local uuid= x="[0-9a-f]" y="${x}${x}${x}${x}"
if type kenv >/dev/null 2>&1; then
uuid=$(kenv smbios.system.uuid 2>/dev/null)
fi
case "$uuid" in
$y$y-$y-$y-$y-$y$y$y);;
case "${uuid}" in
${y}${y}-${y}-${y}-${y}-${y}${y}${y});;
*) uuid=;;
esac
if [ -n "$uuid" ]; then
rm -f "$hostid_file"
if [ -n "${uuid}" ]; then
rm -f "${hostid_file}"
else
uuid=$(uuidgen)
if [ -z "$uuid" ]; then
if [ -z "${uuid}" ]; then
eerror "Unable to generate a UUID"
return 1
fi
if ! echo "$uuid" >"$hostid_file"; then
eerror "Failed to store UUID in \`$hostid_file'"
if ! echo "${uuid}" > "${hostid_file}"; then
eerror "Failed to store UUID in \`${hostid_file}'"
return 1
fi
fi
_set "$uuid"
_set "${uuid}"
}
start()
{
if [ -r "$hostid_file" ]; then
_set $(cat "$hostid_file")
if [ -r "${hostid_file}" ]; then
_set $(cat "${hostid_file}")
else
reset
fi

View File

@@ -1,17 +1,17 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Sets the hostname of the machine."
depend() {
keyword -prefix
keyword noprefix
}
start()
{
hostname=${hostname-${HOSTNAME-localhost}}
ebegin "Setting hostname to $hostname"
hostname "$hostname"
ebegin "Setting hostname to ${hostname}"
hostname "${hostname}"
eend $? "Failed to set the hostname"
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
extra_commands="save show"
@@ -8,11 +8,12 @@ description="Sets the local clock to UTC or Local Time."
description_save="Saves the current time in the BIOS."
description_show="Displays the current time in the BIOS."
: ${clock_adjfile:=${CLOCK_ADJFILE}}
: ${clock_args:=${CLOCK_OPTS}}
: ${clock_systohc:=${CLOCK_SYSTOHC}}
: ${clock:=${CLOCK:-UTC}}
if [ "$clock" = "UTC" ]; then
clock_adjfile=${clock_adjfile:-${CLOCK_ADJFILE}}
clock_args=${clock_args:-${CLOCK_OPTS}}
clock_systohc=${clock_systohc:-${CLOCK_SYSTOHC}}
clock=${clock:-${CLOCK:-UTC}}
if [ "${clock}" = "UTC" ]; then
utc="UTC"
utc_cmd="--utc"
else
@@ -23,12 +24,12 @@ fi
depend()
{
provide clock
if yesno $clock_adjfile; then
if yesno ${clock_adjfile}; then
use root
else
before *
fi
keyword -openvz -prefix -uml -vserver -xenu
keyword noopenvz noprefix nouml novserver noxenu
}
setupopts()
@@ -46,7 +47,7 @@ setupopts()
;;
esac
case "$utc" in
case "${utc}" in
UTC|Local" "Time);;
*) unset utc_cmd;;
esac
@@ -57,7 +58,7 @@ _hwclock()
{
local err="$(hwclock "$@" 2>&1 >/dev/null)"
[ -z "$err" ] && return 0
[ -z "${err}" ] && return 0
echo "${err}" >&2
return 1
}
@@ -67,38 +68,38 @@ start()
local retval=0 errstr=""
setupopts
if [ -z "$utc_cmd" ]; then
ewarn "Not setting clock for $utc system"
if [ -z "${utc_cmd}" ]; then
ewarn "Not setting clock for ${utc} system"
return 0
fi
ebegin "Setting system clock using the hardware clock [$utc]"
ebegin "Setting system clock using the hardware clock [${utc}]"
if [ -e /proc/modules ]; then
local rtc=
for rtc in /dev/rtc /dev/rtc[0-9]*; do
[ -e "$rtc" ] && break
[ -e "${rtc}" ] && break
done
if [ ! -e "${rtc}" ]; then
modprobe -q rtc-cmos || modprobe -q rtc || modprobe -q genrtc
fi
fi
if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
_hwclock --adjust $utc_cmd
retval=$(($retval + $?))
if [ -e /etc/adjtime ] && yesno ${clock_adjfile}; then
_hwclock --adjust ${utc_cmd}
retval=$((${retval} + $?))
fi
# If setting UTC, don't bother to run hwclock when first booting
# as that's the default
if [ "$PREVLEVEL" != N -o \
"$utc_cmd}" != --utc -o \
-n "$clock_args" ];
if [ "${PREVLEVEL}" != "N" -o \
"${utc_cmd}" != "--utc" -o \
-n "${clock_args}" ];
then
_hwclock --hctosys $utc_cmd $clock_args
retval=$(($retval + $?))
_hwclock --hctosys ${utc_cmd} ${clock_args}
retval=$((${retval} + $?))
fi
eend $retval "Failed to set the system clock"
eend ${retval} "Failed to set the system clock"
return 0
}
@@ -106,37 +107,37 @@ start()
stop()
{
# Don't tweak the hardware clock on LiveCD halt.
[ -n "$CDBOOT" ] && return 0
yesno $clock_systohc || return 0
[ -n "${CDBOOT}" ] && return 0
yesno ${clock_systohc} || return 0
local retval=0 errstr=""
setupopts
[ -z "$utc_cmd" ] && return 0
[ -z "${utc_cmd}" ] && return 0
ebegin "Setting hardware clock using the system clock" "[$utc]"
ebegin "Setting hardware clock using the system clock" "[${utc}]"
if ! yesno $clock_adjfile; then
if ! yesno "${clock_adjfile}"; then
# Some implementations don't handle adjustments
if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then
utc_cmd="$utc_cmd --noadjfile"
if LC_ALL=C hwclock --help | grep -q "\-\-noadjfile"; then
utc_cmd="${utc_cmd} --noadjfile"
fi
fi
_hwclock --systohc $utc_cmd $clock_args
_hwclock --systohc ${utc_cmd} ${clock_args}
retval=$?
eend $retval "Failed to sync clocks"
eend ${retval} "Failed to sync clocks"
}
save()
{
clock_systohc=yes
clock_systohc="yes"
stop
}
show()
{
setupopts
hwclock --show "$utc_cmd" $clock_args
hwclock --show "${utc_cmd}" ${clock_args}
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
# This is based on /etc/rc.firewall and /etc/rc.firewall6 from FreeBSD
@@ -13,7 +13,7 @@ opts="panic showstatus"
depend() {
before net
provide firewall
keyword -jail
keyword nojail
}
ipfw() {
@@ -95,24 +95,24 @@ start() {
# Add permits for this workstations published services below
# Only IPs and nets in firewall_allowservices is allowed in.
for i in $ipfw_ip_in; do
for p in $ipfw_ports_in; do
ipfw add pass tcp from $i to me $p
for i in ${ipfw_ip_in}; do
for p in ${ipfw_ports_in}; do
ipfw add pass tcp from ${i} to me ${p}
done
done
# Allow all connections from trusted IPs.
# Playing with the content of firewall_trusted could seriously
# degrade the level of protection provided by the firewall.
for i in $ipfw_ip_trust; do
ipfw add pass ip from $i to me
for i in ${ipfw_ip_trust}; do
ipfw add pass ip from ${i} to me
done
ipfw add 65000 count ip from any to any
# Drop packets to ports where we don't want logging
for p in $ipfw_ports_nolog; do
ipfw add deny { tcp or udp } from any to any $p in
for p in ${ipfw_ports_nolog}; do
ipfw add deny { tcp or udp } from any to any ${p} in
done
# Broadcasts and muticasts
@@ -129,10 +129,10 @@ start() {
# Deny and (if wanted) log the rest unconditionally.
if yesno ${ipfw_log_deny:-no}; then
log=log
log="log"
sysctl net.inet.ip.fw.verbose=1 >/dev/null
fi
ipfw add deny $log ip from any to any
ipfw add deny ${log} ip from any to any
eend 0
}

View File

@@ -1,27 +1,26 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Applies a keymap for the consoles."
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
unicode=${unicode:-${UNICODE}}
keymap=${keymap:-${KEYMAP}}
extended_keymaps=${extended_keymaps:-${EXTENDED_KEYMAPS}}
windowkeys=${windowkeys:-${SET_WINDOWSKEYS}}
fix_euro=${fix_euro:-${FIX_EURO}}
dumpkeys_charset=${dumpkeys_charset:-${DUMPKEYS_CHARSET}}
depend()
{
need localmount termencoding
after bootmisc
keyword -openvz -prefix -uml -vserver -xenu
keyword noopenvz noprefix nouml novserver noxenu
}
start()
{
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
: ${unicode:=$UNICODE}
: =${keymap:=$KEYMAP}
: ${extended_keymaps:=$EXTENDED_KEYMAPS}
: ${windowkeys:=$SET_WINDOWSKEYS}
: ${fix_euro:=$FIX_EURO}
: ${dumpkeys_charset:=${DUMPKEYS_CHARSET}}
if [ -z "$keymap" ]; then
if [ -z "${keymap}" ]; then
eerror "You need to setup keymap in /etc/conf.d/keymaps first"
return 1
fi
@@ -34,18 +33,18 @@ start()
echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
fi
ebegin "Loading key mappings [$keymap]"
ebegin "Loading key mappings [${keymap}]"
local loadkeys_uni= wkeys= kmode="-a" msg="ASCII"
if yesno $unicode; then
if yesno ${unicode}; then
loadkeys_uni="--unicode"
kmode="-u"
msg="UTF-8"
fi
yesno $windowkeys && wkeys="windowkeys"
loadkeys -q $loadkeys_uni $wkeys $keymap $extended_keymaps
yesno ${windowkeys} && wkeys="windowkeys"
loadkeys -q ${loadkeys_uni} ${wkeys} ${keymap} ${extended_keymaps}
eend $? "Error loading key mappings" || return $?
if yesno $fix_euro; then
if yesno ${fix_euro}; then
ebegin "Fixing font for euro symbol"
# Fix some fonts displaying the Euro, #173528.
echo "altgr keycode 18 = U+20AC" | loadkeys -q
@@ -54,21 +53,15 @@ start()
# Set terminal encoding to either ASCII or UNICODE.
# See utf-8(7) for more information.
ebegin "Setting keyboard mode [$msg]"
if yesno $unicode; then
ebegin "Setting keyboard mode [${msg}]"
if yesno ${unicode}; then
dumpkeys ${dumpkeys_charset:+-c} \
$dumpkeys_charset | loadkeys --unicode
${dumpkeys_charset} | loadkeys --unicode
fi
n=1
while [ $n -le $ttyn ]; do
kbd_mode $kmode -C $ttydev$n
n=$(($n + 1))
while [ ${n} -le "${ttyn}" ]; do
kbd_mode "${kmode}" -C "${ttydev}${n}"
n=$((${n} + 1))
done
eend 0
# Save the keymapping for use immediately at boot
if [ -w "$RC_LIBEXECDIR" ]; then
mkdir -p "$RC_LIBEXECDIR"/console
dumpkeys >"$RC_LIBEXECDIR"/console/keymap
fi
}

View File

@@ -1,12 +1,12 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Kill all processes so we can unmount disks cleanly."
depend()
{
keyword -prefix
keyword noprefix
}
start()

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Executes user commands in /etc/conf.d/local"
@@ -7,7 +7,7 @@ description="Executes user commands in /etc/conf.d/local"
depend()
{
after *
keyword -timeout
keyword notimeout
}
start()

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Mounts disks and swap according to /etc/fstab."
@@ -8,19 +8,19 @@ depend()
{
need fsck
use lvm modules mtab
keyword -jail -openvz -prefix -vserver
keyword nojail noopenvz noprefix novserver
}
start()
{
# Mount local filesystems in /etc/fstab.
local types="noproc" x=
for x in $net_fs_list; do
for x in ${net_fs_list}; do
types="${types},${x}"
done
ebegin "Mounting local filesystems"
mount -at "$types"
mount -at "${types}"
eend $? "Some local filesystem failed to mount"
# Always return 0 - some local mounts may not be critical for boot
@@ -31,33 +31,39 @@ stop()
{
# We never unmount / or /dev or $RC_SVCDIR
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
OIFS=$IFS SIFS=${IFS-y}
OIFS=${IFS} SIFS=${IFS-y}
IFS=$IFS:
for x in $no_umounts $RC_NO_UMOUNTS; do
no_umounts_r="$no_umounts_r|$x"
for x in ${no_umounts} ${RC_NO_UMOUNTS}; do
no_umounts_r="${no_umounts_r}|${x}"
done
if [ "$SIFS" = y ]; then
if [ "${SIFS}" = "y" ]; then
IFS=$OIFS
else
unset IFS
fi
if [ "$RC_UNAME" = Linux ]; then
no_umounts_r="$no_umounts_r|/proc|/proc/.*|/sys|/sys/.*"
if [ "${RC_UNAME}" = "Linux" ]; then
no_umounts_r="${no_umounts_r}|/proc|/proc/.*|/sys|/sys/.*"
fi
no_umounts_r="^($no_umounts_r)$"
no_umounts_r="^(${no_umounts_r})$"
# Flush all pending disk writes now
sync; sync
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
# Try to unmount all tmpfs filesystems not in use, else a deadlock may
# occure, bug #13599.
# As $RC_SVCDIR may also be tmpfs we cd to it to lock it
cd "${RC_SVCDIR}"
umount -a -t tmpfs 2>/dev/null
. "${RC_LIBDIR}"/sh/rc-mount.sh
# Umount loopback devices
einfo "Unmounting loopback devices"
eindent
do_unmount "umount -d" --skip-point-regex "$no_umounts_r" \
do_unmount "umount -d" --skip-point-regex "${no_umounts_r}" \
--node-regex "^/dev/loop"
eoutdent
@@ -66,12 +72,12 @@ stop()
einfo "Unmounting filesystems"
eindent
local fs=
for x in $net_fs_list; do
fs="$fs${fs:+|}$x"
for x in ${net_fs_list}; do
fs="${fs}${fs:+|}${x}"
done
[ -n "$fs" ] && fs="^($fs)$"
do_unmount umount --skip-point-regex "$no_umounts_r" \
${fs:+--skip-fstype-regex} $fs --nonetdev
[ -n "${fs}" ] && fs="^(${fs})$"
do_unmount "umount" --skip-point-regex "${no_umounts_r}" \
${fs:+--skip-fstype-regex} ${fs} --nonetdev
eoutdent
return 0

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
extra_commands="restore"
@@ -7,7 +7,7 @@ extra_commands="restore"
depend()
{
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
restore()
@@ -17,8 +17,8 @@ restore()
eindent
for mixer in /dev/mixer*; do
if [ -r "/var/db/${mixer#/dev/}-state" ]; then
vebegin "$mixer"
mixer -f "$mixer" \
vebegin "${mixer}"
mixer -f "${mixer}" \
$(cat "/var/db/${mixer#/dev/}-state") >/dev/null
veend $?
: $((retval += $?))
@@ -37,11 +37,11 @@ stop()
ebegin "Saving mixer settings"
eindent
for mixer in /dev/mixer*; do
vebegin "$mixer"
mixer -f "$mixer" -s >/var/db/"${mixer#/dev/}"-state
vebegin "${mixer}"
mixer -f "${mixer}" -s >/var/db/"${mixer#/dev/}"-state
veend $?
: $((retval += $?))
done
eoutdent
eend $retval
eend ${retval}
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Loads a user defined list of kernel modules."
@@ -7,7 +7,7 @@ description="Loads a user defined list of kernel modules."
depend()
{
use isapnp
keyword -openvz -prefix -vserver
keyword noopenvz noprefix novserver
}
start()
@@ -24,40 +24,40 @@ start()
local KV_MICRO=${x%%-*}
local list= x= xx= y= args= mpargs= cnt=0 a=
for x in "$KV" \
$KV_MAJOR.$KV_MINOR.$KV_MICRO \
$KV_MAJOR.$KV_MINOR \
for x in "${KV}" \
${KV_MAJOR}.${KV_MINOR}.${KV_MICRO} \
${KV_MAJOR}.${KV_MINOR} \
; do
eval list=\$modules_$(shell_var "$x")
[ -n "$list" ] && break
eval list=\$modules_$(shell_var "${x}")
[ -n "${list}" ] && break
done
[ -z "$list" ] && list=$modules
[ -z "${list}" ] && list=${modules}
for x in $list; do
for x in ${list}; do
a=${x#*:}
if [ "$a" = "$x" ]; then
if [ "${a}" = "${x}" ]; then
unset mpargs
ebegin "Loading module $x"
ebegin "Loading module ${x}"
else
x=${x%%:*}
mpargs="-o $a"
ebegin "Loading module $x as $a"
mpargs="-o ${a}"
ebegin "Loading module ${x} as ${a}"
fi
aa=$(shell_var "$a")
xx=$(shell_var "$x")
for y in "$KV" \
$KV_MAJOR.$KV_MINOR.$KV_MICRO \
$KV_MAJOR.$KV_MINOR \
aa=$(shell_var "${a}")
xx=$(shell_var "${x}")
for y in "${KV}" \
${KV_MAJOR}.${KV_MINOR}.${KV_MICRO} \
${KV_MAJOR}.${KV_MINOR} \
; do
eval args=\$module_${aa}_args_$(shell_var "$y")
eval args=\$module_${aa}_args_$(shell_var "${y}")
[ -n "${args}" ] && break
eval args=\$module_${xx}_args_$(shell_var "$y")
eval args=\$module_${xx}_args_$(shell_var "${y}")
[ -n "${args}" ] && break
done
[ -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=$(($cnt + 1))
[ -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=$((${cnt} + 1))
done
einfo "Autoloaded $cnt module(s)"
einfo "Autoloaded ${cnt} module(s)"
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Re-mount filesytems read-only for a clean reboot."
@@ -7,7 +7,7 @@ description="Re-mount filesytems read-only for a clean reboot."
depend()
{
need killprocs savecache
keyword -prefix -openvz -vserver
keyword noprefix noopenvz novserver
}
start()
@@ -17,30 +17,29 @@ start()
ebegin "Remounting remaining filesystems read-only"
# We need the do_unmount function
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
. "${RC_LIBDIR}"/sh/rc-mount.sh
eindent
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 OIFS=$IFS SIFS=${IFS-y} IFS=$IFS
IFS=$IFS:
for x in $no_umounts $RC_NO_UMOUNTS; do
m="$m|$x"
for x in ${no_umounts} ${RC_NO_UMOUNTS}; do
m="${m}|${x}"
done
if [ "$SIFS" = y ]; then
if [ "${SIFS}" = y ]; then
IFS=$OIFS
else
unset IFS
fi
m="^($m)$"
m="^(${m})$"
fs=
for x in $net_fs_list; do
fs="$fs${fs:+|}$x"
for x in ${net_fs_list}; do
fs="${fs}${fs:+|}${x}"
done
[ -n "$fs" ] && fs="^($fs)$"
[ -n "${fs}" ] && fs="^(${fs})$"
do_unmount "umount -r" \
--skip-point-regex "$m" \
${fs:+--skip-fstype-regex} $fs --nonetdev
--skip-point-regex "${m}" \
${fs:+--skip-fstype-regex} ${fs} --nonetdev
eoutdent
eend $?
}

View File

@@ -1,62 +1,62 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
mouse=${RC_SVCNAME##*.}
if [ -n "$mouse" -a "$mouse" != "moused" ]; then
moused_device=/dev/"$mouse"
pidfile=/var/run/moused-"$mouse".pid
if [ -n "${name}" -a "${mouse}" != "moused" ]; then
moused_device=/dev/"${mouse}"
pidfile=/var/run/moused-"${mouse}".pid
else
pidfile=/var/run/moused.pid
fi
name="Console Mouse Daemon"
[ -n "$moused_device" ] && name="$name ($moused_device)"
[ -n "${moused_device}" ] && name="${name} (${moused_device})"
depend()
{
need localmount
after bootmisc
keyword -jail -prefix
keyword nojail noprefix
}
start()
{
ebegin "Starting $name"
ebegin "Starting ${name}"
if [ -z "$moused_device" ]; then
if [ -z "${moused_device}" ]; then
local dev=
for dev in /dev/psm[0-9]* /dev/ums[0-9]*; do
[ -c "$dev" ] || continue
[ -c "${dev}" ] || continue
[ -e /var/run/moused-"${dev##*/}".pid ] && continue
moused_device=$dev
moused_device=${dev}
eindent
einfo "Using mouse on $moused_device"
einfo "Using mouse on ${moused_device}"
eoutdent
break
done
fi
if [ -z "$moused_device" ]; then
if [ -z "${moused_device}" ]; then
eend 1 "No mouse device found"
return 1
fi
local args=
eval args=\$moused_args_${moused_device##*/}
[ -z "$args" ] && args=$moused_args
[ -z "${args}" ] && args=${moused_args}
start-stop-daemon --start --exec /usr/sbin/moused \
--pidfile "$pidfile" \
-- $args -p "$moused_device" -I "$pidfile"
--pidfile "${pidfile}" \
-- ${args} -p "${moused_device}" -I "${pidfile}"
local retval=$?
if [ $retval = 0 ]; then
if [ ${retval} = 0 ]; then
local ttyv=
for ttyv in /dev/ttyv*; do
vidcontrol < "$ttyv" -m on
vidcontrol < "${ttyv}" -m on
: $((retval+= $?))
done
fi
eend $retval "Failed to start moused"
eend ${retval} "Failed to start moused"
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Update /etc/mtab to match what the kernel knows about"
@@ -7,17 +7,11 @@ description="Update /etc/mtab to match what the kernel knows about"
depend()
{
need root
keyword -prefix
keyword noprefix
}
start()
{
# /etc/mtab could be a symlink to /proc/mounts
if [ ! -w /etc/mtab -a -L /etc/mtab ]; then
eeinfo "Skipping mtab update (non writeable symlink)"
return 0
fi
ebegin "Updating /etc/mtab"
if ! echo 2>/dev/null >/etc/mtab; then
ewend 1 "/etc/mtab is not updateable"

View File

@@ -1,8 +1,8 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
MODULESDIR="${RC_LIBEXECDIR}/net"
MODULESDIR="${RC_LIBDIR}/net"
MODULESLIST="${RC_SVCDIR}/nettree"
_config_vars="config routes"
@@ -21,7 +21,7 @@ depend()
need localmount
after bootmisc
provide net
keyword -jail -prefix -vserver
keyword nojail noprefix novserver
case "${IFACE}" in
lo|lo0);;
@@ -595,7 +595,7 @@ ${routes}"
fi
fi
local OIFS="${IFS}" SIFS="${IFS-y}"
local OIFS="${IFS}" SIFS=${IFS-y}
local IFS="$__IFS"
for cmd in ${routes}; do
unset IFS
@@ -682,8 +682,8 @@ stop()
fi
done
# Only delete addresses for interfaces that exist
if _exists; then
# Only delete addresses for non PPP interfaces
if ! [ "$(command -v is_ppp)" = "is_ppp" ] || ! is_ppp; then
_delete_addresses "${IFACE}"
fi

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Mounts network shares according to /etc/fstab."
@@ -11,7 +11,7 @@ need_portmap()
"
set -- $(fstabinfo --options --fstype nfs,nfs4)
for opts; do
case ,$opts, in
case ,${opts}, in
*,noauto,*|*,nolock,*);;
*) return 0;;
esac
@@ -27,15 +27,15 @@ depend()
if need_portmap; then
pmap="rpc.statd"
[ -x @SYSCONFDIR@/init.d/rpcbind ] \
&& pmap="$pmap rpcbind" \
|| pmap="$pmap portmap"
&& pmap="${pmap} rpcbind" \
|| pmap="${pmap} portmap"
fi
config /etc/fstab
need net $pmap
need net ${pmap}
use afc-client amd autofs openvpn
use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
keyword -jail -prefix -vserver
keyword nojail noprefix novserver
}
start()
@@ -44,8 +44,8 @@ start()
[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
local x= fs=
for x in $net_fs_list; do
case "$x" in
for x in ${net_fs_list}; do
case "${x}" in
nfs|nfs4)
# If the nfsmount script took care of the nfs
# filesystems, then there's no point in trying
@@ -55,16 +55,16 @@ start()
# Only try to mount NFS filesystems if portmap was
# started. This is to fix "hang" problems for new
# users who do not add portmap to the default runlevel.
if need_portmap && ! service_started "$pmap"; then
if need_portmap && ! service_started "${pmap}"; then
continue
fi
;;
esac
fs="$fs${fs:+,}$x"
fs="${fs}${fs:+,}${x}"
done
ebegin "Mounting network filesystems"
mount -at $fs
mount -at ${fs}
ewend $? "Could not mount all network filesystems"
return 0
}
@@ -74,24 +74,24 @@ stop()
local x= fs=
ebegin "Unmounting network filesystems"
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
. "${RC_LIBDIR}/sh/rc-mount.sh"
for x in $net_fs_list; do
fs="$fs${fs:+,}$x"
for x in ${net_fs_list}; do
fs="${fs}${fs:+,}${x}"
done
if [ -n "$fs" ]; then
umount -at $fs || eerror "Failed to simply unmount filesystems"
if [ -n "${fs}" ]; then
umount -at ${fs} || eerror "Failed to simply unmount filesystems"
fi
eindent
fs=
for x in $net_fs_list; do
fs="$fs${fs:+|}$x"
for x in ${net_fs_list}; do
fs="${fs}${fs:+|}${x}"
done
[ -n "$fs" ] && fs="^($fs)$"
do_unmount umount ${fs:+--fstype-regex} $fs --netdev
[ -n "${fs}" ] && fs="^(${fs})$"
do_unmount "umount" ${fs:+--fstype-regex} ${fs} --netdev
retval=$?
eoutdent
eend $retval "Failed to unmount network filesystems"
eend ${retval} "Failed to unmount network filesystems"
}

View File

@@ -1,267 +0,0 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2009 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
# This script was inspired by the equivalent rc.d network from NetBSD.
description="Configures network interfaces."
__nl="
"
depend()
{
need localmount
after bootmisc
provide net
keyword -jail -prefix -vserver
}
uniqify()
{
local result= i=
for i; do
case " $result " in
*" $i "*);;
*) result="$result $i";;
esac
done
echo "${result# *}"
}
reverse()
{
local result= i=
for i; do
result="$i $result"
done
echo "${result# *}"
}
sys_interfaces()
{
case "$RC_UNAME" in
Linux)
local w= rest= i= cmd=$1
while read w rest; do
i=${w%%:*}
[ "$i" != "$w" ] || continue
if [ "$cmd" = u ]; then
ifconfig "$i" | grep -q "[ ]*UP" || continue
fi
printf "%s " "$i"
done </proc/net/dev
;;
*)
ifconfig -l$1
;;
esac
}
auto_interfaces()
{
local ifs= c= f=
case "$RC_UNAME" in
NetBSD)
for c in $(ifconfig -C 2>/dev/null); do
for f in /etc/ifconfig.${c}[0-9]*; do
[ -f "$f" ] && printf "%s" "$f{##*.} "
done
done
;;
*)
for f in /etc/ifconfig.*; do
[ -f "$f" ] && printf "%s" "${f##*.} "
done
for f in /etc/ip.*; do
[ -f "$f" ] && printf "%s" "${f##*.} "
done
;;
esac
echo
}
interfaces()
{
uniqify $(sys_interfaces "$@") $interfaces $(auto_interfaces)
}
dumpargs()
{
local f="$1"
shift
case "$@" in
'') [ -f "$f" ] && cat "$f";;
*"$__nl"*) echo "$@";;
*)
(
set -o noglob
IFS=';'; set -- $@
IFS="$__nl"; echo "$*"
);;
esac
}
runip()
{
local int="$1" err=
shift
err=$(LC_ALL=C ip address add "$@" dev "$int" 2>&1)
[ -z "$err" ] && return 0
if [ "$err" = "RTNETLINK answers: File exists" ]; then
ip address del "$@" dev "$int" 2>/dev/null
fi
# Localise the error
ip address add "$@" dev "$int"
}
routeflush()
{
if [ "$RC_UNAME" = Linux ]; then
if [ -x /sbin/ip ]; then
ip route flush scope global
else
# Sadly we also delete some link routes, but
# this cannot be helped
local dest= gate= net= flags= rest=
route -n | while read dest gate net flags rest; do
[ -z "$net" ] && continue
case "$dest" in
[0-9]*) ;;
*) continue;;
esac
local xtra= netmask="netmask $net"
case "$flags" in
U) continue;;
*H*) flags=-host; netmask=;;
*!*) flags=-net; xtra=reject;;
*) flags=-net;;
esac
route del $flags $dest $netmask $xtra
done
fi
else
route -qn flush
fi
}
runargs()
{
dumpargs "$@" | while read -r args; do
case "$args" in
''|"#"*) ;;
*)
(
eval vebegin "${args#*!}"
eval "${args#*!}"
veend $?
);;
esac
done
}
start()
{
local cr=0 r= int= intv= cmd= args= upcmd=
einfo "Starting network"
routeflush
if [ "$RC_UNAME" = "Linux" ]; then
ifconfig lo 127.0.0.1 netmask 255.0.0.0 || cr=1
route add -net 127.0.0.0 netmask 255.0.0.0 \
gw 127.0.0.1 2>/dev/null
route add -net 127.0.0.0 netmask 255.0.0.0 \
gw 127.0.0.1 reject 2>/dev/null
else
ifconfig lo0 127.0.0.1 netmask 255.0.0.0 || cr=1
route -q add -inet 127.0.0.0 -netmask 255.0.0.0 \
127.0.0.1 -reject || cr=1
fi
eindent
for int in $(interfaces); do
local func= cf=
intv=$(shell_var "$int")
eval upcmd=\$ifup_$intv
for func in ip ifconfig; do
eval cmd=\$${func}_$intv
if [ -n "$cmd" -o -f /etc/"$func.$int" ]; then
cf=/etc/"$func.$int"
break
fi
done
[ -n "$cf" -o -n "$upcmd" -o \
-f /etc/ifup."$int" -o -f "$cf" ] || continue
veinfo "$int"
case "$func" in
ip) func=runip;;
esac
eindent
runargs /etc/ifup."$int" "$upcmd"
r=0
dumpargs "$cf" "$cmd" | while read -r args; do
case "$args" in
''|"#"*) ;;
"!"*)
(
eval vebegin "${args#*!}"
eval "${args#*!}"
veend $?
);;
*)
(
set -o noglob
eval set -- "$args"
vebegin "$@"
$func "$int" "$@"
veend $?
);;
esac
done
eoutdent
done
eoutdent
eend $cr
if [ -n "$defaultroute" ]; then
ebegin "Setting default route $defaultroute"
if [ "$RC_UNAME" = Linux ]; then
route add default gw $defaultroute
else
route add default $defaultroute
fi
eend $?
fi
return 0
}
stop()
{
# Don't stop the network at shutdown.
# We don't use the noshutdown keyword so that we are started again
# correctly if we go back to multiuser.
yesno ${shutdown_network:-YES} && yesno $RC_GOINGDOWN && return 0
local int= intv= cmd= downcmd= r=
einfo "Stopping network"
routeflush
eindent
for int in $(reverse $(interfaces u)); do
intv=$(shell_var "$int")
eval downcmd=\$ifdown_$intv
eval cmd=\$ip_$intv
[ -z "$cmd" ] && eval cmd=\$ifconfig_$intv
if [ -n "$cmd" -o -f /etc/ip."$int" -o \
-f /etc/ifconfig."$int" -o \
-n "$downcmd" -o -f /etc/ifdown."$int" ];
then
veinfo "$int"
runargs /etc/ifdown."$int" "$downcmd"
ifconfig "$int" down 2>/dev/null
ifconfig "$int" destroy 2>/dev/null
fi
done
eoutdent
eend 0
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
required_files="/etc/newsyslog.conf"
@@ -7,12 +7,12 @@ required_files="/etc/newsyslog.conf"
depend()
{
need localmount
keyword -prefix
keyword noprefix
}
start()
{
ebegin "Creating and/or trimming log files"
newsyslog -s $newsyslog_args
newsyslog -s ${newsyslog_args}
eend $?
}

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/nscd
command_args=$nscd_args
command_args="${nscd_args}"
pidfile=/var/run/nscd.pid
name="Name Service Cache Daemon"
@@ -16,7 +16,7 @@ depend() {
}
flush() {
ebegin "Flushing $name"
ebegin "Flushing ${name}"
nscd -I all >/dev/null
eend $?
}

View File

@@ -1,15 +1,15 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Turns numlock on for the consoles."
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
ttyn=${rc_tty_number:-${RC_TTY_NUMBER}:-12}
depend()
{
need localmount
keyword -openvz -prefix -vserver
keyword noopenvz noprefix novserver
}
_setleds()
@@ -19,12 +19,12 @@ _setleds()
local dev=/dev/tty t= i=1 retval=0
[ -d /dev/vc ] && dev=/dev/vc/
while [ $i -le $ttyn ]; do
setleds -D "$1"num < $dev$i || retval=1
i=$(($i + 1))
while [ ${i} -le ${ttyn} ]; do
setleds -D "$1"num < ${dev}${i} || retval=1
i=$((${i} + 1))
done
return $retval
return ${retval}
}
start()

View File

@@ -1,54 +1,54 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
name="Packet Filter"
: ${pf_conf:=${pf_rules:-/etc/pf.conf}}
required_files=$pf_conf
pf_conf=${pf_conf:-${pf_rules:-/etc/pf.conf}}
required_files=${pf_conf}
extra_commands="checkconfig showstatus"
extra_started_commands="reload"
depend() {
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
start()
{
ebegin "Starting $name"
ebegin "Starting ${name}"
if type kldload >/dev/null 2>&1; then
kldload pf 2>/dev/null
fi
pfctl -q -F all
pfctl -q -f "$pf_conf" $pf_args
pfctl -q -f "${pf_conf}" ${pf_args}
pfctl -q -e
eend $?
}
stop()
{
ebegin "Stopping $name"
ebegin "Stopping ${name}"
pfctl -q -d
eend $?
}
checkconfig()
{
ebegin "Checking $name configuration"
pfctl -n -f "$pf_conf"
ebegin "Checking ${name} configuration"
pfctl -n -f "${pf_conf}"
eend $?
}
reload()
{
ebegin "Reloading $name rules."
pfctl -q -n -f "$pf_conf" && \
ebegin "Reloading ${name} rules."
pfctl -q -n -f "${pf_conf}" && \
{
# Flush everything but existing state entries that way when
# rules are read in, it doesn't break established connections.
pfctl -q -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp
pfctl -q -f "$pf_conf" $pf_args
pfctl -q -f "${pf_conf}" ${pf_args}
}
eend $?
}

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/powerd
command_args=$powerd_args
command_args=${powerd_args}
pidfile=/var/run/powerd.pid
name="Power Control Daemon"
@@ -12,16 +12,16 @@ depend()
need localmount
use logger
after bootmisc
keyword -jail -prefix
keyword nojail noprefix
}
start_pre()
{
if [ -n "$powerd_battery_mode" ]; then
command_args="$command_args -b $powerd_battery_mode"
if [ -n "${powerd_battery_mode}" ]; then
command_args="${command_args} -b ${powerd_battery_mode}"
fi
if [ -n "${powerd_ac_mode}" ]; then
command_args="$command_args -a $powerd_ac_mode"
command_args="${command_args} -a ${powerd_ac_mode}"
fi
}
@@ -29,7 +29,7 @@ stop_post()
{
local level=$(sysctl -n dev.cpu.0.freq_levels |
sed -e 's:/.*::')
if [ -n "$level" ]; then
sysctl dev.cpu.0.freq="$level" >/dev/null
if [ -n "${level}" ]; then
sysctl dev.cpu.0.freq="${level}" >/dev/null
fi
}

View File

@@ -1,14 +1,14 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Mounts misc filesystems in /proc."
depend()
{
use modules devfs
use devfs
need localmount
keyword -openvz -prefix -vserver
keyword noopenvz noprefix novserver
}
start()
@@ -25,13 +25,13 @@ start()
# while older kernels have 'usbdevfs'.
if [ -d /proc/bus/usb -a ! -e /proc/bus/usb/devices ]; then
local usbfs=$(grep -Fow usbfs /proc/filesystems ||
grep -Fow usbdevfs /proc/filesystems)
if [ -n "$usbfs" ]; then
ebegin "Mounting USB device filesystem [$usbfs]"
grep -Fow usbdevfs /proc/filesystems)
if [ -n "${usbfs}" ]; then
ebegin "Mounting USB device filesystem [${usbfs}]"
local usbgid="$(getent group usb | \
sed -e 's/.*:.*:\(.*\):.*/\1/')"
mount -t $usbfs \
-o ${usbgid:+devmode=0664,devgid=$usbgid,}noexec,nosuid \
mount -t ${usbfs} \
-o ${usbgid:+devmode=0664,devgid=${usbgid},}noexec,nosuid \
usbfs /proc/bus/usb
eend $?
fi
@@ -48,8 +48,7 @@ start()
fi
# Setup Kernel Support for miscellaneous Binary Formats
if [ -d /proc/sys/fs/binfmt_misc ] \
&& ! mountinfo -q /proc/sys/fs/binfmt_misc; then
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 \

View File

@@ -1,23 +1,28 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/rarpd
command_args="-f $rarpd_args"
command_args="-f ${rarpd_args}"
pidfile=/var/run/rarpd.pid
name="Reverse ARP Daemon"
required_files=/etc/ethers
required_files="/etc/ethers"
if [ -z "$rarpd_interface" ]; then
command_args="$command_args -a"
if [ -z "${rarpd_interface}" ]; then
command_args="${command_args} -a"
else
command_args="$command_args $rarpd_interface"
command_args="${command_args} ${rarpd_interface}"
fi
command_background=YES
command_background="YES"
depend()
{
need localmount
after bootmisc
need net
if [ -z "${rarpd_interface}" ]; then
need net
else
net net."${rarpd_interface}"
fi
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
@@ -7,35 +7,34 @@ depend()
need localmount net
after *
before local
keyword -prefix
keyword noprefix
}
start()
{
ebegin "Starting local rc services"
local svc= enabled= retval=0 service= pkgdir=
[ -n "@PKG_PREFIX@" ] && pkgdir="@PKG_PREFIX@/etc/rc.d/*"
for svc in $(rcorder /etc/rc.d/* $pkgdir 2>/dev/null); do
local svc= enabled= retval=0 service=
for svc in $(rcorder /etc/rc.d/* @PKG_PREFIX@/etc/rc.d/* 2>/dev/null); do
[ -x "$svc" ] || continue
service=${svc##*/}
# Skip these services
for s in cleartmp moused; do
[ "$s" = "$service" ] && continue 2
[ "${s}" = "${service}" ] && continue 2
done
# If we have an init script for this service, continue
rc-service --exists "$service" && continue
rc-service --exists "${service}" && continue
# Ensure that the users rc.conf will start us
# Ensure that the users rc.conf will start us - ignore the defaults
eval enabled=\$${svc##*/}_enable
yesno $enabled || yesno ${svc##*/} || continue
yesno ${enabled} || yesno ${svc##*/} || continue
# Good to go!
"$svc" start && started="$started $svc"
"$svc" start && started="${started} ${svc}"
: $((retval += $?))
done
service_set_value started "$started"
service_set_value started "${started}"
eend $retval "Some local rc services failed to start"
return 0
}
@@ -45,7 +44,7 @@ stop()
ebegin "Stopping local rc services"
local svc= retval=0
for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
"$svc" stop
"${svc}" stop
: $((retval += $?))
done
eend $retval "Some local rc services failed to stop"

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Mount the root fs read/write"
@@ -7,22 +7,18 @@ description="Mount the root fs read/write"
depend()
{
need fsck
keyword -jail -openvz -prefix -vserver
keyword nojail noopenvz noprefix novserver
}
start()
{
case ",$(fstabinfo -o /)," in
*,ro,*) return 0;;
esac
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
case "${RC_UNAME}" in
Linux) mount -n -o remount,rw /;;
*) mount -u -o rw /;;
esac

View File

@@ -1,9 +1,9 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/rpcbind
command_args=$rpcbind_args
command_args=${rpcbind_args}
name="RPC program number mapper"
depend()

View File

@@ -1,32 +1,25 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Saves the caches OpenRC uses to non volatile storage"
start()
{
if [ -e "$RC_SVCDIR"/clock-skewed ]; then
ewarn "WARNING: clock skew detected!"
if ! yesno "savecache_skewed"; then
eerror "Not saving deptree cache"
return 1
fi
fi
ebegin "Saving dependency cache"
if [ ! -d "$RC_LIBEXECDIR"/cache ]; then
rm -rf "$RC_LIBEXECDIR"/cache
if ! mkdir "$RC_LIBEXECDIR"/cache; then
if [ ! -d "${RC_LIBDIR}"/cache ]; then
rm -rf "${RC_LIBDIR}"/cache
if ! mkdir "${RC_LIBDIR}"/cache; then
eend $?
return $?
fi
fi
local save=
for x in deptree depconfig softlevel nettree rc.log; do
[ -e "$RC_SVCDIR/$x" ] && save="$save $RC_SVCDIR/$x"
[ -e "${RC_SVCDIR}/${x}" ] && save="${save} ${RC_SVCDIR}/${x}"
done
if [ -n "$save" ]; then
cp -p $save "$RC_LIBEXECDIR"/cache 2>/dev/null
if [ -n "${save}" ]; then
cp -p ${save} "${RC_LIBDIR}"/cache 2>/dev/null
fi
eend $?
}

View File

@@ -1,5 +1,5 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Saves a kernel dump."
@@ -7,30 +7,30 @@ description="Saves a kernel dump."
depend()
{
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
start()
{
: ${dump_dir:=/var/crash}
if ! [ -d "$dump_dir" ]; then
mkdir -p "$dump_dir"
chmod 700 "$dump_dir"
local dump_dir=${dump_dir:-/var/crash}
if ! [ -d "${dump_dir}" ]; then
mkdir -p "${dump_dir}"
chmod 700 "${dump_dir}"
fi
if [ "$RC_UNAME" = FreeBSD ]; then
if [ "${RC_UNAME}" = "FreeBSD" ]; then
# Don't quote ${dump_device}, so that if it's unset,
# savecore will check on the partitions listed in fstab
# without errors in the output
savecore -C "$dump_dir" $dump_device >/dev/null
savecore -C "${dump_dir}" ${dump_device} >/dev/null
else
ls "$dump_dir"/bsd* > /dev/null 2>&1
ls "${dump_dir}"/bsd* > /dev/null 2>&1
fi
[ $? = 0 ] || return 0
local sopts="$dump_dir $dump_device"
yesno $dump_compress && sopts="-z $sopts"
ebegin "Saving kernel core dump in $dump_dir"
savecore $sopts >/dev/null
local sopts="${dump_dir} ${dump_device}"
yesno ${dump_compress} && sopts="-z ${sopts}"
ebegin "Saving kernel core dump in ${dump_dir}"
savecore ${sopts} >/dev/null
eend $?
}

View File

@@ -1,11 +1,11 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
{
before fsck
keyword -jail -prefix
keyword nojail noprefix
}
start()

View File

@@ -1,17 +1,17 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
{
need localmount
keyword -jail -openvz -prefix -vserver
keyword nojail noopenvz noprefix novserver
}
start()
{
ebegin "Activating swap devices"
case "$RC_UNAME" in
case "${RC_UNAME}" in
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
*) swapon -a >/dev/null;;
esac
@@ -21,13 +21,7 @@ start()
stop()
{
ebegin "Deactivating swap devices"
# Try to unmount all tmpfs filesystems not in use, else a deadlock may
# 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
case "$RC_UNAME" in
case "${RC_UNAME}" in
NetBSD|OpenBSD) swapctl -U -t noblk >/dev/null;;
*) swapoff -a >/dev/null;;
esac

View File

@@ -1,36 +1,36 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend() {
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
start() {
if [ -n "$allscreen_flags" ]; then
ebegin "Setting mode to $allscreen_flags for all screens"
if [ -n "${allscreen_flags}" ]; then
ebegin "Setting mode to ${allscreen_flags} for all screens"
for v in /dev/ttyv*; do
vidcontrol $allscreen_flags <$v
vidcontrol ${allscreen_flags} <"${v}"
done
eend $?
fi
if [ -n "$keymap" ]; then
ebegin "Setting keymap to $keymap"
kbdcontrol -l $keymap </dev/console
if [ -n "${keymap}" ]; then
ebegin "Setting keymap to ${keymap}"
kbdcontrol -l ${keymap} </dev/console
eend $?
fi
if [ -n "$keyrate" ]; then
ebegin "Setting keyrate to $keyrate"
kbdcontrol -r $keyrate </dev/console
if [ -n "${keyrate}" ]; then
ebegin "Setting keyrate to ${keyrate}"
kbdcontrol -r ${keyrate} </dev/console
eend $?
fi
if [ -n "$keychange" ]; then
if [ -n "${keychange}" ]; then
ebegin "Changing function keys"
eval set -- "$keychange"
eval set -- "${keychange}"
eindent
while [ $# -gt 0 ]; do
veinfo "F$1 -> \`$2'"
@@ -41,40 +41,40 @@ start() {
eoutdent
fi
if [ -n "$cursor" ]; then
if [ -n "${cursor}" ]; then
ebegin "Setting cursor"
vidcontrol -c $cursor
vidcontrol -c ${cursor}
eend $?
fi
local v= f=
for v in font8x16 font8x14 font8x8; do
eval f=\$$v
if [ -n "$f" ]; then
ebegin "Setting font $f"
vidcontrol -f ${v##font} $f
eval f=\$${v}
if [ -n "${f}" ]; then
ebegin "Setting font ${f}"
vidcontrol -f ${v##font} ${f}
eend $?
fi
done
if [ -n "$blanktime" ]; then
if [ -n "${blanktime}" ]; then
ebegin "Setting blanktime"
vidcontrol -t $blanktime
vidcontrol -t ${blanktime}
eend $?
fi
if [ -n "$saver" ]; then
if [ -n "${saver}" ]; then
local i=
for i in $(kldstat | sed -n -e 's/.* \(splash_.*\)/\1/p'); do
kldunload "$i"
kldunload "${i}"
done
kldstat -v | grep -q _saver || kldload ${saver}_saver
fi
if [ -n "$kbdflags" ]; then
if [ -n "${kbdflags}" ]; then
ebegin "Setting keyboard flags for all screens"
for v in /dev/ttyv*; do
kbdcontrol $kbdflags <$v
kbdcontrol ${kbdflags} <${v}
done
eend $?
fi

View File

@@ -1,12 +1,12 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
{
use hostname
before bootmisc logger
keyword -prefix
keyword noprefix
}
start()
@@ -15,10 +15,10 @@ start()
local retval=0 var= comments=
ebegin "Configuring kernel parameters"
while read var comments; do
case "$var" in
case "${var}" in
""|"#"*) continue;;
esac
sysctl -w "$var" >/dev/null || retval=1
sysctl -w "${var}" >/dev/null || retval=1
done < /etc/sysctl.conf
eend $retval "Some errors were encountered"
eend ${retval} "Some errors were encountered"
}

View File

@@ -1,12 +1,12 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
{
use hostname
before bootmisc logger
keyword -openvz -prefix -vserver
keyword noopenvz noprefix novserver
}
start()

View File

@@ -1,12 +1,12 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Mount the sys filesystem."
depend()
{
keyword -prefix -vserver
keyword noprefix
}
mount_sys()
@@ -31,8 +31,7 @@ mount_sys()
mount_misc()
{
# Setup Kernel Support for securityfs
if [ -d /sys/kernel/security ] && \
! mountinfo -q /sys/kernel/security; then
if [ -d /sys/kernel/security ] && ! mountinfo -q /sys/kernel/security; then
if grep -qs securityfs /proc/filesystems; then
ebegin "Mounting security filesystem"
mount -n -t securityfs -o nodev,noexec,nosuid \
@@ -57,8 +56,8 @@ start()
local retval
mount_sys
retval=$?
if [ $retval -eq 0 ]; then
if [ ${retval} -eq 0 ]; then
mount_misc
fi
return $retval
return ${retval}
}

View File

@@ -1,10 +1,10 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
command=/usr/sbin/syslogd
command_args=$syslogd_args
case "$RC_UNAME" in
command_args=${syslogd_args}
case "${RC_UNAME}" in
FreeBSD|DragonFly) pidfile=/var/run/syslog.pid;;
*) pidfile=/var/run/syslogd.pid;;
esac
@@ -16,5 +16,5 @@ depend()
use net newsyslog
need localmount
after bootmisc
keyword -prefix
keyword noprefix
}

View File

@@ -1,15 +1,15 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2008-2009 Roy Marples <roy@marples.name>
# Copyright 2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Configures terminal encoding."
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
: ${unicode:=${UNICODE}}
unicode=${unicode:-${UNICODE}}
depend()
{
keyword -openvz -prefix -uml -vserver -xenu
keyword noopenvz noprefix nouml novserver noxenu
}
start()
@@ -25,11 +25,11 @@ start()
termmsg="UTF-8"
fi
ebegin "Setting terminal encoding [$termmsg]"
ebegin "Setting terminal encoding [${termmsg}]"
n=1
while [ ${n} -le "$ttyn" ]; do
printf "\033%s" "$termencoding" >$ttydev$n
n=$(($n + 1))
while [ ${n} -le "${ttyn}" ]; do
printf "\033%s" "${termencoding}" >"${ttydev}${n}"
n=$((${n} + 1))
done
eend 0
}

View File

@@ -1,11 +1,11 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2008 Roy Marples <roy@marples.name>
# Copyright 2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
{
after fsck
keyword -prefix
keyword noprefix
}
start()

View File

@@ -1,14 +1,15 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
: ${urandom_seed:=${URANDOM_SEED:-/var/run/random-seed}}
urandom_seed=${urandom_seed:-${URANDOM_SEED:-/var/run/random-seed}}
description="Initializes the random number generator."
depend()
{
need localmount
keyword -jail -openvz -prefix
keyword nojail noprefix
}
save_seed()
@@ -21,19 +22,19 @@ save_seed()
( # sub shell to prevent umask pollution
umask 077
dd if=/dev/urandom of="$urandom_seed" count=${psz} 2>/dev/null
dd if=/dev/urandom of="${urandom_seed}" count=${psz} 2>/dev/null
)
}
start()
{
[ -c /dev/urandom ] || return
if [ -f "$urandom_seed" ]; then
if [ -f "${urandom_seed}" ]; then
ebegin "Initializing random number generator"
cat "$urandom_seed" > /dev/urandom
cat "${urandom_seed}" > /dev/urandom
eend $? "Error initializing random number generator"
fi
rm -f "$urandom_seed" && save_seed
rm -f "${urandom_seed}" && save_seed
return 0
}

View File

@@ -1,11 +1,11 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2008-2009 Roy Marples <roy@marples.name>
# Copyright 2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
{
need localmount
keyword -prefix
keyword noprefix
}
start()
@@ -19,82 +19,82 @@ start()
# screen idx scr emul
# font name width height enc file
while read type arg1 arg2 arg3 arg4 arg5; do
case "$type" in
case "${type}" in
\#*|"")
continue
;;
font)
cmd=$wsfld
[ "$arg2" != "-" ] && cmd="$cmd -w $arg2"
[ "$arg3" != "-" ] && cmd="$cmd -h $arg3"
[ "$arg4" != "-" ] && cmd="$cmd -e $arg4"
cmd="$cmd -N $arg1 $arg5"
eval "$cmd"
cmd=${wsfld}
[ "${arg2}" != "-" ] && cmd="${cmd} -w ${arg2}"
[ "${arg3}" != "-" ] && cmd="${cmd} -h ${arg3}"
[ "${arg4}" != "-" ] && cmd="${cmd} -e ${arg4}"
cmd="${cmd} -N ${arg1} ${arg5}"
eval "${cmd}"
;;
screen)
cmd=$wscfg
[ "$arg2" != "-" ] && cmd="$cmd -t $arg2"
[ "$arg3" != "-" ] && cmd="$cmd -e $arg3"
cmd="$cmd $arg1"
eval "$cmd"
cmd=${wscfg}
[ "${arg2}" != "-" ] && cmd="${cmd} -t ${arg2}"
[ "${arg3}" != "-" ] && cmd="${cmd} -e ${arg3}"
cmd="${cmd} ${arg1}"
eval "${cmd}"
;;
keyboard)
cmd=$wscfg
case "$arg1" in
cmd=${wscfg}
case "${arg1}" in
-|auto)
cmd="$cmd -k"
cmd="${cmd} -k"
;;
*)
cmd="$cmd -k $arg1"
cmd="${cmd} -k ${arg1}"
;;
esac
$cmd
${cmd}
;;
encoding)
eval $wsctl -w "\"encoding=$arg1\""
eval ${wsctl} -w "\"encoding=${arg1}\""
;;
mapfile)
local entry=
while read entry; do
case "$entry" in
case "${entry}" in
\#*|"")
continue
;;
*)
cmd="$wsctl -w \"map+=$entry\""
eval "$cmd >/dev/null"
cmd="${wsctl} -w \"map+=${entry}\""
eval "${cmd} >/dev/null"
;;
esac
done < "$arg1"
done < "${arg1}"
;;
mux)
eval "$wscfg -m $arg1"
eval "${wscfg} -m ${arg1}"
;;
setvar)
case "$arg1" in
case "${arg1}" in
keyboard)
cmd="$wsctl -kw $arg2"
cmd="${wsctl} -kw ${arg2}"
;;
display)
cmd="$wsctl -dw $arg2"
cmd="${wsctl} -dw ${arg2}"
;;
mouse)
cmd="$wsctl -mw $arg2"
cmd="${wsctl} -mw ${arg2}"
;;
*)
cmd="$wsctl -w $arg1"
cmd="${wsctl} -w ${arg1}"
;;
esac
eval "$cmd"
eval "${cmd}"
;;
esac
done < "$config"
done < "${config}"
}

View File

@@ -18,7 +18,7 @@ MAKE_LINKS= suffix=$${man\#*.}; \
MK= ../mk
include ${MK}/sys.mk
include ${MK}/gitignore.mk
include ${MK}/svnignore.mk
all:

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2008-2009 Roy Marples
.\" Copyright 2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd May 1, 2009
.Dd Mar 26, 2008
.Dt RC-SERVICE 8 SMM
.Os OpenRC
.Sh NAME
@@ -30,26 +30,20 @@
.Nd locate and run an OpenRC service with the given arguments
.Sh SYNOPSIS
.Nm
.Op Fl i , -ifexists
.Ar service cmd
.Op Ar ...
.Nm
.Fl l , -list
.Nm
.Fl e , -exists
.Ar service
.Nm
.Fl l , -list
.Nm
.Fl r , -resolve
.Ar service
.Sh DESCRIPTION
Service scripts could be in different places on different systems.
.Nm
locates the specified service and runs it with the given arguments.
If
.Fl i , -ifexists
is given then
.Nm
returns 0 even if the service does not exist.
.Pp
If given the
.Fl l , -list
@@ -57,14 +51,14 @@ argument then
.Nm
will list all available services.
.Pp
.Fl e , -exists
.Fl -e , exists
return 0 if it can find
.Ar service ,
otherwise -1.
.Fl r , -resolve
.Fl -r , resolve
does the same and also prints the full path of the service to stdout.
.Sh SEE ALSO
.Xr rc 8 ,
.Xr stdout 3
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2009 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd April 24, 2008
.Dd Arp 9, 2008
.Dt RC-STATUS 8 SMM
.Os OpenRC
.Sh NAME
@@ -30,7 +30,7 @@
.Nd show status info about runlevels
.Sh SYNOPSIS
.Nm
.Op Fl aclsuC
.Op Fl alsuC
.Op Ar runlevel
.Sh DESCRIPTION
.Nm
@@ -43,8 +43,6 @@ The options are as follows:
.Bl -tag -width ".Fl test , test string"
.It Fl a , -all
Show all runlevels and their services.
.It Fl c , -crashed
List all services that have crashed.
.It Fl l , -list
List all defined runlevels.
.It fl r , -runlevel
@@ -59,11 +57,8 @@ Disable color output.
Show information only for the named
.Ar runlevel .
.El
.Sh EXIT STATUS
.Nm
exits 0, except when checking for crashed services and it doesn't find any.
.Sh SEE ALSO
.Xr rc 8 ,
.Xr rc-update 8
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2009 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd May 2, 2009
.Dd Jan 15, 2008
.Dt RC-UPDATE 8 SMM
.Os OpenRC
.Sh NAME
@@ -30,17 +30,14 @@
.Nd add and remove services to and from a runlevel
.Sh SYNOPSIS
.Nm
.Op Fl s , -stack
.Ar add
.Ar service
.Op Ar runlevel ...
.Nm
.Op Fl s , -stack
.Ar delete
.Ar service
.Op Ar runlevel ...
.Nm
.Op Fl u , -update
.Op Fl v , -verbose
.Ar show
.Op Ar runlevel ...
@@ -53,11 +50,10 @@ All services must reside in the
.Pa /etc/init.d
or
.Pa /usr/local/etc/init.d
directories.
They must also conform to the OpenRC runscript standard.
directories. They must also conform to the OpenRC runscript standard.
.Pp
.Bl -tag -width "Fl a , -delete service"
.It Ar add Ar service
.It Fl a , -add Ar service
Add the
.Ar service
to the
@@ -76,18 +72,9 @@ Show all enabled services and the runlevels they belong to. If you specify
runlevels to show, then only those will be included in the output.
.It Fl v , -verbose
Show all services.
.It Fl u , -update
Forces an update of the dependency tree cache.
This may be needed in the event of clock skew (a file in /etc is newer than the
system clock).
.El
.Pp
If the
.Fl s , -stack
option is given then we either add or remove the runlevel from the runlevel.
This allows inheritance of runlevels.
.Sh SEE ALSO
.Xr rc 8 ,
.Xr rc-status 8
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2009 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd May 2, 2009
.Dd November 03, 2008
.Dt RC 8 SMM
.Os OpenRC
.Sh NAME
@@ -35,11 +35,10 @@
.Sh DESCRIPTION
.Nm
first stops any services that are not for the runlevel and then starts any
services in the runlevel and from stacked runlevels added by
services added by
.Nm rc-update
that are not currently started.
If no runlevel is specified then we use the current runlevel the system
is currently in.
that are not currently started. If no runlevel is specified then we use the
current runlevel the system is currently in.
.Pp
There are some special runlevels that you should be aware of:
.Bl -tag -width "shutdown"
@@ -66,10 +65,8 @@ All services in the boot and sysinit runlevels are automatically included
in all other runlevels except for those listed here.
.It Ar single
Stops all services except for those in the sysinit runlevel.
.It Ar reboot
Changes to the shutdown runlevel and then reboots the host.
.It Ar shutdown
Changes to the shutdown runlevel and then halts the host.
Changes to the single runlevel and then halts the host.
.El
.Pp
You should not call any of these runlevels yourself.
@@ -84,4 +81,4 @@ and let them call these special runlevels.
.Xr init 8 ,
.Xr shutdown 8
.Sh AUTHORS
.An Roy Marples Aq roy@marples.name
.An Roy Marples <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -70,4 +70,4 @@ is set to
.Xr rc_stringlist_free 3 ,
.Xr sh 1
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -110,4 +110,4 @@ when done.
.Xr rc_stringlist_free 3 ,
.Xr runscript 8
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -67,4 +67,4 @@ Each RC_PID should be freed in the list as well as the list itself when done.
.Xr free 3 ,
.Xr queue 3
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -48,4 +48,4 @@ Plugins can affect the parent environemnt by writing NULL separated strings to
.Xr rc 8 ,
.Xr runscript 8
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -63,4 +63,4 @@ Rinse and repeat for the other verbose functions.
.Xr free 3
.Xr rc_stringlist_free 3
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -227,4 +227,4 @@ normally holds the volatile state data for services on a RAM backed disk.
.Xr rc_stringlist_free 3 ,
.Xr start-stop-daemon 8
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2008 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -85,4 +85,4 @@ itself.
.Xr queue 3 ,
.Xr strcmp 3
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2009 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd July 1, 2009
.Dd September 19, 2008
.Dt RUNSCRIPT 8 SMM
.Os OpenRC
.Sh NAME
@@ -33,7 +33,6 @@
.Op Fl D , -nodeps
.Op Fl d , -debug
.Op Fl s , -ifstarted
.Op Fl Z , -dry-run
.Op Ar command ...
.Sh DESCRIPTION
.Nm
@@ -82,9 +81,6 @@ Turns off all informational output the service generates.
Output from any non OpenRC comands is not affected.
.It Fl v , -verbose
Turns on any extra informational output the service generates.
.It Fl Z , -dry-run
Shows what services would be stopped and/or started without actually starting
or stopping them.
.El
.Pp
The following variables affect the service script:
@@ -138,30 +134,21 @@ We should recalculate our dependencies if the listed files have changed.
.It Ic keyword
Tags a service with a keyword. Here's the keywords we currently understand:-
.Bl -tag -width indent
.It Dv -jail
.It Dv nojail
When in a jail, exclude this service from any dependencies. The service can
still be run directly.
.It Dv -openvz
Same as -jail, but for OpenVZ systems.
.It Dv -shutdown
Don't stop this service when shutting the system down.
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.
.It Dv -stop
Don't stop this service when changing runlevels, even if not present.
This includes shutting the system down.
.It Dv -timeout
.It Dv noopenvz
Same as nojail, but for OpenVZ systems.
.It Dv notimeout
Do not time out waiting for that service.
.It Dv -uml
Same as -jail, but for UML systems.
.It Dv -vserver
Same as -jail, but for VServer systems.
.It Dv -xen0
Same as -jail, but for Xen DOM0 systems.
.It Dv -xenu
Same as -jail, but for Xen DOMU systems.
.It Dv nouml
Same as nojail, but for UML systems.
.It Dv novserver
Same as nojail, but for VServer systems.
.It Dv noxen0
Same as nojail, but for Xen DOM0 systems.
.It Dv noxenu
Same as nojail, but for Xen DOMU systems.
.El
.El
.Pp
@@ -474,4 +461,4 @@ Users are encouraged to use the is_newer_than function which returns correctly.
.Xr start-stop-daemon 8 ,
.Xr uname 1
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
.\" Copyright (c) 2007-2009 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd September 4, 2009
.Dd September 27, 2008
.Dt START-STOP-DAEMON 8 SMM
.Os OpenRC
.Sh NAME
@@ -52,6 +52,14 @@ are provided, then we assume we are starting the daemon.
If a daemon cannot background by itself, nor create a pidfile,
.Nm
can do it for the daemon in a secure fashion.
.Nm
also ensures that a daemon really has started by checking to see if it still
exists for a short time after it has started. This is because some badly
written daemons like to daemonize before checking their configuration, doing
sanity checks, etc. Likewise,
.Nm
ensures that a daemon really stops as well, again by using the information
above to ensure that it's not running.
.Pp
If
.Nm
@@ -76,16 +84,6 @@ listed in the
Match the process
.Ar name
instead of a pidfile or executable.
.It Fl i , -interpreted
When matching process name, we should ensure that the correct interpreter
is also matched.
So if the daemon foo starts off like so
.D1 #!/usr/bin/perl -w
then
.Nm
matches the process
.D1 /usr/bin/perl -w foo
If an interpreted daemon changes it's process name then this won't work.
.It Fl u , -user Ar user Ns Op : Ns Ar group
Start the daemon as the
.Ar user
@@ -97,9 +95,8 @@ name here also.
Print the action(s) that would be taken, but don't actually do anything.
The return value is set as if the command was taken and worked.
.It Fl v , -verbose
P
Print the action(s) that are taken just before doing them.
.It Fl P , -progress
Echo a . to the console for each second elapsed whilst waiting.
.El
.Pp
These options are only used for starting daemons:
@@ -119,10 +116,6 @@ chdir to this directory before starting the daemon.
.It Fl r , -chroot Ar path
chroot to this directory before starting the daemon. All other paths, such
as the path to the daemon, chdir and pidfile, should be relative to the chroot.
.It Fl c , -chuid Ar user
Same as the
.Fl u , -user
option.
.It Fl e , -env Ar VAR=VALUE
Set the environment variable VAR to VALUE.
.It Fl g , -group Ar group
@@ -144,12 +137,6 @@ Redirect the standard output of the process to logfile when started with
Must be an absolute pathname, but relative to the path optionally given with
.Fl r , -chroot .
The logfile can also be a named pipe.
.It Fl w , -wait Ar seconds
Wait
.Ar seconds
after starting and check that daemon is still running.
Useful for daemons that check configuration after forking or stopping race
conditions where the pidfile is written out after forking.
.It Fl 2 , -stderr Ar logfile
The same thing as
.Fl 1 , -stdout
@@ -159,9 +146,10 @@ 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
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.
You can either specify a timeout or a multiple signal/timeout pairs as a
stopping schedule.
If not specified then a default value of SIGTERM/0 is
assumed.
.El
.Sh ENVIRONMENT
.Va SSD_NICELEVEL
@@ -169,8 +157,7 @@ can also set the scheduling priority of the daemon, but the command line
option takes precedence.
.Pp
.Va SSD_STARTWAIT
As the
.Fl w , -wait option above.
overrides the number of milliseconds set in
.Pa /etc/rc.conf
.Nm
waits for to check the daemon is still running.
@@ -198,4 +185,4 @@ first appeared in Debian.
This is a complete re-implementation with the process finding code in the
OpenRC library (librc, -lrc) so other programs can make use of it.
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An Roy Marples" <roy@marples.name>

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2008 Roy Marples <roy@marples.name>
# Copyright 2008 Roy Marples <roy@marples.name>
# Setup some good default CFLAGS
CFLAGS?= -O2

Some files were not shown because too many files have changed in this diff Show More