Compare commits

..

22 Commits

Author SHA1 Message Date
Daniel Robbins
7cd9ea5eff merging latest gentoo stuff 2011-07-02 20:31:33 -06:00
Daniel Robbins
7146e99855 Revert "Unprivileged users (such as services for example) should not be able view who is logged into system."
This reverts commit 62bd337494.

It's a bit too restrictive for a default install, as it also prevents "who" from working on user accounts.
2011-06-20 22:14:53 -06:00
Daniel Robbins
e65ce9e301 Merge remote-tracking branch 'gentoo/master' 2011-06-04 17:04:04 -06:00
Daniel Robbins
6a5e6f1ee0 openrc-0.7.0 upstream merge 2011-01-20 14:00:29 -07:00
Piotr Karbowski
d8ce5dccb2 openrc-0.6.8 2010-12-16 11:17:34 +01:00
Piotr Karbowski
62bd337494 Unprivileged users (such as services for example) should not be able view who is logged into system. 2010-12-16 10:04:46 +01:00
Jory A. Pratt
06c8bd0156 Fix for make-3.82 breakage. 2010-12-03 20:06:34 -07:00
Daniel Robbins
33803219d4 openrc-0.6.5 2010-11-26 17:02:16 -07:00
Jory A. Pratt
18c08a9d4d remove 'use hostname' bug 340991, Thanks Diego 2010-11-26 16:59:28 -07:00
William Hubbs
2406dc4f3e allow net_fs_list to be extended but not replaced
This fixes bug #342825.
2010-11-26 16:59:18 -07:00
Diego Elio Pettenò
8e6d461a7f Allow cleaning up of pam_mktemp-based temporary directories.
This was blacklisted before, so the .private directories never had their
content cleaned up, even if WIPE_TMP was set to yes.
2010-11-26 16:57:37 -07:00
William Hubbs
472a3bb99c remove support for local.start and local.stop for bug #343709
The openrc ebuild now migrates these files to /etc/conf.d/local, so we
do not need to support them.
2010-11-26 16:53:54 -07:00
William Hubbs
c9a2085699 add warnings about local.start and local.stop for bug #343709
We need to warn users that they should be using /etc/conf.d/local
instead of /etc/conf.d/local.start and /etc/conf.d/local.stop. This adds
those warnings.
2010-11-26 16:53:50 -07:00
William Hubbs
69169b7e95 update documentation for rc_interactive
rc_interactive is automatically disabled if rc_parallel is set to YES.
Update the documentation in rc.conf to reflect this.
This fixes bug #327305.
2010-11-26 16:53:37 -07:00
William Hubbs
3a11f8af34 remove "use hostname" from sysctl for bsd systems 2010-11-26 16:51:42 -07:00
William Hubbs
e2e5b27d85 do not mount local file systems with the _netdev option in fstab
This fixes #344947.
2010-11-26 16:51:20 -07:00
Daniel Robbins
f343360741 0.6.4 release 2010-10-27 23:43:30 -06:00
Brant Gurganus
694fd2027f correction for unmounting volumes with weird characters 2010-10-24 13:08:38 -04:00
Daniel Robbins
ca76764743 Merge branch 'master' of github.com:funtoo/openrc 2010-10-20 19:21:48 -06:00
Jory A. Pratt
19bd9923d7 surpress output of loadkeys, fix setfont path check 2010-10-20 19:21:02 -06:00
Brant Gurganus
2a844e1122 corrected a typo 2010-10-20 16:26:01 -04:00
Daniel Robbins
5135412978 fixing history, one step at a time 2010-08-16 19:09:26 -06:00
190 changed files with 1386 additions and 2777 deletions

View File

@@ -4,7 +4,12 @@
include Makefile.inc
SUBDIR= conf.d doc etc init.d local.d sysctl.d man net scripts sh src
SUBDIR= conf.d etc init.d local.d man scripts sh src
# Build our old net foo or not
ifeq (${MKOLDNET},yes)
SUBDIR+= net doc
endif
# Build pkgconfig or not
MKPKGCONFIG?= yes
@@ -25,8 +30,6 @@ include ${MK}/dist.mk
include ${MK}/git.mk
_installafter:
ifneq ($(OS),Linux)
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d
endif
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/tmp
${ECHO} "${VERSION}${GITVER}" > ${DESTDIR}/${LIBEXECDIR}/version

View File

@@ -1,3 +1,3 @@
NAME= openrc
VERSION= 0.10
VERSION= 0.8.3
PKG= ${NAME}-${VERSION}

91
README
View File

@@ -1,8 +1,9 @@
OpenRC README
=============
Installation
------------
make install
Yup, that simple. Works with GNU make.
@@ -12,10 +13,11 @@ LIBNAME=lib64
DESTDIR=/tmp/openrc-image
MKPAM=pam
MKPKGCONFIG=no
MKRCSYS=prefix
MKSELINUX=yes
MKSTATICLIBS=no
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKOLDNET=yes
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local
@@ -33,6 +35,20 @@ LOCAL_PREFIX should be set when to where user maintained packages are.
Only set LOCAL_PREFIX if different from PKG_PREFIX.
PREFIX should be set when OpenRC is not installed to /.
MKRCSYS should be set only if you need to specify a default system
subtype. The subtype should be set to match the type of environment the
file is installed into, not the virtualization the environment is
capable of handling. Here is a list of subtypes and their meanings.
jail FreeBSD jail
lxc Linux container
openvz Linux OpenVZ
prefix Linux and *BSD prefix system
uml UsermodeLinux
vserver Linux vserver
xen0 Linux and NetBSD xen0 Domain
xenU Linux and NetBSD xenU Domain
If any of the following files exist then we do not overwrite them
/etc/devd.conf
/etc/rc
@@ -52,33 +68,54 @@ 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
--------------
Since Gentoo Linux is hosting OpenRC development, Bugs should go to
the Gentoo Bugzilla:
http://bugs.gentoo.org/
They should be filed under the "Gentoo Hosted Projects" product and
the "openrc" component.
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 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 its services.
Then towards the end of 2005 I found myself as the primary maintainer
for baselayout.
History - by Daniel Robbins
---------------------------
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.
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, primarily Martin
Schlemmer (azarah).
As such, the Gentoo Council have allowed the creation of OpenRC under the
2 clause BSD license, managed by me as an external project.
excerpt from http://www.gentoo.org/news/en/gwn/20040426-newsletter.xml
by Grant Goodyear:
"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."
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.

40
README.newnet Normal file
View File

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

51
STYLE
View File

