Compare commits

..

3 Commits

Author SHA1 Message Date
Roy Marples
79fe5af027 Release openrc-0.5.0 2009-06-05 09:18:47 +01:00
Roy Marples
401def2b8f Ignore more foo 2009-06-05 09:17:18 +01:00
Roy Marples
be3dd0b8e4 Update copyright 2009-06-05 09:15:55 +01:00
157 changed files with 858 additions and 2095 deletions

View File

@@ -1,70 +0,0 @@
The following is a list of files and features that are going to be removed in
the source tree. Every entry should contain what exactly is going away, why it
is happening, and who is going to be doing the work. When the feature is
removed, it should also be removed from this file.
---------------------------
What: rc_sys automatic detection code
- Functions for removal: rc_sys_v1, rc_sys_v2
When: 2011/03/01
Why: The original automatic sub-system detection is flawed in that it cannot
safely detect some variables (Using cgroups confused it to think you were
using LXC, and Prefix cannot be detect by definition). Also, almost all of
the detection requires that /proc is available and readable. During early
boot, /proc may not be mounted yet, leading to mis-detection. The readable
condition can also fail under some hardened kernels when running as an
unprivileged user.
The new rc_sys_v2 function uses the rc_sys variable from rc.conf. After
the removal, the contents of the rc_sys_v2 function will move into the
rc_sys function.
Who: Robin H. Johnson <robbat2@gentoo.org>
---------------------------
What: oldnet ADSL rp-pppoe mode
When: undecided
Why: Replaced by the oldnet PPP module
Who: Robin H. Johnson <robbat2@gentoo.org>
---------------------------
What: oldnet /etc/conf.d/wireless
When: undecided
Why: All configuration moved to /etc/conf.d/net
Who: Robin H. Johnson <robbat2@gentoo.org>
---------------------------
What: Service pause action
When: Removed already, compatbility warning in place.
Why: ...
Who:
---------------------------
What: Service --startas, --chuid , --oknodo
When: undecided
Why: Obsolete or replaced by other options.
--startas => use --name or --exec
--chuid => use --user
--oknodo => ignore return code instead
Who:
---------------------------

View File

@@ -2,9 +2,11 @@
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
include Makefile.inc
NAME= openrc
VERSION= 0.5.0
PKG= ${NAME}-${VERSION}
SUBDIR= conf.d etc init.d man scripts sh src
SUBDIR= conf.d etc init.d man sh src
# Build our old net foo or not
_OLDNET_SH= case "${MKOLDNET}" in \
@@ -14,14 +16,6 @@ _OLDNET_SH= case "${MKOLDNET}" in \
_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})
# We need to ensure that runlevels is done last
SUBDIR+= runlevels

View File

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

69
README
View File

@@ -1,9 +1,8 @@
OpenRC README
=============
Installation
------------
make install
Yup, that simple. Works with GNU make and BSD make.
@@ -12,7 +11,6 @@ PROGLDFLAGS=-static
LIBNAME=lib64
DESTDIR=/tmp/openrc-image
MKPAM=pam
MKPKGCONFIG=no
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKOLDNET=yes
@@ -42,7 +40,7 @@ If any of the following files exist then we do not overwrite them
rc and rc.shutdown are the hooks from the BSD init into OpenRC.
devd.conf is modified from FreeBSD to call /etc/rc.devd which is a generic
hook into OpenRC.
inittab is the same, but for SysVInit as used by most Linux distributions.
inittab is the same, but for SysVInit as used by most Linux distrubtions.
This can be found in the support folder.
Obviously, if you're installing this onto a system that does not use OpenRC
by default then you may wish to backup the above listed files, remove them
@@ -52,54 +50,33 @@ init.d.misc is not installed by default as the scripts will need
tweaking on a per distro basis. They are also non essential to the operation
of the system.
Reporting Bugs
Reporting Bugs
-------------
If you installed OpenRC from your chosen distribution, you should report
bugs directly to them. For example, if you use Gentoo and emerged OpenRC
then you should reports bugs to http://bugs.gentoo.org.
History - by Daniel Robbins
---------------------------
Otherwise, you can report them directly to me at http://bugs.marples.name
The Gentoo modular network scripts were created by Daniel Robbins for
Gentoo Linux 1.0_rc6, in development during most of 2001 and released
in September 2001. After their development, the dependency-based initscript
system was maintained by a number of senior developers (add names here....
need to look at baselayout cvs logs.)
excerpt from http://www.gentoo.org/news/en/gwn/20040426-newsletter.xml
by Grant Goodyear:
History - by Roy Marples
------------------------
I became a Gentoo/Linux developer in 2004 and wrote the modular network
scripts for the Gentoo baselayout package. baselayout is a collection of
bash scripts to bring up your computer and it's services.
Then towards the end of 2005 I found myself as the primary maintainer
for baselayout.
"My recollection is that one of woodchip's more impressive early feats was the
complete replacement of all of the init scripts in Portage for Gentoo Linux
1.0_rc6. Through 1.0_rc5 Gentoo had used fairly standard rc scripts modified
from Stampede Linux, but for 1.0_rc6 Daniel Robbins (drobbins) and Martin
Schlemmer (azarah) had created a new dependency-based init script system that
is still used today. Within a span of days Donny rewrote every single init
script in the Portage tree and committed new masked packages to await the
release of 1.0_rc6. Thanks to woodchip (and drobbins and azarah, of course) the
transition to the new init scripts was nearly painless."
At the start of 2007, baselayout-2 is announced to the world, re-writing the
core of baselayout in C and allowing POSIX sh init scripts instead of
forcing the use of bash. By Mid 2007 I have re-written everything, including
init scripts, and alpha and pre baselayout-2 snapshots where put into Gentoo.
Towards the end of 2007 I retired as a Gentoo developer for reasons I won't
go into here. baselayout-2 was still in the pre stage, and aside from the
fbsd users, it was masked everywhere. However, I also desired to keep the
baselayout-2 project alive, but outside of Gentoo and into other projects
such as FreeBSD.
Roy Marples became a Gentoo/Linux developer in 2004 and maintained the modular
network scripts for the Gentoo baselayout package. Then towards the end of
2005, he became the the primary maintainer for baselayout.
At the start of 2007, Roy Marples announced the ongoing development of
baselayout-2, containing a rewritten initscript code in C and allowing POSIX sh
init scripts instead of forcing the use of bash. By Mid 2007 Roy Marples had
re-implemented the Gentoo initscript design created by Daniel Robbins, using an
entirely new code base. Alpha and pre-release baselayout-2 snapshots were
added to Gentoo's Portage tree as an optional component.
Towards the end of 2007, Roy Marples retired as a Gentoo developer Baselayout-2
was still in the pre stage, and aside from the fbsd users, it was masked
everywhere. However, Roy Marples desired to keep the baselayout-2 project
alive, but outside of Gentoo and into other projects such as FreeBSD.
As such, the Gentoo Council permitted Roy Marples to release OpenRC under the 2
clause BSD license, managed by him as an external project. Around mid-2010, Roy
Marples decided to no longer maintain OpenRC. At this point, he transferred
development back to Gentoo, which continues to maintain the scripts. In
addition, Daniel Robbins continues to maintain an independent version OpenRC
for Funtoo Linux, which includes a Funtoo-specific network configuration
system.
As such, the Gentoo Council have allowed the creation of OpenRC under the
2 clause BSD license, managed by me as an external project.

View File

@@ -1,36 +0,0 @@
OpenRC Network Ideals
---------------------
The new style networking for OpenRC is very simplistic - provide a basic means
of configuring static interface address and routes whilst allowing the
possibility to run any command at any point.
In a nutshell, init.d/network is a wrapper around ifconfig(8) and
init.d/staticroute is wrapper around route(8).
In the Perfect World (TM) ifconfig should be able to configure everything
about the interface easily * . The BSD family almost get this right and Linux
epically fails.
* Only static configuration, including link setup.
For dynamic, static, IPv4LL, arping and per ssid IPv4 setup dhcpcd-5.x
provides your needs.
It fails because there are many tools to do the same job and often have
vastly different syntax where they could be similar. In other words, there
is no coherence.
OpenRC-0.4.x and older (inc Gentoo baselayout-1) had a collection of scripts
for each tool and allowed a script per interface. Over the years, this design
has proven very hard to maintain as each user has their own idea of how
things should work. Also, there were (and still are) race conditions.
So where do we go from here?
Well, it's possible to use the new network scripts using the tools
currently available. It's just harder as you have to know them and their
documentation can be lacking at times.
The correct end goal is a BSD style ifconfig tool.
I've started work on it, but the project has stalled somewhat.
It's display only right now and the source is not yet publicly available.
If you have the skills and share the vision then contact me privately and
we'll take it from there.

34
STYLE
View File

@@ -1,34 +0,0 @@
This is the openrc style manual. It governs the coding style of all code
in this repository. Follow it. Contact openrc@gentoo.org for any questions
or fixes you might notice.
##########
# C CODE #
##########
The BSD Kernel Normal Form (KNF) style is used:
http://en.wikipedia.org/wiki/Indent_style#BSD_KNF_style
Basically, it's like K&R/LKML, but wrapped lines that are indented use 4 spaces.
Highlights:
- no trailing whitespace
- indented code use tabs (not line wrapped)
- cuddle the braces (except for functions)
- space after native statements and before paren (for/if/while/...)
- no space between function and paren
- pointer asterisk cuddles the variable, not the type
void foo(int c)
{
int ret = 0;
if (c > 1000)
return;
while (c--) {
bar(c);
ret++;
}
return ret;
}

4
TODO
View File

@@ -1,7 +1,3 @@
- ensure all forks block, restore and unblock signals. needs review
- add support somehow for optional translations
- oldnet[bridging]: Review setting of bridge configuration on dynamic interface add
- Document rc-depend binary.

1
conf.d/.gitignore vendored
View File

@@ -1,2 +1 @@
network
staticroute

View File

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

View File

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

View File

@@ -1,2 +1 @@
CONF+= consolefont dmesg hwclock keymaps modules
SOS= Linux

View File

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

View File

@@ -13,11 +13,6 @@
#fsck_passno=">1"
#fsck_passno="<2"
# Most modern fs's don't require a full fsck on boot, but for those that do
# it may be advisable to skip this when running on battery.
# WARNING: Do not turn this off if you have any JFS partitions.
fsck_on_battery="YES"
# fsck_shutdown causes fsck to trigger during shutdown as well as startup.
# The end result of this is that if any periodic non-root filesystem checks are
# scheduled, under normal circumstances the actual check will happen during

View File

@@ -1,11 +1,11 @@
# Set CLOCK to "UTC" if your Hardware Clock is set to UTC (also known as
# Greenwich Mean Time). If that clock is set to the local time, then
# Set CLOCK to "UTC" if your system clock is set to UTC (also known as
# Greenwich Mean Time). If your clock is set to the local time, then
# set CLOCK to "local". Note that if you dual boot with Windows, then
# you should set it to "local".
clock="UTC"
# If you want to set the Hardware Clock to the current System Time
# (software clock) during shutdown, then say "YES" here.
# during shutdown, then say "YES" here.
# You normally don't need to do this if you run a ntp daemon.
clock_systohc="NO"

View File

