Compare commits
22 Commits
openrc-0.1
...
funtoo-ope
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cd9ea5eff | ||
|
|
7146e99855 | ||
|
|
e65ce9e301 | ||
|
|
6a5e6f1ee0 | ||
|
|
d8ce5dccb2 | ||
|
|
62bd337494 | ||
|
|
06c8bd0156 | ||
|
|
33803219d4 | ||
|
|
18c08a9d4d | ||
|
|
2406dc4f3e | ||
|
|
8e6d461a7f | ||
|
|
472a3bb99c | ||
|
|
c9a2085699 | ||
|
|
69169b7e95 | ||
|
|
3a11f8af34 | ||
|
|
e2e5b27d85 | ||
|
|
f343360741 | ||
|
|
694fd2027f | ||
|
|
ca76764743 | ||
|
|
19bd9923d7 | ||
|
|
2a844e1122 | ||
|
|
5135412978 |
9
Makefile
9
Makefile
@@ -4,7 +4,12 @@
|
|||||||
|
|
||||||
include Makefile.inc
|
include Makefile.inc
|
||||||
|
|
||||||
SUBDIR= conf.d doc etc init.d local.d sysctl.d man net scripts sh src
|
SUBDIR= conf.d etc init.d local.d man scripts sh src
|
||||||
|
|
||||||
|
# Build our old net foo or not
|
||||||
|
ifeq (${MKOLDNET},yes)
|
||||||
|
SUBDIR+= net doc
|
||||||
|
endif
|
||||||
|
|
||||||
# Build pkgconfig or not
|
# Build pkgconfig or not
|
||||||
MKPKGCONFIG?= yes
|
MKPKGCONFIG?= yes
|
||||||
@@ -25,8 +30,6 @@ include ${MK}/dist.mk
|
|||||||
include ${MK}/git.mk
|
include ${MK}/git.mk
|
||||||
|
|
||||||
_installafter:
|
_installafter:
|
||||||
ifneq ($(OS),Linux)
|
|
||||||
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d
|
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d
|
||||||
endif
|
|
||||||
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/tmp
|
${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/tmp
|
||||||
${ECHO} "${VERSION}${GITVER}" > ${DESTDIR}/${LIBEXECDIR}/version
|
${ECHO} "${VERSION}${GITVER}" > ${DESTDIR}/${LIBEXECDIR}/version
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
NAME= openrc
|
NAME= openrc
|
||||||
VERSION= 0.10.5
|
VERSION= 0.8.3
|
||||||
PKG= ${NAME}-${VERSION}
|
PKG= ${NAME}-${VERSION}
|
||||||
|
|||||||
91
README
91
README
@@ -1,8 +1,9 @@
|
|||||||
OpenRC README
|
OpenRC README
|
||||||
|
=============
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
make install
|
make install
|
||||||
Yup, that simple. Works with GNU make.
|
Yup, that simple. Works with GNU make.
|
||||||
|
|
||||||
@@ -12,10 +13,11 @@ LIBNAME=lib64
|
|||||||
DESTDIR=/tmp/openrc-image
|
DESTDIR=/tmp/openrc-image
|
||||||
MKPAM=pam
|
MKPAM=pam
|
||||||
MKPKGCONFIG=no
|
MKPKGCONFIG=no
|
||||||
|
MKRCSYS=prefix
|
||||||
MKSELINUX=yes
|
MKSELINUX=yes
|
||||||
MKSTATICLIBS=no
|
|
||||||
MKTERMCAP=ncurses
|
MKTERMCAP=ncurses
|
||||||
MKTERMCAP=termcap
|
MKTERMCAP=termcap
|
||||||
|
MKOLDNET=yes
|
||||||
PKG_PREFIX=/usr/pkg
|
PKG_PREFIX=/usr/pkg
|
||||||
LOCAL_PREFIX=/usr/local
|
LOCAL_PREFIX=/usr/local
|
||||||
PREFIX=/usr/local
|
PREFIX=/usr/local
|
||||||
@@ -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.
|
Only set LOCAL_PREFIX if different from PKG_PREFIX.
|
||||||
PREFIX should be set when OpenRC is not installed to /.
|
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
|
If any of the following files exist then we do not overwrite them
|
||||||
/etc/devd.conf
|
/etc/devd.conf
|
||||||
/etc/rc
|
/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
|
tweaking on a per distro basis. They are also non essential to the operation
|
||||||
of the system.
|
of the system.
|
||||||
|
|
||||||
|
|
||||||
Reporting Bugs
|
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
|
History - by Daniel Robbins
|
||||||
------------------------
|
---------------------------
|
||||||
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.
|
|
||||||
|
|
||||||
At the start of 2007, baselayout-2 is announced to the world, re-writing the
|
The Gentoo modular network scripts were created by Daniel Robbins for
|
||||||
core of baselayout in C and allowing POSIX sh init scripts instead of
|
Gentoo Linux 1.0_rc6, in development during most of 2001 and released
|
||||||
forcing the use of bash. By Mid 2007 I have re-written everything, including
|
in September 2001. After their development, the dependency-based initscript
|
||||||
init scripts, and alpha and pre baselayout-2 snapshots where put into Gentoo.
|
system was maintained by a number of senior developers, primarily Martin
|
||||||
Towards the end of 2007 I retired as a Gentoo developer for reasons I won't
|
Schlemmer (azarah).
|
||||||
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.
|
|
||||||
|
|
||||||
As such, the Gentoo Council have allowed the creation of OpenRC under the
|
excerpt from http://www.gentoo.org/news/en/gwn/20040426-newsletter.xml
|
||||||
2 clause BSD license, managed by me as an external project.
|
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
40
README.newnet
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
The following applies only to the newnet stack, which is not presently
|
||||||
|
maintained in OpenRC. The oldnet stack is maintained instead.
|
||||||
|
- Robin H. Johnson <robbat2@gentoo.org>, 2011/02/21
|
||||||
|
|
||||||
|
OpenRC Network Ideals
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
The new style networking for OpenRC is very simplistic - provide a basic means
|
||||||
|
of configuring static interface address and routes whilst allowing the
|
||||||
|
possibility to run any command at any point.
|
||||||
|
|
||||||
|
In a nutshell, init.d/network is a wrapper around ifconfig(8) and
|
||||||
|
init.d/staticroute is wrapper around route(8).
|
||||||
|
|
||||||
|
In the Perfect World (TM) ifconfig should be able to configure everything
|
||||||
|
about the interface easily * . The BSD family almost get this right and Linux
|
||||||
|
epically fails.
|
||||||
|
|
||||||
|
* Only static configuration, including link setup.
|
||||||
|
For dynamic, static, IPv4LL, arping and per ssid IPv4 setup dhcpcd-5.x
|
||||||
|
provides your needs.
|
||||||
|
|
||||||
|
It fails because there are many tools to do the same job and often have
|
||||||
|
vastly different syntax where they could be similar. In other words, there
|
||||||
|
is no coherence.
|
||||||
|
|
||||||
|
OpenRC-0.4.x and older (inc Gentoo baselayout-1) had a collection of scripts
|
||||||
|
for each tool and allowed a script per interface. Over the years, this design
|
||||||
|
has proven very hard to maintain as each user has their own idea of how
|
||||||
|
things should work. Also, there were (and still are) race conditions.
|
||||||
|
|
||||||
|
So where do we go from here?
|
||||||
|
Well, it's possible to use the new network scripts using the tools
|
||||||
|
currently available. It's just harder as you have to know them and their
|
||||||
|
documentation can be lacking at times.
|
||||||
|
The correct end goal is a BSD style ifconfig tool.
|
||||||
|
I've started work on it, but the project has stalled somewhat.
|
||||||
|
It's display only right now and the source is not yet publicly available.
|
||||||
|
If you have the skills and share the vision then contact me privately and
|
||||||
|
we'll take it from there.
|
||||||
51
STYLE
51
STYLE
@@ -32,54 +32,3 @@ void foo(int c)
|
|||||||
|
|
||||||
return ret;
|
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
16
TODO
@@ -1,21 +1,7 @@
|
|||||||
- ensure all forks block, restore and unblock signals. needs review
|
- ensure all forks block, restore and unblock signals. needs review
|
||||||
|
|
||||||
- add support somehow for optional translations
|
- add support somehow for optional translations
|
||||||
|
|
||||||
- oldnet[bridging]: Review setting of bridge configuration on dynamic interface add
|
- oldnet[bridging]: Review setting of bridge configuration on dynamic interface add
|
||||||
|
|
||||||
- Document rc-depend binary.
|
- Document rc-depend binary.
|
||||||
|
|
||||||
- _ifindex is not a reliable means of calculating metrics:
|
|
||||||
_ifindex is used for calculating metrics for new devices but has a major
|
|
||||||
problem: Since it's only the nth entry in /proc/net/dev
|
|
||||||
And devices may be removed from that file, and reordered, you won't always
|
|
||||||
get the same result.
|
|
||||||
If you do:
|
|
||||||
- add eth0 - _ifindex (eth0=0)
|
|
||||||
- add vlan1 - _ifindex (eth0=0,vlan1=1)
|
|
||||||
- add vlan2 - _ifindex (eth0=0,vlan1=1,vlan2=2)
|
|
||||||
- rem vlan1 - _ifindex (eth0=0,vlan2=1)
|
|
||||||
- add vlan3 - _ifindex (eth0=0,vlan2=1,vlan3=2)
|
|
||||||
Now your routing table has entries for both vlan2 and vlan3 with a metric of 2.
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,19 @@
|
|||||||
DIR= ${CONFDIR}
|
DIR= ${CONFDIR}
|
||||||
CONF= bootmisc fsck hostname localmount network staticroute urandom \
|
CONF= bootmisc fsck hostname localmount network staticroute urandom
|
||||||
${CONF-${OS}}
|
|
||||||
|
|
||||||
TARGETS+= network staticroute
|
TARGETS+= network staticroute
|
||||||
CLEANFILES+= network staticroute
|
CLEANFILES+= network staticroute
|
||||||
|
|
||||||
MK= ../mk
|
MK= ../mk
|
||||||
include ${MK}/os.mk
|
include ${MK}/os.mk
|
||||||
|
include Makefile.${OS}
|
||||||
CONF-FreeBSD= ipfw moused powerd rarpd savecore syscons
|
|
||||||
|
|
||||||
CONF-Linux= consolefont dmesg hwclock keymaps killprocs modules
|
|
||||||
|
|
||||||
CONF-NetBSD= moused rarpd savecore
|
|
||||||
|
|
||||||
include ${MK}/scripts.mk
|
include ${MK}/scripts.mk
|
||||||
|
|
||||||
network: network.in network${SFX}
|
SOS?= BSD
|
||||||
cat $^ > $@
|
|
||||||
|
|
||||||
staticroute: staticroute${SFX}
|
network: network.in network.${SOS}
|
||||||
cp $@${SFX} $@
|
cp $@.in $@
|
||||||
|
[ -e $@.${SOS} ] && cat $@.${SOS} >> $@ || true
|
||||||
|
|
||||||
|
staticroute: staticroute.${SOS}
|
||||||
|
cp $@.${SOS} $@
|
||||||
|
|||||||
1
conf.d/Makefile.FreeBSD
Normal file
1
conf.d/Makefile.FreeBSD
Normal file
@@ -0,0 +1 @@
|
|||||||
|
CONF+= ipfw moused powerd rarpd savecore syscons
|
||||||
2
conf.d/Makefile.Linux
Normal file
2
conf.d/Makefile.Linux
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CONF+= consolefont dmesg hwclock keymaps killprocs modules
|
||||||
|
SOS= Linux
|
||||||
1
conf.d/Makefile.NetBSD
Normal file
1
conf.d/Makefile.NetBSD
Normal file
@@ -0,0 +1 @@
|
|||||||
|
CONF+= moused rarpd savecore
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# Set CLOCK to "UTC" if your system clock is set to UTC (also known as
|
# 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
|
# 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
|
# set CLOCK to "local". Note that if you dual boot with Windows, then
|
||||||
# you should set it to "local".
|
# you should set it to "local".
|
||||||
clock="UTC"
|
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.
|
# during shutdown, then say "YES" here.
|
||||||
# You normally don't need to do this if you run a ntp daemon.
|
# You normally don't need to do this if you run a ntp daemon.
|
||||||
clock_systohc="NO"
|
clock_systohc="NO"
|
||||||
|
|||||||
@@ -4,7 +4,3 @@ clean_tmp_dirs="/tmp"
|
|||||||
# Should we wipe the tmp paths completely or just selectively remove known
|
# Should we wipe the tmp paths completely or just selectively remove known
|
||||||
# locks / files / etc... ?
|
# locks / files / etc... ?
|
||||||
wipe_tmp="YES"
|
wipe_tmp="YES"
|
||||||
|
|
||||||
# Write the initial dmesg log into /var/log/dmesg after boot
|
|
||||||
# This may be useful if you need the kernel boot log afterwards
|
|
||||||
log_dmesg="YES"
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
# The consolefont service is not activated by default. If you need to
|
|
||||||
# use it, you should run "rc-update add consolefont boot" as root.
|
|
||||||
#
|
|
||||||
# consolefont specifies the default font that you'd like Linux to use on the
|
# consolefont specifies the default font that you'd like Linux to use on the
|
||||||
# console. You can find a good selection of fonts in /usr/share/consolefonts;
|
# console. You can find a good selection of fonts in /usr/share/consolefonts;
|
||||||
# you shouldn't specify the trailing ".psf.gz", just the font name below.
|
# you shouldn't specify the trailing ".psf.gz", just the font name below.
|
||||||
# To use the default console font, comment out the CONSOLEFONT setting below.
|
# To use the default console font, comment out the CONSOLEFONT setting below.
|
||||||
|
# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do
|
||||||
|
# not want to use it, run "rc-update del consolefont boot" as root).
|
||||||
consolefont="default8x16"
|
consolefont="default8x16"
|
||||||
|
|
||||||
# consoletranslation is the charset map file to use. Leave commented to use
|
# consoletranslation is the charset map file to use. Leave commented to use
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# Sets the level at which logging of messages is done to the
|
# Sets the level at which logging of messages is done to the
|
||||||
# console. See dmesg(1) for more info.
|
# console. See dmesg(8) for more info.
|
||||||
dmesg_level="1"
|
dmesg_level="1"
|
||||||
|
|||||||
@@ -13,13 +13,6 @@
|
|||||||
#fsck_passno=">1"
|
#fsck_passno=">1"
|
||||||
#fsck_passno="<2"
|
#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
|
# 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.
|
# it may be advisable to skip this when running on battery.
|
||||||
# WARNING: Do not turn this off if you have any JFS partitions.
|
# WARNING: Do not turn this off if you have any JFS partitions.
|
||||||
|
|||||||
@@ -1,20 +1,22 @@
|
|||||||
# Set CLOCK to "UTC" if your Hardware Clock is set to UTC (also known as
|
# 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
|
# 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
|
# set CLOCK to "local". Note that if you dual boot with Windows, then
|
||||||
# you should set it to "local".
|
# you should set it to "local".
|
||||||
clock="UTC"
|
clock="UTC"
|
||||||
|
|
||||||
# If you want the hwclock script to set the system time (software clock)
|
# If you want to set the Hardware Clock to the current System Time
|
||||||
# to match the current hardware clock during bootup, leave this
|
# (software clock) during shutdown, then say "YES" here.
|
||||||
# commented out.
|
# You normally don't need to do this if you run a ntp daemon.
|
||||||
# However, you can set this to "NO" ifyou are running a modern kernel
|
clock_systohc="NO"
|
||||||
# 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 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,
|
# 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.
|
# you may do so here. Alpha users may wish to use --arc or --srm here.
|
||||||
clock_args=""
|
clock_args=""
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ windowkeys="NO"
|
|||||||
extended_keymaps=""
|
extended_keymaps=""
|
||||||
#extended_keymaps="backspace keypad euro2"
|
#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.
|
# from the specified character set.
|
||||||
# This only matters if you set unicode="yes" in /etc/rc.conf.
|
# This only matters if you set unicode="yes" in /etc/rc.conf.
|
||||||
# For a list of valid sets, run `dumpkeys --help`
|
# For a list of valid sets, run `dumpkeys --help`
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
# You can define a list modules for a specific kernel version,
|
# You can define a list modules for a specific kernel version,
|
||||||
# a released kernel version, a main kernel version or just a list.
|
# 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_gentoo_r5="ieee1394 ohci1394"
|
||||||
#modules_2_6_23="tun ieee1394"
|
#modules_2_6_23="tun ieee1394"
|
||||||
#modules_2_6="tun"
|
#modules_2_6="tun"
|
||||||
#modules_2="ipv6"
|
|
||||||
#modules="ohci1394"
|
#modules="ohci1394"
|
||||||
|
|
||||||
# You can give modules a different name when they load - the new name
|
# You can give modules a different name when they load - the new name
|
||||||
@@ -12,12 +10,10 @@
|
|||||||
#modules="dummy:dummy1"
|
#modules="dummy:dummy1"
|
||||||
|
|
||||||
# Give the modules some arguments if needed, per version if necessary.
|
# 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="debug"
|
||||||
#module_ieee1394_args_2_6_23_gentoo_r5="debug2"
|
#module_ieee1394_args_2_6_23_gentoo_r5="ieee1394 ohci1394"
|
||||||
#module_ieee1394_args_2_6_23="debug3"
|
#module_ieee1394_args_2_6_23="tun ieee1394"
|
||||||
#module_ieee1394_args_2_6="debug4"
|
#module_ieee1394_args_2_6="tun"
|
||||||
#module_ieee1394_args_2="debug5"
|
|
||||||
|
|
||||||
# You should consult your kernel documentation and configuration
|
# You should consult your kernel documentation and configuration
|
||||||
# for a list of modules and their options.
|
# for a list of modules and their options.
|
||||||
|
|||||||
@@ -11,6 +11,6 @@
|
|||||||
|
|
||||||
# You can also multiplex the init script for each device like so
|
# You can also multiplex the init script for each device like so
|
||||||
# ln -s moused /etc/init.d/moused.ums0
|
# 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.
|
# to ums0 in this case) and control each mouse.
|
||||||
# devd can also start and stop these mice, which laptop users will find handy.
|
# devd can also start and stop these mice, which laptop users will find handy.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# This blank configuration will automatically use DHCP for any net.*
|
# This blank configuration will automatically use DHCP for any net.*
|
||||||
# scripts in /etc/init.d. To create a more complete configuration,
|
# 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 :]!).
|
# in /etc/conf.d/net (this file :]!).
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
# (say for crypt swap), so you will need to customize this
|
# (say for crypt swap), so you will need to customize this
|
||||||
# behavior. If you have /var on a separate partition, then
|
# behavior. If you have /var on a separate partition, then
|
||||||
# make sure this path lives on your root device somewhere.
|
# make sure this path lives on your root device somewhere.
|
||||||
urandom_seed="/var/lib/misc/random-seed"
|
urandom_seed="/var/run/random-seed"
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
DIR= ${DOCDIR}/openrc
|
DIR= ${DOCDIR}/openrc
|
||||||
SRCS= net.example.in
|
|
||||||
INC= net.example
|
INC= net.example
|
||||||
|
|
||||||
MK= ../mk
|
MK= ../mk
|
||||||
include ${MK}/os.mk
|
include ${MK}/os.mk
|
||||||
|
include Makefile.${OS}
|
||||||
%.example.in: %.example${SFX}
|
|
||||||
${CP} $< $@
|
|
||||||
|
|
||||||
include ${MK}/scripts.mk
|
include ${MK}/scripts.mk
|
||||||
|
|||||||
5
doc/Makefile.FreeBSD
Normal file
5
doc/Makefile.FreeBSD
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
SRCS+= net.example.in
|
||||||
|
|
||||||
|
.SUFFIXES: .BSD.in
|
||||||
|
.BSD.in:
|
||||||
|
${CP} $< $@
|
||||||
5
doc/Makefile.Linux
Normal file
5
doc/Makefile.Linux
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
SRCS+= net.example.in
|
||||||
|
|
||||||
|
.SUFFIXES: .Linux.in
|
||||||
|
.Linux.in:
|
||||||
|
${CP} $< $@
|
||||||
5
doc/Makefile.NetBSD
Normal file
5
doc/Makefile.NetBSD
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
SRCS+= net.example.in
|
||||||
|
|
||||||
|
.SUFFIXES: .BSD.in
|
||||||
|
.BSD.in:
|
||||||
|
${CP} $< $@
|
||||||
@@ -388,17 +388,6 @@
|
|||||||
#
|
#
|
||||||
# ${IFACE} is set to the interface being brought up/down
|
# ${IFACE} is set to the interface being brought up/down
|
||||||
# ${IFVAR} is ${IFACE} converted to variable name bash allows
|
# ${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() {
|
#preup() {
|
||||||
# # Remember to return 0 on success
|
# # Remember to return 0 on success
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
# In other words, you probably should DO NOTHING HERE...
|
# In other words, you probably should DO NOTHING HERE...
|
||||||
|
|
||||||
# Prefer ifconfig over iproute2
|
# Prefer ifconfig over iproute2
|
||||||
#modules="!iproute2"
|
#modules="ifconfig"
|
||||||
|
|
||||||
# You can also specify other modules for an interface
|
# You can also specify other modules for an interface
|
||||||
# In this case we prefer udhcpc over dhcpcd
|
# In this case we prefer udhcpc over dhcpcd
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
# If you don't specify an interface then we prefer iproute2 if it's installed
|
# If you don't specify an interface then we prefer iproute2 if it's installed
|
||||||
# To prefer ifconfig over iproute2
|
# To prefer ifconfig over iproute2
|
||||||
#modules="!iproute2"
|
#modules="ifconfig"
|
||||||
|
|
||||||
# For a static configuration, use something like this
|
# For a static configuration, use something like this
|
||||||
# (They all do exactly the same thing btw)
|
# (They all do exactly the same thing btw)
|
||||||
@@ -68,7 +68,6 @@
|
|||||||
# NOTE: ifconfig creates an aliased device for each extra IPv4 address
|
# NOTE: ifconfig creates an aliased device for each extra IPv4 address
|
||||||
# (eth0:1, eth0:2, etc)
|
# (eth0:1, eth0:2, etc)
|
||||||
# iproute2 does not do this as there is no need to
|
# 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"
|
#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.
|
# 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)
|
# If you don't want ANY address (only useful when calling for advanced stuff)
|
||||||
#config_eth0="null"
|
#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
|
# Here's how to do routing if you need it
|
||||||
# We add an IPv4 default route, IPv4 subnet route and an IPv6 unicast route
|
# We add an IPv4 default route, IPv4 subnet route and an IPv6 unicast route
|
||||||
#routes_eth0="default via 192.168.0.1
|
#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.
|
# 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
|
# 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.
|
# 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
|
#associate_timeout_eth0=60
|
||||||
# A value of 0 means wait forever.
|
# A value of 0 means wait forever.
|
||||||
|
|
||||||
@@ -552,34 +543,26 @@
|
|||||||
# You can also configure the VLAN - see for ip man page for more details
|
# You can also configure the VLAN - see for ip man page for more details
|
||||||
# To change the vlan interface name. If not set, the standard "iface.vlanid"
|
# To change the vlan interface name. If not set, the standard "iface.vlanid"
|
||||||
# will be used. This is the replacement for the old 'vconfig set_name_type'
|
# will be used. This is the replacement for the old 'vconfig set_name_type'
|
||||||
# functionality. If you previously relied on the DEV_PLUS_VID or
|
# functionality.
|
||||||
# DEV_PLUS_VID_NO_PAD options to have different VLANs with same ID value, on
|
|
||||||
# different interfaces, please note that you need to use both the interface and
|
|
||||||
# vlan number in the numbering. This applies for all of the options: name,
|
|
||||||
# txqueuelen, mac, broadcast, mtu, ingress, egress, flags
|
|
||||||
#vlan1_name="vlan1"
|
#vlan1_name="vlan1"
|
||||||
#eth0_vlan2_name="eth0.2"
|
#vlan2_name="eth0.2"
|
||||||
#eth1_vlan2_name="eth1.2"
|
|
||||||
|
|
||||||
# The following shows the old set_name_type setting and what new option to set:
|
# The following shows the old set_name_type setting and what new option to set:
|
||||||
# Using eth9 & VLAN VID 26 as an example.
|
# Using eth9 & VLAN VID 26 as an example.
|
||||||
# VLAN_PLUS_VID vlan26_name="vlan0026"
|
# VLAN_PLUS_VID vlan26_name="vlan0026"
|
||||||
# VLAN_PLUS_VID_NO_PAD vlan26_name="vlan26"
|
# VLAN_PLUS_VID_NO_PAD vlan26_name="vlan26"
|
||||||
# DEV_PLUS_VID eth9_vlan26_name="eth9.0026"
|
# DEV_PLUS_VID vlan26_name="eth9.0026"
|
||||||
# DEV_PLUS_VID_NO_PAD eth9_vlan26_name="eth9.26"
|
# DEV_PLUS_VID_NO_PAD vlan26_name="eth9.26"
|
||||||
|
|
||||||
# Set the vlan flags
|
# Set the vlan flags
|
||||||
#vlan1_flags="reorder_hdr off gvrp on loose_binding on"
|
#vlan1_flags="reorder_hdr off gvrp on loose_binding on"
|
||||||
#eth0_vlan1_flags="reorder_hdr off gvrp on loose_binding on"
|
|
||||||
|
|
||||||
# Configure in/egress maps
|
# Configure in/egress maps
|
||||||
#vlan1_ingress="2:6 3:5"
|
#vlan1_ingress="2:6 3:5"
|
||||||
#eth0_vlan1_egress="1:2"
|
#vlan1_egress="1:2"
|
||||||
|
|
||||||
#config_vlan1="172.16.2.1/24"
|
#config_vlan1="172.16.3.1/23"
|
||||||
#config_vlan2="172.16.3.1/24"
|
#config_vlan2="172.16.2.1/23"
|
||||||
#config_eth0_1="172.16.4.1/24"
|
|
||||||
#config_eth1_1="172.16.5.1/24"
|
|
||||||
|
|
||||||
# NOTE: Vlans can be configured with a . in their interface names
|
# NOTE: Vlans can be configured with a . in their interface names
|
||||||
# When configuring vlans with this name type, you need to replace . with a _
|
# When configuring vlans with this name type, you need to replace . with a _
|
||||||
@@ -594,27 +577,10 @@
|
|||||||
#vlan_start_eth0="no"
|
#vlan_start_eth0="no"
|
||||||
|
|
||||||
# If you do the above then you may want to depend on eth0 like so
|
# 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
|
# NOTE: depend functions only work in /etc/conf.d/net
|
||||||
# and not in profile configs such as /etc/conf.d/net.foo
|
# 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
|
# Bonding
|
||||||
# For link bonding/trunking on 2.4 kernels, or kernels without sysfs
|
# For link bonding/trunking on 2.4 kernels, or kernels without sysfs
|
||||||
@@ -624,27 +590,14 @@
|
|||||||
#slaves_bond0="eth0 eth1 eth2"
|
#slaves_bond0="eth0 eth1 eth2"
|
||||||
#config_bond0="null" # You may not want to assign an IP the the bond
|
#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
|
# You can also configure the bond here, which must be done via sysfs on 2.6
|
||||||
# a bond interface yourself. If you do so, the kernel and your network switches
|
# kernels or newer. See the kernel bonding documentation for a description of
|
||||||
# may not work quite right. It is permissible to set the MAC addresses of bond
|
# these options.
|
||||||
# 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"
|
|
||||||
#arp_ip_target_bond0="+26.0.0.0"
|
#arp_ip_target_bond0="+26.0.0.0"
|
||||||
|
|
||||||
# If any of the slaves require extra configuration - for example wireless or
|
# If any of the slaves require extra configuration - for example wireless or
|
||||||
# ppp devices - we need to depend function on the bonded interfaces
|
# 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"
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
@@ -761,7 +714,7 @@
|
|||||||
# If the link require extra configuration - for example wireless or
|
# If the link require extra configuration - for example wireless or
|
||||||
# RFC 268 bridge - we need to depend on the bridge so they get
|
# RFC 268 bridge - we need to depend on the bridge so they get
|
||||||
# configured correctly.
|
# 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
|
#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
|
#machine as a router, you should add the following rule to your firewall
|
||||||
@@ -801,8 +754,6 @@
|
|||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# MAC changer
|
# MAC changer
|
||||||
# Warning: Do NOT use this on bonding interfaces! Bonding changes MACs itself.
|
|
||||||
#
|
|
||||||
# To set a specific MAC address
|
# To set a specific MAC address
|
||||||
#mac_eth0="00:11:22:33:44:55"
|
#mac_eth0="00:11:22:33:44:55"
|
||||||
|
|
||||||
@@ -827,7 +778,7 @@
|
|||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# TUN/TAP
|
# 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
|
# You must specify if we're a tun or tap device. Then you can give it any
|
||||||
# name you like - such as vpn
|
# name you like - such as vpn
|
||||||
@@ -838,9 +789,6 @@
|
|||||||
#tuntap_tap0="tap"
|
#tuntap_tap0="tap"
|
||||||
#config_tap0="192.168.0.1/24"
|
#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
|
# For passing custom options to tunctl use something like the following. This
|
||||||
# example sets the owner to adm
|
# example sets the owner to adm
|
||||||
#tunctl_tun1="-u adm"
|
#tunctl_tun1="-u adm"
|
||||||
@@ -875,13 +823,13 @@
|
|||||||
|
|
||||||
# If any of the ports require extra configuration - for example wireless or
|
# If any of the ports require extra configuration - for example wireless or
|
||||||
# ppp devices - we need to depend on them like so.
|
# 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
|
# Below is an example of configuring the bridge
|
||||||
# Consult "man brctl" for more details
|
# Consult "man brctl" for more details
|
||||||
#brctl_br0="setfd 15
|
#brctl_br0="setfd 0
|
||||||
#sethello 2
|
#sethello 0
|
||||||
#stp on"
|
#stp off"
|
||||||
|
|
||||||
# You can also configure the bridge or bridge members via sysfs on 2.6 kernels
|
# 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
|
# or newer. See the kernel bridge documentation for a description of these
|
||||||
@@ -926,7 +874,7 @@
|
|||||||
# link_6to4="eth0" # Interface to base its addresses on
|
# link_6to4="eth0" # Interface to base its addresses on
|
||||||
# config_6to4="ip6to4"
|
# config_6to4="ip6to4"
|
||||||
# You may want to depend on eth0 like so
|
# 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
|
# To ensure that eth0 is configured before 6to4. Of course, the tunnel could be
|
||||||
# any name and this also works for any configured interface.
|
# 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
|
# NOTE: If you're not using iproute2 then your 6to4 tunnel has to be called
|
||||||
@@ -969,8 +917,6 @@
|
|||||||
# /etc/iproute2/rt_tables, an example follows:
|
# /etc/iproute2/rt_tables, an example follows:
|
||||||
# 2 oob
|
# 2 oob
|
||||||
# 3 external
|
# 3 external
|
||||||
#
|
|
||||||
# IPv6 RPDB entries are to be found in the rules6_IFVAR variables:
|
|
||||||
|
|
||||||
#rules_eth0="
|
#rules_eth0="
|
||||||
#from ZZZ.ZZZ.200.128/27 table oob priority 500
|
#from ZZZ.ZZZ.200.128/27 table oob priority 500
|
||||||
@@ -985,11 +931,6 @@
|
|||||||
#XXX.XXX.112.0/24 dev eth1 table external scope link
|
#XXX.XXX.112.0/24 dev eth1 table external scope link
|
||||||
#default via XXX.XXX.112.1 dev eth1"
|
#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
|
# System
|
||||||
@@ -1139,17 +1080,6 @@
|
|||||||
#
|
#
|
||||||
# ${IFACE} is set to the interface being brought up/down
|
# ${IFACE} is set to the interface being brought up/down
|
||||||
# ${IFVAR} is ${IFACE} converted to variable name bash allows
|
# ${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() {
|
#preup() {
|
||||||
# # Test for link on the interface prior to bringing it up. This
|
# # Test for link on the interface prior to bringing it up. This
|
||||||
|
|||||||
29
etc/Makefile
29
etc/Makefile
@@ -1,28 +1,21 @@
|
|||||||
DIR= ${SYSCONFDIR}
|
DIR= ${SYSCONFDIR}
|
||||||
SRCS= rc.conf.in rc.in rc.shutdown.in
|
CONF= rc.conf
|
||||||
BIN= ${BIN-${OS}}
|
|
||||||
CONF= rc.conf ${BIN-${OS}}
|
|
||||||
|
|
||||||
CLEANFILES+= rc.conf
|
CLEANFILES+= rc.conf
|
||||||
|
|
||||||
MK= ../mk
|
MK= ../mk
|
||||||
include ${MK}/os.mk
|
include ${MK}/os.mk
|
||||||
|
include Makefile.${OS}
|
||||||
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 ${MK}/scripts.mk
|
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}
|
rc.conf: rc.conf.in rc.conf.${OS}
|
||||||
${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@
|
${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@
|
||||||
|
|||||||
4
etc/Makefile.FreeBSD
Normal file
4
etc/Makefile.FreeBSD
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
SED_EXTRA= -e 's:@TERM@:cons25:g'
|
||||||
|
SRCS+= rc.conf.in rc.in rc.shutdown.in
|
||||||
|
CONF+= devd.conf
|
||||||
|
BIN+= rc rc.shutdown rc.devd
|
||||||
2
etc/Makefile.Linux
Normal file
2
etc/Makefile.Linux
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
SED_EXTRA= -e 's:@TERM@:wsvt25:g'
|
||||||
|
SRCS+= rc.conf.in rc.in rc.shutdown.in
|
||||||
3
etc/Makefile.NetBSD
Normal file
3
etc/Makefile.NetBSD
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
SED_EXTRA= -e 's:@TERM@:wsvt25:g'
|
||||||
|
SRCS+= rc.conf.in rc.in rc.shutdown.in
|
||||||
|
BIN+= rc rc.shutdown
|
||||||
@@ -4,9 +4,11 @@
|
|||||||
# This is the subsystem type. Valid options on FreeBSD:
|
# This is the subsystem type. Valid options on FreeBSD:
|
||||||
# "" - nothing special
|
# "" - nothing special
|
||||||
# "jail" - FreeBSD jails
|
# "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
|
# This should be set to the value representing the environment this file is
|
||||||
# PRESENTLY in, not the virtualization the environment is capable of.
|
# PRESENTLY in, not the virtualization the environment is capable of.
|
||||||
#rc_sys=""
|
rc_sys="@RC_SYS_DEFAULT@"
|
||||||
|
|
||||||
|
|||||||
@@ -5,16 +5,20 @@
|
|||||||
# "" - nothing special
|
# "" - nothing special
|
||||||
# "lxc" - Linux Containers
|
# "lxc" - Linux Containers
|
||||||
# "openvz" - Linux OpenVZ
|
# "openvz" - Linux OpenVZ
|
||||||
|
# "prefix" - Prefix
|
||||||
# "uml" - Usermode Linux
|
# "uml" - Usermode Linux
|
||||||
# "vserver" - Linux vserver
|
# "vserver" - Linux vserver
|
||||||
# "xen0" - Xen0 Domain
|
# "xen0" - Xen0 Domain
|
||||||
# "xenU" - XenU 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
|
# This should be set to the value representing the environment this file is
|
||||||
# PRESENTLY in, not the virtualization the environment is capable of.
|
# 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
|
# This is the number of tty's used in most of the rc-scripts (like
|
||||||
# consolefont, numlock, etc ...)
|
# consolefont, numlock, etc ...)
|
||||||
rc_tty_number=12
|
rc_tty_number=12
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,13 @@
|
|||||||
|
|
||||||
# This is the subsystem type. Valid options on NetBSD:
|
# This is the subsystem type. Valid options on NetBSD:
|
||||||
# "" - nothing special
|
# "" - nothing special
|
||||||
|
# "prefix" - Prefix
|
||||||
# "xen0" - Xen0 Domain
|
# "xen0" - Xen0 Domain
|
||||||
# "xenU" - XenU 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
|
# This should be set to the value representing the environment this file is
|
||||||
# PRESENTLY in, not the virtualization the environment is capable of.
|
# PRESENTLY in, not the virtualization the environment is capable of.
|
||||||
#rc_sys=""
|
rc_sys="@RC_SYS_DEFAULT@"
|
||||||
|
|
||||||
|
|||||||
@@ -47,10 +47,6 @@
|
|||||||
# logging can take place and as such cannot log the sysinit runlevel.
|
# logging can take place and as such cannot log the sysinit runlevel.
|
||||||
#rc_logger="YES"
|
#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
|
# 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.
|
# variables through, add them here. Use a * to allow all variables through.
|
||||||
#rc_env_allow="VAR1 VAR2"
|
#rc_env_allow="VAR1 VAR2"
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ MK= ../mk
|
|||||||
|
|
||||||
SED_EXTRA+= -e 's:@VARBASE@:/var:g'
|
SED_EXTRA+= -e 's:@VARBASE@:/var:g'
|
||||||
|
|
||||||
include ${MK}/os.mk
|
|
||||||
include ${MK}/scripts.mk
|
include ${MK}/scripts.mk
|
||||||
|
include Makefile.${OS}
|
||||||
|
|||||||
1
init.d.misc/Makefile.FreeBSD
Normal file
1
init.d.misc/Makefile.FreeBSD
Normal file
@@ -0,0 +1 @@
|
|||||||
|
PKG_PREFIX?= /usr/local
|
||||||
1
init.d.misc/Makefile.Linux
Normal file
1
init.d.misc/Makefile.Linux
Normal file
@@ -0,0 +1 @@
|
|||||||
|
PKG_PREFIX?=/usr
|
||||||
1
init.d.misc/Makefile.NetBSD
Normal file
1
init.d.misc/Makefile.NetBSD
Normal file
@@ -0,0 +1 @@
|
|||||||
|
PKG_PREFIX?= /usr/pkg
|
||||||
1
init.d/.gitignore
vendored
1
init.d/.gitignore
vendored
@@ -11,7 +11,6 @@ network
|
|||||||
root
|
root
|
||||||
savecache
|
savecache
|
||||||
swap
|
swap
|
||||||
swapfiles
|
|
||||||
sysctl
|
sysctl
|
||||||
urandom
|
urandom
|
||||||
devfs
|
devfs
|
||||||
|
|||||||
@@ -1,42 +1,25 @@
|
|||||||
DIR= ${INITDIR}
|
DIR= ${INITDIR}
|
||||||
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
|
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 \
|
network.in root.in savecache.in staticroute.in swap.in swclock.in \
|
||||||
swclock.in sysctl.in urandom.in ${SRCS-${OS}}
|
sysctl.in urandom.in
|
||||||
BIN= ${OBJS}
|
BIN= ${OBJS}
|
||||||
|
|
||||||
INSTALLAFTER= _installafter_net.lo
|
# Build our old net foo or not
|
||||||
CLEANFILES+= net.lo
|
ifeq (${MKOLDNET},yes)
|
||||||
TARGETS+= net.lo
|
_OLDNET= net.lo
|
||||||
|
endif
|
||||||
|
_NET_LO= ${_OLDNET}
|
||||||
|
|
||||||
|
INSTALLAFTER= _installafter_${_NET_LO}
|
||||||
|
CLEANFILES+= ${_NET_LO}
|
||||||
|
TARGETS+= ${_NET_LO}
|
||||||
|
|
||||||
MK= ../mk
|
MK= ../mk
|
||||||
include ${MK}/os.mk
|
include ${MK}/os.mk
|
||||||
|
include Makefile.${OS}
|
||||||
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 ${MK}/scripts.mk
|
include ${MK}/scripts.mk
|
||||||
|
|
||||||
_installafter_: realinstall
|
_installafter_: realinstall
|
||||||
|
|
||||||
_installafter_net.lo: realinstall
|
_installafter_net.lo: realinstall
|
||||||
${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO-${OS}}
|
${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO}
|
||||||
|
|||||||
13
init.d/Makefile.FreeBSD
Normal file
13
init.d/Makefile.FreeBSD
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
NET_LO= net.lo0
|
||||||
|
|
||||||
|
# Generic BSD scripts
|
||||||
|
SRCS+= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
||||||
|
rpcbind.in savecore.in syslogd.in
|
||||||
|
|
||||||
|
# These are FreeBSD specific
|
||||||
|
SRCS+= adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \
|
||||||
|
powerd.in syscons.in
|
||||||
|
|
||||||
|
.SUFFIXES: .BSD.in
|
||||||
|
.BSD.in:
|
||||||
|
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
|
||||||
9
init.d/Makefile.Linux
Normal file
9
init.d/Makefile.Linux
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
NET_LO= net.lo
|
||||||
|
|
||||||
|
SRCS+= devfs.in dmesg.in hwclock.in consolefont.in keymaps.in killprocs.in \
|
||||||
|
modules.in mount-ro.in mtab.in numlock.in procfs.in sysfs.in \
|
||||||
|
termencoding.in
|
||||||
|
|
||||||
|
.SUFFIXES: .Linux.in
|
||||||
|
.Linux.in:
|
||||||
|
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
|
||||||
12
init.d/Makefile.NetBSD
Normal file
12
init.d/Makefile.NetBSD
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
NET_LO= net.lo0
|
||||||
|
|
||||||
|
# Generic BSD scripts
|
||||||
|
SRCS+= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
||||||
|
rpcbind.in savecore.in syslogd.in
|
||||||
|
|
||||||
|
# These are NetBSD specific
|
||||||
|
SRCS+= devdb.in swap-blk.in ttys.in wscons.in
|
||||||
|
|
||||||
|
.SUFFIXES: .BSD.in
|
||||||
|
.BSD.in:
|
||||||
|
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
|
||||||
@@ -22,7 +22,7 @@ depend()
|
|||||||
[ "$clock" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
|
[ "$clock" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then
|
||||||
need root
|
need root
|
||||||
fi
|
fi
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -7,11 +7,15 @@ depend()
|
|||||||
need localmount
|
need localmount
|
||||||
before logger
|
before logger
|
||||||
after clock sysctl
|
after clock sysctl
|
||||||
keyword -timeout
|
keyword -prefix -timeout
|
||||||
|
}
|
||||||
|
|
||||||
|
dir_writeable()
|
||||||
|
{
|
||||||
|
mkdir "$1"/.test.$$ 2>/dev/null && rmdir "$1"/.test.$$
|
||||||
}
|
}
|
||||||
|
|
||||||
: ${wipe_tmp:=${WIPE_TMP:-yes}}
|
: ${wipe_tmp:=${WIPE_TMP:-yes}}
|
||||||
: ${log_dmesg:=${LOG_DMESG:-yes}}
|
|
||||||
|
|
||||||
cleanup_tmp_dir()
|
cleanup_tmp_dir()
|
||||||
{
|
{
|
||||||
@@ -20,7 +24,7 @@ cleanup_tmp_dir()
|
|||||||
if ! [ -d "$dir" ]; then
|
if ! [ -d "$dir" ]; then
|
||||||
mkdir -p "$dir" || return $?
|
mkdir -p "$dir" || return $?
|
||||||
fi
|
fi
|
||||||
checkpath -W "$dir" || return 1
|
dir_writeable "$dir" || return 1
|
||||||
chmod a+rwt "$dir" 2> /dev/null
|
chmod a+rwt "$dir" 2> /dev/null
|
||||||
cd "$dir" || return 1
|
cd "$dir" || return 1
|
||||||
if yesno $wipe_tmp; then
|
if yesno $wipe_tmp; then
|
||||||
@@ -67,26 +71,6 @@ mkutmp()
|
|||||||
chmod 0664 "$1"
|
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()
|
start()
|
||||||
{
|
{
|
||||||
# Remove any added console dirs
|
# Remove any added console dirs
|
||||||
@@ -94,16 +78,8 @@ start()
|
|||||||
|
|
||||||
local logw=false runw=false extra=
|
local logw=false runw=false extra=
|
||||||
# Ensure that our basic dirs exist
|
# Ensure that our basic dirs exist
|
||||||
if [ "$RC_UNAME" = Linux ]; then
|
[ "$RC_UNAME" = Linux ] && extra=/var/lib/misc # Satisfy Linux FHS
|
||||||
# Satisfy Linux FHS
|
for x in /var/log /var/run /tmp $extra; do
|
||||||
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
|
|
||||||
if ! [ -d $x ]; then
|
if ! [ -d $x ]; then
|
||||||
if ! mkdir -p $x; then
|
if ! mkdir -p $x; then
|
||||||
eend 1 "failed to create needed directory $x"
|
eend 1 "failed to create needed directory $x"
|
||||||
@@ -112,12 +88,7 @@ start()
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$RC_UNAME" = Linux -a -d /run ] && false; then
|
if dir_writeable /var/run; then
|
||||||
migrate_to_run /var/lock /run/lock
|
|
||||||
migrate_to_run /var/run /run
|
|
||||||
fi
|
|
||||||
|
|
||||||
if checkpath -W /var/run; then
|
|
||||||
ebegin "Creating user login records"
|
ebegin "Creating user login records"
|
||||||
local xtra=
|
local xtra=
|
||||||
[ "$RC_UNAME" = NetBSD ] && xtra=x
|
[ "$RC_UNAME" = NetBSD ] && xtra=x
|
||||||
@@ -159,7 +130,7 @@ start()
|
|||||||
cleanup_tmp_dir "$tmp"
|
cleanup_tmp_dir "$tmp"
|
||||||
done
|
done
|
||||||
|
|
||||||
if checkpath -W /tmp; then
|
if dir_writeable /tmp; then
|
||||||
# Make sure our X11 stuff have the correct permissions
|
# Make sure our X11 stuff have the correct permissions
|
||||||
# Omit the chown as bootmisc is run before network is up
|
# Omit the chown as bootmisc is run before network is up
|
||||||
# and users may be using lame LDAP auth #139411
|
# and users may be using lame LDAP auth #139411
|
||||||
@@ -171,16 +142,15 @@ start()
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if yesno $log_dmesg; then
|
if $logw || dir_writeable /var/log; then
|
||||||
if $logw || checkpath -W /var/log; then
|
# Create an 'after-boot' dmesg log
|
||||||
# Create an 'after-boot' dmesg log
|
if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
|
||||||
if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then
|
dmesg > /var/log/dmesg
|
||||||
dmesg > /var/log/dmesg
|
chmod 640 /var/log/dmesg
|
||||||
chmod 640 /var/log/dmesg
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[ -w /etc/nologin ] && rm -f /etc/nologin
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ depend()
|
|||||||
{
|
{
|
||||||
need localmount termencoding
|
need localmount termencoding
|
||||||
after hotplug bootmisc
|
after hotplug bootmisc
|
||||||
keyword -openvz -uml -vserver -xenu -lxc
|
keyword -openvz -prefix -uml -vserver -xenu -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -49,12 +49,12 @@ start()
|
|||||||
retval=1
|
retval=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
: $(( x += 1 ))
|
x=$(($x + 1))
|
||||||
done
|
done
|
||||||
eend $retval
|
eend $retval
|
||||||
|
|
||||||
# Store the last font so we can use it ASAP on boot
|
# 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
|
mkdir -p "$RC_LIBEXECDIR"/console
|
||||||
for font in /usr/share/consolefonts/"$consolefont".*; do
|
for font in /usr/share/consolefonts/"$consolefont".*; do
|
||||||
:
|
:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ depend() {
|
|||||||
need localmount
|
need localmount
|
||||||
after bootmisc
|
after bootmisc
|
||||||
before net.lo0
|
before net.lo0
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start_pre() {
|
start_pre() {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ depend()
|
|||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
ebegin "Building the dev database"
|
ebegin "Bulding the dev database"
|
||||||
if [ /var/run/dev.db -nt /dev ]; then
|
if [ /var/run/dev.db -nt /dev ]; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description="Mount system critical filesystems in /dev."
|
|||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
use dev
|
use dev
|
||||||
keyword -vserver
|
keyword -prefix -vserver
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description="Configures a specific kernel dump device."
|
|||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need swap
|
need swap
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
@@ -19,7 +19,7 @@ start() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
stop() {
|
||||||
ebegin "Deactivating kernel core dump device"
|
ebegin "Deactiving kernel core dump device"
|
||||||
dumpon off
|
dumpon off
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ _IFS="
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
use dev clock modules
|
use dev clock modules
|
||||||
keyword -jail -openvz -timeout -vserver -lxc
|
keyword -jail -openvz -prefix -timeout -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
_abort() {
|
_abort() {
|
||||||
@@ -48,13 +48,8 @@ start()
|
|||||||
|
|
||||||
if [ -n "$fsck_passno" ]; then
|
if [ -n "$fsck_passno" ]; then
|
||||||
check_extra="[passno $fsck_passno] $check_extra"
|
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
|
fi
|
||||||
ebegin "Checking local filesystems $check_extra"
|
ebegin "Checking local filesystems $check_extra"
|
||||||
# Append passno mounts
|
|
||||||
for p in $fsck_passno; do
|
for p in $fsck_passno; do
|
||||||
local IFS="$_IFS"
|
local IFS="$_IFS"
|
||||||
case "$p" in
|
case "$p" in
|
||||||
@@ -63,21 +58,10 @@ start()
|
|||||||
set -- "$@" $(fstabinfo --passno "$p")
|
set -- "$@" $(fstabinfo --passno "$p")
|
||||||
unset IFS
|
unset IFS
|
||||||
done
|
done
|
||||||
# Append custom mounts
|
|
||||||
for m in $fsck_mnt ; do
|
|
||||||
local IFS="$_IFS"
|
|
||||||
set -- "$@" "$m"
|
|
||||||
unset IFS
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$RC_UNAME" = Linux ]; then
|
if [ "$RC_UNAME" = Linux ]; then
|
||||||
local skiptypes x
|
fsck_opts="$fsck_opts -C0 -T"
|
||||||
for x in $net_fs_list $extra_net_fs_list; do
|
if [ -z "$fsck_passno" ]; then
|
||||||
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_args=${fsck_args--A -p}
|
fsck_args=${fsck_args--A -p}
|
||||||
if echo 2>/dev/null >/.test.$$; then
|
if echo 2>/dev/null >/.test.$$; then
|
||||||
rm -f /.test.$$
|
rm -f /.test.$$
|
||||||
@@ -107,7 +91,7 @@ start()
|
|||||||
_reboot
|
_reboot
|
||||||
fi;;
|
fi;;
|
||||||
8) ewend 1 "Operational error"; return 0;;
|
8) ewend 1 "Operational error"; return 0;;
|
||||||
12) ewend 1 "fsck interrupted";;
|
12) ewend 1 "fsck interupted";;
|
||||||
*) eend 2 "Filesystems couldn't be fixed";;
|
*) eend 2 "Filesystems couldn't be fixed";;
|
||||||
esac
|
esac
|
||||||
_abort || return 1
|
_abort || return 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ depend()
|
|||||||
{
|
{
|
||||||
use root
|
use root
|
||||||
before devd net
|
before devd net
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
_set()
|
_set()
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
description="Sets the hostname of the machine."
|
description="Sets the hostname of the machine."
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
keyword -lxc
|
keyword -prefix -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ depend()
|
|||||||
else
|
else
|
||||||
before *
|
before *
|
||||||
fi
|
fi
|
||||||
keyword -openvz -uml -vserver -xenu -lxc
|
keyword -openvz -prefix -uml -vserver -xenu -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
setupopts()
|
setupopts()
|
||||||
@@ -85,7 +85,7 @@ start()
|
|||||||
|
|
||||||
if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
|
if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
|
||||||
_hwclock --adjust $utc_cmd
|
_hwclock --adjust $utc_cmd
|
||||||
: $(( retval += $? ))
|
retval=$(($retval + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If setting UTC, don't bother to run hwclock when first booting
|
# If setting UTC, don't bother to run hwclock when first booting
|
||||||
@@ -94,12 +94,12 @@ start()
|
|||||||
"$utc_cmd" != --utc -o \
|
"$utc_cmd" != --utc -o \
|
||||||
-n "$clock_args" ];
|
-n "$clock_args" ];
|
||||||
then
|
then
|
||||||
if yesno ${clock_hctosys:-YES}; then
|
if yesno $clock_hctosys; then
|
||||||
_hwclock --hctosys $utc_cmd $clock_args
|
_hwclock --hctosys $utc_cmd $clock_args
|
||||||
else
|
else
|
||||||
_hwclock --systz $utc_cmd $clock_args
|
_hwclock --systz $utc_cmd $clock_args
|
||||||
fi
|
fi
|
||||||
: $(( retval += $? ))
|
retval=$(($retval + $?))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eend $retval "Failed to set the system clock"
|
eend $retval "Failed to set the system clock"
|
||||||
@@ -111,7 +111,7 @@ stop()
|
|||||||
{
|
{
|
||||||
# Don't tweak the hardware clock on LiveCD halt.
|
# Don't tweak the hardware clock on LiveCD halt.
|
||||||
[ -n "$CDBOOT" ] && return 0
|
[ -n "$CDBOOT" ] && return 0
|
||||||
yesno ${clock_systohc:-YES} || return 0
|
yesno $clock_systohc || return 0
|
||||||
|
|
||||||
local retval=0 errstr=""
|
local retval=0 errstr=""
|
||||||
setupopts
|
setupopts
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ start() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use a stateful firewall
|
# Use a statefull firewall
|
||||||
ipfw add check-state
|
ipfw add check-state
|
||||||
ipfw add pass tcp from me to any established
|
ipfw add pass tcp from me to any established
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ start() {
|
|||||||
ipfw add deny udp from any to any 520 in
|
ipfw add deny udp from any to any 520 in
|
||||||
|
|
||||||
# Noise from webbrowsing.
|
# 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.
|
# connection teardowns to be logged.
|
||||||
ipfw add deny tcp from any 80,443 to any 1024-65535 in
|
ipfw add deny tcp from any 80,443 to any 1024-65535 in
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ depend()
|
|||||||
{
|
{
|
||||||
need localmount termencoding
|
need localmount termencoding
|
||||||
after bootmisc
|
after bootmisc
|
||||||
keyword -openvz -uml -vserver -xenu -lxc
|
keyword -openvz -prefix -uml -vserver -xenu -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -47,7 +47,7 @@ start()
|
|||||||
n=1
|
n=1
|
||||||
while [ $n -le $ttyn ]; do
|
while [ $n -le $ttyn ]; do
|
||||||
kbd_mode $kmode -C $ttydev$n
|
kbd_mode $kmode -C $ttydev$n
|
||||||
: $(( n += 1 ))
|
n=$(($n + 1))
|
||||||
done
|
done
|
||||||
eend 0
|
eend 0
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ start()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Save the keymapping for use immediately at boot
|
# Save the keymapping for use immediately at boot
|
||||||
if checkpath -W "$RC_LIBEXECDIR"; then
|
if [ -w "$RC_LIBEXECDIR" ]; then
|
||||||
mkdir -p "$RC_LIBEXECDIR"/console
|
mkdir -p "$RC_LIBEXECDIR"/console
|
||||||
dumpkeys >"$RC_LIBEXECDIR"/console/keymap
|
dumpkeys >"$RC_LIBEXECDIR"/console/keymap
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -4,6 +4,11 @@
|
|||||||
|
|
||||||
description="Kill all processes so we can unmount disks cleanly."
|
description="Kill all processes so we can unmount disks cleanly."
|
||||||
|
|
||||||
|
depend()
|
||||||
|
{
|
||||||
|
keyword -prefix
|
||||||
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
ebegin "Terminating remaining processes"
|
ebegin "Terminating remaining processes"
|
||||||
|
|||||||
@@ -9,14 +9,14 @@ depend()
|
|||||||
need fsck
|
need fsck
|
||||||
use lvm modules mtab
|
use lvm modules mtab
|
||||||
after lvm modules
|
after lvm modules
|
||||||
keyword -jail -openvz -vserver -lxc
|
keyword -jail -openvz -prefix -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
# Mount local filesystems in /etc/fstab.
|
# Mount local filesystems in /etc/fstab.
|
||||||
local types="noproc" x= no_netdev=
|
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}"
|
types="${types},${x}"
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -33,22 +33,23 @@ start()
|
|||||||
|
|
||||||
stop()
|
stop()
|
||||||
{
|
{
|
||||||
yesno $RC_GOINGDOWN || return 0
|
|
||||||
# We never unmount / or /dev or $RC_SVCDIR
|
# We never unmount / or /dev or $RC_SVCDIR
|
||||||
|
local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}"
|
||||||
# Bug 381783
|
no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec"
|
||||||
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"
|
|
||||||
# RC_NO_UMOUNTS is an env var that can be set by plugins
|
# 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
|
for x in $no_umounts $RC_NO_UMOUNTS; do
|
||||||
no_umounts_r="$no_umounts_r|$x"
|
no_umounts_r="$no_umounts_r|$x"
|
||||||
done
|
done
|
||||||
|
if [ "$SIFS" = y ]; then
|
||||||
|
IFS=$OIFS
|
||||||
|
else
|
||||||
|
unset IFS
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$RC_UNAME" = Linux ]; then
|
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
|
fi
|
||||||
no_umounts_r="^($no_umounts_r)$"
|
no_umounts_r="^($no_umounts_r)$"
|
||||||
|
|
||||||
@@ -69,12 +70,12 @@ stop()
|
|||||||
einfo "Unmounting filesystems"
|
einfo "Unmounting filesystems"
|
||||||
eindent
|
eindent
|
||||||
local fs=
|
local fs=
|
||||||
for x in $net_fs_list $extra_net_fs_list; do
|
for x in $net_fs_list; do
|
||||||
fs="$fs${fs:+|}$x"
|
fs="$fs${fs:+|}$x"
|
||||||
done
|
done
|
||||||
[ -n "$fs" ] && fs="^($fs)$"
|
[ -n "$fs" ] && fs="^($fs)$"
|
||||||
do_unmount umount --skip-point-regex "$no_umounts_r" \
|
do_unmount umount --skip-point-regex "$no_umounts_r" \
|
||||||
"${fs:+--skip-fstype-regex}" $fs --nonetdev
|
${fs:+--skip-fstype-regex} $fs --nonetdev
|
||||||
eoutdent
|
eoutdent
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ extra_commands="restore"
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
restore()
|
restore()
|
||||||
@@ -21,7 +21,7 @@ restore()
|
|||||||
mixer -f "$mixer" \
|
mixer -f "$mixer" \
|
||||||
$(cat "/var/db/${mixer#/dev/}-state") >/dev/null
|
$(cat "/var/db/${mixer#/dev/}-state") >/dev/null
|
||||||
veend $?
|
veend $?
|
||||||
: $(( retval += $? ))
|
: $((retval += $?))
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ stop()
|
|||||||
vebegin "$mixer"
|
vebegin "$mixer"
|
||||||
mixer -f "$mixer" -s >/var/db/"${mixer#/dev/}"-state
|
mixer -f "$mixer" -s >/var/db/"${mixer#/dev/}"-state
|
||||||
veend $?
|
veend $?
|
||||||
: $(( retval += $? ))
|
: $((retval += $?))
|
||||||
done
|
done
|
||||||
eoutdent
|
eoutdent
|
||||||
eend $retval
|
eend $retval
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ description="Loads a user defined list of kernel modules."
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
use isapnp
|
use isapnp
|
||||||
keyword -openvz -vserver -lxc
|
keyword -openvz -prefix -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -16,21 +16,18 @@ start()
|
|||||||
# support compiled in ...
|
# support compiled in ...
|
||||||
[ ! -f /proc/modules ] && return 0
|
[ ! -f /proc/modules ] && return 0
|
||||||
|
|
||||||
local KV x y kv_variant_list
|
local KV=$(uname -r)
|
||||||
KV=$(uname -r)
|
local KV_MAJOR=${KV%%.*}
|
||||||
# full $KV
|
local x=${KV#*.}
|
||||||
kv_variant_list="${KV}"
|
local KV_MINOR=${x%%.*}
|
||||||
# remove any KV_EXTRA options to just get the full version
|
x=${KV#*.*.}
|
||||||
x=${KV%%-*}
|
local KV_MICRO=${x%%-*}
|
||||||
# now slowly strip them
|
|
||||||
while [ -n "$x" ] && [ "$x" != "$y" ]; do
|
|
||||||
kv_variant_list="${kv_variant_list} $x"
|
|
||||||
y=$x
|
|
||||||
x=${x%.*}
|
|
||||||
done
|
|
||||||
|
|
||||||
local list= x= xx= y= args= mpargs= cnt=0 a=
|
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")
|
eval list=\$modules_$(shell_var "$x")
|
||||||
[ -n "$list" ] && break
|
[ -n "$list" ] && break
|
||||||
done
|
done
|
||||||
@@ -48,7 +45,10 @@ start()
|
|||||||
fi
|
fi
|
||||||
aa=$(shell_var "$a")
|
aa=$(shell_var "$a")
|
||||||
xx=$(shell_var "$x")
|
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")
|
eval args=\$module_${aa}_args_$(shell_var "$y")
|
||||||
[ -n "${args}" ] && break
|
[ -n "${args}" ] && break
|
||||||
eval args=\$module_${xx}_args_$(shell_var "$y")
|
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_${aa}_args
|
||||||
[ -z "$args" ] && eval args=\$module_${xx}_args
|
[ -z "$args" ] && eval args=\$module_${xx}_args
|
||||||
eval modprobe -q "$mpargs" "$x" "$args"
|
eval modprobe -q "$mpargs" "$x" "$args"
|
||||||
eend $? "Failed to load $x" && : $(( cnt += 1 ))
|
eend $? "Failed to load $x" && cnt=$(($cnt + 1))
|
||||||
done
|
done
|
||||||
einfo "Autoloaded $cnt module(s)"
|
einfo "Autoloaded $cnt module(s)"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,13 +7,11 @@ description="Re-mount filesytems read-only for a clean reboot."
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need killprocs savecache
|
need killprocs savecache
|
||||||
keyword -openvz -vserver -lxc
|
keyword -prefix -openvz -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
local ret=0
|
|
||||||
|
|
||||||
# Flush all pending disk writes now
|
# Flush all pending disk writes now
|
||||||
sync; sync
|
sync; sync
|
||||||
|
|
||||||
@@ -21,29 +19,28 @@ start()
|
|||||||
# We need the do_unmount function
|
# We need the do_unmount function
|
||||||
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
|
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
|
||||||
eindent
|
eindent
|
||||||
|
local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|${RC_SVCDIR}" x= fs=
|
||||||
# Bug 381783
|
m="$m|/bin|/sbin|/lib|/libexec"
|
||||||
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"
|
|
||||||
# RC_NO_UMOUNTS is an env var that can be set by plugins
|
# 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
|
for x in $no_umounts $RC_NO_UMOUNTS; do
|
||||||
m="$m|$x"
|
m="$m|$x"
|
||||||
done
|
done
|
||||||
|
if [ "$SIFS" = y ]; then
|
||||||
|
IFS=$OIFS
|
||||||
|
else
|
||||||
|
unset IFS
|
||||||
|
fi
|
||||||
m="^($m)$"
|
m="^($m)$"
|
||||||
fs=
|
fs=
|
||||||
for x in $net_fs_list $extra_net_fs_list; do
|
for x in $net_fs_list; do
|
||||||
fs="$fs${fs:+|}$x"
|
fs="$fs${fs:+|}$x"
|
||||||
done
|
done
|
||||||
[ -n "$fs" ] && fs="^($fs)$"
|
[ -n "$fs" ] && fs="^($fs)$"
|
||||||
do_unmount "umount -r" \
|
do_unmount "umount -r" \
|
||||||
--skip-point-regex "$m" \
|
--skip-point-regex "$m" \
|
||||||
"${fs:+--skip-fstype-regex}" $fs --nonetdev
|
${fs:+--skip-fstype-regex} $fs --nonetdev
|
||||||
ret=$?
|
|
||||||
|
|
||||||
eoutdent
|
eoutdent
|
||||||
|
eend $?
|
||||||
eend $ret
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ depend()
|
|||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
after bootmisc
|
after bootmisc
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -54,7 +54,7 @@ start()
|
|||||||
local ttyv=
|
local ttyv=
|
||||||
for ttyv in /dev/ttyv*; do
|
for ttyv in /dev/ttyv*; do
|
||||||
vidcontrol < "$ttyv" -m on
|
vidcontrol < "$ttyv" -m on
|
||||||
: $(( retval += $? ))
|
: $((retval+= $?))
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,14 @@ description="Update /etc/mtab to match what the kernel knows about"
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need root
|
need root
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
if [ -L /etc/mtab ]
|
# /etc/mtab could be a symlink to /proc/mounts
|
||||||
then
|
if [ ! -w /etc/mtab -a -L /etc/mtab ]; then
|
||||||
einfo "Skipping mtab update (mtab is a symbolic link)"
|
eeinfo "Skipping mtab update (non writeable symlink)"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
139
init.d/net.lo.in
139
init.d/net.lo.in
@@ -19,18 +19,13 @@ depend()
|
|||||||
local IFVAR=$(shell_var "${IFACE}")
|
local IFVAR=$(shell_var "${IFACE}")
|
||||||
|
|
||||||
need localmount
|
need localmount
|
||||||
if [ "$RC_UNAME" = Linux ]; then
|
|
||||||
need sysfs
|
|
||||||
fi
|
|
||||||
after bootmisc
|
after bootmisc
|
||||||
keyword -jail -vserver
|
provide net
|
||||||
|
keyword -jail -prefix -vserver
|
||||||
|
|
||||||
case "${IFACE}" in
|
case "${IFACE}" in
|
||||||
lo|lo0) provide lo;;
|
lo|lo0);;
|
||||||
*)
|
*) after net.lo net.lo0;;
|
||||||
after net.lo net.lo0 dbus
|
|
||||||
provide net
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
|
if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
|
||||||
@@ -42,32 +37,17 @@ depend()
|
|||||||
eval prov=\$rc_${dep}_${IFVAR}
|
eval prov=\$rc_${dep}_${IFVAR}
|
||||||
if [ -n "${prov}" ]; then
|
if [ -n "${prov}" ]; then
|
||||||
${dep} ${prov}
|
${dep} ${prov}
|
||||||
ewarn "rc_${dep}_${IFVAR} is deprecated."
|
|
||||||
ewarn "Please use rc_net_${IFVAR}_${dep} instead."
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Support bash arrays - sigh
|
# 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()
|
_get_array()
|
||||||
{
|
{
|
||||||
local _a=
|
local _a=
|
||||||
if [ -n "${BASH}" ]; then
|
if [ -n "${BASH}" ]; then
|
||||||
case "$(declare -p "$1" 2>/dev/null)" in
|
case "$(declare -p "$1" 2>/dev/null)" in
|
||||||
"declare -a "*)
|
"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[@]}\""
|
eval "set -- \"\${$1[@]}\""
|
||||||
for _a; do
|
for _a; do
|
||||||
printf "%s\n" "${_a}"
|
printf "%s\n" "${_a}"
|
||||||
@@ -77,7 +57,10 @@ _get_array()
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_array_helper $1
|
eval _a=\$$1
|
||||||
|
printf "%s" "${_a}"
|
||||||
|
printf "\n"
|
||||||
|
[ -n "${_a}" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
# Flatten bash arrays to simple strings
|
# Flatten bash arrays to simple strings
|
||||||
@@ -86,9 +69,6 @@ _flatten_array()
|
|||||||
if [ -n "${BASH}" ]; then
|
if [ -n "${BASH}" ]; then
|
||||||
case "$(declare -p "$1" 2>/dev/null)" in
|
case "$(declare -p "$1" 2>/dev/null)" in
|
||||||
"declare -a "*)
|
"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[@]}\""
|
eval "set -- \"\${$1[@]}\""
|
||||||
for x; do
|
for x; do
|
||||||
printf "'%s' " "$(printf "$x" | sed "s:':'\\\'':g")"
|
printf "'%s' " "$(printf "$x" | sed "s:':'\\\'':g")"
|
||||||
@@ -98,7 +78,10 @@ _flatten_array()
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_array_helper $1
|
eval _a=\$$1
|
||||||
|
printf "%s" "${_a}"
|
||||||
|
printf "\n"
|
||||||
|
[ -n "${_a}" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
_wait_for_carrier()
|
_wait_for_carrier()
|
||||||
@@ -122,7 +105,7 @@ _wait_for_carrier()
|
|||||||
eend 0
|
eend 0
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
: $(( timeout -= 1 ))
|
timeout=$((${timeout} - 1))
|
||||||
[ "${efunc}" = "einfon" ] && printf "."
|
[ "${efunc}" = "einfon" ] && printf "."
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -151,9 +134,9 @@ _netmask2cidr()
|
|||||||
local i= len=
|
local i= len=
|
||||||
local IFS=.
|
local IFS=.
|
||||||
for i in $1; do
|
for i in $1; do
|
||||||
while [ ${i} -ne 0 ]; do
|
while [ ${i} != "0" ]; do
|
||||||
: $(( len += i % 2 ))
|
len=$((${len} + ${i} % 2))
|
||||||
: $(( i >>= 1 ))
|
i=$((${i} >> 1))
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -176,36 +159,6 @@ _configure_variables()
|
|||||||
done
|
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()
|
_show_address()
|
||||||
{
|
{
|
||||||
einfo "received address $(_get_inet_address "${IFACE}")"
|
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_start='${PROGRAM_START}'" >> "${MODULESLIST}"
|
||||||
echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
|
echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
|
||||||
echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
|
echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
|
||||||
: $(( i += 1 ))
|
i=$((${i} + 1))
|
||||||
done
|
done
|
||||||
echo "module_${i}=" >> "${MODULESLIST}"
|
echo "module_${i}=" >> "${MODULESLIST}"
|
||||||
)
|
)
|
||||||
@@ -341,17 +294,18 @@ _load_modules()
|
|||||||
|
|
||||||
local i=-1 x= mod= f= provides=
|
local i=-1 x= mod= f= provides=
|
||||||
while true; do
|
while true; do
|
||||||
: $(( i += 1 ))
|
i=$((${i} + 1))
|
||||||
eval mod=\$module_${i}
|
eval mod=\$module_${i}
|
||||||
[ -z "${mod}" ] && break
|
[ -z "${mod}" ] && break
|
||||||
[ -e "${MODULESDIR}/${mod}.sh" ] || continue
|
[ -e "${MODULESDIR}/${mod}.sh" ] || continue
|
||||||
|
|
||||||
eval set -- \$module_${i}_program
|
eval set -- \$module_${i}_program
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
if ! _program_available "$@" >/dev/null; then
|
x=
|
||||||
vewarn "Skipping module $mod due to missing program: $@"
|
for x; do
|
||||||
continue
|
[ -x "${x}" ] && break
|
||||||
fi
|
done
|
||||||
|
[ -x "${x}" ] || continue
|
||||||
fi
|
fi
|
||||||
if ${starting}; then
|
if ${starting}; then
|
||||||
eval set -- \$module_${i}_program_start
|
eval set -- \$module_${i}_program_start
|
||||||
@@ -359,10 +313,15 @@ _load_modules()
|
|||||||
eval set -- \$module_${i}_program_stop
|
eval set -- \$module_${i}_program_stop
|
||||||
fi
|
fi
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
if ! _program_available "$@" >/dev/null; then
|
x=
|
||||||
vewarn "Skipping module $mod due to missing program: $@"
|
for x; do
|
||||||
continue
|
case "${x}" in
|
||||||
fi
|
/*) [ -x "${x}" ] && break;;
|
||||||
|
*) type "${x}" >/dev/null 2>&1 && break;;
|
||||||
|
esac
|
||||||
|
unset x
|
||||||
|
done
|
||||||
|
[ -n "${x}" ] || continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval provides=\$module_${i}_provide
|
eval provides=\$module_${i}_provide
|
||||||
@@ -438,18 +397,16 @@ _load_config()
|
|||||||
set -- ${config}
|
set -- ${config}
|
||||||
|
|
||||||
# We should support a space separated array for cidr configs
|
# 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
|
if [ $# = 1 ]; then
|
||||||
unset IFS
|
unset IFS
|
||||||
set -- ${config}
|
set -- ${config}
|
||||||
# Of course, we may have a single address added old style.
|
# 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.
|
case "$2" in
|
||||||
# Otherwise, it's arguments to the first config...
|
netmask|broadcast|brd|brd+|peer|pointopoint)
|
||||||
if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then
|
local IFS="$__IFS"
|
||||||
# Not an IPv4/IPv6
|
set -- ${config}
|
||||||
local IFS="$__IFS"
|
;;
|
||||||
set -- ${config}
|
esac
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ensure that loopback has the correct address
|
# Ensure that loopback has the correct address
|
||||||
@@ -471,7 +428,7 @@ _load_config()
|
|||||||
# so modules can influence it
|
# so modules can influence it
|
||||||
for cmd; do
|
for cmd; do
|
||||||
eval config_${config_index}="'${cmd}'"
|
eval config_${config_index}="'${cmd}'"
|
||||||
: $(( config_index += 1 ))
|
config_index=$((${config_index} + 1))
|
||||||
done
|
done
|
||||||
# Terminate the list
|
# Terminate the list
|
||||||
eval config_${config_index}=
|
eval config_${config_index}=
|
||||||
@@ -479,7 +436,7 @@ _load_config()
|
|||||||
config_index=0
|
config_index=0
|
||||||
for cmd in ${fallback}; do
|
for cmd in ${fallback}; do
|
||||||
eval fallback_${config_index}="'${cmd}'"
|
eval fallback_${config_index}="'${cmd}'"
|
||||||
: $(( config_index += 1 ))
|
config_index=$((${config_index} + 1))
|
||||||
done
|
done
|
||||||
# Terminate the list
|
# Terminate the list
|
||||||
eval fallback_${config_index}=
|
eval fallback_${config_index}=
|
||||||
@@ -521,9 +478,7 @@ start()
|
|||||||
{
|
{
|
||||||
local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
|
local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
|
||||||
local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
|
local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
|
||||||
local metric=0 _up_before_preup
|
local metric=0
|
||||||
eval _up_before_preup="\$up_before_preup_${IFVAR}"
|
|
||||||
[ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup
|
|
||||||
|
|
||||||
einfo "Bringing up interface ${IFACE}"
|
einfo "Bringing up interface ${IFACE}"
|
||||||
eindent
|
eindent
|
||||||
@@ -537,7 +492,7 @@ start()
|
|||||||
# available in preup and afterwards incase the user inadvertently
|
# available in preup and afterwards incase the user inadvertently
|
||||||
# brings it down
|
# brings it down
|
||||||
if [ "$(command -v preup)" = "preup" ]; then
|
if [ "$(command -v preup)" = "preup" ]; then
|
||||||
yesno "${_up_before_preup:-yes}" && _up 2>/dev/null
|
_up 2>/dev/null
|
||||||
ebegin "Running preup"
|
ebegin "Running preup"
|
||||||
eindent
|
eindent
|
||||||
preup || return 1
|
preup || return 1
|
||||||
@@ -576,7 +531,7 @@ start()
|
|||||||
if [ -n "${our_metric}" ]; then
|
if [ -n "${our_metric}" ]; then
|
||||||
metric=${our_metric}
|
metric=${our_metric}
|
||||||
elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
|
elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
|
||||||
: $(( metric += $(_ifindex) ))
|
metric=$((${metric} + $(_ifindex)))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
@@ -584,9 +539,7 @@ start()
|
|||||||
[ -z "${config}" ] && break
|
[ -z "${config}" ] && break
|
||||||
|
|
||||||
set -- ${config}
|
set -- ${config}
|
||||||
if [ "$1" != "null" -a "$1" != "noop" ]; then
|
ebegin "$1"
|
||||||
ebegin "$1"
|
|
||||||
fi
|
|
||||||
eindent
|
eindent
|
||||||
case "$1" in
|
case "$1" in
|
||||||
noop)
|
noop)
|
||||||
@@ -616,11 +569,11 @@ start()
|
|||||||
eindent
|
eindent
|
||||||
eval config_${config_index}=\$config
|
eval config_${config_index}=\$config
|
||||||
unset fallback_${config_index}
|
unset fallback_${config_index}
|
||||||
: $(( config_index -= 1 ))
|
config_index=$((${config_index} - 1))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
eoutdent
|
eoutdent
|
||||||
: $(( config_index += 1 ))
|
config_index=$((${config_index} + 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
if ! ${oneworked}; then
|
if ! ${oneworked}; then
|
||||||
|
|||||||
@@ -2,27 +2,62 @@
|
|||||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
||||||
# Released under the 2-clause BSD license.
|
# Released under the 2-clause BSD license.
|
||||||
|
|
||||||
description="Mounts network shares, other than NFS, according to /etc/fstab."
|
description="Mounts network shares according to /etc/fstab."
|
||||||
# We skip all NFS shares in this script because they require extra
|
|
||||||
# daemons to be running on the client in order to work correctly.
|
need_portmap()
|
||||||
# It is best to allow nfs-utils to handle all nfs shares.
|
{
|
||||||
|
local opts=
|
||||||
|
local IFS="
|
||||||
|
"
|
||||||
|
set -- $(fstabinfo --options --fstype nfs,nfs4)
|
||||||
|
for opts; do
|
||||||
|
case ,$opts, in
|
||||||
|
*,noauto,*|*,nolock,*);;
|
||||||
|
*) return 0;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
|
# Only have portmap as a dependency if there is a nfs mount in fstab
|
||||||
|
# that is set to mount at boot
|
||||||
|
local pmap=
|
||||||
|
if need_portmap; then
|
||||||
|
pmap="rpc.statd"
|
||||||
|
[ -x @SYSCONFDIR@/init.d/rpcbind ] \
|
||||||
|
&& pmap="$pmap rpcbind" \
|
||||||
|
|| pmap="$pmap portmap"
|
||||||
|
fi
|
||||||
|
|
||||||
config /etc/fstab
|
config /etc/fstab
|
||||||
need net
|
need net $pmap
|
||||||
use afc-client amd autofs openvpn
|
use afc-client amd autofs openvpn
|
||||||
use dns
|
use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
|
||||||
keyword -jail -vserver
|
keyword -jail -prefix -vserver
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
|
local myneed= myuse= pmap="portmap" nfsmounts=
|
||||||
|
[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
|
||||||
|
|
||||||
local x= fs= rc=
|
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
|
case "$x" in
|
||||||
nfs|nfs4)
|
nfs|nfs4)
|
||||||
continue
|
# If the nfsmount script took care of the nfs
|
||||||
|
# filesystems, then there's no point in trying
|
||||||
|
# them twice
|
||||||
|
service_started nfsmount && continue
|
||||||
|
|
||||||
|
# Only try to mount NFS filesystems if portmap was
|
||||||
|
# started. This is to fix "hang" problems for new
|
||||||
|
# users who do not add portmap to the default runlevel.
|
||||||
|
if need_portmap && ! service_started "$pmap"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fs="$fs${fs:+,}$x"
|
fs="$fs${fs:+,}$x"
|
||||||
@@ -46,15 +81,8 @@ stop()
|
|||||||
ebegin "Unmounting network filesystems"
|
ebegin "Unmounting network filesystems"
|
||||||
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
|
. "$RC_LIBEXECDIR"/sh/rc-mount.sh
|
||||||
|
|
||||||
for x in $net_fs_list $extra_net_fs_list; do
|
for x in $net_fs_list; do
|
||||||
case "$x" in
|
fs="$fs${fs:+,}$x"
|
||||||
nfs|nfs4)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
fs="$fs${fs:+,}$x"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
if [ -n "$fs" ]; then
|
if [ -n "$fs" ]; then
|
||||||
umount -at $fs || eerror "Failed to simply unmount filesystems"
|
umount -at $fs || eerror "Failed to simply unmount filesystems"
|
||||||
@@ -62,15 +90,8 @@ stop()
|
|||||||
|
|
||||||
eindent
|
eindent
|
||||||
fs=
|
fs=
|
||||||
for x in $net_fs_list $extra_net_fs_list; do
|
for x in $net_fs_list; do
|
||||||
case "$x" in
|
fs="$fs${fs:+|}$x"
|
||||||
nfs|nfs4)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
fs="$fs${fs:+|}$x"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
[ -n "$fs" ] && fs="^($fs)$"
|
[ -n "$fs" ] && fs="^($fs)$"
|
||||||
do_unmount umount ${fs:+--fstype-regex} $fs --netdev
|
do_unmount umount ${fs:+--fstype-regex} $fs --netdev
|
||||||
|
|||||||
@@ -12,11 +12,8 @@ depend()
|
|||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
after bootmisc
|
after bootmisc
|
||||||
provide lo
|
provide net
|
||||||
if [ -n "$(interfaces)" ]; then
|
keyword -jail -prefix -vserver
|
||||||
provide net
|
|
||||||
fi
|
|
||||||
keyword -jail -vserver
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uniqify()
|
uniqify()
|
||||||
@@ -222,12 +219,6 @@ start()
|
|||||||
eend $?
|
eend $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ewarn
|
|
||||||
ewarn "The $RC_SVCNAME script is deprecated and will be"
|
|
||||||
ewarn "removed in the future."
|
|
||||||
ewarn "Please use the net.* scripts to manage your network interfaces."
|
|
||||||
ewarn
|
|
||||||
|
|
||||||
einfo "Starting network"
|
einfo "Starting network"
|
||||||
routeflush
|
routeflush
|
||||||
if [ "$RC_UNAME" = "Linux" ]; then
|
if [ "$RC_UNAME" = "Linux" ]; then
|
||||||
@@ -290,7 +281,7 @@ start()
|
|||||||
tentative || break
|
tentative || break
|
||||||
[ $r = 5 ] && vebegin "Waiting for tentative addresses"
|
[ $r = 5 ] && vebegin "Waiting for tentative addresses"
|
||||||
sleep 1
|
sleep 1
|
||||||
: $(( r -= 1 ))
|
r=$(($r - 1))
|
||||||
done
|
done
|
||||||
if [ $r != 5 ]; then
|
if [ $r != 5 ]; then
|
||||||
[ $r != 0 ]
|
[ $r != 0 ]
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ required_files="/etc/newsyslog.conf"
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
keyword -openvz -vserver -lxc
|
keyword -openvz -prefix -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
_setleds()
|
_setleds()
|
||||||
@@ -21,7 +21,7 @@ _setleds()
|
|||||||
|
|
||||||
while [ $i -le $ttyn ]; do
|
while [ $i -le $ttyn ]; do
|
||||||
setleds -D "$1"num < $dev$i || retval=1
|
setleds -D "$1"num < $dev$i || retval=1
|
||||||
: $(( i += 1 ))
|
i=$(($i + 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
return $retval
|
return $retval
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ extra_started_commands="reload"
|
|||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need localmount
|
need localmount
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ depend()
|
|||||||
need localmount
|
need localmount
|
||||||
use logger
|
use logger
|
||||||
after bootmisc
|
after bootmisc
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start_pre()
|
start_pre()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ depend()
|
|||||||
{
|
{
|
||||||
use modules devfs
|
use modules devfs
|
||||||
need localmount
|
need localmount
|
||||||
keyword -openvz -vserver -lxc
|
keyword -openvz -prefix -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -20,29 +20,6 @@ start()
|
|||||||
|
|
||||||
[ -e /proc/filesystems ] || return 0
|
[ -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
|
# Check what USB fs the kernel support. Currently
|
||||||
# 2.5+ kernels, and later 2.4 kernels have 'usbfs',
|
# 2.5+ kernels, and later 2.4 kernels have 'usbfs',
|
||||||
# while older kernels have 'usbdevfs'.
|
# while older kernels have 'usbdevfs'.
|
||||||
@@ -60,6 +37,27 @@ start()
|
|||||||
fi
|
fi
|
||||||
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
|
# Setup Kernel Support for SELinux
|
||||||
if [ -d /selinux ] && ! mountinfo -q /selinux; then
|
if [ -d /selinux ] && ! mountinfo -q /selinux; then
|
||||||
if grep -qs selinuxfs /proc/filesystems; then
|
if grep -qs selinuxfs /proc/filesystems; then
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ depend()
|
|||||||
need localmount net
|
need localmount net
|
||||||
after *
|
after *
|
||||||
before local
|
before local
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -32,7 +33,7 @@ start()
|
|||||||
|
|
||||||
# Good to go!
|
# Good to go!
|
||||||
"$svc" start && started="$started $svc"
|
"$svc" start && started="$started $svc"
|
||||||
: $(( retval += $? ))
|
: $((retval += $?))
|
||||||
done
|
done
|
||||||
service_set_value started "$started"
|
service_set_value started "$started"
|
||||||
eend $retval "Some local rc services failed to start"
|
eend $retval "Some local rc services failed to start"
|
||||||
@@ -45,7 +46,7 @@ stop()
|
|||||||
local svc= retval=0
|
local svc= retval=0
|
||||||
for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
|
for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
|
||||||
"$svc" stop
|
"$svc" stop
|
||||||
: $(( retval += $? ))
|
: $((retval += $?))
|
||||||
done
|
done
|
||||||
eend $retval "Some local rc services failed to stop"
|
eend $retval "Some local rc services failed to stop"
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -7,47 +7,26 @@ description="Mount the root fs read/write"
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need fsck
|
need fsck
|
||||||
keyword -jail -openvz -vserver -lxc
|
keyword -jail -openvz -prefix -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
case ",$(fstabinfo -o /)," in
|
case ",$(fstabinfo -o /)," in
|
||||||
*,ro,*)
|
*,ro,*) return 0;;
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# 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
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
ebegin "Remounting filesystems"
|
if echo 2>/dev/null >/.test.$$; then
|
||||||
local mountpoint
|
rm -f /.test.$$ /fastboot /forcefsck
|
||||||
for mountpoint in $(fstabinfo); do
|
return 0
|
||||||
case "${mountpoint}" in
|
fi
|
||||||
/)
|
|
||||||
;;
|
ebegin "Remounting root filesystem read/write"
|
||||||
/*)
|
case "$RC_UNAME" in
|
||||||
mountinfo -q "${mountpoint}" && \
|
Linux) mount -n -o remount,rw /;;
|
||||||
fstabinfo --remount "${mountpoint}"
|
*) mount -u -o rw /;;
|
||||||
;;
|
esac
|
||||||
esac
|
if eend $? "Root filesystem could not be mounted read/write"; then
|
||||||
done
|
rm -f /fastboot /forcefsck
|
||||||
eend 0
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,14 +13,6 @@ start()
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if ! checkpath -W "$RC_LIBEXECDIR"; then
|
|
||||||
ewarn "WARNING: ${RC_LIBEXECDIR} is not writable!"
|
|
||||||
if ! yesno "${RC_GOINGDOWN}"; then
|
|
||||||
ewarn "Unable to save deptree cache"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
ebegin "Saving dependency cache"
|
ebegin "Saving dependency cache"
|
||||||
local rc=
|
local rc=
|
||||||
if [ ! -d "$RC_LIBEXECDIR"/cache ]; then
|
if [ ! -d "$RC_LIBEXECDIR"/cache ]; then
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ description="Saves a kernel dump."
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ depend()
|
|||||||
{
|
{
|
||||||
provide net
|
provide net
|
||||||
use network
|
use network
|
||||||
keyword -jail -vserver
|
keyword -jail -prefix -vserver
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_flight_checks()
|
pre_flight_checks()
|
||||||
@@ -93,11 +93,6 @@ do_routes()
|
|||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
ewarn
|
|
||||||
ewarn "The $RC_SVCNAME script is deprecated and will be"
|
|
||||||
ewarn "removed in the future."
|
|
||||||
ewarn "Please use the net.* scripts to manage your network interfaces."
|
|
||||||
ewarn
|
|
||||||
do_routes "Adding" "add"
|
do_routes "Adding" "add"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
before fsck
|
before fsck
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -4,15 +4,14 @@
|
|||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
before localmount
|
need localmount
|
||||||
keyword -jail -openvz -vserver -lxc
|
keyword -jail -openvz -prefix -vserver -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
ebegin "Activating swap devices"
|
ebegin "Activating swap devices"
|
||||||
case "$RC_UNAME" in
|
case "$RC_UNAME" in
|
||||||
Linux) swapon -a -e >/dev/null;;
|
|
||||||
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
|
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
|
||||||
*) swapon -a >/dev/null;;
|
*) swapon -a >/dev/null;;
|
||||||
esac
|
esac
|
||||||
@@ -24,7 +23,7 @@ stop()
|
|||||||
ebegin "Deactivating swap devices"
|
ebegin "Deactivating swap devices"
|
||||||
|
|
||||||
# Try to unmount all tmpfs filesystems not in use, else a deadlock may
|
# 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"
|
cd "$RC_SVCDIR"
|
||||||
umount -a -t tmpfs 2>/dev/null
|
umount -a -t tmpfs 2>/dev/null
|
||||||
|
|
||||||
|
|||||||
@@ -1,47 +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)
|
|
||||||
if [ -e /proc/swaps ]; then
|
|
||||||
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
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
eend 0
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,7 @@ depend()
|
|||||||
{
|
{
|
||||||
before *
|
before *
|
||||||
provide clock
|
provide clock
|
||||||
keyword -openvz -uml -vserver -xenu -lxc
|
keyword -openvz -prefix -uml -vserver -xenu -lxc
|
||||||
}
|
}
|
||||||
|
|
||||||
# swclock is an OpenRC built in
|
# swclock is an OpenRC built in
|
||||||
@@ -16,9 +16,7 @@ depend()
|
|||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
ebegin "Setting the local clock based on last shutdown time"
|
ebegin "Setting the local clock based on last shutdown time"
|
||||||
if ! swclock 2> /dev/null; then
|
swclock --warn
|
||||||
swclock --warn @PREFIX@/sbin/runscript
|
|
||||||
fi
|
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
need localmount
|
need localmount
|
||||||
keyword -jail
|
keyword -jail -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
before bootmisc logger
|
before bootmisc logger
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -13,7 +14,7 @@ start()
|
|||||||
local retval=0 var= comments= conf=
|
local retval=0 var= comments= conf=
|
||||||
ebegin "Configuring kernel parameters"
|
ebegin "Configuring kernel parameters"
|
||||||
eindent
|
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
|
if [ -r "$conf" ]; then
|
||||||
vebegin "applying $conf"
|
vebegin "applying $conf"
|
||||||
while read var comments; do
|
while read var comments; do
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
before bootmisc logger
|
before bootmisc logger
|
||||||
keyword -lxc -vserver
|
keyword -prefix -vserver
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
@@ -15,12 +15,12 @@ start()
|
|||||||
ebegin "Configuring kernel parameters"
|
ebegin "Configuring kernel parameters"
|
||||||
eindent
|
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
|
if [ -r "$conf" ]; then
|
||||||
vebegin "applying $conf"
|
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}"
|
errs="${errs} ${err}"
|
||||||
sysctl -e -p "${conf}" >/dev/null
|
sysctl -q -e -p "${conf}"
|
||||||
fi
|
fi
|
||||||
veend $? || retval=1
|
veend $? || retval=1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description="Mount the sys filesystem."
|
|||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
keyword -vserver
|
keyword -prefix -vserver
|
||||||
}
|
}
|
||||||
|
|
||||||
mount_sys()
|
mount_sys()
|
||||||
@@ -50,47 +50,6 @@ mount_misc()
|
|||||||
eend $?
|
eend $?
|
||||||
fi
|
fi
|
||||||
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()
|
start()
|
||||||
@@ -100,11 +59,6 @@ start()
|
|||||||
retval=$?
|
retval=$?
|
||||||
if [ $retval -eq 0 ]; then
|
if [ $retval -eq 0 ]; then
|
||||||
mount_misc
|
mount_misc
|
||||||
retval=$?
|
|
||||||
fi
|
|
||||||
if [ $retval -eq 0 ]; then
|
|
||||||
mount_cgroups
|
|
||||||
retval=$?
|
|
||||||
fi
|
fi
|
||||||
return $retval
|
return $retval
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,4 +16,5 @@ depend()
|
|||||||
use net newsyslog
|
use net newsyslog
|
||||||
need localmount
|
need localmount
|
||||||
after bootmisc
|
after bootmisc
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
|
|||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
keyword -lxc -openvz -uml -vserver -xenu
|
keyword -openvz -prefix -uml -vserver -xenu
|
||||||
use root
|
need root
|
||||||
after bootmisc
|
after bootmisc
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,11 +31,11 @@ start()
|
|||||||
n=1
|
n=1
|
||||||
while [ ${n} -le "$ttyn" ]; do
|
while [ ${n} -le "$ttyn" ]; do
|
||||||
printf "\033%s" "$termencoding" >$ttydev$n
|
printf "\033%s" "$termencoding" >$ttydev$n
|
||||||
: $(( n += 1 ))
|
n=$(($n + 1))
|
||||||
done
|
done
|
||||||
|
|
||||||
# Save the encoding for use immediately at boot
|
# Save the encoding for use immediately at boot
|
||||||
if checkpath -W "$RC_LIBEXECDIR"; then
|
if [ -w "$RC_LIBEXECDIR" ]; then
|
||||||
mkdir -p "$RC_LIBEXECDIR"/console
|
mkdir -p "$RC_LIBEXECDIR"/console
|
||||||
if yesno ${unicode:-${UNICODE}}; then
|
if yesno ${unicode:-${UNICODE}}; then
|
||||||
echo "" > "$RC_LIBEXECDIR"/console/unicode
|
echo "" > "$RC_LIBEXECDIR"/console/unicode
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
after fsck
|
after fsck
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
||||||
# Released under the 2-clause BSD license.
|
# 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."
|
description="Initializes the random number generator."
|
||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
keyword -jail -openvz
|
keyword -jail -openvz -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
save_seed()
|
save_seed()
|
||||||
@@ -16,7 +16,7 @@ save_seed()
|
|||||||
local psz=1
|
local psz=1
|
||||||
|
|
||||||
if [ -e /proc/sys/kernel/random/poolsize ]; then
|
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
|
fi
|
||||||
|
|
||||||
( # sub shell to prevent umask pollution
|
( # sub shell to prevent umask pollution
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need localmount
|
need localmount
|
||||||
|
keyword -prefix
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ install:
|
|||||||
for man in ${MAN3}; do \
|
for man in ${MAN3}; do \
|
||||||
${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man3 || exit $$?; \
|
${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man3 || exit $$?; \
|
||||||
${MAKE_LINKS} \
|
${MAKE_LINKS} \
|
||||||
done
|
done
|
||||||
${INSTALL} -d ${DESTDIR}/${MANDIR}/man8
|
${INSTALL} -d ${DESTDIR}/${MANDIR}/man8
|
||||||
for man in ${MAN8}; do \
|
for man in ${MAN8}; do \
|
||||||
${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man8 || exit $$?; \
|
${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man8 || exit $$?; \
|
||||||
|
|||||||
@@ -105,7 +105,8 @@ and
|
|||||||
respectively, but only work when
|
respectively, but only work when
|
||||||
.Va EINFO_VERBOSE
|
.Va EINFO_VERBOSE
|
||||||
is true. You can also make the
|
is true. You can also make the
|
||||||
.Fn einfo
|
.Fn einfo ,
|
||||||
|
.Fn ewarn ,
|
||||||
and
|
and
|
||||||
.Fn ebegin
|
.Fn ebegin
|
||||||
functions silent by setting
|
functions silent by setting
|
||||||
@@ -115,7 +116,7 @@ to true.
|
|||||||
These functions are designed to output a whole line, so they also
|
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
|
append a newline to the string. To stop this behaviour, you can use the
|
||||||
functions
|
functions
|
||||||
.Fn einfon ,
|
.Fn einfon ,
|
||||||
.Fn ewarnn ,
|
.Fn ewarnn ,
|
||||||
.Fn eerrorn ,
|
.Fn eerrorn ,
|
||||||
.Fn einfovn ,
|
.Fn einfovn ,
|
||||||
@@ -149,7 +150,7 @@ does the same as
|
|||||||
.Fn eend
|
.Fn eend
|
||||||
but prints
|
but prints
|
||||||
.Fa msg
|
.Fa msg
|
||||||
instead of ok or !! in the color
|
instead of ok or !! in the color
|
||||||
.Fa color
|
.Fa color
|
||||||
at the column
|
at the column
|
||||||
.Fa col .
|
.Fa col .
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
.Os OpenRC
|
.Os OpenRC
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
.Nm rc-service
|
.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
|
.Sh SYNOPSIS
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl i , -ifexists
|
.Op Fl i , -ifexists
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
.Fl r , -resolve
|
.Fl r , -resolve
|
||||||
.Ar service
|
.Ar service
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
Service scripts could be in different places on different systems.
|
Service scripts could be in different places on different systems.
|
||||||
.Nm
|
.Nm
|
||||||
locates the specified service and runs it with the given arguments.
|
locates the specified service and runs it with the given arguments.
|
||||||
If
|
If
|
||||||
|
|||||||
@@ -33,8 +33,8 @@
|
|||||||
.Op Ar runlevel
|
.Op Ar runlevel
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Nm
|
.Nm
|
||||||
gathers and displays information about the status of services
|
gathers and displays information about the status of services
|
||||||
in different runlevels. The default behavior is to show information
|
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 unassigned services that are not stopped,
|
||||||
but any runlevel can be quickly examined.
|
but any runlevel can be quickly examined.
|
||||||
.Pp
|
.Pp
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
.Os OpenRC
|
.Os OpenRC
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
.Nm rc-update
|
.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
|
.Sh SYNOPSIS
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl s , -stack
|
.Op Fl s , -stack
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
.Ar show
|
.Ar show
|
||||||
.Op Ar runlevel ...
|
.Op Ar runlevel ...
|
||||||
.Sh DESCRIPTION
|
.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,
|
file or managing a directory of symlinks,
|
||||||
.Nm
|
.Nm
|
||||||
exists to quickly add or delete services to and from from different runlevels.
|
exists to quickly add or delete services to and from from different runlevels.
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
.Sh LIBRARY
|
.Sh LIBRARY
|
||||||
Run Command library (librc, -lrc)
|
Run Command library (librc, -lrc)
|
||||||
.Sh SYNOPSIS
|
.Sh SYNOPSIS
|
||||||
.In rc.h
|
.In rc.h
|
||||||
.Ft bool Fn rc_deptree_update void
|
.Ft bool Fn rc_deptree_update void
|
||||||
.Ft bool Fn rc_deptree_update_needed void
|
.Ft bool Fn rc_deptree_update_needed void
|
||||||
.Ft RC_DEPTREE Fn rc_deptree_load 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.
|
when done.
|
||||||
.Pp
|
.Pp
|
||||||
.Fn rc_deptree_depend ,
|
.Fn rc_deptree_depend ,
|
||||||
.Fn rc_deptree_depends
|
.Fn rc_deptree_depends
|
||||||
and
|
and
|
||||||
.Fn rc_deptree_order
|
.Fn rc_deptree_order
|
||||||
return a list of services from the
|
return a list of services from the
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user