@@ -32,54 +32,3 @@ void foo(int c)
return ret;
}
##################
# COMMIT MESSAGES #
##################
The following is an example of a correctly formatted git commit message
for this repository. Most of this information came from this blog post
[1], so I would like to thank the author.
### cut here ###
Capitalized, short (50 chars or less) summary
More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of an email and the rest of the text as the body. The blank
line separating the summary from the body is critical (unless you omit
the body entirely); tools like rebase can get confused if you run the
two together.
Write your commit message in the present tense: "Fix bug" and not "Fixed
bug." This convention matches up with commit messages generated by
commands like git merge and git revert.
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded by a
single space, with blank lines in between, but conventions vary here
- Use a hanging indent
Reported-by: User Name <email>
X-[Distro]-Bug: BugID
X-[Distro]-Bug-URL: URL for the bug (on the distribution's web site typically)
### cut here ###
If you did not write the code and the patch does not include authorship
information in a format git can use, please use the --author option of the
git commit command to make the authorship correct.
The Reported-by tag is required if the person who reported the bug is
different from the author and committer.
The X-[Distro]-Bug/Bug-URL tags are required if this commit is related
to a bug reported to us by a specific distribution of linux or a
*BSD. Also, [Distro] should be replaced with the name of the
distribution, e.g. X-Gentoo-Bug.
[1] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html

16
TODO
View File

@@ -1,21 +1,7 @@
- ensure all forks block, restore and unblock signals. needs review
- ensure all forks block, restore and unblock signals. needs review
- add support somehow for optional translations
- oldnet[bridging]: Review setting of bridge configuration on dynamic interface add
- Document rc-depend binary.
- _ifindex is not a reliable means of calculating metrics:
_ifindex is used for calculating metrics for new devices but has a major
problem: Since it's only the nth entry in /proc/net/dev
And devices may be removed from that file, and reordered, you won't always
get the same result.
If you do:
- add eth0 - _ifindex (eth0=0)
- add vlan1 - _ifindex (eth0=0,vlan1=1)
- add vlan2 - _ifindex (eth0=0,vlan1=1,vlan2=2)
- rem vlan1 - _ifindex (eth0=0,vlan2=1)
- add vlan3 - _ifindex (eth0=0,vlan2=1,vlan3=2)
Now your routing table has entries for both vlan2 and vlan3 with a metric of 2.

View File

@@ -1,23 +1,19 @@
DIR= ${CONFDIR}
CONF= bootmisc fsck hostname localmount network staticroute urandom \
${CONF-${OS}}
CONF= bootmisc fsck hostname localmount network staticroute urandom
TARGETS+= network staticroute
CLEANFILES+= network staticroute
MK= ../mk
include ${MK}/os.mk
CONF-FreeBSD= ipfw moused powerd rarpd savecore syscons
CONF-Linux= consolefont dmesg hwclock keymaps killprocs modules
CONF-NetBSD= moused rarpd savecore
include Makefile.${OS}
include ${MK}/scripts.mk
network: network.in network${SFX}
cat $^ > $@
SOS?= BSD
staticroute: staticroute${SFX}
cp $@${SFX} $@
network: network.in network.${SOS}
cp $@.in $@
[ -e $@.${SOS} ] && cat $@.${SOS} >> $@ || true
staticroute: staticroute.${SOS}
cp $@.${SOS} $@

1
conf.d/Makefile.FreeBSD Normal file
View File

@@ -0,0 +1 @@
CONF+= ipfw moused powerd rarpd savecore syscons

2
conf.d/Makefile.Linux Normal file
View File

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

1
conf.d/Makefile.NetBSD Normal file
View File

@@ -0,0 +1 @@
CONF+= moused rarpd savecore

View File

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

View File

@@ -4,7 +4,3 @@ clean_tmp_dirs="/tmp"
# Should we wipe the tmp paths completely or just selectively remove known
# locks / files / etc... ?
wipe_tmp="YES"
# Write the initial dmesg log into /var/log/dmesg after boot
# This may be useful if you need the kernel boot log afterwards
log_dmesg="YES"

View File

@@ -13,13 +13,6 @@
#fsck_passno=">1"
#fsck_passno="<2"
# If passno is not enough granularity, you can also specify mountpoints to
# check. This should NOT be used for the default non-multiplexed fsck, or your
# system might not be checked. Additionally, it is mutually exclusive with
# the fsck_passno setting.
#fsck_mnt=""
#fsck_mnt="/home"
# Most modern fs's don't require a full fsck on boot, but for those that do
# it may be advisable to skip this when running on battery.
# WARNING: Do not turn this off if you have any JFS partitions.

View File

@@ -1,20 +1,22 @@
# Set CLOCK to "UTC" if your Hardware Clock is set to UTC (also known as
# Greenwich Mean Time). If that clock is set to the local time, then
# set CLOCK to "local". Note that if you dual boot with Windows, then
# Greenwich Mean Time). If that clock is set to the local time, then
# set CLOCK to "local". Note that if you dual boot with Windows, then
# you should set it to "local".
clock="UTC"
# If you want the hwclock script to set the system time (software clock)
# to match the current hardware clock during bootup, leave this
# commented out.
# However, you can set this to "NO" ifyou are running a modern kernel
# with CONFIG_RTC_HCTOSYS set to y and your hardware clock set to UTC.
#clock_hctosys="YES"
# If you do not want to set the hardware clock to the current system
# time (software clock) during shutdown, set this to no.
#clock_systohc="YES"
# If you want to set the Hardware Clock to the current System Time
# (software clock) during shutdown, then say "YES" here.
# You normally don't need to do this if you run a ntp daemon.
clock_systohc="NO"
# If you want to set the system time to the current hardware clock
# during bootup, then say "YES" here. You do not need this if you are
# running a modern kernel with CONFIG_RTC_HCTOSYS set to y.
# Also, be aware that if you set this to "NO", the system time will
# never be saved to the hardware clock unless you set
# clock_systohc="YES" above.
clock_hctosys="YES"
# If you wish to pass any other arguments to hwclock during bootup,
# you may do so here. Alpha users may wish to use --arc or --srm here.
clock_args=""

View File

@@ -12,7 +12,7 @@ windowkeys="NO"
extended_keymaps=""
#extended_keymaps="backspace keypad euro2"
# Tell dumpkeys(1) to interpret character action codes to be
# Tell dumpkeys(1) to interpret character action codes to be
# from the specified character set.
# This only matters if you set unicode="yes" in /etc/rc.conf.
# For a list of valid sets, run `dumpkeys --help`

View File

@@ -1,10 +1,8 @@
# You can define a list modules for a specific kernel version,
# a released kernel version, a main kernel version or just a list.
# The most specific versioned variable will take precedence.
#modules_2_6_23_gentoo_r5="ieee1394 ohci1394"
#modules_2_6_23="tun ieee1394"
#modules_2_6="tun"
#modules_2="ipv6"
#modules="ohci1394"
# You can give modules a different name when they load - the new name
@@ -12,12 +10,10 @@
#modules="dummy:dummy1"
# Give the modules some arguments if needed, per version if necessary.
# Again, the most specific versioned variable will take precedence.
#module_ieee1394_args="debug"
#module_ieee1394_args_2_6_23_gentoo_r5="debug2"
#module_ieee1394_args_2_6_23="debug3"
#module_ieee1394_args_2_6="debug4"
#module_ieee1394_args_2="debug5"
#module_ieee1394_args_2_6_23_gentoo_r5="ieee1394 ohci1394"
#module_ieee1394_args_2_6_23="tun ieee1394"
#module_ieee1394_args_2_6="tun"
# You should consult your kernel documentation and configuration
# for a list of modules and their options.

View File

@@ -11,6 +11,6 @@
# You can also multiplex the init script for each device like so
# ln -s moused /etc/init.d/moused.ums0
# This enables you to have a config file per mouse (forces moused_device
# This enables you to have a config file per mouse (forces moused_device
# to ums0 in this case) and control each mouse.
# devd can also start and stop these mice, which laptop users will find handy.

View File

@@ -1,4 +1,4 @@
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /usr/share/doc/openrc*/net.example* and save your configuration
# please review /usr/share/doc/openrc/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).

View File

@@ -2,4 +2,4 @@
# (say for crypt swap), so you will need to customize this
# behavior. If you have /var on a separate partition, then
# make sure this path lives on your root device somewhere.
urandom_seed="/var/lib/misc/random-seed"
urandom_seed="/var/run/random-seed"

View File

@@ -1,11 +1,7 @@
DIR= ${DOCDIR}/openrc
SRCS= net.example.in
INC= net.example
MK= ../mk
include ${MK}/os.mk
%.example.in: %.example${SFX}
${CP} $< $@
include Makefile.${OS}
include ${MK}/scripts.mk

5
doc/Makefile.FreeBSD Normal file
View File

@@ -0,0 +1,5 @@
SRCS+= net.example.in
.SUFFIXES: .BSD.in
.BSD.in:
${CP} $< $@

5
doc/Makefile.Linux Normal file
View File

@@ -0,0 +1,5 @@
SRCS+= net.example.in
.SUFFIXES: .Linux.in
.Linux.in:
${CP} $< $@

5
doc/Makefile.NetBSD Normal file
View File

@@ -0,0 +1,5 @@
SRCS+= net.example.in
.SUFFIXES: .BSD.in
.BSD.in:
${CP} $< $@

View File

@@ -388,17 +388,6 @@
#
# ${IFACE} is set to the interface being brought up/down
# ${IFVAR} is ${IFACE} converted to variable name bash allows
#
# For historical and compatibility reasons, preup is actually normally called
# in the following sequence: up ; preup ; up.
# The first up causes the kernel to initialize the device, so
# that it is available for use in the preup function. However, for some
# hardware, e.g. CAN devices, some configuration is needed before trying to up
# the interface will actually work. For such hardware, the
# up_before_preup variables will allow skipping the first up call if set
# to yes.
#up_before_preup_IFVAR="NO"
#up_before_preup="NO"
#preup() {
# # Remember to return 0 on success

View File

@@ -68,7 +68,6 @@
# NOTE: ifconfig creates an aliased device for each extra IPv4 address
# (eth0:1, eth0:2, etc)
# iproute2 does not do this as there is no need to
# WARNING: You cannot mix multiple addresses on a line with other parameters!
#config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24"
# However, that only works with CIDR addresses, so you can't use netmask.
@@ -86,14 +85,6 @@
# If you don't want ANY address (only useful when calling for advanced stuff)
#config_eth0="null"
# If you need to pass parameters to go with an address, you can do so on the
# same line as the address. You should split multiple addresses with newlines.
# WARNING: You cannot mix multiple addresses on a line with other parameters!
#config_eth0="192.168.0.2/24 scope host"
#config_eth0="4321:0:1:2:3:4:567:89ab/64 nodad home preferred_lft 0"
#config_eth0="192.168.0.2/24 scope host
#4321:0:1:2:3:4:567:89ab/64 nodad home preferred_lft 0"
# Here's how to do routing if you need it
# We add an IPv4 default route, IPv4 subnet route and an IPv6 unicast route
#routes_eth0="default via 192.168.0.1
@@ -359,7 +350,7 @@
# By default we don't wait for wpa_supplicant to associate and authenticate.
# If you need to change this behaviour then you don't know how our scripts work
# and setting this value could cause strange things to happen.
# If you would like it to wait, you can specify how long in seconds.
# If you would like to, so can specify how long in seconds.
#associate_timeout_eth0=60
# A value of 0 means wait forever.
@@ -586,27 +577,10 @@
#vlan_start_eth0="no"
# If you do the above then you may want to depend on eth0 like so
# rc_net_vlan1_need="net.eth0"
# rc_need_vlan1="net.eth0"
# NOTE: depend functions only work in /etc/conf.d/net
# and not in profile configs such as /etc/conf.d/net.foo
# Also, you might want to make eth0 not provide net in this case so that
# dependent services will start when the vlan is active instead of the
# physical interface.
# rc_net_eth0_provide="!net"
# MAC-VLAN support
# The following configuration can be used to create a new interface 'macvlan0'
# linked to 'eth0'
#macvlan_macvlan0="eth0"
# MAC-VLAN mode (private, vepa, bridge, passtru)
#mode_macvlan0="private"
# IP address, MAC address, ... are configured as a normal interface
#config_macvlan0="192.168.20.20/24"
#mac_macvlan0="00:50:06:20:20:20"
#-----------------------------------------------------------------------------
# Bonding
# For link bonding/trunking on 2.4 kernels, or kernels without sysfs
@@ -616,27 +590,14 @@
#slaves_bond0="eth0 eth1 eth2"
#config_bond0="null" # You may not want to assign an IP the the bond
# Please note, that you should generally NOT try to change the MAC addresses of
# a bond interface yourself. If you do so, the kernel and your network switches
# may not work quite right. It is permissible to set the MAC addresses of bond
# slaves BEFORE the bond comes up, but not after the bond is up (it will change
# MAC addresses of the slaves on it's own).
# You can also configure the parameters of the bond here, which must be done
# via sysfs on 2.6 kernels or newer. The description of all the options can be
# found in the kernel: /usr/src/linux-*/Documentation/networking/bonding.txt
# You will probably want the 'mode' option at the least.
# Some possible parameters: mode fail_over_mac arp_validate arp_interval
# arp_ip_target downdelay updelay lacp_rate ad_select xmit_hash_policy
# num_grat_arp num_unsol_na miimon primary primary_reselect use_carrier
# active_slave queue_id all_slaves_active resend_igmp min_links
#mode_bond0="round-robin"
#miimon_bond0="100"
# You can also configure the bond here, which must be done via sysfs on 2.6
# kernels or newer. See the kernel bonding documentation for a description of
# these options.
#arp_ip_target_bond0="+26.0.0.0"
# If any of the slaves require extra configuration - for example wireless or
# ppp devices - we need to depend function on the bonded interfaces
#rc_net_bond0_need="net.eth0 net.eth1"
#rc_need_bond0="net.eth0 net.eth1"
#-----------------------------------------------------------------------------
@@ -753,7 +714,7 @@
# If the link require extra configuration - for example wireless or
# RFC 268 bridge - we need to depend on the bridge so they get
# configured correctly.
#rc_net_ppp0_need="net.nas0"
#rc_need_ppp0="net.nas0"
#WARNING: if MTU of the PPP interface is less than 1500 and you use this
#machine as a router, you should add the following rule to your firewall
@@ -793,8 +754,6 @@
#-----------------------------------------------------------------------------
# MAC changer
# Warning: Do NOT use this on bonding interfaces! Bonding changes MACs itself.
#
# To set a specific MAC address
#mac_eth0="00:11:22:33:44:55"
@@ -819,7 +778,7 @@
#-----------------------------------------------------------------------------
# TUN/TAP
# For TUN/TAP support install iproute2, openvpn or usermode-utilities
# For TUN/TAP support emerge net-misc/openvpn or sys-apps/usermode-utilities
#
# You must specify if we're a tun or tap device. Then you can give it any
# name you like - such as vpn
@@ -830,9 +789,6 @@
#tuntap_tap0="tap"
#config_tap0="192.168.0.1/24"
# Use something like this to pass custom options to iproute2 during
# tunnel creation. This sets the user and group ownership of the node.
#iproute2_tun1="user foo group bar"
# For passing custom options to tunctl use something like the following. This
# example sets the owner to adm
#tunctl_tun1="-u adm"
@@ -867,13 +823,13 @@
# If any of the ports require extra configuration - for example wireless or
# ppp devices - we need to depend on them like so.
#rc_net_br0_need="net.eth0 net.eth1"
#rc_need_br0="net.eth0 net.eth1"
# Below is an example of configuring the bridge
# Consult "man brctl" for more details
#brctl_br0="setfd 15
#sethello 2
#stp on"
#brctl_br0="setfd 0
#sethello 0
#stp off"
# You can also configure the bridge or bridge members via sysfs on 2.6 kernels
# or newer. See the kernel bridge documentation for a description of these
@@ -918,7 +874,7 @@
# link_6to4="eth0" # Interface to base its addresses on
# config_6to4="ip6to4"
# You may want to depend on eth0 like so
#rc_net_6to4_need="net.eth0"
#rc_need_6to4="net.eth0"
# To ensure that eth0 is configured before 6to4. Of course, the tunnel could be
# any name and this also works for any configured interface.
# NOTE: If you're not using iproute2 then your 6to4 tunnel has to be called
@@ -961,8 +917,6 @@
# /etc/iproute2/rt_tables, an example follows:
# 2 oob
# 3 external
#
# IPv6 RPDB entries are to be found in the rules6_IFVAR variables:
#rules_eth0="
#from ZZZ.ZZZ.200.128/27 table oob priority 500
@@ -977,11 +931,6 @@
#XXX.XXX.112.0/24 dev eth1 table external scope link
#default via XXX.XXX.112.1 dev eth1"
# IPv6 example:
#rules6_eth0="
#from 2001:0DB8:AAAA:BBBB::/64 table vpn priority 100
#to 2001:0DB8:AAAA:BBBB::/64 table vpn priority 150"
#-----------------------------------------------------------------------------
# System
@@ -1131,17 +1080,6 @@
#
# ${IFACE} is set to the interface being brought up/down
# ${IFVAR} is ${IFACE} converted to variable name bash allows
#
# For historical and compatibility reasons, preup is actually normally called
# in the following sequence: up ; preup ; up.
# The first up causes the kernel to initialize the device, so
# that it is available for use in the preup function. However, for some
# hardware, e.g. CAN devices, some configuration is needed before trying to up
# the interface will actually work. For such hardware, the
# up_before_preup variables will allow skipping the first up call if set
# to yes.
#up_before_preup_IFVAR="NO"
#up_before_preup="NO"
#preup() {
# # Test for link on the interface prior to bringing it up. This

View File

@@ -1,28 +1,21 @@
DIR= ${SYSCONFDIR}
SRCS= rc.conf.in rc.in rc.shutdown.in
BIN= ${BIN-${OS}}
CONF= rc.conf ${BIN-${OS}}
CONF= rc.conf
CLEANFILES+= rc.conf
MK= ../mk
include ${MK}/os.mk
SED_EXTRA-FreeBSD= -e 's:@TERM@:cons25:g'
BIN-FreeBSD= rc rc.shutdown rc.devd
CONF-FreeBSD= devd.conf
SED_EXTRA-Linux= -e 's:@TERM@:wsvt25:g'
BIN-Linux=
CONF-Linux=
SED_EXTRA-NetBSD= -e 's:@TERM@:wsvt25:g'
BIN-NetBSD= rc rc.shutdown
CONF-NetBSD=
SED_EXTRA= ${SED_EXTRA-${OS}}
include Makefile.${OS}
include ${MK}/scripts.mk
# We can't use "ifndef" here because that treats set-but-empty
# as not-set which is not what we want
MKRCSYS ?= automagicplease
ifeq ($(MKRCSYS),automagicplease)
# If the user isn't picking a default, then have the
# config go with runtime automagic detection #357247
rc.conf: SED_EXTRA += -e '/^rc_sys=""/s:^:\#:'
MKRCSYS =
endif
rc.conf: rc.conf.in rc.conf.${OS}
${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@

4
etc/Makefile.FreeBSD Normal file
View File

@@ -0,0 +1,4 @@
SED_EXTRA= -e 's:@TERM@:cons25:g'
SRCS+= rc.conf.in rc.in rc.shutdown.in
CONF+= devd.conf
BIN+= rc rc.shutdown rc.devd

2
etc/Makefile.Linux Normal file
View File

@@ -0,0 +1,2 @@
SED_EXTRA= -e 's:@TERM@:wsvt25:g'
SRCS+= rc.conf.in rc.in rc.shutdown.in

3
etc/Makefile.NetBSD Normal file
View File

@@ -0,0 +1,3 @@
SED_EXTRA= -e 's:@TERM@:wsvt25:g'
SRCS+= rc.conf.in rc.in rc.shutdown.in
BIN+= rc rc.shutdown

View File

@@ -4,9 +4,11 @@
# This is the subsystem type. Valid options on FreeBSD:
# "" - nothing special
# "jail" - FreeBSD jails
# If this is commented out, automatic detection will be used.
# "prefix" - Prefix
# If this is commented out, automatic detection will be attempted.
# Note that automatic detection does not work in a prefix environment.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""
rc_sys="@RC_SYS_DEFAULT@"

View File

@@ -5,16 +5,20 @@
# "" - nothing special
# "lxc" - Linux Containers
# "openvz" - Linux OpenVZ
# "prefix" - Prefix
# "uml" - Usermode Linux
# "vserver" - Linux vserver
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
# If this is commented out, automatic detection will be used.
# If this is commented out, automatic detection will be attempted.
# Note that autodetection will not work in a prefix environment or in a
# linux container.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""
rc_sys="@RC_SYS_DEFAULT@"
# This is the number of tty's used in most of the rc-scripts (like
# consolefont, numlock, etc ...)
rc_tty_number=12

View File

@@ -3,11 +3,13 @@
# This is the subsystem type. Valid options on NetBSD:
# "" - nothing special
# "prefix" - Prefix
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
# If this is commented out, automatic detection will be used.
# If this is commented out, automatic detection will be attempted.
# Note that automatic detection does not work in a prefix environment.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""
rc_sys="@RC_SYS_DEFAULT@"

View File

@@ -47,10 +47,6 @@
# logging can take place and as such cannot log the sysinit runlevel.
#rc_logger="YES"
# Through rc_log_path you can specify a custom log file.
# The default value is: /var/log/rc.log
#rc_log_path="/var/log/rc.log"
# 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"

View File

@@ -7,5 +7,5 @@ MK= ../mk
SED_EXTRA+= -e 's:@VARBASE@:/var:g'
include ${MK}/os.mk
include ${MK}/scripts.mk
include Makefile.${OS}

View File

@@ -0,0 +1 @@
PKG_PREFIX?= /usr/local

View File

@@ -0,0 +1 @@
PKG_PREFIX?=/usr

View File

@@ -0,0 +1 @@
PKG_PREFIX?= /usr/pkg

1
init.d/.gitignore vendored
View File

@@ -11,7 +11,6 @@ network
root
savecache
swap
swapfiles
sysctl
urandom
devfs

View File

@@ -1,42 +1,25 @@
DIR= ${INITDIR}
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
network.in root.in savecache.in staticroute.in swap.in swapfiles.in \
swclock.in sysctl.in urandom.in ${SRCS-${OS}}
network.in root.in savecache.in staticroute.in swap.in swclock.in \
sysctl.in urandom.in
BIN= ${OBJS}
INSTALLAFTER= _installafter_net.lo
CLEANFILES+= net.lo
TARGETS+= net.lo
# Build our old net foo or not
ifeq (${MKOLDNET},yes)
_OLDNET= net.lo
endif
_NET_LO= ${_OLDNET}
INSTALLAFTER= _installafter_${_NET_LO}
CLEANFILES+= ${_NET_LO}
TARGETS+= ${_NET_LO}
MK= ../mk
include ${MK}/os.mk
NET_LO-FreeBSD= net.lo0
# Generic BSD scripts
SRCS-FreeBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
rpcbind.in savecore.in syslogd.in
# These are FreeBSD specific
SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \
powerd.in syscons.in
NET_LO-Linux= net.lo
SRCS-Linux= devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \
killprocs.in modules.in mount-ro.in mtab.in numlock.in \
procfs.in sysfs.in termencoding.in
NET_LO-NetBSD= net.lo0
# Generic BSD scripts
SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
rpcbind.in savecore.in syslogd.in
# These are NetBSD specific
SRCS-NetBSD+= devdb.in swap-blk.in ttys.in wscons.in
%.in: %${SFX}
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
include Makefile.${OS}
include ${MK}/scripts.mk
_installafter_: realinstall
_installafter_net.lo: realinstall
${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO-${OS}}
${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO}

13
init.d/Makefile.FreeBSD Normal file
View File

@@ -0,0 +1,13 @@
NET_LO= net.lo0
# Generic BSD scripts
SRCS+= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
rpcbind.in savecore.in syslogd.in
# These are FreeBSD specific
SRCS+= adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \
powerd.in syscons.in
.SUFFIXES: .BSD.in
.BSD.in:
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@

9
init.d/Makefile.Linux Normal file
View File

@@ -0,0 +1,9 @@
NET_LO= net.lo
SRCS+= devfs.in dmesg.in hwclock.in consolefont.in keymaps.in killprocs.in \
modules.in mount-ro.in mtab.in numlock.in procfs.in sysfs.in \
termencoding.in
.SUFFIXES: .Linux.in
.Linux.in:
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@

12
init.d/Makefile.NetBSD Normal file
View File

@@ -0,0 +1,12 @@
NET_LO= net.lo0
# Generic BSD scripts
SRCS+= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
rpcbind.in savecore.in syslogd.in
# These are NetBSD specific
SRCS+= devdb.in swap-blk.in ttys.in wscons.in
.SUFFIXES: .BSD.in
.BSD.in:
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@

View File

@@ -22,7 +22,7 @@ depend()
[ "$clock" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
need root
fi
keyword -jail
keyword -jail -prefix
}
start()

View File

@@ -7,11 +7,15 @@ depend()
need localmount
before logger
after clock sysctl
keyword -timeout
keyword -prefix -timeout
}
dir_writeable()
{
mkdir "$1"/.test.$$ 2>/dev/null && rmdir "$1"/.test.$$
}
: ${wipe_tmp:=${WIPE_TMP:-yes}}
: ${log_dmesg:=${LOG_DMESG:-yes}}
cleanup_tmp_dir()
{
@@ -20,7 +24,7 @@ cleanup_tmp_dir()
if ! [ -d "$dir" ]; then
mkdir -p "$dir" || return $?
fi
checkpath -W "$dir" || return 1
dir_writeable "$dir" || return 1
chmod a+rwt "$dir" 2> /dev/null
cd "$dir" || return 1
if yesno $wipe_tmp; then
@@ -67,26 +71,6 @@ mkutmp()
chmod 0664 "$1"
}
migrate_to_run()
{
src="$1"
dst="$2"
if [ -L $src -a "$(readlink -f $src)" != $dst ]; then
ewarn "$src does not point to $dst."
ewarn "Setting $src to point to $dst."
rm $src
elif [ ! -L $src -a -d $src ]; then
ebegin "Migrating $src to $dst"
cp -a $src/* $dst/
rm -rf $src
eend $?
fi
# If $src doesn't exist at all, just run this
if [ ! -e $src ]; then
ln -s $dst $src
fi
}
start()
{
# Remove any added console dirs
@@ -94,16 +78,8 @@ start()
local logw=false runw=false extra=
# Ensure that our basic dirs exist
if [ "$RC_UNAME" = Linux ]; then
# Satisfy Linux FHS
extra=/var/lib/misc
if [ ! -d /run ]; then
extra="/var/run $extra"
fi
else
extra=/var/run
fi
for x in /var/log /tmp $extra; do
[ "$RC_UNAME" = Linux ] && extra=/var/lib/misc # Satisfy Linux FHS
for x in /var/log /var/run /tmp $extra; do
if ! [ -d $x ]; then
if ! mkdir -p $x; then
eend 1 "failed to create needed directory $x"
@@ -112,12 +88,7 @@ start()
fi
done
if [ "$RC_UNAME" = Linux -a -d /run ] && false; then
migrate_to_run /var/lock /run/lock
migrate_to_run /var/run /run
fi
if checkpath -W /var/run; then
if dir_writeable /var/run; then
ebegin "Creating user login records"
local xtra=
[ "$RC_UNAME" = NetBSD ] && xtra=x
@@ -159,7 +130,7 @@ start()
cleanup_tmp_dir "$tmp"
done
if checkpath -W /tmp; then
if dir_writeable /tmp; then
# Make sure our X11 stuff have the correct permissions
# Omit the chown as bootmisc is run before network is up
# and users may be using lame LDAP auth #139411
@@ -171,16 +142,15 @@ start()
fi
fi
if yesno $log_dmesg; then
if $logw || checkpath -W /var/log; then
# Create an 'after-boot' dmesg log
if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
dmesg > /var/log/dmesg
chmod 640 /var/log/dmesg
fi
if $logw || dir_writeable /var/log; then
# Create an 'after-boot' dmesg log
if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
dmesg > /var/log/dmesg
chmod 640 /var/log/dmesg
fi
fi
[ -w /etc/nologin ] && rm -f /etc/nologin
return 0
}

View File

@@ -8,7 +8,7 @@ depend()
{
need localmount termencoding
after hotplug bootmisc
keyword -openvz -uml -vserver -xenu -lxc
keyword -openvz -prefix -uml -vserver -xenu -lxc
}
start()
@@ -49,12 +49,12 @@ start()
retval=1
break
fi
: $(( x += 1 ))
x=$(($x + 1))
done
eend $retval
# Store the last font so we can use it ASAP on boot
if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then
if [ $retval -eq 0 -a -w "$RC_LIBEXECDIR" ]; then
mkdir -p "$RC_LIBEXECDIR"/console
for font in /usr/share/consolefonts/"$consolefont".*; do
:

View File

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

View File

@@ -11,7 +11,7 @@ depend()
start()
{
ebegin "Building the dev database"
ebegin "Bulding the dev database"
if [ /var/run/dev.db -nt /dev ]; then
:
else

View File

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

View File

@@ -6,7 +6,7 @@ description="Configures a specific kernel dump device."
depend() {
need swap
keyword -jail
keyword -jail -prefix
}
start() {
@@ -19,7 +19,7 @@ start() {
}
stop() {
ebegin "Deactivating kernel core dump device"
ebegin "Deactiving kernel core dump device"
dumpon off
eend $?
}

View File

@@ -9,7 +9,7 @@ _IFS="
depend()
{
use dev clock modules
keyword -jail -openvz -timeout -vserver -lxc
keyword -jail -openvz -prefix -timeout -vserver -lxc
}
_abort() {
@@ -48,13 +48,8 @@ start()
if [ -n "$fsck_passno" ]; then
check_extra="[passno $fsck_passno] $check_extra"
if [ -n "$fsck_mnt" ]; then
eerror "Only 1 of fsck_passno and fsck_mnt must be set!"
return 1
fi
fi
ebegin "Checking local filesystems $check_extra"
# Append passno mounts
for p in $fsck_passno; do
local IFS="$_IFS"
case "$p" in
@@ -63,21 +58,10 @@ start()
set -- "$@" $(fstabinfo --passno "$p")
unset IFS
done
# Append custom mounts
for m in $fsck_mnt ; do
local IFS="$_IFS"
set -- "$@" "$m"
unset IFS
done
if [ "$RC_UNAME" = Linux ]; then
local skiptypes x
for x in $net_fs_list $extra_net_fs_list; do
skiptypes="${skiptypes}no${x},"
done
skiptypes="${skiptypes}noopts=_netdev"
fsck_opts="$fsck_opts -C0 -T -t $skiptypes"
if [ -z "$fsck_passno" -a -z "$fsck_mnt" ]; then
fsck_opts="$fsck_opts -C0 -T"
if [ -z "$fsck_passno" ]; then
fsck_args=${fsck_args--A -p}
if echo 2>/dev/null >/.test.$$; then
rm -f /.test.$$
@@ -107,7 +91,7 @@ start()
_reboot
fi;;
8) ewend 1 "Operational error"; return 0;;
12) ewend 1 "fsck interrupted";;
12) ewend 1 "fsck interupted";;
*) eend 2 "Filesystems couldn't be fixed";;
esac
_abort || return 1

View File

@@ -9,7 +9,7 @@ depend()
{
use root
before devd net
keyword -jail
keyword -jail -prefix
}
_set()

View File

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

View File

@@ -28,7 +28,7 @@ depend()
else
before *
fi
keyword -openvz -uml -vserver -xenu -lxc
keyword -openvz -prefix -uml -vserver -xenu -lxc
}
setupopts()
@@ -85,7 +85,7 @@ start()
if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
_hwclock --adjust $utc_cmd
: $(( retval += $? ))
retval=$(($retval + $?))
fi
# If setting UTC, don't bother to run hwclock when first booting
@@ -94,12 +94,12 @@ start()
"$utc_cmd" != --utc -o \
-n "$clock_args" ];
then
if yesno ${clock_hctosys:-YES}; then
if yesno $clock_hctosys; then
_hwclock --hctosys $utc_cmd $clock_args
else
_hwclock --systz $utc_cmd $clock_args
fi
: $(( retval += $? ))
retval=$(($retval + $?))
fi
eend $retval "Failed to set the system clock"
@@ -111,7 +111,7 @@ stop()
{
# Don't tweak the hardware clock on LiveCD halt.
[ -n "$CDBOOT" ] && return 0
yesno ${clock_systohc:-YES} || return 0
yesno $clock_systohc || return 0
local retval=0 errstr=""
setupopts

View File

@@ -59,7 +59,7 @@ start() {
return 1
fi
# Use a stateful firewall
# Use a statefull firewall
ipfw add check-state
ipfw add pass tcp from me to any established
@@ -123,7 +123,7 @@ start() {
ipfw add deny udp from any to any 520 in
# Noise from webbrowsing.
# The stateful filter is a bit aggressive, and will cause some
# The statefull filter is a bit agressive, and will cause some
# connection teardowns to be logged.
ipfw add deny tcp from any 80,443 to any 1024-65535 in

View File

@@ -8,7 +8,7 @@ depend()
{
need localmount termencoding
after bootmisc
keyword -openvz -uml -vserver -xenu -lxc
keyword -openvz -prefix -uml -vserver -xenu -lxc
}
start()
@@ -47,7 +47,7 @@ start()
n=1
while [ $n -le $ttyn ]; do
kbd_mode $kmode -C $ttydev$n
: $(( n += 1 ))
n=$(($n + 1))
done
eend 0
@@ -63,7 +63,7 @@ start()
fi
# Save the keymapping for use immediately at boot
if checkpath -W "$RC_LIBEXECDIR"; then
if [ -w "$RC_LIBEXECDIR" ]; then
mkdir -p "$RC_LIBEXECDIR"/console
dumpkeys >"$RC_LIBEXECDIR"/console/keymap
fi

View File

@@ -4,6 +4,11 @@
description="Kill all processes so we can unmount disks cleanly."
depend()
{
keyword -prefix
}
start()
{
ebegin "Terminating remaining processes"

View File

@@ -9,14 +9,14 @@ depend()
need fsck
use lvm modules mtab
after lvm modules
keyword -jail -openvz -vserver -lxc
keyword -jail -openvz -prefix -vserver -lxc
}
start()
{
# Mount local filesystems in /etc/fstab.
local types="noproc" x= no_netdev=
for x in $net_fs_list $extra_net_fs_list; do
for x in $net_fs_list; do
types="${types},${x}"
done
@@ -33,22 +33,23 @@ start()
stop()
{
yesno $RC_GOINGDOWN || return 0
# We never unmount / or /dev or $RC_SVCDIR
# Bug 381783
local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g')
local x= no_umounts_r="/|/dev|/dev/.*|${rc_svcdir}"
no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib(32|64)?|/libexec"
local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}"
no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec"
# RC_NO_UMOUNTS is an env var that can be set by plugins
local IFS="$IFS:"
local OIFS=$IFS SIFS=${IFS-y}
IFS=$IFS:
for x in $no_umounts $RC_NO_UMOUNTS; do
no_umounts_r="$no_umounts_r|$x"
done
if [ "$SIFS" = y ]; then
IFS=$OIFS
else
unset IFS
fi
if [ "$RC_UNAME" = Linux ]; then
no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*|/usr"
no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*"
fi
no_umounts_r="^($no_umounts_r)$"
@@ -69,12 +70,12 @@ stop()
einfo "Unmounting filesystems"
eindent
local fs=
for x in $net_fs_list $extra_net_fs_list; do
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
${fs:+--skip-fstype-regex} $fs --nonetdev
eoutdent
return 0

View File

@@ -7,7 +7,7 @@ extra_commands="restore"
depend()
{
need localmount
keyword -jail
keyword -jail -prefix
}
restore()
@@ -21,7 +21,7 @@ restore()
mixer -f "$mixer" \
$(cat "/var/db/${mixer#/dev/}-state") >/dev/null
veend $?
: $(( retval += $? ))
: $((retval += $?))
fi
done
}
@@ -40,7 +40,7 @@ stop()
vebegin "$mixer"
mixer -f "$mixer" -s >/var/db/"${mixer#/dev/}"-state
veend $?
: $(( retval += $? ))
: $((retval += $?))
done
eoutdent
eend $retval

View File

@@ -7,7 +7,7 @@ description="Loads a user defined list of kernel modules."
depend()
{
use isapnp
keyword -openvz -vserver -lxc
keyword -openvz -prefix -vserver -lxc
}
start()
@@ -16,21 +16,18 @@ start()
# support compiled in ...
[ ! -f /proc/modules ] && return 0
local KV x y kv_variant_list
KV=$(uname -r)
# full $KV
kv_variant_list="${KV}"
# remove any KV_EXTRA options to just get the full version
x=${KV%%-*}
# now slowly strip them
while [ -n "$x" ] && [ "$x" != "$y" ]; do
kv_variant_list="${kv_variant_list} $x"
y=$x
x=${x%.*}
done
local KV=$(uname -r)
local KV_MAJOR=${KV%%.*}
local x=${KV#*.}
local KV_MINOR=${x%%.*}
x=${KV#*.*.}
local KV_MICRO=${x%%-*}
local list= x= xx= y= args= mpargs= cnt=0 a=
for x in $kv_variant_list ; do
for x in "$KV" \
$KV_MAJOR.$KV_MINOR.$KV_MICRO \
$KV_MAJOR.$KV_MINOR \
; do
eval list=\$modules_$(shell_var "$x")
[ -n "$list" ] && break
done
@@ -48,7 +45,10 @@ start()
fi
aa=$(shell_var "$a")
xx=$(shell_var "$x")
for y in $kv_variant_list ; do
for y in "$KV" \
$KV_MAJOR.$KV_MINOR.$KV_MICRO \
$KV_MAJOR.$KV_MINOR \
; do
eval args=\$module_${aa}_args_$(shell_var "$y")
[ -n "${args}" ] && break
eval args=\$module_${xx}_args_$(shell_var "$y")
@@ -57,7 +57,7 @@ start()
[ -z "$args" ] && eval args=\$module_${aa}_args
[ -z "$args" ] && eval args=\$module_${xx}_args
eval modprobe -q "$mpargs" "$x" "$args"
eend $? "Failed to load $x" && : $(( cnt += 1 ))
eend $? "Failed to load $x" && cnt=$(($cnt + 1))
done
einfo "Autoloaded $cnt module(s)"
}

View File

@@ -7,7 +7,7 @@ description="Re-mount filesytems read-only for a clean reboot."
depend()
{
need killprocs savecache
keyword -openvz -vserver -lxc
keyword -prefix -openvz -vserver -lxc
}
start()
@@ -19,26 +19,28 @@ start()
# We need the do_unmount function
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
eindent
# Bug 381783
local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g')
local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs=
m="$m|/bin|/sbin|/lib(32|64)?|/libexec"
local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|${RC_SVCDIR}" x= fs=
m="$m|/bin|/sbin|/lib|/libexec"
# RC_NO_UMOUNTS is an env var that can be set by plugins
local IFS="$IFS:"
local OIFS=$IFS SIFS=${IFS-y} IFS=$IFS
IFS=$IFS:
for x in $no_umounts $RC_NO_UMOUNTS; do
m="$m|$x"
done
if [ "$SIFS" = y ]; then
IFS=$OIFS
else
unset IFS
fi
m="^($m)$"
fs=
for x in $net_fs_list $extra_net_fs_list; do
for x in $net_fs_list; do
fs="$fs${fs:+|}$x"
done
[ -n "$fs" ] && fs="^($fs)$"
do_unmount "umount -r" \
--skip-point-regex "$m" \
"${fs:+--skip-fstype-regex}" $fs --nonetdev
${fs:+--skip-fstype-regex} $fs --nonetdev
eoutdent
eend $?
}

View File

@@ -16,7 +16,7 @@ depend()
{
need localmount
after bootmisc
keyword -jail
keyword -jail -prefix
}
start()
@@ -54,7 +54,7 @@ start()
local ttyv=
for ttyv in /dev/ttyv*; do
vidcontrol < "$ttyv" -m on
: $(( retval += $? ))
: $((retval+= $?))
done
fi

View File

@@ -7,13 +7,14 @@ description="Update /etc/mtab to match what the kernel knows about"
depend()
{
need root
keyword -prefix
}
start()
{
if [ -L /etc/mtab ]
then
einfo "Skipping mtab update (mtab is a symbolic link)"
# /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

View File

@@ -19,18 +19,13 @@ depend()
local IFVAR=$(shell_var "${IFACE}")
need localmount
if [ "$RC_UNAME" = Linux ]; then
need sysfs
fi
after bootmisc
keyword -jail -vserver
provide net
keyword -jail -prefix -vserver
case "${IFACE}" in
lo|lo0) provide lo;;
*)
after net.lo net.lo0 dbus
provide net
;;
lo|lo0);;
*) after net.lo net.lo0;;
esac
if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
@@ -42,32 +37,17 @@ depend()
eval prov=\$rc_${dep}_${IFVAR}
if [ -n "${prov}" ]; then
${dep} ${prov}
ewarn "rc_${dep}_${IFVAR} is deprecated."
ewarn "Please use rc_net_${IFVAR}_${dep} instead."
fi
done
}
# Support bash arrays - sigh
_array_helper()
{
local _a=
eval _a=\$$1
_a=$(echo "${_a}" | sed -e 's:^[[:space:]]*::' -e 's:[[:space:]]*$::' -e '/^$/d' -e 's:[[:space:]]\{1,\}: :g')
[ -n "${_a}" ] && printf "%s\n" "${_a}"
}
_get_array()
{
local _a=
if [ -n "${BASH}" ]; then
case "$(declare -p "$1" 2>/dev/null)" in
"declare -a "*)
ewarn "You are using a bash array for $1."
ewarn "This feature will be removed in the future."
ewarn "Please see net.example for the correct format for $1."
eval "set -- \"\${$1[@]}\""
for _a; do
printf "%s\n" "${_a}"
@@ -77,7 +57,10 @@ _get_array()
esac
fi
_array_helper $1
eval _a=\$$1
printf "%s" "${_a}"
printf "\n"
[ -n "${_a}" ]
}
# Flatten bash arrays to simple strings
@@ -86,9 +69,6 @@ _flatten_array()
if [ -n "${BASH}" ]; then
case "$(declare -p "$1" 2>/dev/null)" in
"declare -a "*)
ewarn "You are using a bash array for $1."
ewarn "This feature will be removed in the future."
ewarn "Please see net.example for the correct format for $1."
eval "set -- \"\${$1[@]}\""
for x; do
printf "'%s' " "$(printf "$x" | sed "s:':'\\\'':g")"
@@ -98,7 +78,10 @@ _flatten_array()
esac
fi
_array_helper $1
eval _a=\$$1
printf "%s" "${_a}"
printf "\n"
[ -n "${_a}" ]
}
_wait_for_carrier()
@@ -122,7 +105,7 @@ _wait_for_carrier()
eend 0
return 0
fi
: $(( timeout -= 1 ))
timeout=$((${timeout} - 1))
[ "${efunc}" = "einfon" ] && printf "."
done
@@ -151,9 +134,9 @@ _netmask2cidr()
local i= len=
local IFS=.
for i in $1; do
while [ ${i} -ne 0 ]; do
: $(( len += i % 2 ))
: $(( i >>= 1 ))
while [ ${i} != "0" ]; do
len=$((${len} + ${i} % 2))
i=$((${i} >> 1))
done
done
@@ -176,36 +159,6 @@ _configure_variables()
done
}
_which()
{
local i OIFS
# Empty
[ -z "$1" ] && return
# check paths
OIFS="$IFS"
IFS=:
for i in $PATH ; do
[ -x $i/$1 ] && echo $i/$1 && break
done
IFS=$OIFS
}
# Like _which, but also consider shell builtins, and multiple alternatives
_program_available()
{
[ -z "$1" ] && return 0
local x=
for x; do
case "${x}" in
/*) [ -x "${x}" ] && break;;
*) type "${x}" >/dev/null 2>&1 && break;;
esac
unset x
done
[ -n "${x}" ] && echo $x && return 0
return 1
}
_show_address()
{
einfo "received address $(_get_inet_address "${IFACE}")"
@@ -314,7 +267,7 @@ _gen_module_list()
echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
: $(( i += 1 ))
i=$((${i} + 1))
done
echo "module_${i}=" >> "${MODULESLIST}"
)
@@ -341,17 +294,18 @@ _load_modules()
local i=-1 x= mod= f= provides=
while true; do
: $(( i += 1 ))
i=$((${i} + 1))
eval mod=\$module_${i}
[ -z "${mod}" ] && break
[ -e "${MODULESDIR}/${mod}.sh" ] || continue
eval set -- \$module_${i}_program
if [ -n "$1" ]; then
if ! _program_available "$@" >/dev/null; then
vewarn "Skipping module $mod due to missing program: $@"
continue
fi
x=
for x; do
[ -x "${x}" ] && break
done
[ -x "${x}" ] || continue
fi
if ${starting}; then
eval set -- \$module_${i}_program_start
@@ -359,10 +313,15 @@ _load_modules()
eval set -- \$module_${i}_program_stop
fi
if [ -n "$1" ]; then
if ! _program_available "$@" >/dev/null; then
vewarn "Skipping module $mod due to missing program: $@"
continue
fi
x=
for x; do
case "${x}" in
/*) [ -x "${x}" ] && break;;
*) type "${x}" >/dev/null 2>&1 && break;;
esac
unset x
done
[ -n "${x}" ] || continue
fi
eval provides=\$module_${i}_provide
@@ -438,18 +397,16 @@ _load_config()
set -- ${config}
# We should support a space separated array for cidr configs
# But only as long as they do not contain other parameters for the address
if [ $# = 1 ]; then
unset IFS
set -- ${config}
# Of course, we may have a single address added old style.
# If the NEXT argument is a v4 or v6 address, it's the next config.
# Otherwise, it's arguments to the first config...
if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then
# Not an IPv4/IPv6
local IFS="$__IFS"
set -- ${config}
fi
case "$2" in
netmask|broadcast|brd|brd+|peer|pointopoint)
local IFS="$__IFS"
set -- ${config}
;;
esac
fi
# Ensure that loopback has the correct address
@@ -471,7 +428,7 @@ _load_config()
# so modules can influence it
for cmd; do
eval config_${config_index}="'${cmd}'"
: $(( config_index += 1 ))
config_index=$((${config_index} + 1))
done
# Terminate the list
eval config_${config_index}=
@@ -479,7 +436,7 @@ _load_config()
config_index=0
for cmd in ${fallback}; do
eval fallback_${config_index}="'${cmd}'"
: $(( config_index += 1 ))
config_index=$((${config_index} + 1))
done
# Terminate the list
eval fallback_${config_index}=
@@ -521,9 +478,7 @@ start()
{
local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
local metric=0 _up_before_preup
eval _up_before_preup="\$up_before_preup_${IFVAR}"
[ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup
local metric=0
einfo "Bringing up interface ${IFACE}"
eindent
@@ -537,7 +492,7 @@ start()
# available in preup and afterwards incase the user inadvertently
# brings it down
if [ "$(command -v preup)" = "preup" ]; then
yesno "${_up_before_preup:-yes}" && _up 2>/dev/null
_up 2>/dev/null
ebegin "Running preup"
eindent
preup || return 1
@@ -576,7 +531,7 @@ start()
if [ -n "${our_metric}" ]; then
metric=${our_metric}
elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
: $(( metric += $(_ifindex) ))
metric=$((${metric} + $(_ifindex)))
fi
while true; do
@@ -584,9 +539,7 @@ start()
[ -z "${config}" ] && break
set -- ${config}
if [ "$1" != "null" -a "$1" != "noop" ]; then
ebegin "$1"
fi
ebegin "$1"
eindent
case "$1" in
noop)
@@ -616,11 +569,11 @@ start()
eindent
eval config_${config_index}=\$config
unset fallback_${config_index}
: $(( config_index -= 1 ))
config_index=$((${config_index} - 1))
fi
fi
eoutdent
: $(( config_index += 1 ))
config_index=$((${config_index} + 1))
done
if ! ${oneworked}; then

View File

@@ -35,7 +35,7 @@ depend()
need net $pmap
use afc-client amd autofs openvpn
use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
keyword -jail -vserver
keyword -jail -prefix -vserver
}
start()
@@ -44,7 +44,7 @@ start()
[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
local x= fs= rc=
for x in $net_fs_list $extra_net_fs_list; do
for x in $net_fs_list; do
case "$x" in
nfs|nfs4)
# If the nfsmount script took care of the nfs
@@ -81,7 +81,7 @@ stop()
ebegin "Unmounting network filesystems"
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
for x in $net_fs_list $extra_net_fs_list; do
for x in $net_fs_list; do
fs="$fs${fs:+,}$x"
done
if [ -n "$fs" ]; then
@@ -90,7 +90,7 @@ stop()
eindent
fs=
for x in $net_fs_list $extra_net_fs_list; do
for x in $net_fs_list; do
fs="$fs${fs:+|}$x"
done
[ -n "$fs" ] && fs="^($fs)$"

View File

@@ -13,7 +13,7 @@ depend()
need localmount
after bootmisc
provide net
keyword -jail -vserver
keyword -jail -prefix -vserver
}
uniqify()
@@ -219,12 +219,6 @@ start()
eend $?
fi
ewarn
ewarn "The $RC_SVCNAME script is deprecated and will be"
ewarn "removed in the future."
ewarn "Please use the net.* scripts to manage your network interfaces."
ewarn
einfo "Starting network"
routeflush
if [ "$RC_UNAME" = "Linux" ]; then
@@ -287,7 +281,7 @@ start()
tentative || break
[ $r = 5 ] && vebegin "Waiting for tentative addresses"
sleep 1
: $(( r -= 1 ))
r=$(($r - 1))
done
if [ $r != 5 ]; then
[ $r != 0 ]

View File

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

View File

@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend()
{
need localmount
keyword -openvz -vserver -lxc
keyword -openvz -prefix -vserver -lxc
}
_setleds()
@@ -21,7 +21,7 @@ _setleds()
while [ $i -le $ttyn ]; do
setleds -D "$1"num < $dev$i || retval=1
: $(( i += 1 ))
i=$(($i + 1))
done
return $retval

View File

@@ -11,7 +11,7 @@ extra_started_commands="reload"
depend() {
need localmount
keyword -jail
keyword -jail -prefix
}
start()

View File

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

View File

@@ -8,7 +8,7 @@ depend()
{
use modules devfs
need localmount
keyword -openvz -vserver -lxc
keyword -openvz -prefix -vserver -lxc
}
start()
@@ -20,29 +20,6 @@ start()
[ -e /proc/filesystems ] || return 0
# Setup Kernel Support for miscellaneous Binary Formats
if [ -d /proc/sys/fs/binfmt_misc -a ! -e /proc/sys/fs/binfmt_misc/register ]; then
if grep -qs binfmt_misc /proc/filesystems; then
ebegin "Mounting misc binary format filesystem"
mount -t binfmt_misc -o nodev,noexec,nosuid \
binfmt_misc /proc/sys/fs/binfmt_misc
if eend $? ; then
local fmts
ebegin "Loading custom binary format handlers"
fmts=$(grep -hsv -e '^[#;]' -e '^[[:space:]]*$' \
/run/binfmt.d/*.conf \
@SYSCONFDIR@/binfmt.d/*.conf \
""/usr/lib/binfmt.d/*.conf)
if [ -n "${fmts}" ]; then
echo "${fmts}" > /proc/sys/fs/binfmt_misc/register
fi
eend $?
fi
fi
fi
[ "$RC_SYS" = "OPENVZ" ] && return 0
# Check what USB fs the kernel support. Currently
# 2.5+ kernels, and later 2.4 kernels have 'usbfs',
# while older kernels have 'usbdevfs'.
@@ -60,6 +37,27 @@ start()
fi
fi
# Setup Kernel Support for the NFS daemon status
if [ -d /proc/fs/nfsd ] && ! mountinfo -q /proc/fs/nfsd; then
if grep -qs nfsd /proc/filesystems; then
ebegin "Mounting NFS filesystem"
mount -t nfsd -o nodev,noexec,nosuid \
nfsd /proc/fs/nfsd
eend $?
fi
fi
# Setup Kernel Support for miscellaneous Binary Formats
if [ -d /proc/sys/fs/binfmt_misc ] \
&& ! mountinfo -q /proc/sys/fs/binfmt_misc; then
if grep -qs binfmt_misc /proc/filesystems; then
ebegin "Mounting misc binary format filesystem"
mount -t binfmt_misc -o nodev,noexec,nosuid \
binfmt_misc /proc/sys/fs/binfmt_misc
eend $?
fi
fi
# Setup Kernel Support for SELinux
if [ -d /selinux ] && ! mountinfo -q /selinux; then
if grep -qs selinuxfs /proc/filesystems; then

View File

@@ -7,6 +7,7 @@ depend()
need localmount net
after *
before local
keyword -prefix
}
start()
@@ -32,7 +33,7 @@ start()
# Good to go!
"$svc" start && started="$started $svc"
: $(( retval += $? ))
: $((retval += $?))
done
service_set_value started "$started"
eend $retval "Some local rc services failed to start"
@@ -45,7 +46,7 @@ stop()
local svc= retval=0
for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
"$svc" stop
: $(( retval += $? ))
: $((retval += $?))
done
eend $retval "Some local rc services failed to stop"
return 0

View File

@@ -7,47 +7,26 @@ description="Mount the root fs read/write"
depend()
{
need fsck
keyword -jail -openvz -vserver -lxc
keyword -jail -openvz -prefix -vserver -lxc
}
start()
{
case ",$(fstabinfo -o /)," in
*,ro,*)
;;
*)
# Check if the rootfs isn't already writable.
if checkpath -W /; then
rm -f /fastboot /forcefsck
else
ebegin "Remounting root filesystem read/write"
case "$RC_UNAME" in
Linux)
mount -n -o remount,rw /
;;
*)
mount -u -o rw /
;;
esac
eend $? "Root filesystem could not be mounted read/write"
if [ $? -eq 0 ]; then
rm -f /fastboot /forcefsck
fi
fi
;;
*,ro,*) return 0;;
esac
ebegin "Remounting filesystems"
local mountpoint
for mountpoint in $(fstabinfo); do
case "${mountpoint}" in
/)
;;
/*)
mountinfo -q "${mountpoint}" && \
fstabinfo --remount "${mountpoint}"
;;
esac
done
eend 0
if echo 2>/dev/null >/.test.$$; then
rm -f /.test.$$ /fastboot /forcefsck
return 0
fi
ebegin "Remounting root filesystem read/write"
case "$RC_UNAME" in
Linux) mount -n -o remount,rw /;;
*) mount -u -o rw /;;
esac
if eend $? "Root filesystem could not be mounted read/write"; then
rm -f /fastboot /forcefsck
fi
}

View File

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

View File

@@ -12,7 +12,7 @@ depend()
{
provide net
use network
keyword -jail -vserver
keyword -jail -prefix -vserver
}
pre_flight_checks()
@@ -93,11 +93,6 @@ do_routes()
start()
{
ewarn
ewarn "The $RC_SVCNAME script is deprecated and will be"
ewarn "removed in the future."
ewarn "Please use the net.* scripts to manage your network interfaces."
ewarn
do_routes "Adding" "add"
}

View File

@@ -5,7 +5,7 @@
depend()
{
before fsck
keyword -jail
keyword -jail -prefix
}
start()

View File

@@ -4,15 +4,14 @@
depend()
{
before localmount
keyword -jail -openvz -vserver -lxc
need localmount
keyword -jail -openvz -prefix -vserver -lxc
}
start()
{
ebegin "Activating swap devices"
case "$RC_UNAME" in
Linux) swapon -a -e >/dev/null;;
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
*) swapon -a >/dev/null;;
esac
@@ -24,7 +23,7 @@ stop()
ebegin "Deactivating swap devices"
# Try to unmount all tmpfs filesystems not in use, else a deadlock may
# occur. As $RC_SVCDIR may also be tmpfs we cd to it to lock it
# occure. As $RC_SVCDIR may also be tmpfs we cd to it to lock it
cd "$RC_SVCDIR"
umount -a -t tmpfs 2>/dev/null

View File

@@ -1,45 +0,0 @@
#!@PREFIX@/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
depend()
{
need localmount
keyword -jail -openvz -prefix -vserver -lxc
}
start()
{
ebegin "Activating additional swap space"
case "$RC_UNAME" in
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
*) swapon -a >/dev/null;;
esac
eend 0 # If swapon has nothing todo it errors, so always return 0
}
stop()
{
ebegin "Deactivating additional swap space"
# Try to unmount all tmpfs filesystems not in use, else a deadlock may
# occur. As $RC_SVCDIR may also be tmpfs we cd to it to lock it
# fixme: Do we need this here since we are only unmounting swap files
# and loopback swap?
cd "$RC_SVCDIR"
umount -a -t tmpfs 2>/dev/null
case "$RC_UNAME" in
Linux)
while read filename type rest; do
case "$type" in
file) swapoff $filename >/dev/null;;
esac
case "$filename" in
/dev/loop*) swapoff $filename >/dev/null;;
esac
done < /proc/swaps
;;
esac
eend 0
}

View File

@@ -8,7 +8,7 @@ depend()
{
before *
provide clock
keyword -openvz -uml -vserver -xenu -lxc
keyword -openvz -prefix -uml -vserver -xenu -lxc
}
# swclock is an OpenRC built in
@@ -16,9 +16,7 @@ depend()
start()
{
ebegin "Setting the local clock based on last shutdown time"
if ! swclock 2> /dev/null; then
swclock --warn @PREFIX@/sbin/runscript
fi
swclock --warn
eend $?
}

View File

@@ -4,7 +4,7 @@
depend() {
need localmount
keyword -jail
keyword -jail -prefix
}
start() {

View File

@@ -5,6 +5,7 @@
depend()
{
before bootmisc logger
keyword -prefix
}
start()
@@ -13,7 +14,7 @@ start()
local retval=0 var= comments= conf=
ebegin "Configuring kernel parameters"
eindent
for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do
for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
if [ -r "$conf" ]; then
vebegin "applying $conf"
while read var comments; do

View File

@@ -5,7 +5,7 @@
depend()
{
before bootmisc logger
keyword -lxc -vserver
keyword -prefix -vserver
}
start()
@@ -15,12 +15,12 @@ start()
ebegin "Configuring kernel parameters"
eindent
for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do
for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
if [ -r "$conf" ]; then
vebegin "applying $conf"
if ! err=$(sysctl -p "$conf" 2>&1 >/dev/null) ; then
if ! err=$(sysctl -q -p "$conf" 2>&1) ; then
errs="${errs} ${err}"
sysctl -e -p "${conf}" >/dev/null
sysctl -q -e -p "${conf}"
fi
veend $? || retval=1
fi

View File

@@ -6,7 +6,7 @@ description="Mount the sys filesystem."
depend()
{
keyword -vserver
keyword -prefix -vserver
}
mount_sys()
@@ -50,47 +50,6 @@ mount_misc()
eend $?
fi
fi
# Setup Kernel Support for configfs
if [ -d /sys/kernel/config ] && ! mountinfo -q /sys/kernel/config; then
if grep -qs configfs /proc/filesystems; then
ebegin "Mounting config filesystem"
mount -n -t configfs -o nodev,noexec,nosuid \
configfs /sys/kernel/config
eend $?
fi
fi
# set up kernel support for cgroups
if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
if grep -qs cgroup /proc/filesystems; then
ebegin "Mounting cgroup filesystem"
local opts="nodev,noexec,nosuid,mode=755,size=${rc_cgroupsize:-10m}"
mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup
eend $?
fi
fi
}
mount_cgroups()
{
yesno ${rc_cgroups:-YES} && [ -e /proc/cgroups ] && \
mountinfo -q /sys/fs/cgroup || return 0
local agent="@LIBEXECDIR@/sh/cgroup-release-agent.sh"
mkdir /sys/fs/cgroup/openrc
mount -n -t cgroup \
-o none,nodev,noexec,nosuid,name=openrc,release_agent="$agent" \
openrc /sys/fs/cgroup/openrc
echo 1 > /sys/fs/cgroup/openrc/notify_on_release
while read name hier groups enabled rest; do
case "${enabled}" in
1) mkdir /sys/fs/cgroup/${name}
mount -n -t cgroup -o nodev,noexec,nosuid,${name} \
${name} /sys/fs/cgroup/${name}
;;
esac
done < /proc/cgroups
}
start()
@@ -100,11 +59,6 @@ start()
retval=$?
if [ $retval -eq 0 ]; then
mount_misc
retval=$?
fi
if [ $retval -eq 0 ]; then
mount_cgroups
retval=$?
fi
return $retval
}

View File

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

View File

@@ -9,8 +9,8 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend()
{
keyword -openvz -uml -vserver -xenu
use root
keyword -openvz -prefix -uml -vserver -xenu
need root
after bootmisc
}
@@ -31,11 +31,11 @@ start()
n=1
while [ ${n} -le "$ttyn" ]; do
printf "\033%s" "$termencoding" >$ttydev$n
: $(( n += 1 ))
n=$(($n + 1))
done
# Save the encoding for use immediately at boot
if checkpath -W "$RC_LIBEXECDIR"; then
if [ -w "$RC_LIBEXECDIR" ]; then
mkdir -p "$RC_LIBEXECDIR"/console
if yesno ${unicode:-${UNICODE}}; then
echo "" > "$RC_LIBEXECDIR"/console/unicode

View File

@@ -5,6 +5,7 @@
depend()
{
after fsck
keyword -prefix
}
start()

View File

@@ -2,13 +2,13 @@
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
: ${urandom_seed:=${URANDOM_SEED:-/var/lib/misc/random-seed}}
: ${urandom_seed:=${URANDOM_SEED:-/var/run/random-seed}}
description="Initializes the random number generator."
depend()
{
need localmount
keyword -jail -openvz
keyword -jail -openvz -prefix
}
save_seed()
@@ -16,7 +16,7 @@ save_seed()
local psz=1
if [ -e /proc/sys/kernel/random/poolsize ]; then
: $(( psz = $(cat /proc/sys/kernel/random/poolsize) / 4096 ))
psz=$(($(cat /proc/sys/kernel/random/poolsize) / 4096))
fi
( # sub shell to prevent umask pollution

View File

@@ -5,6 +5,7 @@
depend()
{
need localmount
keyword -prefix
}
start()

View File

@@ -27,7 +27,7 @@ install:
for man in ${MAN3}; do \
${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man3 || exit $$?; \
${MAKE_LINKS} \
done
done
${INSTALL} -d ${DESTDIR}/${MANDIR}/man8
for man in ${MAN8}; do \
${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man8 || exit $$?; \

View File

@@ -105,7 +105,8 @@ and
respectively, but only work when
.Va EINFO_VERBOSE
is true. You can also make the
.Fn einfo
.Fn einfo ,
.Fn ewarn ,
and
.Fn ebegin
functions silent by setting
@@ -115,7 +116,7 @@ to true.
These functions are designed to output a whole line, so they also
append a newline to the string. To stop this behaviour, you can use the
functions
.Fn einfon ,
.Fn einfon ,
.Fn ewarnn ,
.Fn eerrorn ,
.Fn einfovn ,
@@ -149,7 +150,7 @@ does the same as
.Fn eend
but prints
.Fa msg
instead of ok or !! in the color
instead of ok or !! in the color
.Fa color
at the column
.Fa col .

View File

@@ -26,7 +26,7 @@
.Os OpenRC
.Sh NAME
.Nm rc-service
.Nd locate and run an OpenRC service with the given arguments
.Nd locate and run an OpenRC service with the given arguments
.Sh SYNOPSIS
.Nm
.Op Fl i , -ifexists
@@ -41,7 +41,7 @@
.Fl r , -resolve
.Ar service
.Sh DESCRIPTION
Service scripts could be in different places on different systems.
Service scripts could be in different places on different systems.
.Nm
locates the specified service and runs it with the given arguments.
If

View File

@@ -33,8 +33,8 @@
.Op Ar runlevel
.Sh DESCRIPTION
.Nm
gathers and displays information about the status of services
in different runlevels. The default behavior is to show information
gathers and displays information about the status of services
in different runlevels. The default behavior is to show information
about the current runlevel and any unassigned services that are not stopped,
but any runlevel can be quickly examined.
.Pp

View File

@@ -26,7 +26,7 @@
.Os OpenRC
.Sh NAME
.Nm rc-update
.Nd add and remove services to and from a runlevel
.Nd add and remove services to and from a runlevel
.Sh SYNOPSIS
.Nm
.Op Fl s , -stack
@@ -44,7 +44,7 @@
.Ar show
.Op Ar runlevel ...
.Sh DESCRIPTION
OpenRC uses named runlevels. Rather than editing some obscure
OpenRC uses named runlevels. Rather than editing some obscure
file or managing a directory of symlinks,
.Nm
exists to quickly add or delete services to and from from different runlevels.

View File

@@ -32,7 +32,7 @@
.Sh LIBRARY
Run Command library (librc, -lrc)
.Sh SYNOPSIS
.In rc.h
.In rc.h
.Ft bool Fn rc_deptree_update void
.Ft bool Fn rc_deptree_update_needed void
.Ft RC_DEPTREE Fn rc_deptree_load void
@@ -77,7 +77,7 @@ loads the deptree and returns a pointer to it which needs to be freed by
when done.
.Pp
.Fn rc_deptree_depend ,
.Fn rc_deptree_depends
.Fn rc_deptree_depends
and
.Fn rc_deptree_order
return a list of services from the

View File

@@ -31,7 +31,7 @@
.Sh LIBRARY
Run Command library (librc, -lrc)
.Sh SYNOPSIS
.In rc.h
.In rc.h
.Ft "char *" Fn rc_runlevel_get void
.Ft bool Fn rc_runlevel_exists
.Ft "RC_STRINGLIST *" Fn rc_runlevel_list void

View File

@@ -37,7 +37,7 @@
.Sh LIBRARY
Run Command library (librc, -lrc)
.Sh SYNOPSIS
.In rc.h
.In rc.h
.Ft bool Fn rc_service_add "const char *runlevel" "const char *service"
.Ft bool Fn rc_service_delete "const char *runlevel" "const char *service"
.Ft bool Fo rc_service_daemon_set

View File

@@ -32,7 +32,7 @@
Run Command library (librc, -lrc)
.Sh SYNOPSIS
.In rc.h
.Ft "RC_STRINGLIST *" Fn rc_stringlist_new void
.Ft "RC_STRINGLIST *" Fn rc_stringlist_new void
.Ft "RC_STRING *" Fn rc_stringlist_add "RC_STRINGLIST *list" "const char *item"
.Ft "RC_STRING *" Fn rc_stringlist_addu "RC_STRINGLIST *list" "const char *item"
.Ft bool Fn rc_stringlist_delete RC_STRINGLIST "const char *item"

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