@@ -1,4 +0,0 @@
# You can assign a default route
#defaultroute="192.168.0.1"
#defaultroute6="2001:a:b:c"

View File

@@ -1,20 +1,8 @@
# You can assign a default route
#defaultroute="gw 192.168.0.1"
#defaultroute6="gw 2001:a:b:c"
# 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"
# You can also use ip to add the default route.
#defaultiproute="via 192.168.0.1"
#defaultiproute6="via 2001:a:b:c"
# ip doesn't handle MTU like ifconfig, but we can do it like so
#ifup_eth0="ip link set \$int mtu 1500"
# Create a bonded interface
#interfaces="bond0"
#ifup_bond0="modprobe bonding; ifconfig \$int up; ifenslave \$int bge0"

View File

@@ -9,6 +9,8 @@
# 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"
@@ -24,5 +26,3 @@
# If you require DHCP, you should install dhcpcd and it to the boot or
# default runlevel.
# NIS users can set the domain name here
#domainname="foobar"

View File

@@ -1,6 +0,0 @@
# Separate multiple routes using ; or new lines.
# /etc/route.conf(5) takes precedence over this configuration.
# Example static routes. See route(8) for syntax.
#staticroute="net 192.168.0.0 -netmask 255.255.255.0 10.73.1.1
#net 192.168.1.0 -netmask 255.255.255.0 10.73.1.1"

View File

@@ -1,8 +0,0 @@
# Separate multiple routes using ; or new lines.
# Example static routes. See route(8) for syntax.
#staticroute="net 192.168.0.0 netmask 255.255.255.0 gw 10.73.1.1
#net 192.168.1.0 netmask 255.255.255.0 gw 10.73.1.1"
# Example static routes using iproute2. See ip(8) for syntax.
#staticiproute="192.168.0.0/24 via 10.73.1.1; 192.168.1.0/24 via 10.73.1.1"

View File

@@ -12,7 +12,7 @@
# kernel then remove the IPv6 address from your config.
# If you want to use a static address or use DHCP explicitly, jump
# down to the section labeled INTERFACE HANDLERS.
# down to the section labelled INTERFACE HANDLERS.
#
# If you want to do anything more fancy, you should take the time to
# read through the rest of this file.
@@ -22,10 +22,10 @@
#
# We now support modular networking scripts which means we can easily
# add support for new interface types and modules while keeping
# compatibility with existing ones.
#
# compatability with existing ones.
#
# Modules load by default if the package they need is installed. If
# you specify a module here that doesn't have its package installed
# you specify a module here that doesn't have it's package installed
# then you get an error stating which package you need to install.
# Ideally, you only use the modules setting when you have two or more
# packages installed that supply the same service.
@@ -43,6 +43,11 @@
# (eth0:1, eth0:2, etc)
# iproute2 does not do this as there is no need to
#config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24"
# Or you can use sequence expressions
#config_eth0="192.168.0.{2..4}/24" FIXME - may not work with baselayout2
# which does the same as above. Be careful though as if you use this and
# fallbacks, you have to ensure that both end up with the same number of
# values otherwise your fallback won't work correctly.
# You can also use IPv6 addresses
# (you should always specify a prefix length with IPv6 here)
@@ -96,8 +101,8 @@
#modules="iwconfig"
# ifconfig (iwconig) support is a one shot script - wpa_supplicant is daemon
# that scans, associates and re-configures if association is lost.
# We call it iwconfig to separate the wireless setup from ifconfig.
# that scans, assoicates and re-configures if assocation is lost.
# We call it iwconfig to seperate the wireless setup from ifconfig.
####################################
# HINTS
#
@@ -182,7 +187,7 @@
#dns_servers_001122334455="192.168.0.1 192.168.0.2"
# Map a MAC address to an SSID
# This is used when the Access Point is not broadcasting its SSID
# This is used when the Access Point is not broadcasting it's SSID
# WARNING: This will override the SSID being broadcast due to some
# Access Points sending an SSID even when they have been configured
# not to!
@@ -193,7 +198,7 @@
# This lists the preferred SSIDs to connect to in order
# SSID's can contain any characters here as they must match the broadcast
# SSID exactly.
# Surround each SSID with the " character and separate them with a space
# Surround each SSID with the " character and seperate them with a space
# If the first SSID isn't found then it moves onto the next
# If this isn't defined then it connects to the first one found
#preferred_aps="SSID1 SSID2"
@@ -208,11 +213,11 @@
# any other available AP
# "preferredonly" means it will only connect to visible APs in the preferred
# list
# "forcepreferred" means it will forcibly connect to APs in order if it does
# "forcepreferred" means it will forceably connect to APs in order if it does
# not find them in a scan
# "forcepreferredonly" means it forcibly connects to the APs in order and
# "forcepreferredonly" means it forceably connects to the APs in order and
# does not bother to scan
# "forceany" does the same as forcepreferred + connects to any other
# "forceany" does the same as forcepreferred + connects to any other
# available AP
# Default is "any"
#associate_order="any"
@@ -237,12 +242,12 @@
##################################################
# wpa_supplicant
# emerge net-wireless/wpa_supplicant
# emerge net-wireless/wpa-supplicant
# Wireless options are held in /etc/wpa_supplicant/wpa_supplicant.conf
# Consult the wpa_supplicant.conf.example that is installed in
# Console the wpa_supplicant.conf.example that is installed in
# /usr/share/doc/wpa_supplicant
# By default we don't wait for wpa_supplicant to associate and authenticate.
# By default we don't wait for wpa_suppliant to associate and authenticate.
# If you would like to, so can specify how long in seconds
#associate_timeout_eth0=60
# A value of 0 means wait forever.
@@ -266,13 +271,13 @@
# won't have associated then)
# If you're using anything else to configure wireless on your interface AND
# you have installed wpa_supplicant, you need to disable wpa_supplicant
# you have installed wpa_supplicant, you need to disable wpa_supplicant
#modules="!iwconfig !wpa_supplicant"
#or
#modules="!wireless"
##############################################################################
# WIRELESS SSID IN VARIABLES
# WIRELESS SSID IN VARIABLES
##############################################################################
# Remember to change SSID to your SSID.
# Say that your SSID is My NET - the line
@@ -320,7 +325,7 @@
# Set generic DHCP options like so
#dhcp_eth0="release nodns nontp nonis nogateway nosendhost"
# This tells the dhcp client to release its lease when it stops, not to
# This tells the dhcp client to release it's lease when it stops, not to
# overwrite dns, ntp and nis settings, not to set a default route and not to
# send the current hostname to the dhcp server and when it starts.
# You can use any combination of the above options - the default is not to
@@ -368,7 +373,7 @@
##############################################################################
# ADVANCED CONFIGURATION
#
#
# Four functions can be defined which will be called surrounding the
# start/stop operations. The functions are called with the interface
# name first so that one function can control multiple adapters. An extra two

View File

