Go to file
Lars Wendler 0d86c4903b init.d/modules.in: Avoid loading modules twice in Linux with dash shell
Since commit 6b475ab269, openrc tries to load
modules twice which have been defined in /etc/conf.d/modules via modules=
variable when /bin/sh points to dash shell.
The reason is that when the "modules-load" service was merged into "modules"
service, the "modules" variable name got used in both, load_modules()
function and in Linux_modules() function which both get called when modules
service is started. Although "modules" variable is marked as local in
load_modules(), dash simply ignores this.

Avoid the issue by renaming "modules" variable to "_modules" in
load_modules() function.

This fixes #419.
2021-05-12 18:20:43 -05:00
bash-completion bash-completions/rc-service: allow tab to be used again 2018-12-27 16:31:15 -06:00
ci ci/travis.sh: run shellcheck on shell scripts 2019-10-28 18:42:10 -05:00
conf.d modules: remove the ability to rename modules on the fly 2018-06-29 15:29:46 -05:00
etc fix unified cgroups v2 setup 2021-02-23 23:08:56 -06:00
init.d init.d/modules.in: Avoid loading modules twice in Linux with dash shell 2021-05-12 18:20:43 -05:00
local.d local.d/README: typo fix 2016-08-15 13:47:06 -05:00
man start-stop-daemon: fix typo in manpage 2021-02-02 10:04:57 -05:00
mk add PKGCONFIGDIR to the makefiles 2021-03-21 17:41:58 -05:00
pkgconfig add PKGCONFIGDIR to the makefiles 2021-03-21 17:41:58 -05:00
runlevels optimize loops for installing gettys 2019-08-15 18:40:51 -05:00
scripts scripts/shutdown.in: fix sysvinit compatible shutdown 2020-11-20 14:57:04 -06:00
sh cgroup2_set_limits: fix harmless error message 2021-04-04 17:31:49 -05:00
src checkpath: fix code to walk the directory path 2021-04-15 17:40:00 -05:00
support update sysvinit support files 2019-08-20 13:08:44 -05:00
sysctl.d sysctl.d: fix README 2012-02-10 09:17:22 -06:00
test move ci scripts to their own directory 2019-02-22 18:50:13 -06:00
zsh-completion zsh-completion: _rc-service support extra actions 2019-01-21 17:41:59 -06:00
.cirrus.yml update freebsd 11.x image on cirrus ci 2020-12-20 15:37:52 -06:00
.gitignore dist: convert to tar.gz 2016-09-23 15:28:56 -05:00
.travis.yml .travis.yml: install shellcheck 2019-10-28 16:48:40 -05:00
AUTHORS Add Sony Interactive Entertainment as an author 2019-07-22 10:46:32 -05:00
BUSYBOX.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
ChangeLog update ChangeLog 2021-04-02 12:43:37 -05:00
FEATURE-REMOVAL-SCHEDULE.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
HISTORY.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
LICENSE Convert OpenRC to a centralized copyright/license structure 2015-12-21 12:16:06 -06:00
Makefile combine test directories 2019-02-22 18:08:19 -06:00
Makefile.inc version 0.43 2021-04-02 12:47:39 -05:00
NEWNET.md NEWNET.md: fix the title 2021-04-03 15:18:30 -05:00
NEWS.md update news 2021-04-02 11:37:35 -05:00
README.md README: convert references to markdown links 2021-04-03 15:13:09 -05:00
STYLE-GUIDE.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06: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
agetty-guide.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
init-guide.md Delete stray text. 2020-01-11 11:15:56 -06:00
runit-guide.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
s6-guide.md Reformat and fix titles in documentation 2018-01-12 14:10:42 -06:00
service-script-guide.md service-script-guide.md: small cleanups 2018-06-05 17:26:57 -05:00
supervise-daemon-guide.md clarify supervise-daemon-guide 2019-07-26 12:52:52 -05:00
user-guide.md user-guide: clarify note for Runlevels/rc-update usage 2020-12-20 13:54:33 +01:00

README.md

OpenRC README

OpenRC is a dependency-based init system that works with the system-provided init program, normally /sbin/init.

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
MKBASHCOMP=no
MKNET=no
MKPAM=pam
MKPREFIX=yes
MKPKGCONFIG=no
MKSELINUX=yes
MKSTATICLIBS=no
MKSYSVINIT=yes
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKZSHCOMP=no
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local
BRANDING=\"Gentoo/$(uname -s)\"
SH=/bin/sh

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

Reporting Bugs

Please report bugs on our bug tracker.

If you can contribute code , please feel free to do so by opening pull requests.

IRC Channel

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