Go to file
Robin H. Johnson f27d60add9
sh/openrc-run.sh: expose default start/stop/status
Supervisor setups break easily when start/stop/status functions are not
default.

Applications that write multiple PIDs to a pidfile (eg HAProxy as
described in bug 601540), can also benefit from being able to call the
default start/stop/status with modified environment variables.

Expose the default start/stop/status functions as
default_start/stop/status, and use them for the defaults
start/stop/status.

Trivial usage example:
```
  stop()
  {
    t=$(mktemp)
    for pid in $(cat $pidfile) ; do
      echo $pid >$t
      pidfile=$t default_stop
    done
    rm -f $t
  }
```

X-Gentoo-Bug: 601540
X-Gentoo-Bug-URL: https://bugs.gentoo.org/601540
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-12-17 14:50:11 -08:00
conf.d split tmpfiles processing into opentmpfiles 2016-12-01 12:04:54 -06:00
etc Fix typos 2016-12-17 18:41:02 +00:00
init.d localmount: add comment about types variable 2016-12-17 18:39:53 +00:00
init.d.misc init.d.misc/wpa_supplicant: find wireless interface for FreeBSD 2016-10-16 11:10:57 -05:00
local.d local.d/README: typo fix 2016-08-15 13:47:06 -05:00
man man/start-stop-daemon.8: clarify documentation about --pidfile option 2016-12-05 12:25:52 -06:00
mk dist: convert to tar.gz 2016-09-23 15:28:56 -05:00
pkgconfig Revert "Make einfo routines private" 2013-10-21 13:49:41 -05:00
runlevels runlevels: remove bad trailing backslash 2016-12-12 15:13:26 -05:00
scripts fix tests 2016-01-22 12:07:13 -06:00
sh sh/openrc-run.sh: expose default start/stop/status 2016-12-17 14:50:11 -08:00
src selinux: fix SIGSEGV with invalid contexts 2016-11-17 12:03:12 -06:00
support Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
sysctl.d sysctl.d: fix README 2012-02-10 09:17:22 -06:00
test fix tests 2016-01-22 12:07:13 -06:00
.gitignore dist: convert to tar.gz 2016-09-23 15:28:56 -05:00
AUTHORS Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
BUSYBOX.md init.d/loopback: drop scope on loopback 2016-10-25 10:49:14 -05:00
ChangeLog update ChangeLog 2016-09-27 12:24:40 -05:00
FEATURE-REMOVAL-SCHEDULE.md Fix typo 2016-01-19 16:30:41 -06:00
guide.md Format code blocks and variable/path notations 2016-09-08 19:27:47 -05:00
HISTORY.md Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
LICENSE Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
Makefile Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
Makefile.inc version 0.23 2016-09-27 19:38:07 -05:00
NEWS.md split tmpfiles processing into opentmpfiles 2016-12-01 12:04:54 -06:00
README.md Remove the DEBUG_MEMORY macro 2016-07-14 16:52:57 -05:00
README.newnet Remove gentoo's net.* scripts 2013-08-13 16:33:41 -05:00
runit-guide.md Add support for runit 2016-07-27 16:26:26 -05:00
s6-guide.md s6-guide: fix typo 2016-07-25 13:52:38 -05:00
STYLE-GUIDE.md Convert style guide to markdown 2015-04-22 15:54:40 -05:00
supervise-daemon-guide.md supervise-daemon: clarify documentation about configuring daemon not to fork 2016-05-24 12:55:50 -05:00
TODO Add a potential future problem I can see with metric calculation and interfaces that change often. 2012-03-02 19:51:09 +00:00

OpenRC README

OpenRC is a dependency-based init system that works with the system-provided init program, normally /sbin/init. Currently, it does not have an init program of its own.

Installation

OpenRC requires GNU make.

Once you have GNU Make installed, the default OpenRC installation can be executed using this command:

make install

Configuration

You may wish to configure the installation by passing one or more of the below arguments to the make command

PROGLDFLAGS=-static
LIBNAME=lib64
DESTDIR=/tmp/openrc-image
MKNET=no
MKPAM=pam
MKPREFIX=yes
MKPKGCONFIG=no
MKSELINUX=yes
MKSTATICLIBS=no
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKTOOLS=yes
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local
BRANDING=\"Gentoo/$(uname -s)\"

Notes

We don't support building a static OpenRC with PAM.

You may need to use PROGLDFLAGS=-Wl,-Bstatic on glibc instead of just -static.

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.

LOCAL_PREFIX should be set when to where user maintained packages are. Only set LOCAL_PREFIX if different from PKG_PREFIX.

PREFIX should be set when OpenRC is not installed to /.

If any of the following files exist then we do not overwrite them

/etc/devd.conf
/etc/rc
/etc/rc.shutdown
/etc/conf.d/*

rc and rc.shutdown are the hooks from the BSD init into OpenRC.

devd.conf is modified from FreeBSD to call /etc/rc.devd which is a generic hook into OpenRC.

inittab is the same, but for SysVInit as used by most Linux distributions. This can be found in the support folder.

Obviously, if you're installing this onto a system that does not use OpenRC by default then you may wish to backup the above listed files, remove them 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

If you are using Gentoo Linux, bugs can be filed on their bugzilla under the gentoo hosted projects product and the openrc component [1]. Otherwise, you can report issues on our github [2].

Better yet, if you can contribute code, please feel free to submit pull requests [3].

IRC Channel

We have an official irc channel, #openrc on freenode, feel free to join us there.

[1] https://bugs.gentoo.org/ [2] https://github.com/openrc/openrc/issues [3] https://github.com/openrc/openrc/pulls