@@ -12,7 +12,7 @@
# kernel then remove the IPv6 address from your config.
# If you want to use a static address or use DHCP explicitly, jump
# down to the section labeled INTERFACE HANDLERS.
# down to the section labelled INTERFACE HANDLERS.
#
# If you want to do anything more fancy, you should take the time to
# read through the rest of this file.
@@ -23,10 +23,10 @@
#
# We now support modular networking scripts which means we can easily
# add support for new interface types and modules while keeping
# compatibility with existing ones.
#
# compatability with existing ones.
#
# Modules load by default if the package they need is installed. If
# you specify a module here that doesn't have its package installed
# you specify a module here that doesn't have it's package installed
# then you get an error stating which package you need to install.
# Ideally, you only use the modules setting when you have two or more
# packages installed that supply the same service.
@@ -49,7 +49,7 @@
##############################################################################
# INTERFACE HANDLERS
#
#
# We provide two interface handlers presently: ifconfig and iproute2.
# You need one of these to do any kind of network configuration.
# For ifconfig support, emerge sys-apps/net-tools
@@ -70,6 +70,11 @@
# iproute2 does not do this as there is no need to
#config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24"
# However, that only works with CIDR addresses, so you can't use netmask.
# Or you can use sequence expressions
#config_eth0="192.168.0.{2..4}/24"
# which does the same as above. Be careful though as if you use this and
# fallbacks, you have to ensure that both end up with the same number of
# values otherwise your fallback won't work correctly.
# You can also use IPv6 addresses
# (you should always specify a prefix length with IPv6 here)
@@ -106,7 +111,7 @@
# Each module described below can set a default base metric, lower is
# preferred over higher. This is so we can prefer a wired route over a
# wireless route automatically. You can override this by setting
# wireless route automaticaly. You can override this by setting
#metric_eth0="100"
# or on a global basis
#metric="100"
@@ -253,7 +258,7 @@
#key_SSID="s:foobar enc open"
#key_SSID="1234-5678-9012 enc open"
# You may want to set multiple keys - here's an example
# You may want to set muliple keys - here's an example
# It sets 4 keys on the card and instructs to use key 2 by default
#key_SSID="[1] s:passkey1 key [2] s:passkey2 key [3] s:passkey3 key [4] s:passkey4 key [2]"
@@ -283,7 +288,7 @@
#dns_servers_001122334455="192.168.0.1 192.168.0.2"
# Map a MAC address to an SSID
# This is used when the Access Point is not broadcasting its SSID
# This is used when the Access Point is not broadcasting it's SSID
# WARNING: This will override the SSID being broadcast due to some
# Access Points sending an SSID even when they have been configured
# not to!
@@ -294,10 +299,10 @@
# This lists the preferred SSIDs to connect to in order
# SSID's can contain any characters here as they must match the broadcast
# SSID exactly.
# Surround each SSID with the " character and separate them with a space
# Surround each SSID with the " character and seperate them with a space
# If the first SSID isn't found then it moves onto the next
# If this isn't defined then it connects to the first one found
#preferred_aps="SSID1 SSID2"
#preferred_aps="SSID1 SSID2"
# You can also define a preferred_aps list per interface
#preferred_aps_eth0="SSID3 SSID4"
@@ -307,9 +312,9 @@
# "any" means it will connect to visible APs in the preferred list and then any
# other available AP
# "preferredonly" means it will only connect to visible APs in the preferred list
# "forcepreferred" means it will forcibly connect to APs in order if it does not find
# "forcepreferred" means it will forceably connect to APs in order if it does not find
# them in a scan
# "forcepreferredonly" means it forcibly connects to the APs in order and does not bother
# "forcepreferredonly" means it forceably connects to the APs in order and does not bother
# to scan
# "forceany" does the same as forcepreferred + connects to any other available AP
# Default is "any"
@@ -336,16 +341,16 @@
############################################################
# wpa_supplicant
# emerge net-wireless/wpa_supplicant
# emerge net-wireless/wpa-supplicant
# Wireless options are held in /etc/wpa_supplicant/wpa_supplicant.conf
# Consult the wpa_supplicant.conf.example that is installed in
# Console the wpa_supplicant.conf.example that is installed in
# /usr/share/doc/wpa_supplicant
# To configure wpa_supplicant
#wpa_supplicant_ath0="-Dmadwifi" # For Atheros based cards
# Consult wpa_supplicant for more drivers - the default is -Dwext which should
# work for most cards.
# By default we don't wait for wpa_supplicant to associate and authenticate.
# By default we don't wait for wpa_suppliant to associate and authenticate.
# If you need to change this behaviour then you don't know how our scripts work
# and setting this value could cause strange things to happen.
# If you would like to, so can specify how long in seconds.
@@ -371,13 +376,13 @@
# won't have associated then)
# If you're using anything else to configure wireless on your interface AND
# you have installed wpa_supplicant, you need to disable wpa_supplicant
# you have installed wpa_supplicant, you need to disable wpa_supplicant
#modules="!iwconfig !wpa_supplicant"
#or
#modules="!wireless"
##############################################################################
# WIRELESS SSID IN VARIABLES
# WIRELESS SSID IN VARIABLES
##############################################################################
# Remember to change SSID to your SSID.
# Say that your SSID is My NET - the line
@@ -421,7 +426,7 @@
# Notes:
# - All clients send the current hostname to the DHCP server by default
# - dhcpcd does not daemonize when the lease time is infinite
# - udhcp-0.9.3-r3 and earlier do not support getting NTP servers
# - udhcp-0.9.3-r3 and earlier do not support getting NTP servers
# - pump does not support getting NIS servers
# - DHCP tends to erase any existing device information - so add
# static addresses after dhcp if you need them
@@ -448,7 +453,7 @@
# Set generic DHCP options like so
#dhcp_eth0="release nodns nontp nonis nogateway nosendhost"
# This tells the dhcp client to release its lease when it stops, not to
# This tells the dhcp client to release it's lease when it stops, not to
# overwrite dns, ntp and nis settings, not to set a default route and not to
# send the current hostname to the dhcp server and when it starts.
# You can use any combination of the above options - the default is not to
@@ -467,7 +472,7 @@
#fallback_eth0="apipa"
#-----------------------------------------------------------------------------
# ARPING Gateway configuration
# ARPING Gateway configuration
# and
# Automatic Private IP Addressing (APIPA)
# For arpingnet / apipa support, emerge net-misc/iputils or net-analyzer/arping
@@ -572,7 +577,7 @@
#config_bond0="null" # You may not want to assign an IP the the bond
# You can also configure the bond here, which must be done via sysfs on 2.6
# kernels or newer. See the kernel bonding documentation for a description of
# kernels or newer. See the kernel bonding documention for a description of
# these options.
#arp_ip_target_bond0="+26.0.0.0"
@@ -582,7 +587,7 @@
#-----------------------------------------------------------------------------
# Classical IP over ATM
# Classical IP over ATM
# For CLIP support emerge net-dialup/linux-atm
# Ensure that you have /etc/atmsigd.conf setup correctly
@@ -620,7 +625,7 @@
#
# Here you should specify what pppd plugins you want to use
# Available plugins are: pppoe, pppoa, capi, dhcpc, minconn, radius,
# radattr, radrealms and winbind
# radattr, radrealms and winbind
#plugins_ppp0="pppoe" # Required plugin for PPPoE
#plugins_ppp0="pppoa vc-encaps" # Required plugin for PPPoA with an option
#plugins_ppp0="capi" # Required plugin for ISDN
@@ -658,9 +663,9 @@
#
# Dead peer detection
# lcp-echo-interval 15 # Send a LCP echo every 15 seconds
# lcp-echo-failure 3 # Make peer dead after 3 consecutive
# lcp-echo-failure 3 # Make peer dead after 3 consective
# # echo-requests
#
#
# Compression options - use these to completely disable compression
# noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp
#
@@ -787,18 +792,11 @@
#bridge_add_eth0="br0"
#bridge_add_eth1="br0"
# NOTE: If you want to manually start an empty bridge, and then dynamically add
# ports to it you must set at least one of the following variables based on the
# interface name, so that we can pick it up from your configuration. Even an
# empty value variable is fine, but at least one of them must be set:
# brctl_IFVAR
# You need to configure the ports to null values so dhcp does not get started
# You need to configure the ports to null values so dhcp does not get started
#config_eth0="null"
#config_eth1="null"
# Finally give the bridge an address - dhcp or a static IP, this is assigned to
# the bridge when the bridge is explicitly started.
# Finally give the bridge an address - dhcp or a static IP
#config_br0="dhcp" # may not work when adding ports dynamically
#config_br0="192.168.0.1/24"
@@ -812,15 +810,8 @@
#sethello 0
#stp off"
# You can also configure the bridge or bridge members via sysfs on 2.6 kernels
# or newer. See the kernel bridge documentation for a description of these
# options.
#stp_state_br0="0"
#forward_delay_br0="10"
#hairpin_mode_eth0="1"
#-----------------------------------------------------------------------------
# RFC 2684 Bridge Support
# RFC 2684 Bridge Support
# For RFC 2684 bridge support emerge net-misc/br2684ctl
# Interface names have to be of the form nas0, nas1, nas2, etc.
@@ -836,8 +827,8 @@
#config_nas0="'192.168.0.1/24'"
#-----------------------------------------------------------------------------
# Tunneling
# WARNING: For tunneling it is highly recommended that you
# Tunnelling
# WARNING: For tunnelling it is highly recommended that you
# emerge sys-apps/iproute2
#
# For GRE tunnels
@@ -852,7 +843,7 @@
# 6to4 Tunnels allow IPv6 to work over IPv4 addresses, provided you
# have a non-private address configured on an interface.
# link_6to4="eth0" # Interface to base its addresses on
# link_6to4="eth0" # Interface to base it's addresses on
# config_6to4="ip6to4"
# You may want to depend on eth0 like so
#rc_need_6to4="net.eth0"
@@ -862,56 +853,10 @@
# sit0 - otherwise use a different name like 6to4 in the example above.
# You can also specify a relay and suffix if you like.
# The default relay is 192.88.99.1 and the default suffix is :1
# The default relay is 192.88.99.1 and the defualt suffix is :1
#relay_6to4="192.168.3.2"
#suffix_6to4=":ff"
#-----------------------------------------------------------------------------
# Advanced Routing
# WARNING: For advanced routing you MUST be using sys-apps/iproute2
#
# This provides a means to do multi-homing and more using the Routing Policy
# Database (RPDB).
#
# See the following links for background and more information.
# http://linux-ip.net/html/ch-routing.html
# http://linux-ip.net/html/ch-advanced-routing.html
# The rules listed will be added with 'ip rule add LINE' when the interface is
# being brought up. They will also be removed with 'ip rule delete LINE'.
# The rules added are also stored for later removal, so if you alter your rules
# directly before stopping, you should review your rules again after stopping.
# Note in earlier versions of openrc, this was provided as an example in
# postup/postdown, however that implementation suffered some bugs in corner
# cases, which are now fixed with this merger. If you used the previous
# example, you should only need to drop the relevent portions of your
# postup/postdown functions, and review the quoting in your rules_IFACE
# variables.
# Below is a trivial example for a dual-homed connection where there is an OOB
# management network. Only packets explicitly with an address from or to the
# OOB are sent via eth0. All others go via eth1 as the eth1 rules have a lower
# priority.
# If you want to use names for your tables, you should put lines into
# /etc/iproute2/rt_tables, an example follows:
# 2 oob
# 3 external
#rules_eth0="
#from ZZZ.ZZZ.200.128/27 table oob priority 500
#to ZZZ.ZZZ.200.128/27 table oob priority 550"
#rules_eth1="
#from XXX.XXX.112.0/24 table external priority 400
#to XXX.XXX.112.0/24 table external priority 450"
#routes_eth0="
#ZZZ.ZZZ.200.128/27 dev eth0 table oob scope link
#default via ZZZ.ZZZ.200.129 table oob"
#routes_eth1="
#XXX.XXX.112.0/24 dev eth1 table external scope link
#default via XXX.XXX.112.1 dev eth1"
#-----------------------------------------------------------------------------
# System
@@ -956,7 +901,7 @@
# and you're done :)
# By default we don't wait for netplug/ifplugd to configure the interface.
# If you would like it to wait so that other services know that network is up
# If you would like it to wait so that other services now that network is up
# then you can specify a timeout here.
#plug_timeout="10"
# A value of 0 means wait forever.
@@ -975,7 +920,7 @@
##############################################################################
# ADVANCED CONFIGURATION
#
#
# Four functions can be defined which will be called surrounding the
# start/stop operations. The functions are called with the interface
# name first so that one function can control multiple adapters. An extra two
@@ -996,12 +941,12 @@
#preup() {
# # Test for link on the interface prior to bringing it up. This
# # only works on some network adapters and requires the
# # sys-apps/net-tools package to be installed.
# # only works on some network adapters and requires the mii-diag
# # package to be installed.
# if mii-tool "${IFACE}" 2> /dev/null | grep -q 'no link'; then
# ewarn "No link on ${IFACE}, aborting configuration"
# return 1
# fi
# fi
#
# # Test for link on the interface prior to bringing it up. This
# # only works on some network adapters and requires the ethtool
@@ -1040,6 +985,33 @@
# # This function could be used, for example, to register with a
# # dynamic DNS service. Another possibility would be to
# # send/receive mail once the interface is brought up.
# # Here is an example that allows the use of iproute rules
# # which have been configured using the rules_eth0 variable.
# #rules_eth0=" \
# # '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}
# if [ $# != 0 ]; then
# einfo "Adding IP policy routing rules"
# eindent
# # Ensure that the kernel supports policy routing
# if ! ip rule list | grep -q "^"; then
# eerror "You need to enable IP Policy Routing (CONFIG_IP_MULTIPLE_TABLES)"
# eerror "in your kernel to use ip rules"
# else
# for x; do
# ebegin "${x}"
# ip rule add ${x} dev "${IFACE}"
# eend $?
# done
# fi
# eoutdent
# # Flush the cache
# ip route flush cache dev "${IFACE}"
# fi
#}
#postdown() {
@@ -1047,6 +1019,21 @@
# # Probably a good idea to set ifdown="no" in /etc/conf.d/net
# # as well ;)
# [ "${IFACE}" != "lo" ] && ethtool -s "${IFACE}" wol g
# Automatically erase any ip rules created in the example postup above
# if interface_exists "${IFACE}"; then
# # Remove any rules for this interface
# local rule
# ip rule list | grep " iif ${IFACE}[ ]*" | {
# while read rule; do
# rule="${rule#*:}"
# ip rule del ${rule}
# done
# }
# # Flush the route cache
# ip route flush cache dev "${IFACE}"
# fi
# # Return 0 always
# return 0
#}

View File

