aboutsummaryrefslogtreecommitdiff
path: root/sh
AgeCommit message (Collapse)Author
2016-12-17sh/openrc-run.sh: expose default start/stop/statusRobin H. Johnson
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-17Fix typosDoug Freed
Fixes #99
2016-12-01split tmpfiles processing into opentmpfilesWilliam Hubbs
The openntmpfiles package is designed so that it can be used on systems independently of whether openrc is used.
2016-09-22sh/init.sh.Linux.in: update test for live /proc to use md5sumWilliam Hubbs
This allows us to avoid the warnings from bash-4.4 about null bytes in command substitutions. If you have separate /usr, are not using an initramfs, and have a file called /proc/self/environ on your root file system, this will break. X-Gentoo-Bug: 594534 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=594534
2016-09-20Revert "Remove eval calls from supervisor start functions"William Hubbs
This reverts commit 0d1f1010c299a95332f224c3be9e8dfdd85eec54. We need the eval in case someone uses something like: command_args="this \"is a\" test" This is related to #77.
2016-09-19Remove eval calls from supervisor start functionsWilliam Hubbs
This fixes #77.
2016-09-16Add command_progress variableWilliam Hubbs
If this is set to yes, 1, true, or on, start-stop-daemon will display a progress meter while waiting for a daemon to stop.
2016-09-14Fix permission checks for cgroupsWilliam Hubbs
This is needed because containers may give read access to cgroups but not allow the settings to be changed.
2016-09-13Make use of name vs RC_SVCNAME consistent in supervisor scriptsWilliam Hubbs
This fixes #79.
2016-09-12sh/init.sh: fix the test for cache restorationWilliam Hubbs
This fixes the test for cache restoration since we are no longer caching the dependency tree.
2016-09-06sh/openrc-run.sh: read global configuration settings firstWilliam Hubbs
X-Gentoo-Bug: 503134 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=503134
2016-07-27Add support for runitWilliam Hubbs
X-Gentoo-Bug: 501364 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=501364
2016-07-26tmpfiles.sh: Support lines with q Q h HMartin Väth
btrfs support is not implemented yet (for q Q v), but at least tmpfiles.sh no longer chokes about tmpfiles.d lines of recent systemd versions This fixes #87.
2016-07-25tmpfiles: Accept filenames as command line argumentsMike Gilbert
This brings us closer to being able to use tmpfiles.sh as a full replacement for systemd-tmpfiles. This closes #83.
2016-07-25tmpfiles: Process command line before gathering config filesMike Gilbert
This is part of #83.
2016-07-25tmpfiles: Make unrecognized options fatalMike Gilbert
This is part of #83.
2016-05-19supervise-daemon.sh: add support for chroot variableWilliam Hubbs
2016-05-19start-stop-daemon.sh: fix regression in chroot supportWilliam Hubbs
The support for the chroot variable was broken in 0.16, this fixes that breakage.
2016-04-27add daemon supervisorWilliam Hubbs
The supervise-daemon process is meant to be a lightweight supervisor which can monitor and restart a daemon if it crashes.
2016-02-19binfmt.sh: use read in raw modeDustin C. Hatch
The read builtin in most shells will interpret backslash characters as escapes, and they are lost when reading binfmt files line-by-line. This causes magic strings containing backslashes to be mangled and become invalid, resulting in erroneous 'invalid entry' messages. The -r option to read disables special handling of backslashes and keeps all lines intact. X-Gentoo-Bug: 575114 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=575114
2016-01-22fix testsWilliam Hubbs
X-Gentoo-Bug: 572602 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=572602
2016-01-19sh/s6.sh: update s6-svc syntax to be valid for 2.2.0.0+Colin Booth
The s6-svc syntax changed for wait-up, wait-ready, wait-down, and wait-finished. This changes the s6 handling script to use the current valid syntax. This fixes #65.
2015-12-21Convert OpenRC to a centralized copyright/license structureWilliam Hubbs
In the past, OpenRC was a hybrid of a centralized and file-scope license/copyright structure. I followed the instructions from the Software Freedom Law Center [1] to convert to a Centralized structure where possible, for easier future maintenance. [1] https://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
2015-12-09Complete support for rc.conf.dWilliam Hubbs
- gendepends.sh needs to read this directory to allow dependencies to be overridden - init.sh for Linux and Bsd need to read it to allow config settings they use to be overridden.
2015-12-03add support for -containers keywordWilliam Hubbs
2015-12-01rc-functions.sh: add support for user-defined want dependenciesWilliam Hubbs
2015-11-12Implement "want" dependencyIan Stakenvicius
The want dependency is similar to the use dependency. If a service script, for example called service1, adds "want service2" to its depend function, OpenRC will attempt to start service2, if it exists on the system, when service1 is started. However, service1 will start regardless of the status of service2. X-Gentoo-Bug: 406021 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=406021
2015-11-05Add rc.conf.d supportWilliam Hubbs
This makes it possible to override settings in rc.conf by adding a directory @SYSCONFDIR@/rc.conf.d and putting files in this directory. The files will be processed in lexical order, and the last setting in these files will be used.
2015-10-13openrc-run.sh: fix new required_* tests to exit properlyWilliam Hubbs
2015-10-13typo fixWilliam Hubbs
X-Gentoo-Bug: 563010 X-Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=563010
2015-10-13openrc-run.sh: allow spaces in required_{files,dirs}William Hubbs
X-Gentoo-Bug: 562320 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=562320
2015-10-06cgroups: Add the hugetlb, net_cls and pids controllersAustin S. Hemmelgarn
Note from WilliamH: I slightly rearranged the code and added the settings in rc.conf. X-Gentoo-Bug: 555488 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=555488
2015-10-06rc-cgroup.sh: Do not add leading spaces to cgroup valuesWilliam Hubbs
We were starting the value we write to the cgroup setting file with leading spaces and this was causing issues. This change makes sure that we aren't adding leading spaces to the value. X-Gentoo-Bug: 562354 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=562354
2015-10-02start-stop-daemon.sh: complain in start if command is undefinedWilliam Hubbs
The default start-stop-daemon start function expects the command variable to be defined to point to the daemon we want to start. If the variable is undefined, this means that there will be nothing to start, and in this case we should complain because it is possible that the script writer made a typo in the variable name.
2015-08-03tmpfiles: run restorecon on the entire pathJason Zaman
The tmpfiles "d" entry will create a full path and only the last dir in the path will have its SELinux label set correctly. This patch will restorecon the parents as well so that the selinux labels are correct. eg, "d /run/libvirt/lxc", then "lxc" would have the correct SELinux label but "libvirt" would not. Signed-off-by: Jason Zaman <jason@perfinion.com>
2015-06-24tmpfiles: Recognize type 'v' (create btrfs subvol)Mike Gilbert
This change does NOT implement btrfs subvol creation. Instead, it treats 'v' the same as 'd', which is an acceptable fallback according to the manual. Fixes #58
2015-06-24Remove execute bit from tmpfiles.sh.inMike Gilbert
2015-05-14S6: kick the scanner and sleep 1.5 seconds to avoid a race conditionWilliam Hubbs
2015-05-14s6: Use s6-svc -Dd to stop servicesWilliam Hubbs
This allows us to get rid of the sleep call in the stop function. Also, we set a configurable timeout value for stopping daemons.
2015-05-13More s6 fixesWilliam Hubbs
- When no service link is in the scan directory, show the default stopped message. - Do not remove the service link when stopping the service.
2015-05-13Fix the s6 handlingWilliam Hubbs
This changes the default s6 service directory to /var/svc.d, also it changes the code to work with the individual services instead of forcing a rescan when a service is started or stopped.
2015-05-11Add support for the s6 supervision suiteWilliam Hubbs
2015-05-11Rework supervisor integration frameworkWilliam Hubbs
The original way of doing this allowed users to change the supervisor in conf.d/*. This changes this so that the supervisor setup can be done in the service script itself.
2015-05-08Make the default start, stop and status functions overridableWilliam Hubbs
This will make it possible to add support for supervision suites such as runit and s6.
2015-05-01Add support for systemd-nspawn containersWilliam Hubbs
This adds support for running OpenRC in a container created by the systemd-nspawn utility. This fixes #52. X-Gentoo-Bug: 548058 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=548058
2015-04-27convert all references from runscript to openrc-runWilliam Hubbs
2015-04-21cgroups: use printf to write to cgroup filesWilliam Hubbs
This fixes #33.
2015-04-20Add binfmt service to sysinit runlevelWilliam Hubbs
This makes binfmt processing behave like tmpfiles processing which follows the same specification as systemd. This fixes #48. X-Gentoo-Bug: 545162 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=545162
2015-04-08Fix tmpfiles processingWilliam Hubbs
Tmpfiles.d processing had /run overriding /usr/lib and /etc, but this is not correct. The correct order, from lowest to highest, for tmpfiles processing is: * /usr/lib/tmpfiles.d/*.conf * /run/tmpfiles.d/*.conf * /etc/tmpfiles.d This means /run/tmpfiles.d/*.conf can override /etc/tmpfiles.d/*.conf, but /etc/tmpfiles.d/*.conf can override both of them. This fixes #49.
2015-03-29Fix rc_verbose processingWilliam Hubbs
We were processing the rc_verbose setting before we sourced the configuration file where it was set; this fixes the issue. Fixes #46