Compare commits

..

8 Commits

Author SHA1 Message Date
William Hubbs
776346e2cd update changelog 2015-10-13 17:49:03 -05:00
William Hubbs
ce71ffbfbe openrc-run.sh: fix new required_* tests to exit properly 2015-10-13 17:42:46 -05:00
William Hubbs
d9ee8ca584 update changelog 2015-10-13 16:29:15 -05:00
William Hubbs
4e44e2cd73 typo fix
X-Gentoo-Bug: 563010
X-Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=563010
2015-10-13 16:27:35 -05:00
William Hubbs
88b807f9bc increment version number 2015-10-13 15:57:25 -05:00
William Hubbs
feba5d86b7 mountinfo: make sure the netdev variable is initialized on Linux
This fixes the following regression:

X-Gentoo-Bug: 562668
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=562668
2015-10-13 09:10:47 -05:00
William Hubbs
3b1e96a6a3 openrc-run.sh: allow spaces in required_{files,dirs}
X-Gentoo-Bug: 562320
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=562320
2015-10-13 09:10:47 -05:00
William Hubbs
79998bdf9c increment version number 2015-10-13 09:10:28 -05:00
280 changed files with 5521 additions and 9630 deletions

2
.gitignore vendored
View File

@@ -1,4 +1,4 @@
*.gz *.bz2
*.diff *.diff
*.patch *.patch

99
AUTHORS
View File

@@ -1,99 +0,0 @@
Alessio Ababilov <ilovedevlinux@gmail.com>
Alexander Berntsen <alexander@plaimi.net>
Alexander Mezin <mezin.alexander@gmail.com>
Alexander Tsoy <alexander@tsoy.me>
Alexander Vershilov <alexander.vershilov@gmail.com>
Alexander Vershilov <qnikst@gentoo.org>
Alexander V Vershilov <qnikst@gentoo.org>
Alexey Shvetsov <alexxy@gentoo.org>
Alon Bar-Lev <alon.barlev@gmail.com>
Amadeusz Żołnowski <aidecoe@aidecoe.name>
Andrew Gregory <andrew.gregory.8@gmail.com>
Anthony Donnelly <Amzo@archbsd.com>
Anthony G. Basile <basile@opensource.dyc.edu>
Anthony G. Basile <blueness@gentoo.org>
Austin S. Hemmelgarn <ahferroin7@gmail.com>
Benda Xu <heroxbd@gentoo.org>
Björn Baumbach <bb@sernet.de>
Charlie <root@uberlaptop.development.ltl>
Chris Richards <gizmo@giz-works.com>
Christian <christian@ch-sc.de>
Christian Ruppert <idl0r@gentoo.org>
Christian Wetzig <gentoo@wetzig.de>
Christopher Head <chead@telus.net>
Consus <consus@gmx.com>
Daniel Mierswa <impulze@impulze.org>
Daniel Robbins <drobbins@funtoo.org>
Diego Elio Pettenò <flameeyes@flameeyes.eu>
Diego Elio Pettenò <flameeyes@gmail.com>
Diego <flameeyes@gentoo.org>
Dirk Sondermann <ds-gentoo@dyximaq.de>
Doug Freed <dwfreed@mtu.edu>
Doug Goldstein <cardoe@cardoe.com>
Ed Wildgoose <gentoo@wildgooses.com>
Eray Aslan <eras@gentoo.org>
Eugeny Shkrigunov <eshkrig@gmail.com>
Fedja Beader <specing@contact.me.on.irc.freenode.net>
Flex <frostynova@gmail.com>
Gabriele Giacone <1o5g4r8o@gmail.com>
Gary <admin@garyshood.com>
Gilles Oivier <g.olivier@wanadoo.fr>
Hank Leininger <hlein@korelogic.com>
Ian Stakenvicius <axs@gentoo.org>
Jakob Drexel <jake42@rommel.stw.uni-erlangen.de>
James Le Cuirot <chewi@aura-online.co.uk>
Jan Psota <jasiu@belsznica.pl>
Jason Zaman <jason@perfinion.com>
Joe Harvell <jharvell@dogpad.net>
Joe M <joe9mail@gmail.com>
Johan Bergström <bugs@bergstroem.nu>
Jory A. Pratt <anarchy@gentoo.org>
Juan RP <xtraeme@gmail.com>
Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Kfir Lavi <lavi.kfir@gmail.com>
Kirill Elagin <kirelagin@gmail.com>
Lars Wendler <polynomial-c@gentoo.org>
Lorand Kelemen <lorand.kelemen@indgroup.eu>
Marc Joliet <marcec@gmx.de>
Marien Zwart <marienz@gentoo.org>
Michal Gorny <gentoo@mgorny.alt.pl>
Mihai Moldovan <ionic@ionic.de>
Mike Frysinger <vapier@gentoo.org>
Mike Gilbert <floppym@gentoo.org>
Nao Nakashima <nao.nakashima@gmail.com>
Natanael Copa <natanael.copa@gmail.com>
Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
Ned Ludd <solar@gentoo.org>
Olivier Huber <oli.huber@gmail.com>
Patrick Lauer <patrick@gentoo.org>
Petre Rodan <petre.rodan@simplex.ro>
Piotr Karbowski <piotr.karbowski@gmail.com>
Ralph Sennhauser <sera@gentoo.org>
Richard Yao <ryao@cs.stonybrook.edu>
Rick Farina (ZeroChaos) <sidhayn@gmail.com>
Rick Farina (Zero_Chaos) <zerochaos@gentoo.org>
Robin H. Johnson <robbat2@gentoo.org>
Robin H. Johnson <robbat2@orbis-terrarum.net>
Robin Johnson <robbat2@gentoo.org>
Roy Marples <roy@marples.name>
Salah Coronya <salah.coronya@gmail.com>
Sebastian Thorarensen <indigo176@blinkenshell.org>
Semen Maryasin <marsoft@ya.ru>
Sergei Trofimovich <slyfox@gentoo.org>
Seth Robertson <in-gentoo@baka.org>
S. Gilles <sgilles@umd.edu>
Stefan Knoblich <s.knoblich@axsentis.de>
Stef Simoens <stef.simoens@scarlet.be>
Steve L <slong@rathaus.eclipse.co.uk>
Steven Chamberlain <steven@pyro.eu.org>
Svante Signell <svante.signell@gmail.com>
Sven Vermeulen <sven.vermeulen@siphos.be>
Thomas D <whissi@whissi.de>
Thomas Pfaff <tpfaff@gmx.net>
Trevor Summers Smith <trevorsummerssmith@gmail.com>
Walter <walter@pratyeka.org>
William Hubbs <w.d.hubbs@gmail.com>
William Hubbs <williamh@gentoo.org>
Will Miles <wmiles@sgl.com>
Yun Zheng Hu <hu@fox-it.com>
Yuta SATOH <nigoro.gentoo@0x100.com>

View File

@@ -22,6 +22,9 @@ or recognize the nofail option in fstab.
CONFIG_SETFONT -- The setfont applet does not support the -u option from kbd. CONFIG_SETFONT -- The setfont applet does not support the -u option from kbd.
CONFIG_IP -- The ip applet doesn't support the "scope" modifier for
"ip route add" and "ip address add".
CONFIG_BB_SYSCTL -- The sysctl applet does not support the --system command CONFIG_BB_SYSCTL -- The sysctl applet does not support the --system command
line switch. line switch.

2203
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -38,7 +38,7 @@ Who:
When: 1.0 When: 1.0
Why: Deprecated in favor of extra_commands, extra_started_commands Why: Depprecated in favor of extra_commands, extra_started_commands
and extra_stopped_commands. and extra_stopped_commands.
Who: Who:
@@ -47,32 +47,15 @@ Who:
When: 1.0 When: 1.0
Why: Deprecated in favor of executable scripts in @SYSCONFDIR@/local.d Why: Depprecated in favor of executable scripts in @SYSCONFDIR@/local.d
Who: Who:
## the mtab service script ## the mtab service script
When: force /etc/mtab to link to /proc/self/mounts in 1.0, remove When: make warnings more visible in 1.0, remove in 2.0
service in 2.0
Why: /etc/mtab should be a symbolic link to /proc/self/mounts on modern Why: /etc/mtab should be a symbolic link to /proc/self/mounts on modern
Linux systems Linux systems
Who: Who:
## C API Functions in rc.h
If you have a c program that links to librc and uses functions from
there, this section will list API functions which are deprecated and
will be removed along with the reason they are being removed.
### rc_getline()
When: 1.0
Why: The getline() function was standardized in POSIX.1-2008, so it
should be available on POSIX systems.
Who:

View File

@@ -54,9 +54,4 @@ Daniel Robbins continues to maintain an independent, forked
version of OpenRC for Funtoo Linux, which includes a Funtoo-specific network version of OpenRC for Funtoo Linux, which includes a Funtoo-specific network
configuration system. configuration system.
On 17-Dec-2015 utc, Roy gave the OpenRC developers permission to replace his
copyrights in all source files with a generic Copyright assertion for
the OpenRC developers as long as we keep the original copyright in the
binaries and LICENSE file.
[1] http://www.gentoo.org/news/en/gwn/20040426-newsletter.xml [1] http://www.gentoo.org/news/en/gwn/20040426-newsletter.xml

24
LICENSE
View File

@@ -1,24 +0,0 @@
Copyright (c) 2007-2008, Roy Marples <roy@marples.name>
Copyright (c) 2007-2015, the OpenRC authors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,19 +1,13 @@
# Copyright (c) 2007-2015 The OpenRC Authors. # OpenRC Makefile
# See the Authors file at the top-level directory of this distribution and # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# https://github.com/OpenRC/openrc/blob/master/AUTHORS # Released under the 2-clause BSD license.
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
TOP:= ${dir ${realpath ${firstword ${MAKEFILE_LIST}}}} TOP:= ${dir ${realpath ${firstword ${MAKEFILE_LIST}}}}
MK= ${TOP}/mk MK= ${TOP}/mk
include ${TOP}/Makefile.inc include ${TOP}/Makefile.inc
SUBDIR= conf.d etc init.d local.d man scripts sh src support sysctl.d SUBDIR= conf.d etc init.d local.d man scripts sh src sysctl.d
# Build pkgconfig or not # Build pkgconfig or not
MKPKGCONFIG?= yes MKPKGCONFIG?= yes

View File

@@ -1,3 +1,3 @@
NAME= openrc NAME= openrc
VERSION= 0.34.2 VERSION= 0.18.2
PKG= ${NAME}-${VERSION} PKG= ${NAME}-${VERSION}

141
NEWS.md
View File