@@ -7,6 +7,3 @@ MK= ../mk
include ${MK}/os.mk
include Makefile.${OS}
include ${MK}/scripts.mk
rc.conf: rc.conf.in rc.conf.${OS}
${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@

View File

@@ -1,2 +1,6 @@
SED_EXTRA= -e 's:@TERM@:wsvt25:g'
SRCS+= rc.conf.in rc.in rc.shutdown.in
SRCS+= rc.in rc.shutdown.in
rc.conf:
cp rc.conf.in rc.conf
cat rc.conf.Linux >> rc.conf

View File

@@ -1,12 +0,0 @@
# This is the subsystem type. Valid options on FreeBSD:
# "" - nothing special
# "jail" - FreeBSD jails
# "prefix" - Prefix
# If unset, the old automagic detection code will be triggered. Said old code
# is deprecated and will be removed not later than 2011/03/01.
#
# This should be set to the value representing what environment this file is
# PRESENTLY in, not what virtualization the environment is capable of.
# See the OpenRC migration guide for more details.
rc_sys=""

View File

@@ -1,19 +1,3 @@
# This is the subsystem type. Valid options on Linux:
# "" - nothing special
# "lxc" - Linux Containers
# "openvz" - Linux OpenVZ
# "prefix" - Prefix
# "uml" - Usermode Linux
# "vserver" - Linux vserver
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
# If unset, the old automagic detection code will be triggered. Said old code
# is deprecated and will be removed not later than 2011/03/01.
#
# This should be set to the value representing what environment this file is
# PRESENTLY in, not what virtualization the environment is capable of.
# See the OpenRC migration guide for more details.
rc_sys=""
##############################################################################
# LINUX SPECIFIC OPTIONS

View File

@@ -1,13 +0,0 @@
# This is the subsystem type. Valid options on NetBSD:
# "" - nothing special
# "prefix" - Prefix
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
# If unset, the old automagic detection code will be triggered. Said old code
# is deprecated and will be removed not later than 2011/03/01.
#
# This should be set to the value representing what environment this file is
# PRESENTLY in, not what virtualization the environment is capable of.
# See the OpenRC migration guide for more details.
rc_sys=""

View File

@@ -2,7 +2,7 @@
# Set to "YES" if you want the rc system to try and start services
# in parallel for a slight speed improvement. When running in parallel we
# prefix the service output with its name as the output will get
# prefix the service output with it's name as the output will get
# jumbled up.
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
@@ -11,8 +11,7 @@
# 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. This feature is automatically disabled if rc_parallel is
# set to YES.
# this feature.
#rc_interactive="YES"
# If we need to drop to a shell, you can specify it here.
@@ -76,14 +75,8 @@
# Set unicode to YES to turn on unicode support for keyboards and screens.
#unicode="NO"
# Below is the default list of network fstypes.
#
# afs cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
# nfs nfs4 ocfs2 shfs smbfs
#
# If you would like to add to this list, you can do so by adding your
# own fstypes to the following variable.
#extra_net_fs_list=""
# Network fstypes. Below is the default.
net_fs_list="afs cifs coda davfs fuse gfs ncpfs nfs nfs4 ocfs2 shfs smbfs"
##############################################################################
# SERVICE CONFIGURATION VARIABLES
@@ -95,7 +88,7 @@
# We can set some things on a per service basis, like the nicelevel.
#export SSD_NICELEVEL="-19"
# Pass ulimit parameters
# Pass ulimit parameters
#rc_ulimit="-u 30"
# It's possible to define extra dependencies for services like so
@@ -115,4 +108,3 @@
# You can also remove dependencies.
# This is mainly used for saying which servies do NOT provide net.
#rc_net_tap0_provide="!net"

View File

@@ -6,7 +6,7 @@
# This gives us a nice colour boot :)
[ -z "$TERM" -o "$TERM" = "dumb" ] && export TERM="@TERM@"
# Handle interrupts
# Handle interrupts
trap : SIGINT
trap "echo 'Boot interrupted'; exit 1" SIGQUIT

View File

@@ -2,7 +2,7 @@
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
# Handle interrupts
# Handle interrupts
trap : SIGINT SIGQUIT
# Try and use stuff in /lib over anywhere else so we can shutdown

View File

@@ -1,11 +0,0 @@
avahi-dnsconfd
avahid
dhcpcd
dbus
hald
named
ntpd
openvpn
polkitd
sshd
wpa_supplicant

View File

@@ -10,7 +10,7 @@ required_files=/etc/dnsmasq.conf
extra_started_commands="reload"
depend()
{
{
provide dns
need localmount net
after bootmisc

View File

@@ -24,7 +24,7 @@ if yesno $openvpn_client; then
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
fi
@@ -59,7 +59,7 @@ start_pre()
sysctl -a | grep -q '\.tap\.' || kldload if_tap
fi
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"

View File

@@ -31,5 +31,5 @@ start_pre()
eend $? || return 1
fi
$command -t
$command -t
}

View File

@@ -14,7 +14,7 @@ depend()
use logger
after bootmisc modules
before dns dhcpcd net
keyword -shutdown
keyword noshutdown
}
find_wireless()
@@ -24,9 +24,7 @@ find_wireless()
case "$RC_UNAME" in
Linux)
for iface in /sys/class/net/*; do
if [ -e "$iface"/wireless -o \
-e "$iface"/phy80211 ]
then
if [ -e "$iface"/wireless ]; then
echo "${iface##*/}"
return 0
fi
@@ -43,7 +41,7 @@ find_wireless()
done
;;
esac
return 1
}

3
init.d/.gitignore vendored
View File

@@ -24,7 +24,6 @@ mount-ro
mtab
numlock
procfs
staticroute
sysfs
devdb
hostid
@@ -35,8 +34,6 @@ rc-enabled
rpcbind
savecore
swap-blk
swclock
syslogd
termencoding
ttys
wscons

View File

@@ -1,7 +1,6 @@
DIR= ${INITDIR}
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
network.in root.in savecache.in staticroute.in swap.in swclock.in \
sysctl.in urandom.in
network.in root.in savecache.in swap.in sysctl.in urandom.in
BIN= ${OBJS}
# Build our old net foo or not

View File

@@ -4,7 +4,7 @@
extra_commands="save"
description="Sets the local clock to UTC or Local Time."
description="Sets the local clock to UTC or Local Time."
description_save="Saves the current time in the BIOS."
: ${clock:=${CLOCK:-UTC}}
@@ -22,11 +22,11 @@ depend()
[ "$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
echo >/etc/wall_cmos_clock

View File

@@ -4,10 +4,11 @@
depend()
{
use hostname
need localmount
before logger
after clock sysctl
keyword -prefix
keyword noprefix
}
dir_writeable()
@@ -25,7 +26,7 @@ cleanup_tmp_dir()
mkdir -p "$dir" || return $?
fi
dir_writeable "$dir" || return 1
chmod a+rwt "$dir" 2> /dev/null
chmod +t "$dir"
cd "$dir"
if yesno $wipe_tmp; then
ebegin "Wiping $dir directory"
@@ -35,12 +36,6 @@ cleanup_tmp_dir()
# Faster than find
rm -rf -- [^ajlq\.]*
# pam_mktemp creates a .private directory within which
# each user gets a private directory with immutable
# bit set; remove the immutable bit before trying to
# remove it.
[ -d /tmp/.private ] && chattr -R -a /tmp/.private 2> /dev/null
find $startopts ! -name . \
! -path "./lost+found" \
! -path "./lost+found/*" \
@@ -54,6 +49,8 @@ cleanup_tmp_dir()
! -path "./aquota.group/*" \
! -path "./journal" \
! -path "./journal/*" \
! -path "./.private" \
! -path "./.private/*" \
-exec rm -rf {} \;
eend 0
else
@@ -71,24 +68,23 @@ mkutmp()
: >"$1"
# Not all systems have the utmp group
chgrp utmp "$1" 2>/dev/null
chmod 0660 "$1"
chmod 0664 "$1"
}
start()
{
# Remove any added console dirs
rm -rf "$RC_LIBEXECDIR"/console/*
rm -rf "$RC_LIBEXECDIR"/console
local logw=false runw=false extra=
local logw=false runw=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
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
fi
done
if dir_writeable /var/run; then
@@ -98,7 +94,7 @@ start()
for x in "" $xtra; do
mkutmp /var/run/utmp$x
done
[ -e /var/log/wtmp ] || mkutmp /var/log/wtmp
[ -e /var/log/wtmp ] && mkutmp /var/log/wtmp
eend 0
ebegin "Cleaning /var/run"
@@ -109,7 +105,7 @@ start()
# Clean stale sockets
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"
fi
@@ -137,7 +133,7 @@ start()
# Make sure our X11 stuff have the correct permissions
# Omit the chown as bootmisc is run before network is up
# and users may be using lame LDAP auth #139411
rm -rf /tmp/.ICE-unix /tmp/.X11-unix
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
@@ -153,7 +149,7 @@ start()
fi
fi
[ -w /etc/nologin ] && rm -f /etc/nologin
rm -f /etc/nologin
return 0
}

View File

@@ -8,7 +8,7 @@ depend()
{
need localmount termencoding
after hotplug bootmisc
keyword -openvz -prefix -uml -vserver -xenu -lxc
keyword noopenvz noprefix nouml novserver noxenu
}
start()
@@ -45,10 +45,8 @@ start()
[ -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
setfont $consolefont $param -C $ttydev$x >/dev/null
retval=$(($retval + $?))
x=$(($x + 1))
done
eend $retval

View File

@@ -10,7 +10,7 @@ depend() {
need localmount
after bootmisc
before net.lo0
keyword -jail -prefix
keyword nojail noprefix
}
start_pre() {

View File

@@ -6,7 +6,7 @@ description="Mount system critical filesystems in /dev."
depend() {
use dev
keyword -prefix -vserver
keyword noprefix novserver
}
start() {

View File

@@ -7,7 +7,7 @@ description="Set the dmesg level for a cleaner boot"
depend()
{
before dev modules
keyword -vserver
keyword novserver
}
start()

View File

@@ -6,7 +6,7 @@ description="Configures a specific kernel dump device."
depend() {
need swap
keyword -jail -prefix
keyword nojail noprefix
}
start() {

View File

@@ -9,7 +9,7 @@ _IFS="
depend()
{
use dev clock modules
keyword -jail -openvz -prefix -timeout -vserver -lxc
keyword nojail noopenvz noprefix notimeout novserver
}
_abort() {
@@ -30,6 +30,33 @@ _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
else
return 0
fi
[ $? != 128 ]
}
start()
{
local fsck_opts= p= check_extra=
@@ -41,7 +68,7 @@ start()
if _forcefsck; then
fsck_opts="$fsck_opts -f"
check_extra="(check forced)"
elif ! yesno ${fsck_on_battery:-YES} && ! on_ac_power; then
elif ! _on_ac_power; then
ewarn "Skipping fsck due to not being on AC power"
return 0
fi

View File

@@ -9,7 +9,7 @@ depend()
{
use root
before devd net
keyword -jail -prefix
keyword nojail noprefix
}
_set()
@@ -68,7 +68,7 @@ reset()
start()
{
if [ -r "$hostid_file" ]; then
_set $(cat "$hostid_file")
_set $(cat "$hostid_file")
else
reset
fi

View File

@@ -5,7 +5,7 @@
description="Sets the hostname of the machine."
depend() {
keyword -prefix
keyword noprefix
}
start()

View File

@@ -4,7 +4,7 @@
extra_commands="save show"
description="Sets the local clock to UTC or Local Time."
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."
@@ -28,7 +28,7 @@ depend()
else
before *
fi
keyword -openvz -prefix -uml -vserver -xenu -lxc
keyword noopenvz noprefix nouml novserver noxenu
}
setupopts()
@@ -87,7 +87,7 @@ start()
_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 \
@@ -97,7 +97,7 @@ start()
_hwclock --hctosys $utc_cmd $clock_args
retval=$(($retval + $?))
fi
eend $retval "Failed to set the system clock"
return 0
@@ -118,7 +118,7 @@ stop()
if ! yesno $clock_adjfile; then
# Some implementations don't handle adjustments
if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then
if LC_ALL=C hwclock --help | grep -q "\-\-noadjfile"; then
utc_cmd="$utc_cmd --noadjfile"
fi
fi
@@ -126,7 +126,7 @@ stop()
_hwclock --systohc $utc_cmd $clock_args
retval=$?
eend $retval "Failed to sync clocks"
eend $retval "Failed to sync clocks"
}
save()

View File

@@ -13,7 +13,7 @@ opts="panic showstatus"
depend() {
before net
provide firewall
keyword -jail
keyword nojail
}
ipfw() {
@@ -40,11 +40,11 @@ init() {
ipfw add deny all from any to 127.0.0.0/8
ipfw add deny ip from 127.0.0.0/8 to any
if have_ip6; then
if have_ip6; then
ipfw add pass ip6 from any to any via lo0
ipfw add deny ip6 from any to ::1
ipfw add deny ip6 from ::1 to any
ipfw add pass ip6 from :: to ff02::/16 proto ipv6-icmp
ipfw add pass ip6 from fe80::/10 to fe80::/10 proto ipv6-icmp
ipfw add pass ip6 from fe80::/10 to ff02::/16 proto ipv6-icmp
@@ -78,7 +78,7 @@ start() {
ipfw add pass udp from 0.0.0.0 68 to 255.255.255.255 67 out
ipfw add pass udp from any 67 to me 68 in
ipfw add pass udp from any 67 to 255.255.255.255 68 in
# Some servers will ping the IP while trying to decide if it's
# Some servers will ping the IP while trying to decide if it's
# still in use.
ipfw add pass icmp from any to any icmptype 8
@@ -88,11 +88,11 @@ start() {
if have_ip6; then
# Allow ICMPv6 destination unreach
ipfw add pass ip6 from any to any icmp6types 1 proto ipv6-icmp
# Allow NS/NA/toobig (don't filter it out)
ipfw add pass ip6 from any to any icmp6types 2,135,136 proto ipv6-icmp
fi
# 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
@@ -107,7 +107,7 @@ start() {
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
@@ -117,7 +117,7 @@ start() {
# Broadcasts and muticasts
ipfw add deny ip from any to 255.255.255.255
ipfw add deny ip from any to 224.0.0.0/24
ipfw add deny ip from any to 224.0.0.0/24
# Noise from routers
ipfw add deny udp from any to any 520 in

View File

@@ -8,16 +8,16 @@ depend()
{
need localmount termencoding
after bootmisc
keyword -openvz -prefix -uml -vserver -xenu -lxc
keyword noopenvz noprefix nouml novserver noxenu
}
start()
{
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
: ${unicode:=$UNICODE}
: ${keymap:=$KEYMAP}
: =${keymap:=$KEYMAP}
: ${extended_keymaps:=$EXTENDED_KEYMAPS}
: ${windowkeys:=$SET_WINDOWSKEYS}
: ${windowkeys:=$SET_WINDOWSKEYS}
: ${fix_euro:=$FIX_EURO}
: ${dumpkeys_charset:=${DUMPKEYS_CHARSET}}
@@ -34,25 +34,15 @@ start()
echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
fi
local wkeys= kmode="-a" msg="ASCII"
ebegin "Loading key mappings [$keymap]"
local loadkeys_uni= wkeys= kmode="-a" msg="ASCII"
if yesno $unicode; then
loadkeys_uni="--unicode"
kmode="-u"
msg="UTF-8"
fi
yesno $windowkeys && wkeys="windowkeys"
# Set terminal encoding to either ASCII or UNICODE.
# See utf-8(7) for more information.
ebegin "Setting keyboard mode [$msg]"
n=1
while [ $n -le $ttyn ]; do
kbd_mode $kmode -C $ttydev$n
n=$(($n + 1))
done
eend 0
ebegin "Loading key mappings [$keymap]"
loadkeys -q $wkeys $keymap $extended_keymaps
loadkeys -q $loadkeys_uni $wkeys $keymap $extended_keymaps
eend $? "Error loading key mappings" || return $?
if yesno $fix_euro; then
@@ -62,6 +52,20 @@ start()
eend $?
fi
# Set terminal encoding to either ASCII or UNICODE.
# See utf-8(7) for more information.
ebegin "Setting keyboard mode [$msg]"
if yesno $unicode; then
dumpkeys ${dumpkeys_charset:+-c} \
$dumpkeys_charset | loadkeys --unicode
fi
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

View File

@@ -6,7 +6,7 @@ description="Kill all processes so we can unmount disks cleanly."
depend()
{
keyword -prefix
keyword noprefix
}
start()
@@ -15,7 +15,7 @@ start()
killall5 -15
sleep 1
eend 0
ebegin "Killing remaining processes"
ebegin "Killing remaining processes"
killall5 -9
sleep 1
eend 0

View File

@@ -7,7 +7,7 @@ description="Executes user commands in /etc/conf.d/local"
depend()
{
after *
keyword -timeout
keyword notimeout
}
start()
@@ -18,6 +18,11 @@ start()
local_start
fi
# Support old configs
if [ -e @SYSCONFDIR@/conf.d/local.start ]; then
. @SYSCONFDIR@/conf.d/local.start
fi
eend $? "Failed to start local"
}
@@ -29,5 +34,10 @@ stop()
local_stop
fi
# Support old configs
if [ -e @SYSCONFDIR@/conf.d/local.stop ]; then
. @SYSCONFDIR@/conf.d/local.stop
fi
eend $? "Failed to stop local"
}

View File

@@ -8,23 +8,19 @@ depend()
{
need fsck
use lvm modules mtab
after lvm modules
keyword -jail -openvz -prefix -vserver -lxc
keyword nojail noopenvz noprefix novserver
}
start()
{
# Mount local filesystems in /etc/fstab.
local types="noproc" x= no_netdev=
local types="noproc" x=
for x in $net_fs_list; do
types="${types},${x}"
done
if [ "$RC_UNAME" = Linux ]; then
no_netdev="-O no_netdev"
fi
ebegin "Mounting local filesystems"
mount -at "$types" $no_netdev
mount -at "$types"
eend $? "Some local filesystem failed to mount"
# Always return 0 - some local mounts may not be critical for boot

View File

@@ -7,7 +7,7 @@ extra_commands="restore"
depend()
{
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
restore()

View File

@@ -7,7 +7,7 @@ description="Loads a user defined list of kernel modules."
depend()
{
use isapnp
keyword -openvz -prefix -vserver -lxc
keyword noopenvz noprefix novserver
}
start()

View File

@@ -7,7 +7,7 @@ description="Re-mount filesytems read-only for a clean reboot."
depend()
{
need killprocs savecache
keyword -prefix -openvz -vserver -lxc
keyword noprefix noopenvz novserver
}
start()

View File

@@ -16,18 +16,18 @@ depend()
{
need localmount
after bootmisc
keyword -jail -prefix
keyword nojail noprefix
}
start()
{
ebegin "Starting $name"
ebegin "Starting $name"
if [ -z "$moused_device" ]; then
local dev=
for dev in /dev/psm[0-9]* /dev/ums[0-9]*; do
[ -c "$dev" ] || continue
[ -e /var/run/moused-"${dev##*/}".pid ] && continue
[ -e /var/run/moused-"${dev##*/}".pid ] && continue
moused_device=$dev
eindent
einfo "Using mouse on $moused_device"
@@ -37,7 +37,7 @@ start()
fi
if [ -z "$moused_device" ]; then
eend 1 "No mouse device found"
eend 1 "No mouse device found"
return 1
fi
@@ -49,7 +49,7 @@ start()
--pidfile "$pidfile" \
-- $args -p "$moused_device" -I "$pidfile"
local retval=$?
if [ $retval = 0 ]; then
local ttyv=
for ttyv in /dev/ttyv*; do
@@ -57,6 +57,6 @@ start()
: $((retval+= $?))
done
fi
eend $retval "Failed to start moused"
}

View File

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