@@ -3,147 +3,6 @@
This file will contain a list of notable changes for each release. Note This file will contain a list of notable changes for each release. Note
the information in this file is in reverse order. the information in this file is in reverse order.
## OpenRC 0.33
This version removes the "service" binary which was just a copy of
"rc-service" provided for compatibility.
If you still need the "service" binary, as opposed to "rc-service", it is
recommended that you use something like Debian's init-system-helpers.
Otherwise, just use "rc-service" in place of "service".
## OpenRC 0.31
This version adds support for Control Groups version 2, which is
considered stable as of Linux-4.13. Please see /etc/rc.conf for
documentation on how to configure control groups.
## OpenRC-0.28
This version mounts efivars read only due to concerns about changes in
this file system making systems unbootable. If you need to change something
in this path, you will need to re-mount it read-write, make the change
and re-mount it read-only.
Also, you can override this behavior by adding a line for efivars to
fstab if you want efivars mounted read-write.
For more information on this issue, see the following url:
https://github.com/openrc/openrc/issues/134
## OpenRC-0.25
This version contains an OpenRC-specific implementation of init for
Linux which can be used in place of sysvinit or any other init process.
For information on its usage, see the man pages for openrc-init (8) and
openrc-shutdown (8).
## OpenRC-0.24.1
This version starts cleaning up the dependencies so that rc_parallel
will work correctly.
The first step in this process is to remove the 'before *' from the
depend functions in the clock services. This means some services not
controlled by OpenRC may now start before instead of after the clock
service. If it is important for these services to start after the clock
service, they need to have 'after clock' added to their depend
functions.
## OpenRC-0.24
Since the deptree2dot tool and the perl requirement are completely
optional, the deptree2dot tool has been moved to the support directory.
As a result, the MKTOOLS=yes/no switch has been removed from the makefiles.
This version adds the agetty service which can be used to spawn
agetty on a specific terminal. This is currently documented in the
agetty-guide.md file at the top level of this distribution.
## OpenRC-0.23
The tmpfiles.d processing code, which was part of previous versions of
OpenRC, has been separated into its own package [1]. If you need to
process systemd style tmpfiles.d files, please install this package.
[1] https://github.com/openrc/opentmpfiles
## OpenRC-0.22
In previous versions of OpenRC, configuration information was processed
so that service-specific configuration stored in /etc/conf.d/* was
overridden by global configuration stored in /etc/rc.conf. This release
reverses that. Global configuration is now overridden by
service-specific configuration.
The swapfiles service, which was basically a copy of the swap service,
has been removed. If you are only using swap partitions, this change
will not affect you. If you are using swap files, please adjust the
dependencies of the swap service as shown in /etc/conf.d/swap.
## OpenRC-0.21
This version adds a daemon supervisor which can start daemons and
restart them if they crash. See supervise-daemon-guide.md in the
distribution for details on its use.
It is now possible to mark certain mount points as critical. If these
mount points are unable to be mounted, localmount or netmount will fail.
This is handled in /etc/conf.d/localmount and /etc/conf.d/netmount. See
these files for the setup.
The deprecation messages in 0.13.x for runscript and rc are now
made visible in preparation for the removal of these binaries in 1.0.
The steps you should take to get rid of these warnings is to run openrc
in initialization steps instead of rc and change the shebang lines in
service scripts to refer to "openrc-run" instead of "runscript".
In 0.21.4, a modules-load service was added. This works like the
equivalent service in systemd. It looks for files named *.conf first in
/usr/lib/modules-load.d, then /run/modules-load.d, then
/etc/modules-load.d. These files contain a list of modules, one per
line, which should be loaded into the kernel. If a file name appears in
/run/modules-load.d, it overrides a file of the same name in
/usr/lib/modules-load.d. A file appearing in /etc/modules-load.d
overrides a file of the same name in both previous directories.
## OpenRC-0.19
This version adds a net-online service. By default, this
service will check all known network interfaces for a configured
interface or a carrier. It will register as started only when all
interfaces are configured and there is at least a carrier on one
interface. The behaviour of this service can be modified in
/etc/conf.d/net-online.
Currently, this only works on Linux, but if anyone wants to port to
*bsd, that would be welcomed.
## OpenRC-0.18.3
Modern Linux systems expect /etc/mtab to be a symbolic link to
/proc/self/mounts. Reasons for this change include support for mount
namespaces, which will not work if /etc/mtab is a file.
By default, the mtab service enforces this on each reboot.
If you find that this breaks your system in some way, please do the
following:
- Set mtab_is_file=yes in /etc/conf.d/mtab.
- Restart mtab. This will recreate the /etc/mtab file.
- Check for an issue on https://github.com/openrc/openrc/issues
explaining why you need /etc/mtab to be a file. If there isn't one,
please open one and explain in detail why you need this to be a file.
If there is one, please add your comments to it. Please give concrete
examples of why it is important that /etc/mtab be a file instead of a
symbolic link. Those comments will be taken into consideration for how
long to keep supporting mtab as a file or when the support can be
removed.
## OpenRC-0.18 ## OpenRC-0.18
The behaviour of localmount and netmount in this version is changing. In The behaviour of localmount and netmount in this version is changing. In

View File

@@ -28,9 +28,9 @@ MKPREFIX=yes
MKPKGCONFIG=no MKPKGCONFIG=no
MKSELINUX=yes MKSELINUX=yes
MKSTATICLIBS=no MKSTATICLIBS=no
MKSYSVINIT=yes
MKTERMCAP=ncurses MKTERMCAP=ncurses
MKTERMCAP=termcap MKTERMCAP=termcap
MKTOOLS=yes
PKG_PREFIX=/usr/pkg PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local LOCAL_PREFIX=/usr/local
PREFIX=/usr/local PREFIX=/usr/local
@@ -43,6 +43,9 @@ We don't support building a static OpenRC with PAM.
You may need to use `PROGLDFLAGS=-Wl,-Bstatic` on glibc instead of just `-static`. You may need to use `PROGLDFLAGS=-Wl,-Bstatic` on glibc instead of just `-static`.
If you debug memory under valgrind, add `-DDEBUG_MEMORY`
to your `CPPFLAGS` so that all malloc memory should be freed at exit.
If you are building OpenRC for a Gentoo Prefix installation, add `MKPREFIX=yes`. If you are building OpenRC for a Gentoo Prefix installation, add `MKPREFIX=yes`.
`PKG_PREFIX` should be set to where packages install to by default. `PKG_PREFIX` should be set to where packages install to by default.
@@ -73,6 +76,10 @@ Obviously, if you're installing this onto a system that does not use
OpenRC by default then you may wish to backup the above listed files, OpenRC by default then you may wish to backup the above listed files,
remove them and then install so that the OS hooks into OpenRC. remove them and then install so that the OS hooks into OpenRC.
`init.d.misc` is not installed by default as the scripts will need
tweaking on a per distro basis. They are also non essential to the
operation of the system.
## Reporting Bugs ## Reporting Bugs
If you are using Gentoo Linux, bugs can be filed on their bugzilla under If you are using Gentoo Linux, bugs can be filed on their bugzilla under

View File

@@ -1,18 +0,0 @@
# Setting up the agetty service in OpenRC
The agetty service is an OpenRC specific way to monitor and respawn a
getty, using agetty, on Linux. To use this method, make sure you aren't
spawning a getty manager for this port some other way (such as through
sysvinit/inittab), then run the following commands as root.
Note that [port] refers to the port you are spawning the getty on, for
example, tty1 or ttyS0. The full path to it, for example, /dev/tty1
should not be used.
```
# cd /etc/init.d
# ln -s agetty agetty.[port]
# cd /etc/conf.d
# cp agetty agetty.[port]
#rc-update add agetty.[port] [runlevel]
```

2
conf.d/.gitignore vendored Normal file
View File

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

View File

@@ -1,20 +1,28 @@
include ../mk/net.mk include ../mk/net.mk
DIR= ${CONFDIR} DIR= ${CONFDIR}
CONF= bootmisc fsck hostname localmount netmount swap urandom ${CONF-${OS}} CONF= bootmisc fsck hostname localmount netmount urandom tmpfiles \
${CONF-${OS}}
ifeq (${MKNET},yes) ifeq (${MKNET},yes)
CONF+= network staticroute CONF+= network staticroute
TARGETS+= network staticroute
CLEANFILES+= network staticroute
endif endif
MK= ../mk MK= ../mk
include ${MK}/os.mk include ${MK}/os.mk
CONF-FreeBSD= ipfw modules moused powerd rarpd savecore syscons CONF-FreeBSD= ipfw moused powerd rarpd savecore syscons
CONF-Linux= agetty consolefont devfs dmesg hwclock keymaps killprocs modules \ CONF-Linux= consolefont devfs dmesg hwclock keymaps killprocs modules
mtab net-online
CONF-NetBSD= moused rarpd savecore CONF-NetBSD= moused rarpd savecore
include ${MK}/scripts.mk include ${MK}/scripts.mk
network: network.in network${SFX}
cat $^ > $@
staticroute: staticroute${SFX}
cp $@${SFX} $@

View File

@@ -1,11 +0,0 @@
# make agetty quiet
#quiet="yes"
# Set the baud rate of the terminal line
#baud=""
# set the terminal type
#term_type="linux"
# extra options to pass to agetty for this port
#agetty_options=""

View File

@@ -8,8 +8,3 @@ wipe_tmp="YES"
# Write the initial dmesg log into /var/log/dmesg after boot # Write the initial dmesg log into /var/log/dmesg after boot
# This may be useful if you need the kernel boot log afterwards # This may be useful if you need the kernel boot log afterwards
log_dmesg="YES" log_dmesg="YES"
# Save the previous dmesg log to dmesg.old
# This may be useful if you need to compare the current boot to the
# previous one.
#previous_dmesg=no

View File

@@ -32,9 +32,3 @@ fsck_on_battery="YES"
# This is useful when periodic filesystem checks are causing undesirable # This is useful when periodic filesystem checks are causing undesirable
# delays at startup, but such delays at shutdown are acceptable. # delays at startup, but such delays at shutdown are acceptable.
fsck_shutdown="NO" fsck_shutdown="NO"
# fsck_abort_on_errors can be set to no to cause fsck to not abort on
# errors.
# This is useful when periodic filesystem checks are causing undesirable
# aborts.
fsck_abort_on_errors="YES"

View File

@@ -1,6 +1,3 @@
# If you wish to pass any options to kill_all during shutdown, # If you wish to pass any options to killall5 during shutdown,
# you should do so here. # you should do so here.
#
# The setting is called killall5_opts because the options here are meant
# to be identical to those you could pass to killall5.
killall5_opts="" killall5_opts=""

View File

@@ -1,10 +1,3 @@
# Stop the unmounting of certain points. # Stop the unmounting of certain points.
# This could be useful for some NFS related work. # This could be useful for some NFS related work.
#no_umounts="/dir1:/var/dir2" #no_umounts="/dir1:/var/dir2"
#
# Mark certain mount points as critical.
# This contains a space separated list of mount points which should be
# considered critical. If one of these mount points cannot be mounted,
# localmount will fail.
# By default, this is empty.
#critical_mounts="/home /var"

View File

@@ -1,22 +1,18 @@
# Linux users can define a list of 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 all kernel versions. # a released kernel version, a main kernel version or just a list.
# The most specific versioned variable will take precedence. # The most specific versioned variable will take precedence.
# FreeBSD users can only use the modules="foo bar" setting.
#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_2="ipv6"
#modules="ohci1394" #modules="ohci1394"
# Linux users 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
# will also be used to pick arguments below. # will also be used to pick arguments below.
# This is not supported on FreeBSD.
#modules="dummy:dummy1" #modules="dummy:dummy1"
# Linux users can give the modules some arguments if needed, per version # Give the modules some arguments if needed, per version if necessary.
# if necessary.
# Again, the most specific versioned variable will take precedence. # Again, the most specific versioned variable will take precedence.
# This is not supported on FreeBSD.
#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="debug2"
#module_ieee1394_args_2_6_23="debug3" #module_ieee1394_args_2_6_23="debug3"

View File

@@ -1,5 +0,0 @@
# This setting controls whether /etc/mtab is a file or symbolic link.
# Most of the time, you shouldn't touch this. However, if the default
# breaks your system in some way, please see the NEWS.md file that comes
# with OpenRC for the actions to take.
# mtab_is_file=no

View File

@@ -1,18 +0,0 @@
# The interfaces setting controls which interfaces the net-online
# service considers in deciding whether the network is active. The
# default is all interfaces that support ethernet.
#interfaces=""
# This setting controls whether a ping test is included in the test for
# network connectivity after all interfaces are active.
#include_ping_test=no
# This setting is the host to attempt to ping if the above is yes.
# The default is google.com.
#ping_test_host=some.host.name
# The timeout setting controls how long the net-online service waits
# for the network to be configured.
# The default is 120 seconds.
# if this is set to 0, the wait is infinite.
#timeout=120

View File

@@ -25,11 +25,11 @@
#rc_need="net.eth1 net.eth2" #rc_need="net.eth1 net.eth2"
# #
# If you are using a dynamic network management tool like # If you are using a dynamic network management tool like
# NetworkManager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to # networkmanager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to
# manage the network interfaces with the routes to your netmounts, you # manage the network interfaces with the routes to your netmounts, you
# should list that tool. # should list that tool.
# #
#rc_need="NetworkManager" #rc_need="networkmanager"
#rc_need="dhcpcd" #rc_need="dhcpcd"
#rc_need="wicd" #rc_need="wicd"
# #
@@ -38,10 +38,3 @@
# other words, please change it to be more suited to your system. # other words, please change it to be more suited to your system.
# #
rc_need="net" rc_need="net"
#
# Mark certain mount points as critical.
# This contains aspace separated list of mount points which should be
# considered critical. If one of these mount points cannot be mounted,
# netmount will fail.
# By default, this is empty.
#critical_mounts="/home /var"

View File

@@ -1,80 +0,0 @@
# Assign static IP addresses and run custom scripts per interface.
# Seperate commands with ;
# Prefix with ! to run a shell script.
# Use \$int to represent the interface
#ifconfig_eth0="192.168.0.10 netmask 255.255.255.0"
# You also have ifup_eth0 and ifdown_eth0 to run other commands when
# eth0 is started and stopped.
# You should note that we don't stop the network at system shutdown by default.
# If you really need this, then set keep_network=NO
# Lastly, the interfaces variable pulls in virtual interfaces that cannot
# be automatically detected.
#interfaces="br0 bond0 vlan0"
# You can also use files instead of variables here if you like:
# /etc/ifconfig.eth0 is equivalent to ifconfig_eth0
# /etc/ip.eth0 is equivalent to ifconfig_eth0
# /etc/ifup.eth0 is equivalent to ifup_eth0
# /etc/ifdown.eth0 is equivalent to ifdown_eth0
# Any files found will automatically be put into the interfaces variable.
# You don't need to escape variables in files, so use $int instead of \$int.
# If you require DHCP, you should install dhcpcd and add it to the boot or
# default runlevel.
# NIS users can set the domain name here
#domainname="foobar"
# You can add a default route.
# The way this is done is slightly different depending on the operating system.
#
# *BSD:
#defaultroute="192.168.0.1"
#defaultroute6="2001:a:b:c"
#Hurd/Linux (ifconfig):
#defaultroute="gw 192.168.0.1"
#defaultroute6="gw 2001:a:b:c"
# The remainder of this file applies to Linux only and shows how
# iproute2 is supported along with other examples.
# ifconfig under Linux is not that powerful and doesn't easily handle
# multiple addresses
# On the other hand, iproute2 is quite powerful and is also supported
#ip_eth0="192.168.0.10/24; 192.168.10.10/24"
# You can also use iproute2 to add the default route.
#defaultiproute="via 192.168.0.1"
#defaultiproute6="via 2001:a:b:c"
# ip doesn't handle MTU like ifconfig, but we can do it like so
#ifup_eth0="ip link set \$int mtu 1500"
# Create a bonded interface
#interfaces="bond0"
#ifup_bond0="modprobe bonding; ifconfig \$int up; ifenslave \$int bge0"
#ifconfig_bond0="192.168.0.10 netmask 255.255.255.0"
#ifdown_bond0="rmmod bonding"
# Create tap interface and a bridge interface.
# We add the tap to the bridge.
# An external program, like dhcpcd, will configure the IP on the bridge
#interfaces="tun0 br0"
#ifup_tun0="tunctl -t \$int"
#ifdown_tun0="tunctl -d \$int"
#ifup_br0="brctl addbr \$int; brctl add \$int eth1; brtctl add \$int eth2"
#ifdown_br0="ifconfig \$int down; btctl delbr \$int"
# Create VLAN
#interfaces="eth0_2 eth0_3 eth0_4"
#ifup_eth0="vconfig add \$int 2; vconfig add \$int 3; vconfig add \$int 4"
#ifconfig_eth0_2="192.168.2.10 netmask 255.255.255.0"
#ifconfig_eth0_3="192.168.3.10 netmask 255.255.255.0"
#ifconfig_eth0_4="192.168.4.10 netmask 255.255.255.0"
#ifdown_eth0="vconfig rem \$int.2; vconfig rem \$int.3; vconfig rem \$int.4"
# Normally you would use wpa_supplicant to configure wireless, but you can
# use iwconfig also
#ifup_wlan0="iwconfig \$int key s:secretkey enc open essid foobar"

4
conf.d/network.BSD.in Normal file
View File

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

View File

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

4
conf.d/network.GNU.in Normal file
View File

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

43
conf.d/network.Linux.in Normal file
View File

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

28
conf.d/network.in Normal file
View File

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

View File

@@ -1,26 +0,0 @@
# Static routes are defined differently depending on your operating
# system, so please be sure to use the correct syntax.
# Do not use this file to define the default route.
# In all settings, multiple routes should be separated using ; or new lines.
# Define static routes on Linux using route. See route(8) for syntax.
#staticroute="net 192.168.0.0 netmask 255.255.255.0 gw 10.73.1.1
#net 192.168.1.0 netmask 255.255.255.0 gw 10.73.1.1"
# Define static routes on Linux using iproute2. See ip(8) for syntax.
#staticiproute="192.168.0.0/24 via 10.73.1.1; 192.168.1.0/24 via 10.73.1.1"
# Define static routes on GNU/Hurd. See route(8) for syntax.
# /etc/route.conf(5) takes precedence over this configuration.
# FIXME: "net ..." not supported
#staticroute="net 192.168.0.0 -netmask 255.255.255.0 --address 10.73.1.1
#net 192.168.1.0 -netmask 255.255.255.0 --address 10.73.1.1"
# Define static routes on GNU/KFreeBSD. See route(8) for syntax.
#staticroute="net 192.168.0.0 10.73.1.1 netmask 255.255.255.0
#net 192.168.1.0 10.73.1.1 netmask 255.255.255.0"
# Define static routes on other BSD systems. See route(8) for syntax.
# /etc/route.conf(5) takes precedence over this configuration.
#staticroute="net 192.168.0.0 -netmask 255.255.255.0 10.73.1.1
#net 192.168.1.0 -netmask 255.255.255.0 10.73.1.1"

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +0,0 @@
# If you are only using local swap partitions, you should not change
# this file. Otherwise, you need to uncomment the below rc_before line
# followed by the appropriate rc_need line.
#rc_before="!localmount"
#
# If you are using swap files stored on local file systems, uncomment
# this line.
#rc_need="localmount"
#
# If you are using swap files stored on network file systems or swap
# partitions stored on network block devices such as iSCSI, uncomment
# this line.
#rc_need="netmount"

3
conf.d/tmpfiles Normal file
View File

@@ -0,0 +1,3 @@
# Extra options for tmpfiles.sh
#tmpfiles_opts="--verbose"
tmpfiles_opts=""

1
etc/.gitignore vendored
View File

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

View File

@@ -1,8 +1,10 @@
DIR= ${SYSCONFDIR} DIR= ${SYSCONFDIR}
SRCS= rc.in rc.shutdown.in SRCS= rc.conf.in rc.in rc.shutdown.in
BIN= ${BIN-${OS}} BIN= ${BIN-${OS}}
CONF= rc.conf ${BIN-${OS}} CONF= rc.conf ${BIN-${OS}}
CLEANFILES+= rc.conf
MK= ../mk MK= ../mk
include ${MK}/os.mk include ${MK}/os.mk
@@ -21,3 +23,6 @@ CONF-NetBSD=
SED_EXTRA= ${SED_EXTRA-${OS}} SED_EXTRA= ${SED_EXTRA-${OS}}
include ${MK}/scripts.mk include ${MK}/scripts.mk
rc.conf: rc.conf.in rc.conf.${OS}
${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@

View File

@@ -1,309 +0,0 @@
# Global OpenRC configuration settings
# Set to "YES" if you want the rc system to try and start services
# in parallel for a slight speed improvement. When running in parallel we
# prefix the service output with its name as the output will get
# jumbled up.
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
# patches that fix it without breaking other things!
#rc_parallel="NO"
# Set rc_interactive to "YES" and you'll be able to press the I key during
# boot so you can choose to start specific services. Set to "NO" to disable
# this feature. This feature is automatically disabled if rc_parallel is
# set to YES.
#rc_interactive="YES"
# If we need to drop to a shell, you can specify it here.
# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
# otherwise /bin/sh
# Linux users could specify /sbin/sulogin
#rc_shell=/bin/sh
# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"
# rc_hotplug controls which services we allow to be hotplugged.
# A hotplugged service is one started by a dynamic dev manager when a matching
# hardware device is found.
# Hotplugged services appear in the "hotplugged" runlevel.
# If rc_hotplug is set to any value, we compare the name of this service
# to every pattern in the value, from left to right, and we allow the
# service to be hotplugged if it matches a pattern, or if it matches no
# patterns. Patterns can include shell wildcards.
# To disable services from being hotplugged, prefix patterns with "!".
#If rc_hotplug is not set or is empty, all hotplugging is disabled.
# Example - rc_hotplug="net.wlan !net.*"
# This allows net.wlan and any service not matching net.* to be hotplugged.
# Example - rc_hotplug="!net.*"
# This allows services that do not match "net.*" to be hotplugged.
# rc_logger launches a logging daemon to log the entire rc process to
# /var/log/rc.log
# NOTE: Linux systems require the devfs service to be started before
# logging can take place and as such cannot log the sysinit runlevel.
#rc_logger="NO"
# 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"
# If you want verbose output for OpenRC, set this to yes. If you want
# verbose output for service foo only, set it to yes in /etc/conf.d/foo.
#rc_verbose=no
# By default we filter the environment for our running scripts. To allow other
# variables through, add them here. Use a * to allow all variables through.
#rc_env_allow="VAR1 VAR2"
# By default we assume that all daemons will start correctly.
# However, some do not - a classic example is that they fork and return 0 AND
# then child barfs on a configuration error. Or the daemon has a bug and the
# child crashes. You can set the number of milliseconds start-stop-daemon
# waits to check that the daemon is still running after starting here.
# The default is 0 - no checking.
#rc_start_wait=100
# rc_nostop is a list of services which will not stop when changing runlevels.
# This still allows the service itself to be stopped when called directly.
#rc_nostop=""
# rc will attempt to start crashed services by default.
# However, it will not stop them by default as that could bring down other
# critical services.
#rc_crashed_stop=NO
#rc_crashed_start=YES
# Set rc_nocolor to yes if you do not want colors displayed in OpenRC
# output.
#rc_nocolor=NO
##############################################################################
# MISC CONFIGURATION VARIABLES
# There variables are shared between many init scripts
# Set unicode to YES to turn on unicode support for keyboards and screens.
#unicode="NO"
# This is how long fuser should wait for a remote server to respond. The
# default is 60 seconds, but it can be adjusted here.
#rc_fuser_timeout=60
# Below is the default list of network fstypes.
#
# afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
# nfs nfs4 ocfs2 shfs smbfs
#
# If you would like to add to this list, you can do so by adding your
# own fstypes to the following variable.
#extra_net_fs_list=""
##############################################################################
# SERVICE CONFIGURATION VARIABLES
# These variables are documented here, but should be configured in
# /etc/conf.d/foo for service foo and NOT enabled here unless you
# really want them to work on a global basis.
# If your service has characters in its name which are not legal in
# shell variable names and you configure the variables for it in this
# file, those characters should be replaced with underscores in the
# variable names as shown below.
# Some daemons are started and stopped via start-stop-daemon.
# We can set some things on a per service basis, like the nicelevel.
#SSD_NICELEVEL="-19"
# Or the ionice level. The format is class[:data] , just like the
# --ionice start-stop-daemon parameter.
#SSD_IONICELEVEL="2:2"
# Pass ulimit parameters
# If you are using bash in POSIX mode for your shell, note that the
# ulimit command uses a block size of 512 bytes for the -c and -f
# options
#rc_ulimit="-u 30"
# It's possible to define extra dependencies for services like so
#rc_config="/etc/foo"
#rc_need="openvpn"
#rc_use="net.eth0"
#rc_after="clock"
#rc_before="local"
#rc_provide="!net"
# You can also enable the above commands here for each service. Below is an
# example for service foo.
#rc_foo_config="/etc/foo"
#rc_foo_need="openvpn"
#rc_foo_after="clock"
# Below is an example for service foo-bar. Note that the '-' is illegal
# in a shell variable name, so we convert it to an underscore.
# example for service foo-bar.
#rc_foo_bar_config="/etc/foo-bar"
#rc_foo_bar_need="openvpn"
#rc_foo_bar_after="clock"
# You can also remove dependencies.
# This is mainly used for saying which services do NOT provide net.
#rc_net_tap0_provide="!net"
# This is the subsystem type.
# It is used to match against keywords set by the keyword call in the
# depend function of service scripts.
#
# It should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
# If it is commented out, automatic detection will be used.
#
# The list below shows all possible settings as well as the host
# operating systems where they can be used and autodetected.
#
# "" - nothing special
# "docker" - Docker container manager (Linux)
# "jail" - Jail (DragonflyBSD or FreeBSD)
# "lxc" - Linux Containers
# "openvz" - Linux OpenVZ
# "prefix" - Prefix
# "rkt" - CoreOS container management system (Linux)
# "subhurd" - Hurd subhurds (to be checked)
# "systemd-nspawn" - Container created by systemd-nspawn (Linux)
# "uml" - Usermode Linux
# "vserver" - Linux vserver
# "xen0" - Xen0 Domain (Linux and NetBSD)
# "xenU" - XenU Domain (Linux and NetBSD)
#rc_sys=""
# if you use openrc-init, which is currently only available on Linux,
# this is the default runlevel to activate after "sysinit" and "boot"
# when booting.
#rc_default_runlevel="default"
# on Linux and Hurd, this is the number of ttys allocated for logins
# It is used in the consolefont, keymaps, numlock and termencoding
# service scripts.
rc_tty_number=12
##############################################################################
# LINUX CGROUPS RESOURCE MANAGEMENT
# This sets the mode used to mount cgroups.
# "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and
# cgroups version 1 on /sys/fs/cgroup.
# "legacy" mounts cgroups version 1 on /sys/fs/cgroup
# "unified" mounts cgroups version 2 on /sys/fs/cgroup
#rc_cgroup_mode="hybrid"
# This is a list of controllers which should be enabled for cgroups version 2.
# If hybrid mode is being used, controllers listed here will not be
# available for cgroups version 1.
# This is a global setting.
#rc_cgroup_controllers=""
# This variable contains the cgroups version 2 settings for your services.
# If this is set in this file, the settings will apply to all services.
# If you want different settings for each service, place the settings in
# /etc/conf.d/foo for service foo.
# The format is to specify the setting and value followed by a newline.
# Multiple settings and values can be specified.
# For example, you would use this to set the maximum memory and maximum
# number of pids for a service.
#rc_cgroup_settings="
#memory.max 10485760
#pids.max max
#"
#
# For more information about the adjustments that can be made with
# cgroups version 2, see Documentation/cgroups-v2.txt in the linux kernel
# source tree.
#rc_cgroup_settings=""
# This switch controls whether or not cgroups version 1 controllers are
# individually mounted under
# /sys/fs/cgroup in hybrid or legacy mode.
#rc_controller_cgroups="YES"
# The following settings allow you to set up values for the cgroups version 1
# controllers for your services.
# They can be set in this file;, however, if you do this, the settings
# will apply to all of your services.
# If you want different settings for each service, place the settings in
# /etc/conf.d/foo for service foo.
# The format is to specify the names of the settings followed by their
# values. Each variable can hold multiple settings.
# For example, you would use this to set the cpu.shares setting in the
# cpu controller to 512 for your service.
# rc_cgroup_cpu="
# cpu.shares 512
# "
#
# For more information about the adjustments that can be made with
# cgroups version 1, see Documentation/cgroups-v1/* in the linux kernel
# source tree.
# Set the blkio controller settings for this service.
#rc_cgroup_blkio=""
# Set the cpu controller settings for this service.
#rc_cgroup_cpu=""
# Add this service to the cpuacct controller (any value means yes).
#rc_cgroup_cpuacct=""
# Set the cpuset controller settings for this service.
#rc_cgroup_cpuset=""
# Set the devices controller settings for this service.
#rc_cgroup_devices=""
# Set the hugetlb controller settings for this service.
#rc_cgroup_hugetlb=""
# Set the memory controller settings for this service.
#rc_cgroup_memory=""
# Set the net_cls controller settings for this service.
#rc_cgroup_net_cls=""
# Set the net_prio controller settings for this service.
#rc_cgroup_net_prio=""
# Set the pids controller settings for this service.
#rc_cgroup_pids=""
# Set this to YES if you want all of the processes in a service's cgroup
# killed when the service is stopped or restarted.
# Be aware that setting this to yes means all of a service's
# child processes will be killed. Keep this in mind if you set this to
# yes here instead of for the individual services in
# /etc/conf.d/<service>.
# To perform this cleanup manually for a stopped service, you can
# execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or
# rc-service <service> cgroup_cleanup.
# The process followed in this cleanup is the following:
# 1. send stopsig (sigterm if it isn't set) to all processes left in the
# cgroup immediately followed by sigcont.
# 2. Send sighup to all processes in the cgroup if rc_send_sighup is
# yes.
# 3. delay for rc_timeout_stopsec seconds.
# 4. send sigkill to all processes in the cgroup unless disabled by
# setting rc_send_sigkill to no.
# rc_cgroup_cleanup="NO"
# If this is yes, we will send sighup to the processes in the cgroup
# immediately after stopsig and sigcont.
#rc_send_sighup="NO"
# This is the amount of time in seconds that we delay after sending sigcont
# and optionally sighup, before we optionally send sigkill to all
# processes in the # cgroup.
# The default is 90 seconds.
#rc_timeout_stopsec="90"
# If this is set to no, we do not send sigkill to all processes in the
# cgroup.
#rc_send_sigkill="YES"

13
etc/rc.conf.DragonFly Normal file
View File

@@ -0,0 +1,13 @@
##############################################################################
# DragonFly BSD SPECIFIC OPTIONS
# This is the subsystem type. Valid options on DragonFly BSD:
# "" - nothing special
# "jail" - DragonFly BSD jails
# "prefix" - Prefix
# If this is commented out, automatic detection will be used.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""

13
etc/rc.conf.FreeBSD Normal file
View File

@@ -0,0 +1,13 @@
##############################################################################
# FreeBSD SPECIFIC OPTIONS
# This is the subsystem type. Valid options on FreeBSD:
# "" - nothing special
# "jail" - FreeBSD jails
# "prefix" - Prefix
# If this is commented out, automatic detection will be used.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""

14
etc/rc.conf.GNU Normal file
View File

@@ -0,0 +1,14 @@
##############################################################################
# GNU/Hurd SPECIFIC OPTIONS
# This is the subsystem type. Valid options on GNU/Hurd:
# "" - nothing special
# "subhurd" - Hurd subhurds (to be checked)
# If this is commented out, automatic detection will be used.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""
# This is the number of tty's used in most of the rc-scripts (like
# consolefont, numlock, etc ...)
#rc_tty_number=6?

11
etc/rc.conf.GNU-kFreeBSD Normal file
View File

@@ -0,0 +1,11 @@
##############################################################################
# GNU/kFreeBSD SPECIFIC OPTIONS
# This is the subsystem type. Valid options on GNU/kFreeBSD:
# "" - nothing special
# "jail" - FreeBSD jails (not yet implemented)
# If this is commented out, automatic detection will be used.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""

88
etc/rc.conf.Linux Normal file
View File

@@ -0,0 +1,88 @@
##############################################################################
# LINUX SPECIFIC OPTIONS
# This is the subsystem type. Valid options on Linux:
# "" - nothing special
# "lxc" - Linux Containers
# "openvz" - Linux OpenVZ
# "prefix" - Prefix
# "uml" - Usermode Linux
# "vserver" - Linux vserver
# "systemd-nspawn" - Container created by the systemd-nspawn utility
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
# If this is commented out, automatic detection will be used.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""
# This is the number of tty's used in most of the rc-scripts (like
# consolefont, numlock, etc ...)
rc_tty_number=12
##############################################################################
# CGROUPS RESOURCE MANAGEMENT
# If you have cgroups turned on in your kernel, this switch controls
# whether or not a group for each controller is mounted under
# /sys/fs/cgroup.
# None of the other options in this section work if this is set to "NO".
#rc_controller_cgroups="YES"
# The following settings allow you to set up values for the cgroup
# controllers for your services.
# They can be set in this file;, however, if you do this, the settings
# will apply to all of your services.
# If you want different settings for each service, place the settings in
# /etc/conf.d/foo for service foo.
# The format is to specify the names of the settings followed by their
# values. Each variable can hold multiple settings.
# For example, you would use this to set the cpu.shares setting in the
# cpu controller to 512 for your service.
# rc_cgroup_cpu="
# cpu.shares 512
# "
#
#For more information about the adjustments that can be made with
#cgroups, see Documentation/cgroups/* in the linux kernel source tree.
# Set the blkio controller settings for this service.
#rc_cgroup_blkio=""
# Set the cpu controller settings for this service.
#rc_cgroup_cpu=""
# Add this service to the cpuacct controller (any value means yes).
#rc_cgroup_cpuacct=""
# Set the cpuset controller settings for this service.
#rc_cgroup_cpuset=""
# Set the devices controller settings for this service.
#rc_cgroup_devices=""
# Set the hugetlb controller settings for this service.
#rc_cgroup_hugetlb=""
# Set the memory controller settings for this service.
#rc_cgroup_memory=""
# Set the net_cls controller settings for this service.
#rc_cgroup_net_cls=""
# Set the net_prio controller settings for this service.
#rc_cgroup_net_prio=""
# Set the pids controller settings for this service.
#rc_cgroup_pids=""
# Set this to YES if yu want all of the processes in a service's cgroup
# killed when the service is stopped or restarted.
# This should not be set globally because it kills all of the service's
# child processes, and most of the time this is undesirable. Please set
# it in /etc/conf.d/<service>.
# To perform this cleanup manually for a stopped service, you can
# execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or
# rc-service <service> cgroup_cleanup.
# rc_cgroup_cleanup="NO"

14
etc/rc.conf.NetBSD Normal file
View File

@@ -0,0 +1,14 @@
##############################################################################
# NetBSD SPECIFIC OPTIONS
# This is the subsystem type. Valid options on NetBSD:
# "" - nothing special
# "prefix" - Prefix
# "xen0" - Xen0 Domain
# "xenU" - XenU Domain
# If this is commented out, automatic detection will be used.
#
# This should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
#rc_sys=""

148
etc/rc.conf.in Normal file
View File

@@ -0,0 +1,148 @@
# Global OpenRC configuration settings
# Set to "YES" if you want the rc system to try and start services
# in parallel for a slight speed improvement. When running in parallel we
# prefix the service output with its name as the output will get
# jumbled up.
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
# patches that fix it without breaking other things!
#rc_parallel="NO"
# Set rc_interactive to "YES" and you'll be able to press the I key during
# boot so you can choose to start specific services. Set to "NO" to disable
# this feature. This feature is automatically disabled if rc_parallel is
# set to YES.
#rc_interactive="YES"
# If we need to drop to a shell, you can specify it here.
# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
# otherwise /bin/sh
# Linux users could specify /sbin/sulogin
#rc_shell=/bin/sh
# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"
# rc_hotplug is a list of services that we allow to be hotplugged.
# By default we do not allow hotplugging.
# A hotplugged service is one started by a dynamic dev manager when a matching
# hardware device is found.
# This service is intrinsically included in the boot runlevel.
# To disable services, prefix with a !
# Example - rc_hotplug="net.wlan !net.*"
# This allows net.wlan and any service not matching net.* to be plugged.
# Example - rc_hotplug="*"
# This allows all services to be hotplugged
#rc_hotplug="*"
# rc_logger launches a logging daemon to log the entire rc process to
# /var/log/rc.log
# NOTE: Linux systems require the devfs service to be started before
# logging can take place and as such cannot log the sysinit runlevel.
#rc_logger="YES"
# 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"
# If you want verbose output for OpenRC, set this to yes. If you want
# verbose output for service foo only, set it to yes in /etc/conf.d/foo.
#rc_verbose=no
# By default we filter the environment for our running scripts. To allow other
# variables through, add them here. Use a * to allow all variables through.
#rc_env_allow="VAR1 VAR2"
# By default we assume that all daemons will start correctly.
# However, some do not - a classic example is that they fork and return 0 AND
# then child barfs on a configuration error. Or the daemon has a bug and the
# child crashes. You can set the number of milliseconds start-stop-daemon
# waits to check that the daemon is still running after starting here.
# The default is 0 - no checking.
#rc_start_wait=100
# rc_nostop is a list of services which will not stop when changing runlevels.
# This still allows the service itself to be stopped when called directly.
#rc_nostop=""
# rc will attempt to start crashed services by default.
# However, it will not stop them by default as that could bring down other
# critical services.
#rc_crashed_stop=NO
#rc_crashed_start=YES
# Set rc_nocolor to yes if you do not want colors displayed in OpenRC
# output.
#rc_nocolor=NO
##############################################################################
# MISC CONFIGURATION VARIABLES
# There variables are shared between many init scripts
# Set unicode to YES to turn on unicode support for keyboards and screens.
#unicode="NO"
# This is how long fuser should wait for a remote server to respond. The
# default is 60 seconds, but it can be adjusted here.
#rc_fuser_timeout=60
# Below is the default list of network fstypes.
#
# afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
# nfs nfs4 ocfs2 shfs smbfs
#
# If you would like to add to this list, you can do so by adding your
# own fstypes to the following variable.
#extra_net_fs_list=""
##############################################################################
# SERVICE CONFIGURATION VARIABLES
# These variables are documented here, but should be configured in
# /etc/conf.d/foo for service foo and NOT enabled here unless you
# really want them to work on a global basis.
# If your service has characters in its name which are not legal in
# shell variable names and you configure the variables for it in this
# file, those characters should be replaced with underscores in the
# variable names as shown below.
# Some daemons are started and stopped via start-stop-daemon.
# We can set some things on a per service basis, like the nicelevel.
#SSD_NICELEVEL="-19"
# Pass ulimit parameters
# If you are using bash in POSIX mode for your shell, note that the
# ulimit command uses a block size of 512 bytes for the -c and -f
# options
#rc_ulimit="-u 30"
# It's possible to define extra dependencies for services like so
#rc_config="/etc/foo"
#rc_need="openvpn"
#rc_use="net.eth0"
#rc_after="clock"
#rc_before="local"
#rc_provide="!net"
# You can also enable the above commands here for each service. Below is an
# example for service foo.
#rc_foo_config="/etc/foo"
#rc_foo_need="openvpn"
#rc_foo_after="clock"
# Below is an example for service foo-bar. Note that the '-' is illegal
# in a shell variable name, so we convert it to an underscore.
# example for service foo-bar.
#rc_foo_bar_config="/etc/foo-bar"
#rc_foo_bar_need="openvpn"
#rc_foo_bar_after="clock"
# You can also remove dependencies.
# This is mainly used for saying which servies do NOT provide net.
#rc_net_tap0_provide="!net"

View File

@@ -1,13 +1,6 @@
#!/bin/sh #!/bin/sh
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
# Inform RC that we are in the background and hotplugged # Inform RC that we are in the background and hotplugged
IN_BACKGROUND=yes IN_BACKGROUND=yes

View File

@@ -1,13 +1,6 @@
#!@SHELL@ #!@SHELL@
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
# If $TERM is not set then assume default of @TERM@ # If $TERM is not set then assume default of @TERM@
# This gives us a nice colour boot :) # This gives us a nice colour boot :)

View File

@@ -1,20 +1,13 @@
#!@SHELL@ #!@SHELL@
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
# Handle interrupts # Handle interrupts
trap : SIGINT SIGQUIT trap : SIGINT SIGQUIT
# Try and use stuff in /lib over anywhere else so we can shutdown # Try and use stuff in /lib over anywhere else so we can shutdown
# local mounts correctly. # local mounts correctly.
LD_LIBRARY_PATH="/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" ; export LD_LIBRARY_PATH LD_LIBRARY_PATH="/lib${LD_LIBRARY_PATH:+:}${LDLIBRARY_PATH}" ; export LD_LIBRARY_PATH
# If $TERM is not set then assume default of @TERM@ # If $TERM is not set then assume default of @TERM@
# This gives us a nice colour boot :) # This gives us a nice colour boot :)

285
guide.md
View File

@@ -1,285 +0,0 @@
# Purpose and description
OpenRC is an init system for Unixoid operating systems. It takes care of
startup and shutdown of the whole system, including services.
It evolved out of the Gentoo "Baselayout" package which was a custom pure-shell
startup solution. (This was both hard to maintain and debug, and not very
performant)
Most of the core parts are written in C99 for performance and flexibility
reasons, while everything else is posix sh.
The License is 2-clause BSD
Current size is about 10k LoC C, and about 4k LoC shell.
OpenRC is known to work on Linux, many BSDs (FreeBSD, OpenBSD, DragonFlyBSD at
least) and HURD.
Services are stateful (i.e. `start`; `start` will lead to "it's already started")
# Startup
Usually PID1 (aka. `init`) calls the OpenRC binary (`/sbin/openrc` by default).
(The default setup assumes sysvinit for this)
openrc scans the runlevels (default: `/etc/runlevels`) and builds a dependency
graph, then starts the needed service scripts, either serialized (default) or in
parallel.
When all the init scripts are started openrc terminates. There is no persistent
daemon. (Integration with tools like monit, runit or s6 can be done)
# Shutdown
On change to runlevel 0/6 or running `reboot`, `halt` etc., openrc stops all
services that are started and runs the services in the `shutdown` runlevel.
# Modifying Service Scripts
Any service can, at any time, be started/stopped/restarted by executing
`rc-service someservice start`, `rc-service someservice stop`, etc.
Another, less preferred method, is to run the service script directly,
e.g. `/etc/init.d/service start`, `/etc/init.d/service stop`, etc.
OpenRC will take care of dependencies, e.g starting apache will start network
first, and stopping network will stop apache first.
There is a special command `zap` that makes OpenRC 'forget' that a service is
started; this is mostly useful to reset a crashed service to stopped state
without invoking the (possibly broken) stop function of the service script.
Calling `openrc` without any arguments will try to reset all services so
that the current runlevel is satisfied; if you manually started apache it will be
stopped, and if squid died but is in the current runlevel it'll be restarted.
# Runlevels
OpenRC has a concept of runlevels, similar to what sysvinit historically
offered. A runlevel is basically a collection of services that needs to be
started. Instead of random numbers they are named, and users can create their
own if needed. This allows, for example, to have a default runlevel with
"everything" enabled, and a "powersaving" runlevel where some services are
disabled.
The `rc-status` helper will print all currently active runlevels and the state
of init scripts in them:
```
# rc-status
* Caching service dependencies ... [ ok ]
Runlevel: default
modules [ started ]
lvm [ started ]
```
All runlevels are represented as folders in `/etc/runlevels/` with symlinks to
the actual init scripts.
Calling openrc with an argument (`openrc default`) will switch to that
runlevel; this will start and stop services as needed.
Managing runlevels is usually done through the `rc-update` helper, but could of
course be done by hand if desired.
e.g. `rc-update add nginx default` - add nginx to the default runlevel
Note: This will not auto-start nginx! You'd still have to trigger `rc` or run
the initscript by hand.
FIXME: Document stacked runlevels
The default startup uses the runlevels `boot`, `sysinit` and `default`, in that
order. Shutdown uses the `shutdown` runlevel.
# Syntax of Service Scripts
Service scripts are shell scripts. OpenRC aims at using only the standardized
POSIX sh subset for portability reasons. The default interpreter (build-time
toggle) is `/bin/sh`, so using for example mksh is not a problem.
OpenRC has been tested with busybox sh, ash, dash, bash, mksh, zsh and possibly
others. Using busybox sh has been difficult as it replaces commands with
builtins that don't offer the expected features.
The interpreter for initscripts is `#!/sbin/openrc-run`.
Not using this interpreter will break the use of dependencies and is not
supported. (iow: if you insist on using `#!/bin/sh` you're on your own)
A `depend` function declares the dependencies of this service script.
All scripts must have start/stop/status functions, but defaults are provided.
Extra functions can be added easily:
```
extra_commands="checkconfig"
checkconfig() {
doSomething
}
```
This exports the checkconfig function so that `/etc/init.d/someservice
checkconfig` will be available, and it "just" runs this function.
While commands defined in `extra_commands` are always available, commands
defined in `extra_started_commands` will only work when the service is started
and those defined in `extra_stopped_commands` will only work when the service is
stopped. This can be used for implementing graceful reload and similar
behaviour.
Adding a restart function will not work, this is a design decision within
OpenRC. Since there may be dependencies involved (e.g. network -> apache) a
restart function is in general not going to work.
restart is internally mapped to `stop()` + `start()` (plus handling dependencies).
If a service needs to behave differently when it is being restarted vs
started or stopped, it should test the `$RC_CMD` variable, for example:
```
[ "$RC_CMD" = restart ] && do_something
```
# The Depend Function
This function declares the dependencies for a service script. This
determines the order the service scripts start.
```
depend() {
need net
use dns logger netmount
want coolservice
}
```
`need` declares a hard dependency - net always needs to be started before this
service does
`use` is a soft dependency - if dns, logger or netmount is in this runlevel
start it before, but we don't care if it's not in this runlevel.
`want` is between need and use - try to start coolservice if it is
installed on the system, regardless of whether it is in the
runlevel, but we don't care if it starts.
`before` declares that we need to be started before another service
`after` declares that we need to be started after another service, without
creating a dependency (so on calling stop the two are independent)
`provide` allows multiple implementations to provide one service type, e.g.:
`provide cron` is set in all cron-daemons, so any one of them started
satisfies a cron dependency
`keyword` allows platform-specific overrides, e.g. `keyword -lxc` makes this
service script a noop in lxc containers. Useful for things like keymaps,
module loading etc. that are either platform-specific or not available
in containers/virtualization/...
FIXME: Anything missing in this list?
# The Default Functions
All service scripts are assumed to have the following functions:
```
start()
stop()
status()
```
There are default implementations in `lib/rc/sh/openrc-run.sh` - this allows very
compact service scripts. These functions can be overridden per service script as
needed.
The default functions assume the following variables to be set in the service
script:
```
command=
command_args=
pidfile=
```
Thus the 'smallest' service scripts can be half a dozen lines long
# The Magic of `conf.d`
Most service scripts need default values. It would be fragile to
explicitly source some arbitrary files. By convention `openrc-run` will source
the matching file in `/etc/conf.d/` for any script in `/etc/init.d/`
This allows you to set random startup-related things easily. Example:
```
conf.d/foo:
START_OPTS="--extraparameter sausage"
init.d/foo:
start() {
/usr/sbin/foo-daemon ${STARTOPTS}
}
```
The big advantage of this split is that most of the time editing of the init
script can be avoided.
# Start-Stop-Daemon
OpenRC has its own modified version of s-s-d, which is historically related and
mostly syntax-compatible to Debian's s-s-d, but has been rewritten from scratch.
It helps with starting daemons, backgrounding, creating PID files and many
other convenience functions related to managing daemons.
# `/etc/rc.conf`
This file manages the default configuration for OpenRC, and it has examples of
per-service-script variables.
Among these are `rc_parallel` (for parallelized startup), `rc_log` (logs all boot
messages to a file), and a few others.
# ulimit and CGroups
Setting `ulimit` and `nice` values per service can be done through the
`rc_ulimit` variable.
Under Linux, OpenRC can use cgroups for process management as well. Once
the kernel is configured appropriately, the `rc_cgroup_mode` setting in
/etc/rc.conf should be used to control whether cgroups version one,,
two, or both are used. The default is to use both if they are available.
By changing certain settings in the service's `conf.d` file limits can be
enforced per service. These settings are documented in detail in the
default /etc/rc.conf under `LINUX CGROUPS RESOURCE MANAGEMENT`.
# Dealing with Orphaned Processes
It is possible to get into a state where there are orphaned processes
running which were part of a service. For example, if you are monitoring
a service with supervise-daemon and supervise-daemon dies for an unknown
reason. The way to deal with this will be different for each system.
On Linux systems with cgroups enabled, the cgroup_cleanup command is
added to all services. You can run it manually, when the service is
stopped, by using:
```
# rc-service someservice cgroup_cleanup
```
The `rc_cgroup_cleanup` setting can be changed to yes to make this
happen automatically when the service is stopped.
# Caching
For performance reasons OpenRC keeps a cache of pre-parsed initscript metadata
(e.g. `depend`). The default location for this is `/${RC_SVCDIR}/cache`.
The cache uses `mtime` to check for file staleness. Should any service script
change it'll re-source the relevant files and update the cache
# Convenience functions
OpenRC has wrappers for many common output tasks in libeinfo.
This allows to print colour-coded status notices and other things.
To make the output consistent the bundled initscripts all use ebegin/eend to
print nice messages.

View File

@@ -1,11 +1,9 @@
DIR= ${DATADIR}/support/init.d.examples DIR= ${INITDIR}
INC= README.md
SRCS= avahi-dnsconfd.in avahid.in dhcpcd.in dbus.in \ SRCS= avahi-dnsconfd.in avahid.in dhcpcd.in dbus.in \
hald.in named.in ntpd.in \ hald.in named.in ntpd.in \
openvpn.in polkitd.in sshd.in wpa_supplicant.in openvpn.in polkitd.in sshd.in wpa_supplicant.in
BIN= ${OBJS}
MK= ../../mk MK= ../mk
SED_EXTRA+= -e 's:@VARBASE@:/var:g' SED_EXTRA+= -e 's:@VARBASE@:/var:g'

View File

@@ -0,0 +1,15 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/avahi-dnsconfd
command_args="$avahi_dnsconfd_args -D"
pidfile=@VARBASE@/run/avahi-dnsconfd.pid
name="Avahi DNS Configuration Daemon"
depend()
{
use dns
need localmount dbus
after bootmisc
}

15
init.d.misc/avahid.in Normal file
View File

@@ -0,0 +1,15 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/avahi-daemon
command_args="$avahid_args -D"
pidfile=@VARBASE@/run/avahi-daemon/pid
name="Avahi Service Advertisement Daemon"
depend()
{
use dns
need localmount dbus
after bootmisc
}

19
init.d.misc/dbus.in Normal file
View File

@@ -0,0 +1,19 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
command=@PKG_PREFIX@/bin/dbus-daemon
pidfile=@VARBASE@/run/dbus/pid
command_args="${dbusd_args---system}"
name="Message Bus Daemon"
depend()
{
need localmount net
after bootmisc
}
start_pre()
{
mkdir -p $(dirname $pidfile)
}

27
init.d.misc/dhcpcd.in Normal file
View File

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

24
init.d.misc/dnsmasq.in Normal file
View File

@@ -0,0 +1,24 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/dnsmasq
command_args=$dnsmasq_args
pidfile=@VARBASE@/run/dnsmasq.pid
required_files=/etc/dnsmasq.conf
extra_started_commands="reload"
depend()
{
provide dns
need localmount net
after bootmisc
}
reload()
{
ebegin "Reloading $RC_SVCNAME"
start-stop-daemon --signal SIGHUP --pidfile "$pidfile"
eend $?
}

13
init.d.misc/hald.in Normal file
View File

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

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
command=/usr/sbin/named command=/usr/sbin/named
command_args=$named_args command_args=$named_args

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
: ${ntpd_config:=/etc/ntp.conf} : ${ntpd_config:=/etc/ntp.conf}
: ${ntpd_drift:=/var/db/ntpd.drift} : ${ntpd_drift:=/var/db/ntpd.drift}

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
vpn=${RC_SVCNAME#*.} vpn=${RC_SVCNAME#*.}
name="OpenVPN" name="OpenVPN"

13
init.d.misc/polkitd.in Normal file
View File

@@ -0,0 +1,13 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
command=@PKG_PREFIX@/sbin/polkitd
pidfile=@VARBASE@/run/polkitd/polkitd.pid
command_args="$polkitd_args"
name="PolicyKit Daemon"
depend()
{
need dbus
}

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
command=/usr/sbin/sshd command=/usr/sbin/sshd
command_args=$sshd_args command_args=$sshd_args

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
command=/usr/sbin/wpa_supplicant command=/usr/sbin/wpa_supplicant
: ${wpa_supplicant_conf:=/etc/wpa_supplicant.conf} : ${wpa_supplicant_conf:=/etc/wpa_supplicant.conf}
@@ -39,11 +32,6 @@ find_wireless()
fi fi
done done
;; ;;
FreeBSD)
for iface in $(sysctl -b net.wlan.devices 2>/dev/null); do
echo "${iface##*/}"
done
;;
*) *)
for iface in /dev/net/* $(ifconfig -l 2>/dev/null); do for iface in /dev/net/* $(ifconfig -l 2>/dev/null); do
if ifconfig "${iface##*/}" 2>/dev/null | \ if ifconfig "${iface##*/}" 2>/dev/null | \

9
init.d/.gitignore vendored
View File

@@ -1,6 +1,3 @@
agetty
binfmt
modules-load
bootmisc bootmisc
fsck fsck
hostname hostname
@@ -13,6 +10,7 @@ network
root root
savecache savecache
swap swap
swapfiles
sysctl sysctl
urandom urandom
devfs devfs
@@ -24,11 +22,9 @@ killprocs
modules modules
mount-ro mount-ro
mtab mtab
net-online
numlock numlock
osclock osclock
procfs procfs
s6-svscan
staticroute staticroute
sysfs sysfs
devdb devdb
@@ -38,7 +34,6 @@ pf
rarpd rarpd
rc-enabled rc-enabled
rpcbind rpcbind
runsvdir
savecore savecore
swap-blk swap-blk
swclock swclock
@@ -46,3 +41,5 @@ syslogd
termencoding termencoding
ttys ttys
wscons wscons
tmpfiles.dev
tmpfiles.setup

View File

@@ -2,8 +2,8 @@ include ../mk/net.mk
DIR= ${INITDIR} DIR= ${INITDIR}
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in loopback.in \ SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in loopback.in \
netmount.in osclock.in root.in savecache.in swap.in swclock.in \ netmount.in osclock.in root.in savecache.in swap.in swapfiles.in \
sysctl.in runsvdir.in urandom.in s6-svscan.in ${SRCS-${OS}} tmpfiles.setup.in swclock.in sysctl.in urandom.in s6-svscan.in ${SRCS-${OS}}
BIN= ${OBJS} BIN= ${OBJS}
# Are we installing our network scripts? # Are we installing our network scripts?
@@ -15,15 +15,15 @@ MK= ../mk
include ${MK}/os.mk include ${MK}/os.mk
# Generic BSD scripts # Generic BSD scripts
SRCS-FreeBSD= hostid.in modules.in moused.in newsyslog.in pf.in rarpd.in \ SRCS-FreeBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
rc-enabled.in rpcbind.in savecore.in syslogd.in rpcbind.in savecore.in syslogd.in
# These are FreeBSD specific # These are FreeBSD specific
SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \ SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \
modules-load.in mixer.in nscd.in powerd.in syscons.in mixer.in nscd.in powerd.in syscons.in
SRCS-Linux= agetty.in binfmt.in devfs.in dmesg.in hwclock.in consolefont.in \ SRCS-Linux= binfmt.in devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \
keymaps.in killprocs.in modules.in modules-load.in mount-ro.in mtab.in \ killprocs.in modules.in mount-ro.in mtab.in numlock.in \
numlock.in procfs.in net-online.in sysfs.in termencoding.in procfs.in sysfs.in termencoding.in tmpfiles.dev.in
# Generic BSD scripts # Generic BSD scripts
SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
@@ -31,6 +31,9 @@ SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
# These are NetBSD specific # These are NetBSD specific
SRCS-NetBSD+= devdb.in swap-blk.in ttys.in wscons.in 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

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
extra_commands="save" extra_commands="save"
@@ -23,7 +16,6 @@ fi
depend() depend()
{ {
after swclock
provide clock provide clock
# BSD adjkerntz needs to be able to write to /etc # BSD adjkerntz needs to be able to write to /etc
if [ "$clock" = "UTC" -a -e /etc/wall_cmos_clock ] || if [ "$clock" = "UTC" -a -e /etc/wall_cmos_clock ] ||

View File

@@ -1,33 +0,0 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2017 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="start agetty on a terminal line"
supervisor=supervise-daemon
port="${RC_SVCNAME#*.}"
term_type="${term_type:-linux}"
command=/sbin/agetty
command_args_foreground="${agetty_options} ${port} ${baud} ${term_type}"
pidfile="/run/${RC_SVCNAME}.pid"
export EINFO_QUIET="${quiet:-yes}"
depend() {
after local
keyword -prefix
}
start_pre() {
if [ -z "$port" ]; then
eerror "${RC_SVCNAME} cannot be started directly. You must create"
eerror "symbolic links to it for the ports you want to start"
eerror "agetty on and add those to the appropriate runlevels."
return 1
fi
}

View File

@@ -1,21 +1,14 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2015 The OpenRC Authors. # Copyright 2015 William Hubbs <w.d.hubbs@gmail.com>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Register misc binary format handlers" description="Register misc binary format handlers"
depend() depend()
{ {
after clock procfs after procfs
use modules devfs use modules devfs
keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver keyword -openvz -prefix -systemd-nspawn -vserver -lxc
} }
start() start()

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
depend() depend()
{ {
@@ -71,8 +64,7 @@ cleanup_var_run_dir()
ebegin "Cleaning /var/run" ebegin "Cleaning /var/run"
for x in $(find /var/run ! -type d ! -name utmp \ for x in $(find /var/run ! -type d ! -name utmp \
! -name random-seed ! -name dev.db \ ! -name random-seed ! -name dev.db \
! -name ld-elf.so.hints ! -name ld-elf32.so.hints \ ! -name ld-elf.so.hints ! -name ld.so.hints);
! -name ld.so.hints);
do do
# Clean stale sockets # Clean stale sockets
if [ -S "$x" ]; then if [ -S "$x" ]; then
@@ -224,9 +216,6 @@ start()
case "$RC_SYS" in case "$RC_SYS" in
VSERVER|OPENVZ|LXC|SYSTEMD-NSPAWN) ;; VSERVER|OPENVZ|LXC|SYSTEMD-NSPAWN) ;;
*) *)
if yesno ${previous_dmesg:-no}; then
mv /var/log/dmesg /var/log/dmesg.old
fi
dmesg > /var/log/dmesg dmesg > /var/log/dmesg
chmod 640 /var/log/dmesg chmod 640 /var/log/dmesg
;; ;;
@@ -241,7 +230,7 @@ stop()
{ {
# Write a halt record if we're shutting down # Write a halt record if we're shutting down
if [ "$RC_RUNLEVEL" = shutdown ]; then if [ "$RC_RUNLEVEL" = shutdown ]; then
[ "$RC_UNAME" = Linux ] && openrc-shutdown -w [ "$RC_UNAME" = Linux ] && halt -w
if [ "$RC_SYS" = OPENVZ ]; then if [ "$RC_SYS" = OPENVZ ]; then
yesno $RC_REBOOT && printf "" >/reboot yesno $RC_REBOOT && printf "" >/reboot
fi fi

View File

@@ -1,21 +1,14 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Sets a font for the consoles." description="Sets a font for the consoles."
depend() depend()
{ {
need localmount termencoding need localmount termencoding
after hotplug bootmisc modules after hotplug bootmisc
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu keyword -openvz -prefix -systemd-nspawn -uml -vserver -xenu -lxc
} }
start() start()

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
command=/sbin/devd command=/sbin/devd
command_args=$devd_args command_args=$devd_args

View File

@@ -1,19 +1,11 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2008-2015 The OpenRC Authors. # Copyright (c) 2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Creates the dev database" description="Creates the dev database"
depend() depend()
{ {
after clock
need localmount need localmount
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Set up the /dev directory" description="Set up the /dev directory"
@@ -15,7 +8,7 @@ depend()
{ {
provide dev-mount provide dev-mount
before dev before dev
keyword -docker -lxc -prefix -systemd-nspawn -vserver keyword -prefix -systemd-nspawn -vserver -lxc
} }
mount_dev() mount_dev()

View File

@@ -1,20 +1,13 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Set the dmesg level for a cleaner boot" description="Set the dmesg level for a cleaner boot"
depend() depend()
{ {
before dev modules before dev modules
keyword -docker -lxc -prefix -systemd-nspawn -vserver keyword -lxc -prefix -systemd-nspawn -vserver
} }
start() start()

View File

@@ -1,18 +1,10 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Configures a specific kernel dump device." description="Configures a specific kernel dump device."
depend() { depend() {
after clock
need swap need swap
keyword -jail -prefix keyword -jail -prefix
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Check and repair filesystems according to /etc/fstab" description="Check and repair filesystems according to /etc/fstab"
_IFS=" _IFS="
@@ -15,13 +8,12 @@ _IFS="
depend() depend()
{ {
after clock
use dev clock modules use dev clock modules
keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -timeout -vserver -uml keyword -jail -openvz -prefix -systemd-nspawn -timeout -vserver -lxc -uml
} }
_abort() { _abort() {
yesno ${fsck_abort_on_errors:-yes} && rc-abort rc-abort
return 1 return 1
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
extra_commands="reset" extra_commands="reset"
: ${hostid_file:=/etc/hostid} : ${hostid_file:=/etc/hostid}
@@ -15,7 +8,6 @@ extra_commands="reset"
depend() depend()
{ {
use root use root
after clock
before devd net before devd net
keyword -jail -prefix keyword -jail -prefix
} }

View File

@@ -1,38 +1,19 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Sets the hostname of the machine." description="Sets the hostname of the machine."
depend() depend() {
{ keyword -prefix -systemd-nspawn -lxc
after clock
keyword -docker -lxc -prefix -systemd-nspawn
} }
start() start()
{ {
local h source x # HOSTNAME variable used to be defined in caps in conf.d/hostname.
if [ -s @SYSCONFDIR@/hostname ] && [ -r @SYSCONFDIR@/hostname ]; then # It is also a magic variable in bash.
read h x <@SYSCONFDIR@/hostname hostname=${hostname-${HOSTNAME-localhost}} # checkbashisms: false positive
source="from @SYSCONFDIR@/hostname" ebegin "Setting hostname to $hostname"
else hostname "$hostname"
# HOSTNAME variable used to be defined in caps in conf.d/hostname.
# It is also a magic variable in bash.
h=${hostname:-${HOSTNAME}} # checkbashisms: false positive (HOSTNAME var)
fi
if [ -z "$h" ]; then
einfo "Using default system hostname"
return 0
fi
ebegin "Setting hostname to $h $source"
hostname "$h"
eend $? "Failed to set the hostname" eend $? "Failed to set the hostname"
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
extra_commands="save show" extra_commands="save show"
@@ -30,11 +23,12 @@ fi
depend() depend()
{ {
provide clock provide clock
want modules
if yesno $clock_adjfile; then if yesno $clock_adjfile; then
use root use root
else
before *
fi fi
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu keyword -openvz -prefix -systemd-nspawn -uml -vserver -xenu -lxc
} }
setupopts() setupopts()
@@ -68,28 +62,9 @@ _hwclock()
return 1 return 1
} }
get_noadjfile()
{
if ! yesno $clock_adjfile; then
# Some implementations don't handle adjustments
if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then
echo --noadjfile
fi
fi
}
rtc_exists()
{
local rtc=
for rtc in /dev/rtc /dev/rtc[0-9]*; do
[ -e "$rtc" ] && break
done
[ -e "$rtc" ]
}
start() start()
{ {
local retval=0 errstr="" modname local retval=0 errstr=""
setupopts setupopts
if [ -z "$utc_cmd" ]; then if [ -z "$utc_cmd" ]; then
@@ -99,27 +74,26 @@ start()
ebegin "Setting system clock using the hardware clock [$utc]" ebegin "Setting system clock using the hardware clock [$utc]"
if [ -e /proc/modules ]; then if [ -e /proc/modules ]; then
if ! rtc_exists; then local rtc=
for x in rtc-cmos rtc genrtc; do for rtc in /dev/rtc /dev/rtc[0-9]*; do
modprobe -q $x && rtc_exists && modname="$x" && break [ -e "$rtc" ] && break
done done
[ -n "$modname" ] && if [ ! -e "${rtc}" ]; then
ewarn "The $modname module needs to be configured in" \ modprobe -q rtc-cmos || modprobe -q rtc || modprobe -q genrtc
"@SYSCONFDIR@/conf.d/modules or built in."
fi fi
fi fi
# Always set the kernel's time zone. # Always set the kernel's time zone.
_hwclock --systz $utc_cmd $(get_noadjfile) $clock_args _hwclock --systz $utc_cmd $clock_args
: $(( retval += $? )) : $(( retval += $? ))
if [ -e /etc/adjtime ] && yesno $clock_adjfile; then if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
_hwclock --adjust $utc_cmd $(get_noadjfile) _hwclock --adjust $utc_cmd
: $(( retval += $? )) : $(( retval += $? ))
fi fi
if yesno ${clock_hctosys:-YES}; then if yesno ${clock_hctosys:-YES}; then
_hwclock --hctosys $utc_cmd $(get_noadjfile) $clock_args _hwclock --hctosys $utc_cmd $clock_args
: $(( retval += $? )) : $(( retval += $? ))
fi fi
@@ -141,7 +115,14 @@ stop()
ebegin "Setting hardware clock using the system clock" "[$utc]" ebegin "Setting hardware clock using the system clock" "[$utc]"
_hwclock --systohc $utc_cmd $(get_noadjfile) $clock_args if ! yesno $clock_adjfile; then
# Some implementations don't handle adjustments
if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then
utc_cmd="$utc_cmd --noadjfile"
fi
fi
_hwclock --systohc $utc_cmd $clock_args
retval=$? retval=$?
eend $retval "Failed to sync clocks" eend $retval "Failed to sync clocks"
@@ -156,5 +137,5 @@ save()
show() show()
{ {
setupopts setupopts
hwclock --show "$utc_cmd" $(get_noadjfile) $clock_args hwclock --show "$utc_cmd" $clock_args
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
# This is based on /etc/rc.firewall and /etc/rc.firewall6 from FreeBSD # This is based on /etc/rc.firewall and /etc/rc.firewall6 from FreeBSD

View File

@@ -1,21 +1,14 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Applies a keymap for the consoles." description="Applies a keymap for the consoles."
depend() depend()
{ {
need localmount termencoding need localmount termencoding
after bootmisc clock after bootmisc
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu keyword -openvz -prefix -systemd-nspawn -uml -vserver -xenu -lxc
} }
start() start()

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Kill all processes so we can unmount disks cleanly." description="Kill all processes so we can unmount disks cleanly."
@@ -19,9 +12,11 @@ depend()
start() start()
{ {
ebegin "Terminating remaining processes" ebegin "Terminating remaining processes"
kill_all 15 ${killall5_opts} killall5 -15 ${killall5_opts}
sleep 1
eend 0 eend 0
ebegin "Killing remaining processes" ebegin "Killing remaining processes"
kill_all 9 ${killall5_opts} killall5 -9 ${killall5_opts}
sleep 1
eend 0 eend 0
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Executes user programs in @SYSCONFDIR@/local.d" description="Executes user programs in @SYSCONFDIR@/local.d"

View File

@@ -1,31 +1,23 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Mounts disks and swap according to /etc/fstab." description="Mounts disks and swap according to /etc/fstab."
depend() depend()
{ {
need fsck need fsck
use lvm modules mtab root use lvm modules mtab
after clock lvm modules root after lvm modules
keyword -docker -jail -lxc -prefix -systemd-nspawn -vserver keyword -jail -prefix -systemd-nspawn -vserver -lxc
} }
start() start()
{ {
# Mount local filesystems in /etc/fstab. # Mount local filesystems in /etc/fstab.
# The types variable must start with no, and must be a type local types="noproc" x= no_netdev= rc=
local critical= types="noproc" x= no_netdev= rc=
for x in $net_fs_list $extra_net_fs_list; do for x in $net_fs_list $extra_net_fs_list; do
types="${types},${x}" types="${types},no${x}"
done done
if [ "$RC_UNAME" = Linux ]; then if [ "$RC_UNAME" = Linux ]; then
@@ -38,17 +30,8 @@ start()
mount -at "$types" $no_netdev mount -at "$types" $no_netdev
eend $? "Some local filesystem failed to mount" eend $? "Some local filesystem failed to mount"
rc=$? rc=$?
if [ -z "$critical_mounts" ]; then if [ "$RC_UNAME" != Linux ]; then
rc=0 rc=0
else
for x in ${critical_mounts}; do
fstabinfo -q $x || continue
if ! mountinfo -q $x; then
critical=x
eerror "Failed to mount $x"
fi
done
[ -z "$critical" ] && rc=0
fi fi
return $rc return $rc
} }
@@ -100,8 +83,8 @@ stop()
aufs_branch=$(sed 's/=.*//g' $x) aufs_branch=$(sed 's/=.*//g' $x)
eindent eindent
if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then
ewarn "Failed to remove branch $aufs_branch from aufs" \ ewarn "Failed to remove branch $aufs_branch from aufs \
"$aufs_mount_point" $aufs_mount_point"
fi fi
eoutdent eoutdent
sync sync

View File

@@ -1,19 +1,11 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2013-2015 The OpenRC Authors. # Copyright (c) 2013 William Hubbs <w.d.hubbs@gmail.com>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Configures the loopback interface." description="Configures the loopback interface."
depend() depend()
{ {
after clock
keyword -jail -prefix -systemd-nspawn -vserver keyword -jail -prefix -systemd-nspawn -vserver
} }
@@ -22,14 +14,22 @@ start()
if [ "$RC_UNAME" = Linux ]; then if [ "$RC_UNAME" = Linux ]; then
ebegin "Bringing up network interface lo" ebegin "Bringing up network interface lo"
if command -v ip > /dev/null 2>&1; then if command -v ip > /dev/null 2>&1; then
ip addr add 127.0.0.1/8 dev lo brd + ip addr add 127.0.0.1/8 dev lo brd + scope host
ip route add 127.0.0.0/8 dev lo scope host
ip link set lo up ip link set lo up
else else
ifconfig lo 127.0.0.1 netmask 255.0.0.0 ifconfig lo 127.0.0.1 netmask 255.0.0.0
route add -net 127.0.0.0 netmask 255.0.0.0 gw 127.0.0.1
fi fi
else else
ebegin "Bringing up network interface lo0" ebegin "Bringing up network interface lo0"
ifconfig lo0 127.0.0.1 netmask 255.0.0.0 ifconfig lo0 127.0.0.1 netmask 255.0.0.0
route -q add -inet 127.0.0.0 -netmask 255.0.0.0 127.0.0.1
fi fi
eend $? eend $?
} }
stop()
{
return 0
}

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
extra_commands="restore" extra_commands="restore"

View File

@@ -1,72 +0,0 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2016 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Loads a list of modules from systemd-compatible locations."
depend()
{
keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver
}
find_modfiles()
{
local dirs="/usr/lib/modules-load.d /run/modules-load.d /etc/modules-load.d"
local basenames files fn x y
for x in $dirs; do
[ ! -d $x ] && continue
for y in $x/*.conf; do
[ -f $y ] && basenames="${basenames}\n${y##*/}"
done
done
basenames=$(printf "$basenames" | sort -u)
for x in $basenames; do
for y in $dirs; do
[ -r $y/$x ] &&
fn=$y/$x
done
files="$files $fn"
done
echo $files
}
load_modules()
{
local file m modules rc x
file=$1
[ -z "$file" ] && return 0
while read m x; do
case $m in
\;*) continue ;;
\#*) continue ;;
*) modules="$modules $m"
;;
esac
done < $file
for x in $modules; do
ebegin "Loading module $x"
case "$RC_UNAME" in
FreeBSD) kldload "$x"; rc=$? ;;
Linux) modprobe --use-blacklist -q "$x"; rc=$? ;;
*) ;;
esac
eend $rc "Failed to load $x"
done
}
start()
{
local x
files=$(find_modfiles)
for x in $files; do
load_modules $x
done
return 0
}

View File

@@ -1,37 +1,18 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Loads a user defined list of kernel modules." description="Loads a user defined list of kernel modules."
depend() depend()
{ {
use isapnp use isapnp
want modules-load keyword -openvz -prefix -systemd-nspawn -vserver -lxc
keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver
} }
FreeBSD_modules() start()
{ {
local cnt=0 x # Should not fail if kernel do not have module
for x in $modules; do
ebegin "Loading module $x"
kldload "$x"
eend $? "Failed to load $x" && : $(( cnt += 1 ))
done
einfo "Autoloaded $cnt module(s)"
}
Linux_modules()
{
# Should not fail if kernel does not have module
# support compiled in ... # support compiled in ...
[ ! -f /proc/modules ] && return 0 [ ! -f /proc/modules ] && return 0
@@ -48,21 +29,22 @@ Linux_modules()
x=${x%.*} x=${x%.*}
done done
local list= x= xx= y= args= mpargs= a= local list= x= xx= y= args= mpargs= cnt=0 a=
for x in $kv_variant_list ; do for x in $kv_variant_list ; do
eval list=\$modules_$(shell_var "$x") eval list=\$modules_$(shell_var "$x")
[ -n "$list" ] && break [ -n "$list" ] && break
done done
[ -z "$list" ] && list=$modules [ -z "$list" ] && list=$modules
[ -n "$list" ] && ebegin "Loading kernel modules"
for x in $list; do for x in $list; do
a=${x#*:} a=${x#*:}
if [ "$a" = "$x" ]; then if [ "$a" = "$x" ]; then
unset mpargs unset mpargs
ebegin "Loading module $x"
else else
x=${x%%:*} x=${x%%:*}
mpargs="-o $a" mpargs="-o $a"
ebegin "Loading module $x as $a"
fi fi
aa=$(shell_var "$a") aa=$(shell_var "$a")
xx=$(shell_var "$x") xx=$(shell_var "$x")
@@ -74,16 +56,8 @@ Linux_modules()
done done
[ -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 --use-blacklist --verbose "$mpargs" "$x" "$args" eval modprobe -q "$mpargs" "$x" "$args"
eend $? "Failed to load $x" && : $(( cnt += 1 ))
done done
[ -n "$list" ] && eend einfo "Autoloaded $cnt module(s)"
}
start()
{
case "$RC_UNAME" in
FreeBSD|Linux) ${RC_UNAME}_modules ;;
*) ;;
esac
return 0
} }

View File

@@ -1,20 +1,13 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Re-mount filesytems read-only for a clean reboot." description="Re-mount filesytems read-only for a clean reboot."
depend() depend()
{ {
after killprocs savecache need killprocs savecache
keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver keyword -openvz -prefix -systemd-nspawn -vserver -lxc
} }
start() start()
@@ -34,9 +27,6 @@ start()
local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs= local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs=
m="$m|/bin|/sbin|/lib(32|64)?|/libexec" m="$m|/bin|/sbin|/lib(32|64)?|/libexec"
if [ -e "$rc_svcdir"/usr_premounted ]; then
m="$m|/usr"
fi
# 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 IFS="$IFS:"
for x in $no_umounts $RC_NO_UMOUNTS; do for x in $no_umounts $RC_NO_UMOUNTS; do

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
mouse=${RC_SVCNAME##*.} mouse=${RC_SVCNAME##*.}
if [ -n "$mouse" -a "$mouse" != "moused" ]; then if [ -n "$mouse" -a "$mouse" != "moused" ]; then

View File

@@ -1,19 +1,11 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Update /etc/mtab to match what the kernel knows about" description="Update /etc/mtab to match what the kernel knows about"
depend() depend()
{ {
after clock
need root need root
keyword -prefix -systemd-nspawn keyword -prefix -systemd-nspawn
} }
@@ -22,17 +14,16 @@ start()
{ {
local rc=0 local rc=0
ebegin "Updating /etc/mtab" ebegin "Updating /etc/mtab"
if ! checkpath -W /etc; then if [ -L /etc/mtab ] ; then
ewarn "/etc/mtab is a symlink, not updating."
ewarn "FYI - You can safely remove mtab from your runlevels."
elif ! checkpath -W /etc; then
rc=1 rc=1
elif ! yesno ${mtab_is_file:-no}; then elif [ ! -e /etc/mtab ]; then
[ ! -L /etc/mtab ] && [ -f /etc/mtab ] && einfo "Creating mtab symlink"
ewarn "Removing /etc/mtab file"
einfo "Creating mtab symbolic link"
ln -snf /proc/self/mounts /etc/mtab ln -snf /proc/self/mounts /etc/mtab
else else
[ -L /etc/mtab ] && ewarn "Removing /etc/mtab symbolic link" einfo "Updating mtab file"
rm -f /etc/mtab
einfo "Creating mtab file"
# With / as tmpfs we cannot umount -at tmpfs in localmount as that # With / as tmpfs we cannot umount -at tmpfs in localmount as that
# makes / readonly and dismounts all tmpfs even if in use which is # makes / readonly and dismounts all tmpfs even if in use which is
# not good. Luckily, umount uses /etc/mtab instead of /proc/mounts # not good. Luckily, umount uses /etc/mtab instead of /proc/mounts

View File

@@ -1,69 +0,0 @@
#!@SBINDIR@/openrc-run
# Copyright (c) 2015 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Delays until the network is online or a specific timeout"
depend()
{
after modules
need sysfs
provide network-online
keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -uml -vserver
}
get_interfaces()
{
local ifname iftype
for ifname in /sys/class/net/*; do
read iftype < ${ifname}/type
[ "$iftype" = "1" ] && printf "%s " ${ifname##*/}
done
}
start ()
{
local carriers configured dev gateway ifcount infinite
local rc state x
ebegin "Checking to see if the network is online"
rc=0
interfaces=${interfaces:-$(get_interfaces)}
timeout=${timeout:-120}
[ $timeout -eq 0 ] && infinite=true || infinite=false
while $infinite || [ $timeout -gt 0 ]; do
carriers=0
configured=0
ifcount=0
for dev in ${interfaces}; do
: $((ifcount += 1))
read x < /sys/class/net/$dev/carrier
[ $x -eq 1 ] && : $((carriers += 1))
read x < /sys/class/net/$dev/operstate
[ "$x" = up ] && : $((configured += 1))
done
[ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break
sleep 1
: $((timeout -= 1))
done
! $infinite && [ $timeout -eq 0 ] && rc=1
include_ping_test=${include_ping_test:-${ping_default_gateway}}
if [ -n "${ping_default_gateway}" ]; then
ewarn "ping_default_gateway is deprecated, please use include_ping_test"
fi
if [ $rc -eq 0 ] && yesno ${include_ping_test:-no}; then
ping_test_host="${ping_test_host:-google.com}"
if [ -n "$ping_test_host" ]; then
ping -c 1 $ping_test_host > /dev/null 2>&1
rc=$?
fi
fi
eend $rc "The network is offline"
}

View File

@@ -1,32 +1,15 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Mounts network shares according to /etc/fstab." description="Mounts network shares according to /etc/fstab."
depend() depend()
{ {
local opts mywant="" config /etc/fstab
for opts in $(fstabinfo -o -t nfs,nfs4); do use afc-client amd nfsclient autofs openvpn
case $opts in
noauto) ;;
*) mywant="$mywant nfsclient"; break ;;
esac
done
after root
config /etc/fstab
want $mywant
use afc-client amd openvpn
use dns use dns
use root keyword -jail -prefix -systemd-nspawn -vserver -lxc
keyword -docker -jail -lxc -prefix -systemd-nspawn -vserver
} }
start() start()
@@ -39,22 +22,13 @@ start()
ebegin "Mounting network filesystems" ebegin "Mounting network filesystems"
mount -at $fs mount -at $fs
rc=$? rc=$?
if [ "$RC_UNAME" = Linux ] && [ $rc = 0 ]; then if [ "$RC_UNAME" = Linux ]; then
mount -a -O _netdev mount -a -O _netdev
rc=$? rc=$?
fi fi
ewend $rc "Could not mount all network filesystems" ewend $rc "Could not mount all network filesystems"
if [ -z "$critical_mounts" ]; then if [ "$RC_UNAME" != Linux ]; then
rc=0 rc=0
else
for x in ${critical_mounts}; do
fstabinfo -q $x || continue
if ! mountinfo -q $x; then
critical=x
eerror "Failed to mount $x"
fi
done
[ -z "$critical" ] && rc=0
fi fi
return $rc return $rc
} }
@@ -83,7 +57,7 @@ stop()
retval=$? retval=$?
eoutdent eoutdent
if [ "$RC_UNAME" = Linux ] && [ $retval = 0 ]; then if [ "$RC_UNAME" = Linux ]; then
umount -a -O _netdev umount -a -O _netdev
retval=$? retval=$?
fi fi

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2009-2015 The OpenRC Authors. # Copyright (c) 2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
# This script was inspired by the equivalent rc.d network from NetBSD. # This script was inspired by the equivalent rc.d network from NetBSD.
@@ -18,7 +11,7 @@ __nl="
depend() depend()
{ {
need localmount need localmount
after bootmisc clock after bootmisc
if [ -n "$(interfaces)" ]; then if [ -n "$(interfaces)" ]; then
provide net provide net
fi fi

View File

@@ -1,19 +1,11 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
required_files="/etc/newsyslog.conf" required_files="/etc/newsyslog.conf"
depend() depend()
{ {
after clock
need localmount need localmount
keyword -prefix keyword -prefix
} }

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
command=/usr/sbin/nscd command=/usr/sbin/nscd
command_args=$nscd_args command_args=$nscd_args

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
description="Turns numlock on for the consoles." description="Turns numlock on for the consoles."
@@ -16,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
depend() depend()
{ {
need localmount need localmount
keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver keyword -openvz -prefix -systemd-nspawn -vserver -lxc
} }
_setleds() _setleds()

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2014-2015 The OpenRC Authors. # Copyright (c) 2014 Ralph Sennhauser <sera@igentoo.org>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
# Can be used on OSs that take care of the clock. # Can be used on OSs that take care of the clock.

View File

@@ -1,13 +1,6 @@
#!@SBINDIR@/openrc-run #!@SBINDIR@/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors. # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# See the Authors file at the top-level directory of this distribution and # Released under the 2-clause BSD license.
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
name="Packet Filter" name="Packet Filter"
: ${pf_conf:=${pf_rules:-/etc/pf.conf}} : ${pf_conf:=${pf_rules:-/etc/pf.conf}}

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