@@ -21,7 +21,7 @@ depend()
need localmount
after bootmisc
provide net
keyword -jail -prefix -vserver
keyword nojail noprefix novserver
case "${IFACE}" in
lo|lo0);;
@@ -180,7 +180,7 @@ _gen_module_list()
${update} || return 0
fi
einfo "Caching network module dependencies"
einfo "Caching network module dependencies"
# Run in a subshell to protect the main script
(
after() {
@@ -215,7 +215,7 @@ _gen_module_list()
for MODULE in "${MODULESDIR}"/*.sh; do
sh -n "${MODULE}" || continue
. "${MODULE}" || continue
. "${MODULE}" || continue
MODULE=${MODULE#${MODULESDIR}/}
MODULE=${MODULE%.sh}
eval ${MODULE}_depend
@@ -343,7 +343,7 @@ _load_modules()
# Wrap our provides
local f=
for f in pre_start start post_start; do
for f in pre_start start post_start; do
eval "${provides}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
done
@@ -357,7 +357,7 @@ _load_modules()
*" ${mod} "*)
eval x=\$module_${mod}_provides
[ -z "${x}" ] && continue
for f in pre_start start post_start; do
for f in pre_start start post_start; do
eval "${x}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
done
eval module_${x}_providedby="${mod}"
@@ -379,7 +379,7 @@ _load_modules()
MODULES="${MODULES}${MODULES:+ }${mod}"
done
else
for mod in ${LIST}; do
for mod in ${LIST}; do
MODULES="${mod}${MODULES:+ }${MODULES}"
done
fi
@@ -395,14 +395,14 @@ _load_config()
config_index=0
local IFS="$__IFS"
set -- ${config}
# We should support a space separated array for cidr configs
if [ $# = 1 ]; then
unset IFS
set -- ${config}
# Of course, we may have a single address added old style.
case "$2" in
netmask|broadcast|brd|brd+|peer|pointopoint)
netmask|broadcast|brd|brd+)
local IFS="$__IFS"
set -- ${config}
;;
@@ -415,7 +415,7 @@ _load_config()
config_0="127.0.0.1/8"
config_index=1
fi
else
else
if [ -z "$1" ]; then
ewarn "No configuration specified; defaulting to DHCP"
config_0="dhcp"
@@ -500,7 +500,7 @@ start()
fi
_up 2>/dev/null
for module in ${MODULES}; do
if [ "$(command -v "${module}_pre_start")" = "${module}_pre_start" ]; then
${module}_pre_start || exit $?
@@ -527,7 +527,7 @@ start()
_load_config
config_index=0
eval our_metric=\$metric_${IFVAR}
eval our_metric=\$metric_${IFVAR}
if [ -n "${our_metric}" ]; then
metric=${our_metric}
elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
@@ -536,7 +536,7 @@ start()
while true; do
eval config=\$config_${config_index}
[ -z "${config}" ] && break
[ -z "${config}" ] && break
set -- ${config}
ebegin "$1"
@@ -638,7 +638,7 @@ ${routes}"
if [ "$(command -v postup)" = "postup" ]; then
ebegin "Running postup"
eindent
postup
postup
eoutdent
fi

View File

@@ -35,15 +35,15 @@ depend()
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()
{
{
local myneed= myuse= pmap="portmap" nfsmounts=
[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
local x= fs= rc=
local x= fs=
for x in $net_fs_list; do
case "$x" in
nfs|nfs4)
@@ -65,12 +65,7 @@ start()
ebegin "Mounting network filesystems"
mount -at $fs
rc=$?
if [ "$RC_UNAME" = Linux ]; then
mount -a -O _netdev
rc=$?
fi
ewend $rc "Could not mount all network filesystems"
ewend $? "Could not mount all network filesystems"
return 0
}
@@ -98,9 +93,5 @@ stop()
retval=$?
eoutdent
if [ "$RC_UNAME" = Linux ]; then
umount -a -O _netdev
retval=$?
fi
eend $retval "Failed to unmount network filesystems"
}

View File

@@ -13,7 +13,7 @@ depend()
need localmount
after bootmisc
provide net
keyword -jail -prefix -vserver
keyword nojail noprefix novserver
}
uniqify()
@@ -57,32 +57,6 @@ sys_interfaces()
esac
}
tentative()
{
local inet= address= rest=
case "$RC_UNAME" in
Linux)
[ -x /sbin/ip ] || [ -x /bin/ip ] || return 1
[ -n "$(ip -f inet6 addr show tentative)" ]
;;
*)
local inet= address= rest=
LC_ALL=C ifconfig -a | while read inet address rest; do
case "${inet}" in
inet6)
case "${rest}" in
*" "tentative*) return 2;;
esac
;;
esac
done
[ $? = 2 ]
;;
esac
}
auto_interfaces()
{
local ifs= c= f=
@@ -129,28 +103,13 @@ dumpargs()
esac
}
intup=false
runip()
{
local int="$1" err=
shift
# Ensure we have a valid broadcast address
case "$@" in
*" broadcast "*|*" brd "*) ;;
*:*) ;; # Ignore IPv6
*) set -- "$@" brd +;;
esac
err=$(LC_ALL=C ip address add "$@" dev "$int" 2>&1)
if [ -z "$err" ]; then
# ip does not bring up the interface when adding addresses
if ! $intup; then
ip link set "$int" up
intup=true
fi
return 0
fi
[ -z "$err" ] && return 0
if [ "$err" = "RTNETLINK answers: File exists" ]; then
ip address del "$@" dev "$int" 2>/dev/null
fi
@@ -161,9 +120,8 @@ runip()
routeflush()
{
if [ "$RC_UNAME" = Linux ]; then
if [ -x /sbin/ip ] || [ -x /bin/ip ]; then
if [ -x /sbin/ip ]; then
ip route flush scope global
ip route delete default 2>/dev/null
else
# Sadly we also delete some link routes, but
# this cannot be helped
@@ -183,8 +141,6 @@ routeflush()
esac
route del $flags $dest $netmask $xtra
done
# Erase any default dev eth0 routes
route del default 2>/dev/null
fi
else
route -qn flush
@@ -209,20 +165,12 @@ runargs()
start()
{
local cr=0 r= int= intv= cmd= args= upcmd=
if [ -z "$domainname" -a -s /etc/defaultdomain ]; then
domainname=$(cat /etc/defaultdomain)
fi
if [ -n "$domainname" ]; then
ebegin "Setting NIS domainname: $domainname"
domainname "$domainname"
eend $?
fi
einfo "Starting network"
routeflush
if [ "$RC_UNAME" = "Linux" ]; then
ifconfig lo 127.0.0.1 netmask 255.0.0.0 || cr=1
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
@@ -246,7 +194,7 @@ start()
-f /etc/ifup."$int" -o -f "$cf" ] || continue
veinfo "$int"
case "$func" in
ip) func=runip; intup=false;;
ip) func=runip;;
esac
eindent
runargs /etc/ifup."$int" "$upcmd"
@@ -275,41 +223,13 @@ start()
eoutdent
eend $cr
# Wait for any inet6 tentative addresses
r=5
while [ $r -gt 0 ]; do
tentative || break
[ $r = 5 ] && vebegin "Waiting for tentative addresses"
sleep 1
r=$(($r - 1))
done
if [ $r != 5 ]; then
[ $r != 0 ]
veend $?
fi
if [ -n "$defaultroute" ]; then
ebegin "Setting default route $defaultroute"
route add default $defaultroute
eend $?
elif [ -n "$defaultiproute" ]; then
ebegin "Setting default route $defaultiproute"
ip route add default $defaultiproute
eend $?
fi
if [ -n "$defaultroute6" ]; then
ebegin "Setting default route $defaultroute6"
if [ "$RC_UNAME" = Linux ]; then
routecmd="route -A inet6 add"
route add default gw $defaultroute
else
routecmd="route -inet6 add"
route add default $defaultroute
fi
$routecmd default $defaultroute6
eend $?
elif [ -n "$defaultiproute6" ]; then
ebegin "Setting default route $defaultiproute6"
ip -f inet6 route add default $defaultiproute6
eend $?
fi
@@ -338,11 +258,6 @@ stop()
then
veinfo "$int"
runargs /etc/ifdown."$int" "$downcmd"
if [ -x /sbin/ip ] || [ -x /bin/ip ]; then
# We need to do this, otherwise we may
# fail to add things correctly on restart
ip address flush dev "$int" 2>/dev/null
fi
ifconfig "$int" down 2>/dev/null
ifconfig "$int" destroy 2>/dev/null
fi

View File

@@ -7,7 +7,7 @@ required_files="/etc/newsyslog.conf"
depend()
{
need localmount
keyword -prefix
keyword noprefix
}
start()

View File

@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend()
{
need localmount
keyword -openvz -prefix -vserver -lxc
keyword noopenvz noprefix novserver
}
_setleds()

View File

@@ -11,7 +11,7 @@ extra_started_commands="reload"
depend() {
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
start()
@@ -44,7 +44,7 @@ reload()
{
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

View File

@@ -12,7 +12,7 @@ depend()
need localmount
use logger
after bootmisc
keyword -jail -prefix
keyword nojail noprefix
}
start_pre()

View File

@@ -8,12 +8,12 @@ depend()
{
use modules devfs
need localmount
keyword -openvz -prefix -vserver -lxc
keyword noopenvz noprefix novserver
}
start()
{
# Make sure we insert usbcore if it's a module
# Make sure we insert usbcore if its a module
if [ -f /proc/modules -a ! -d /proc/bus/usb ]; then
modprobe -q usbcore
fi

View File

@@ -7,7 +7,7 @@ depend()
need localmount net
after *
before local
keyword -prefix
keyword noprefix
}
start()

View File

@@ -7,7 +7,7 @@ description="Mount the root fs read/write"
depend()
{
need fsck
keyword -jail -openvz -prefix -vserver -lxc
keyword nojail noopenvz noprefix novserver
}
start()

View File

@@ -22,7 +22,7 @@ start()
fi
fi
local save=
for x in deptree depconfig shutdowntime softlevel nettree rc.log; do
for x in deptree depconfig softlevel nettree rc.log; do
[ -e "$RC_SVCDIR/$x" ] && save="$save $RC_SVCDIR/$x"
done
if [ -n "$save" ]; then

View File

@@ -7,7 +7,7 @@ description="Saves a kernel dump."
depend()
{
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
start()

View File

@@ -1,104 +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 staticroute from NetBSD.
description="Configures static routes."
__nl="
"
depend()
{
provide net
use network
keyword -jail -prefix -vserver
}
pre_flight_checks()
{
route=route
[ -s /etc/route.conf ] && return 0
if [ -n "$staticiproute" ]; then
route="ip route"
staticroute="$staticiproute"
fi
}
dump_args()
{
# Route configuration file, as used by the NetBSD RC system
if [ -s /etc/route.conf ]; then
cat /etc/route.conf
return $?
fi
case "$staticroute" in
*"$__nl"*)
echo "$staticroute"
;;
*)
(
set -o noglob
IFS=';'; set -- $staticroute
IFS="$__nl"; echo "$*"
)
;;
esac
}
do_routes()
{
local xtra= family=
[ "$RC_UNAME" != Linux ] && xtra=-q
ebegin "$1 static routes"
eindent
pre_flight_checks
dump_args | while read args; do
[ -z "$args" ] && continue
case "$args" in
"#"*)
;;
"+"*)
[ $2 = "add" ] && eval ${args#*+}
;;
"-"*)
[ $2 = "del" -o $2 = "delete" ] && eval ${args#*-}
;;
*)
veinfo "$args"
case "$route" in
"ip route")
ip route $2 $args
;;
*)
# Linux route does cannot work it out ...
if [ "$RC_UNAME" = Linux ]; then
case "$args" in
*:*) family="-A inet6";;
*) family=;;
esac
fi
route $famly $xtra $2 -$args
;;
esac
veend $?
esac
done
eoutdent
eend 0
}
start()
{
do_routes "Adding" "add"
}
stop()
{
local cmd="delete"
[ "$RC_UNAME" = Linux ] && cmd="del"
do_routes "Deleting" "$cmd"
}

View File

@@ -5,7 +5,7 @@
depend()
{
before fsck
keyword -jail -prefix
keyword nojail noprefix
}
start()
@@ -13,11 +13,11 @@ start()
ebegin "Activating block swap devices"
swapctl -A -t blk >/dev/null
eend 0 # If swapon has nothing todo it errors, so always return 0
}
}
stop()
{
ebegin "Deactivating block swap devices"
swapctl -U -t blk >/dev/null
eend 0
eend 0
}

View File

@@ -5,7 +5,7 @@
depend()
{
need localmount
keyword -jail -openvz -prefix -vserver -lxc
keyword nojail noopenvz noprefix novserver
}
start()
@@ -16,7 +16,7 @@ start()
*) swapon -a >/dev/null;;
esac
eend 0 # If swapon has nothing todo it errors, so always return 0
}
}
stop()
{
@@ -31,5 +31,5 @@ stop()
NetBSD|OpenBSD) swapctl -U -t noblk >/dev/null;;
*) swapoff -a >/dev/null;;
esac
eend 0
eend 0
}

View File

@@ -1,28 +0,0 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2009 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
description="Sets the local clock to the mtime of a given file."
depend()
{
before *
provide clock
keyword -openvz -prefix -uml -vserver -xenu -lxc
}
# swclock is an OpenRC built in
start()
{
ebegin "Setting the local clock based on last shutdown time"
swclock --warn
eend $?
}
stop()
{
ebegin "Saving the shutdown time"
swclock --save
eend $?
}

View File

@@ -4,7 +4,7 @@
depend() {
need localmount
keyword -jail -prefix
keyword nojail noprefix
}
start() {
@@ -15,13 +15,13 @@ start() {
done
eend $?
fi
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
@@ -40,7 +40,7 @@ start() {
done
eoutdent
fi
if [ -n "$cursor" ]; then
ebegin "Setting cursor"
vidcontrol -c $cursor

View File

@@ -4,28 +4,21 @@
depend()
{
use hostname
before bootmisc logger
keyword -prefix
keyword noprefix
}
start()
{
[ -e /etc/sysctl.conf ] || return 0
local retval=0 var= comments= conf=
local retval=0 var= comments=
ebegin "Configuring kernel parameters"
eindent
for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
if [ -r "$conf" ]; then
vebegin "applying $conf"
while read var comments; do
case "$var" in
""|"#"*) continue;;
esac
sysctl -w "$var" >/dev/null || retval=1
done < "$conf"
veend $retval
fi
done
eoutdent
while read var comments; do
case "$var" in
""|"#"*) continue;;
esac
sysctl -w "$var" >/dev/null || retval=1
done < /etc/sysctl.conf
eend $retval "Some errors were encountered"
}

View File

@@ -4,22 +4,15 @@
depend()
{
use hostname
before bootmisc logger
keyword -prefix -vserver
keyword noopenvz noprefix novserver
}
start()
{
local conf= retval=0
[ -e /etc/sysctl.conf ] || return 0
ebegin "Configuring kernel parameters"
eindent
for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
if [ -r "$conf" ]; then
vebegin "applying $conf"
sysctl -p "$conf" >/dev/null
veend $? || retval=1
fi
done
eoutdent
eend $retval "Some errors were encountered"
sysctl -p >/dev/null
eend $? "Some errors were encountered"
}

View File

@@ -6,7 +6,7 @@ description="Mount the sys filesystem."
depend()
{
keyword -prefix -vserver
keyword noprefix novserver
}
mount_sys()

View File

@@ -16,5 +16,5 @@ depend()
use net newsyslog
need localmount
after bootmisc
keyword -prefix
keyword noprefix
}

View File

@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend()
{
keyword -openvz -prefix -uml -vserver -xenu
keyword noopenvz noprefix nouml novserver noxenu
}
start()

View File

@@ -2,10 +2,10 @@
# Copyright (c) 2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.
depend()
depend()
{
after fsck
keyword -prefix
keyword noprefix
}
start()
@@ -13,7 +13,7 @@ start()
ebegin "Setting tty flags"
ttyflags -a
eend $? || return $?
if [ -c /dev/ttyp0 ]; then
chmod 666 /dev/tty[p-uw-zP-T][0-9a-zA-Z]
fi

View File

@@ -8,7 +8,7 @@ description="Initializes the random number generator."
depend()
{
need localmount
keyword -jail -openvz -prefix
keyword nojail noprefix
}
save_seed()

View File

@@ -5,7 +5,7 @@
depend()
{
need localmount
keyword -prefix
keyword noprefix
}
start()
@@ -27,10 +27,10 @@ start()
font)
cmd=$wsfld
[ "$arg2" != "-" ] && cmd="$cmd -w $arg2"
[ "$arg3" != "-" ] && cmd="$cmd -h $arg3"
[ "$arg3" != "-" ] && cmd="$cmd -h $arg3"
[ "$arg4" != "-" ] && cmd="$cmd -e $arg4"
cmd="$cmd -N $arg1 $arg5"
eval "$cmd"
eval "$cmd"
;;
screen)

View File

@@ -39,7 +39,7 @@
.Nm eprefix
.Nd colorful informational output
.Sh LIBRARY
Enhanced Information output library (libeinfo, -leinfo)
Enhanced Informatation output library (libeinfo, -leinfo)
.Sh SYNOPSIS
.In einfo.h
.Ft int Fn einfo "const char * restrict format" ...

View File

@@ -36,7 +36,7 @@
.Nm
gathers and displays information about the status of services
in different runlevels. The default behavior is to show information
about the current runlevel and any unassigned services that are not stopped,
about the current runlevel and any unassgined services that are not stopped,
but any runlevel can be quickly examined.
.Pp
The options are as follows:
@@ -62,10 +62,6 @@ Show information only for the named
.Sh EXIT STATUS
.Nm
exits 0, except when checking for crashed services and it doesn't find any.
.Sh IMPLEMENTATION NOTES
.Nm
tries to list services within each runlevel in the presently resolved
dependency order if the dependency tree is available.
.Sh SEE ALSO
.Xr rc 8 ,
.Xr rc-update 8

View File

@@ -54,7 +54,7 @@ owned by
.Fa uid ,
all of which are optional.
.Pp
The returned list should be freed when done.
The retuned list should be freed when done.
.Sh IMPLEMENTATION NOTES
On BSD systems we use
.Lb libkvm

View File

@@ -42,7 +42,7 @@ is set to the hook running, and
.Fa name
is set to the name of the runlevel or name of the service.
.Pp
Plugins can affect the parent environment by writing NULL separated strings to
Plugins can affect the parent environemnt by writing NULL separated strings to
.Va rc_environ_fd .
.Sh SEE ALSO
.Xr rc 8 ,

View File

@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd November 4, 2009
.Dd April 30, 2009
.Dt RUNSCRIPT 8 SMM
.Os OpenRC
.Sh NAME
@@ -39,8 +39,8 @@
.Nm
is basically an interpreter for shell scripts which provide an easy interface
to the often complex system commands and daemons.
When a service runs a command it first loads its multiplexed configuration
file, then its master configuration file, then
When a service runs a command it first loads it's mulitplexed configuration
file, then it's master configuration file, then
.Pa /etc/rc.conf
and finally the script itself. At this point
.Nm
@@ -79,7 +79,7 @@ Ignore all dependency information the service supplies.
Only run the command if the service has been started.
.It Fl q , -quiet
Turns off all informational output the service generates.
Output from any non OpenRC commands is not affected.
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
@@ -90,9 +90,9 @@ or stopping them.
The following variables affect the service script:
.Bl -tag -width "RC_DEFAULTLEVEL"
.It Ar extra_commands
Space separated list of extra commands the service defines.
Space seperated list of extra commands the service defines.
.It Ar extra_started_commands
Space separated list of extra commands the service defines. These only work if
Space seperated list of extra commands the service defines. These only work if
the service has already been started.
.It Ar description
String describing the service.
@@ -128,7 +128,7 @@ will refuse to stop until any services that need it have stopped.
The service will attempt to start any services we use that have been added
to the runlevel.
.It Ic after
The service will start after these services and stop before these services.
The service will start after thse services and stop before these services.
.It Ic before
The service will start before these services and stop after these services.
.It Ic provide
@@ -138,37 +138,30 @@ 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 -shutdown
.It Dv nojail
When in a jail, exclude this service from any dependencies. The service can
still be run directly.
.It Dv noopenvz
Same as nojail, but for OpenVZ systems.
.It Dv noshutdown
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
.It Dv nostop
Don't stop this service when changing runlevels, even if not present.
This includes shutting the system down.
.It Dv -timeout
.It Dv notimeout
Do not time out waiting for that service.
.It Dv -jail
When in a jail, exclude this service from any dependencies. The service can
still be run directly. Set via
.Ic rc_sys
in
.Pa /etc/rc.conf
.It Dv -lxc
Same as -jail, but for Linux Resource Containers (LXC).
.It Dv -openvz
Same as -jail, but for OpenVZ systems.
.It Dv -prefix
Same as -jail, but for Prefix systems.
.It Dv -uml
Same as -jail, but for UML systems.
.It Dv -vserver
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
@@ -230,7 +223,7 @@ is newer than
return 0, otherwise 1.
If
.Ar file2
is a directory, then check all its contents too.
is a directory, then check all it's contents too.
.It Ic is_older_than Ar file1 Ar file2 ...
If
.Ar file1
@@ -239,7 +232,7 @@ is newer than
return 0, otherwise 1.
If
.Ar file2
is a directory, then check all its contents too.
is a directory, then check all it's contents too.
.It Ic service_set_value Ar name Ar value
Saves the
.Ar name
@@ -325,7 +318,7 @@ Configuration files, relative to the location of the service.
If a file ending with .${RC_RUNLEVEL} exists then we use that instead.
.Bl -ohang
.It Pa ../conf.d/${RC_SVCNAME%%.*}
multiplexed configuration file.
mulitplexed configuration file.
Example: if ${RC_SVCNAME} is net.eth1 then look for
.Pa ../conf.d/net .
.It Pa ../conf.d/${RC_SVCNAME}

View File

@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd December 14, 2009
.Dd April 22, 2009
.Dt START-STOP-DAEMON 8 SMM
.Os OpenRC
.Sh NAME
@@ -43,7 +43,7 @@
.Ar daemon
.Sh DESCRIPTION
.Nm
provides a consistent method of starting, stopping and signaling daemons.
provides a consistent method of starting, stopping and signalling daemons.
If neither
.Fl K , -stop
nor
@@ -85,7 +85,7 @@ then
.Nm
matches the process
.D1 /usr/bin/perl -w foo
If an interpreted daemon changes its process name then this won't work.
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
@@ -98,8 +98,6 @@ 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
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:
@@ -136,10 +134,6 @@ option. Only useful when used with daemons that run in the foreground and
forced into the background with the
.Fl -b , -background
option.
.It Fl I , -ionice Ar class Ns Op : Ns Ar data
Modifies the IO scheduling priority of the daemon.
Class can be 0 for none, 1 for real time, 2 for best effort and 3 for idle.
Data can be from 0 to 7 inclusive.
.It Fl N , -nice Ar level
Modifies the scheduling priority of the daemon.
.It Fl 1 , -stdout Ar logfile
@@ -148,9 +142,9 @@ 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 milliseconds
.It Fl w , -wait Ar seconds
Wait
.Ar milliseconds
.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.

View File

@@ -17,13 +17,6 @@ SNAPFILE= ${SNAPDIR}.tar.bz2
dist:
git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE}
distcheck: dist
rm -rf ${DISTPREFIX}
tar xf ${DISTFILE}
MAKEFLAGS= $(MAKE) -C ${DISTPREFIX}
MAKEFLAGS= $(MAKE) -C ${DISTPREFIX} check
rm -rf ${DISTPREFIX}
snapshot:
rm -rf /tmp/${SNAPDIR}
mkdir /tmp/${SNAPDIR}

View File

@@ -38,7 +38,7 @@ ${SHLIB_NAME}: ${SOBJS}
@${ECHO} building shared library $@
@rm -f $@ ${SHLIB_LINK}
@ln -fs $@ ${SHLIB_LINK}
${CC} ${CFLAGS} ${LDFLAGS} -shared -Wl,-x \
${CC} ${LDFLAGS} -shared -Wl,-x \
-o $@ -Wl,-soname,${SONAME} \
${SOBJS} ${LDADD}

View File

@@ -28,7 +28,7 @@ all: depend ${PROG}
${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
${PROG}: ${SCRIPTS} ${OBJS}
${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS} ${LDADD}
${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD}
clean:
rm -f ${CLEANFILES}

View File

@@ -21,7 +21,7 @@ apipa_start()
local iface="$1" i1= i2= addr= i=0
_exists true || return 1
einfo "Searching for free addresses in 169.254.0.0/16"
eindent

View File

@@ -19,7 +19,7 @@ arping_address()
esac
# We need to bring the interface up to test
_exists "${iface}" || return 1
_exists "${iface}" || return 1
_up "${iface}"
eval w=\$arping_wait_${IFVAR}
@@ -43,7 +43,7 @@ arping_address()
sed -n -e 'y/abcdef/ABCDEF/' -e 's/.*\[\([^]]*\)\].*/\1/p')"
fi
[ -z "${foundmac}" ] && return 1
if [ -n "${mac}" ]; then
if [ "${mac}" != "${foundmac}" ]; then
vewarn "Found ${ip} but MAC ${foundmac} does not match"
@@ -74,7 +74,7 @@ arping_start()
fi
eindent
for x in ${gateways}; do
local IFS=,
set -- ${x}
@@ -119,7 +119,7 @@ arping_start()
fi
done
unset IFS
_load_config
return 0
fi

View File

@@ -15,14 +15,7 @@ _is_bond()
bonding_pre_start()
{
local x= s= n= slaves= primary=
slaves="$(_get_array "slaves_${IFVAR}")"
unset slaves_${IFVAR}
eval primary="\$primary_${IFVAR}"
unset primary_${IFVAR}
local x= s= slaves="$(_get_array "slaves_${IFVAR}")"
[ -z "${slaves}" ] && return 0
@@ -46,31 +39,13 @@ bonding_pre_start()
return 1
fi
# Interface must be down in order to configure
_down
# Configure the bond mode, then we can reloop to ensure we configure
# All other options
for x in /sys/class/net/"${IFACE}"/bonding/mode; do
[ -f "${x}" ] || continue
n=${x##*/}
eval s=\$${n}_${IFVAR}
if [ -n "${s}" ]; then
einfo "Setting ${n}: ${s}"
echo "${s}" >"${x}" || \
eerror "Failed to configure $n (${n}_${IFVAR})"
fi
done
# Nice and dynamic for remaining options:)
# Configure the bond.
# Nice and dynamic :)
for x in /sys/class/net/"${IFACE}"/bonding/*; do
[ -f "${x}" ] || continue
n=${x##*/}
eval s=\$${n}_${IFVAR}
[ "${n}" != "mode" ] || continue
eval s=\$${x##*/}_${IFVAR}
if [ -n "${s}" ]; then
einfo "Setting ${n}: ${s}"
echo "${s}" >"${x}" || \
eerror "Failed to configure $n (${n}_${IFVAR})"
echo "${s}" >"${x}"
fi
done
@@ -97,11 +72,6 @@ bonding_pre_start()
# finally add in slaves
eoutdent
if [ -d /sys/class/net ]; then
if [ -n "${primary}" ]; then
echo "+${primary}" >/sys/class/net/"${IFACE}"/bonding/slaves
echo "${primary}" >/sys/class/net/"${IFACE}"/bonding/primary
slaves="${slaves/${primary}/}"
fi
for s in ${slaves}; do
echo "+${s}" >/sys/class/net/"${IFACE}"/bonding/slaves
done
@@ -115,7 +85,7 @@ bonding_pre_start()
bonding_stop()
{
_is_bond || return 0
_is_bond || return 0
local slaves= s=
slaves=$( \
@@ -147,12 +117,6 @@ bonding_stop()
done
)
_down
if [ -d /sys/class/net ]; then
echo "-${IFACE}" > /sys/class/net/bonding_masters
fi
eend 0
return 0
}

View File

@@ -17,7 +17,7 @@ br2684ctl_depend()
}
_config_vars="$_config_vars bridge bridge_add brctl"
br2684ctl_pre_start()
{
local opts=
@@ -40,7 +40,7 @@ br2684ctl_pre_start()
return 1
;;
esac
einfo "Starting RFC 2684 Bridge control on ${IFACE}"
start-stop-daemon --start --exec $(_br2684ctl) --background \
--make-pidfile --pidfile "/var/run/br2684ctl-${IFACE}.pid" \
@@ -52,7 +52,7 @@ br2684ctl_post_stop()
{
local pidfile="/var/run/br2684ctl-${IFACE}.pid"
[ -e "${pidfile}" ] || return 0
einfo "Stopping RFC 2684 Bridge control on ${IFACE}"
start-stop-daemon --stop --quiet --pidfile "${pidfile}"
eend $?

View File

@@ -11,64 +11,33 @@ _config_vars="$_config_vars bridge bridge_add brctl"
_is_bridge()
{
[ -d /sys/class/net/"${1:-${IFACE}}"/bridge ]
return $?
}
_is_bridge_port()
{
[ -d /sys/class/net/"${1:-${IFACE}}"/brport ]
return $?
}
_bridge_ports()
{
for x in /sys/class/net/"${1:-${IFACE}}"/brif/*; do
n=${x##*/}
echo $n
done
brctl show 2>/dev/null | grep -q "^${IFACE}[[:space:]]"
}
bridge_pre_start()
{
local brif= oiface="${IFACE}" e= x=
# ports is for static add
local brif= iface="${IFACE}" e= x=
local ports="$(_get_array "bridge_${IFVAR}")"
# old config options
local opts="$(_get_array "brctl_${IFVAR}")"
# brif is used for dynamic add
eval brif=\$bridge_add_${IFVAR}
# we need a way to if the bridge exists in a variable name, not just the
# contents of a variable. Eg if somebody has only bridge_add_eth0='br0',
# with no other lines mentioning br0.
eval bridge_unset=\${bridge_${IFVAR}-y\}
eval brctl_unset=\${brctl_${IFVAR}-y\}
if [ -z "${brif}" -a "${brctl_unset}" == 'y' ]; then
if [ -z "${ports}" -a "${bridge_unset}" == "y" ]; then
#eerror "Misconfigured static bridge detected (see net.example)"
return 0
fi
eval x=\${bridge_${IFVAR}-y\}
if [ -z "${brif}" -a -z "${opts}" ]; then
[ -n "${ports}" -o "${x}" != "y" ] || return 0
fi
# If the bridge was already up, we should clear it
[ "${bridge_unset}" != "y" ] && bridge_post_stop
[ -n "${ports}" ] && bridge_post_stop
(
# Normalize order of variables
if [ -z "${ports}" -a -n "${brif}" ]; then
# Dynamic mode detected
ports="${IFACE}"
IFACE="${brif}"
IFVAR=$(shell_var "${IFACE}")
else
# Static mode detected
ports="${ports}"
metric=1000
fi
if ! _is_bridge ; then
if ! _is_bridge; then
ebegin "Creating bridge ${IFACE}"
if ! brctl addbr "${IFACE}"; then
eend 1
@@ -76,12 +45,6 @@ bridge_pre_start()
fi
fi
# TODO: does this reset the bridge every time we add a interface to the
# bridge? We should probably NOT do that.
# Old configuration set mechanism
# Only a very limited subset of the options are available in the old
# configuration method. The sysfs interface is in the next block instead.
local IFS="$__IFS"
for x in ${opts}; do
unset IFS
@@ -93,50 +56,21 @@ bridge_pre_start()
done
unset IFS
# New configuration set mechanism, matches bonding
for x in /sys/class/net/"${IFACE}"/bridge/*; do
[ -f "${x}" ] || continue
n=${x##*/}
eval s=\$${n}_${IFVAR}
if [ -n "${s}" ]; then
einfo "Setting ${n}: ${s}"
echo "${s}" >"${x}" || \
eerror "Failed to configure $n (${n}_${IFVAR})"
fi
done
if [ -n "${ports}" ]; then
einfo "Adding ports to ${IFACE}"
eindent
local BR_IFACE="${IFACE}"
local OIFACE="${IFACE}"
for x in ${ports}; do
ebegin "${x}"
local IFACE="${x}"
local IFVAR=$(shell_var "${IFACE}")
if ! _exists "${IFACE}" ; then
eerror "Cannot add non-existent interface ${IFACE} to ${BR_IFACE}"
return 1
fi
# The interface is known to exist now
_set_flag promisc
_up
if ! brctl addif "${BR_IFACE}" "${x}"; then
if ! brctl addif "${OIFACE}" "${x}"; then
_set_flag -promisc
eend 1
return 1
fi
# Per-interface bridge settings
for x in /sys/class/net/"${IFACE}"/brport/*; do
[ -f "${x}" ] || continue
n=${x##*/}
eval s=\$${n}_${IFVAR}
if [ -n "${s}" ]; then
einfo "Setting ${n}@${IFACE}: ${s}"
echo "${s}" >"${x}" || \
eerror "Failed to configure $n (${n}_${IFVAR})"
fi
done
eend 0
done
eoutdent
@@ -151,24 +85,25 @@ bridge_post_stop()
{
local port= ports= delete=false extra=
if _is_bridge "${IFACE}"; then
if _is_bridge; then
ebegin "Destroying bridge ${IFACE}"
_down
for x in /sys/class/net/"${IFACE}"/brif/*; do
[ -s $x ] || continue
n=${x##*/}
ports="${ports} ${n}"
done
ports="$(brctl show 2>/dev/null | \
sed -n -e '/^'"${IFACE}"'[[:space:]]/,/^\S/ { /^\('"${IFACE}"'[[:space:]]\|\t\)/s/^.*\t//p }')"
delete=true
iface=${IFACE}
eindent
else
# We are taking down an interface that is part of a bridge maybe
ports="${IFACE}"
local brport_dir="/sys/class/net/${IFACE}/brport"
[ -d ${brport_dir} ] || return 0
iface=$(readlink ${brport_dir}/bridge)
iface=${iface##*/}
# Work out if we're added to a bridge for removal or not
eval set -- $(brctl show 2>/dev/null | sed -e "s/'/'\\\\''/g" -e "s/$/'/g" -e "s/^/'/g")
local line=
for line; do
set -- ${line}
if [ "$3" = "${IFACE}" ]; then
iface=$1
break
fi
done
[ -z "${iface}" ] && return 0
extra=" from ${iface}"
fi
@@ -186,6 +121,6 @@ bridge_post_stop()
brctl delbr "${iface}"
eend $?
fi
return 0
}

View File

@@ -5,7 +5,7 @@ _config_vars="$_config_vars ccwgroup"
ccwgroup_depend()
{
before interface
before interface
}
ccwgroup_pre_start()
@@ -42,7 +42,7 @@ ccwgroup_pre_stop()
{
# Erase any existing ccwgroup to be safe
service_set_value ccwgroup_device ""
[ ! -L /sys/class/net/"${FACE}"/driver ] && return 0
local driver="$(readlink /sys/class/net/"${IFACE}"/driver)"
case "${diver}" in
@@ -59,7 +59,7 @@ ccwgroup_post_stop()
{
local device="$(service_get_value ccwgroup_device)"
[ -z "${device}" ] && return 0
einfo "Disabling ccwgroup on ${iface}"
echo "0" >/sys/devices/qeth/"${device}"/online
echo "1" >/sys/devices/qeth/"${device}"/ungroup

View File

@@ -97,7 +97,7 @@ clip_pre_start()
return 1
fi
fi
local started_here=
if ! are_atmclip_svcs_running; then
atmclip_svcs_start || return 1

View File

@@ -17,7 +17,6 @@ dhclient_start()
# Get our options
# These options only work in Gentoo, and maybe RedHat
eval args=\$dhclient_${IFVAR}
eval opts=\$dhcp_${IFVAR}
[ -z "${opts}" ] && opts=${dhcp}

View File

@@ -56,11 +56,8 @@ dhcpcd_start()
esac
done
# Add our route metric if not given
case " $args " in
*" -m "*) ;;
*) [ "${metric:-0}" != 0 ] && args="$args -m $metric";;
esac
# Add our route metric
[ "${metric:-0}" != "0" ] && args="${args} -m ${metric}"
# Bring up DHCP for this interface
ebegin "Running dhcpcd"

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