Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eedafe0f1a | ||
|
|
7f634589f1 | ||
|
|
291cddb72b | ||
|
|
002e25a74a | ||
|
|
2ac620cf53 | ||
|
|
e9fb5f81cc | ||
|
|
67dfdec43f | ||
|
|
fa88750060 | ||
|
|
223550f676 | ||
|
|
d6295768ea | ||
|
|
7a15323822 | ||
|
|
edb07278af | ||
|
|
d07d896aa8 | ||
|
|
80955a691b | ||
|
|
2413f487e2 | ||
|
|
32a8a202d0 | ||
|
|
803ed1badd | ||
|
|
8a6f9d943b |
@@ -19,8 +19,8 @@ addons:
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- "irc.freenode.org#openrc"
|
||||
on_success: change # options: [always|never|change] default: always
|
||||
- "irc.libera.chat#openrc"
|
||||
on_success: always # options: [always|never|change] default: always
|
||||
on_failure: always # options: [always|never|change] default: always
|
||||
on_start: false # default: false
|
||||
|
||||
|
||||
186
ChangeLog
186
ChangeLog
@@ -1,3 +1,181 @@
|
||||
commit 291cddb72b1e00c0708e2b4c2278f9fbd0db007e
|
||||
Author: Matt Whitlock <gentoo@mattwhitlock.name>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
supervise-daemon: implement SSD_IONICELEVEL
|
||||
|
||||
supervise-daemon was apparently overlooked when support for the
|
||||
SSD_IONICELEVEL environment variable was added. This commit brings
|
||||
supervise-daemon up to parity with start-stop-daemon with respect to
|
||||
this environment variable.
|
||||
|
||||
commit 002e25a74ac8eff31f9aa804fbda77b97f2ef944
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
update ChangeLog
|
||||
|
||||
commit 2ac620cf53fbbd201927055b771d59f16086ddc4
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
update travis ci irc notifications
|
||||
|
||||
- move to libera network
|
||||
- always notify on successful build
|
||||
|
||||
commit e9fb5f81cc862001bcc10a4ce0f18a7cd6cd6df3
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
man/supervise-daemon.8: document --pidfile option
|
||||
|
||||
commit 67dfdec43ffe9160f4d63394c6334fc10c6992c8
|
||||
Author: Sven Wegener <sven.wegener@stealer.net>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
on_ac_power: support multiple power_supply devices in sysfs
|
||||
|
||||
Newer devices have multiple power_supply devices in sysfs:
|
||||
|
||||
$ grep ^ /sys/class/power_supply/*/type
|
||||
/sys/class/power_supply/AC/type:Mains
|
||||
/sys/class/power_supply/BAT0/type:Battery
|
||||
/sys/class/power_supply/ucsi-source-psy-USBC000:001/type:USB
|
||||
/sys/class/power_supply/ucsi-source-psy-USBC000:002/type:USB
|
||||
|
||||
There are two "USB" Type-C ports than can supply power and both are
|
||||
aggregated into the "Mains" power supply by the firmware. The "Battery"
|
||||
also counts as a power supply, but is missing the online attribute.
|
||||
|
||||
The -f check with a wildcard pattern results in an error, when multiple
|
||||
devices are present:
|
||||
|
||||
/lib/rc/bin/on_ac_power: line 21: [: too many arguments
|
||||
|
||||
When the power_supply class is registered, check for a "Mains" device.
|
||||
|
||||
Fixes #427.
|
||||
|
||||
commit fa88750060effe4a23a14d7e70517e475fd11b39
|
||||
Author: Alex Xu <351006+Hello71@users.noreply.github.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
conf.d/hostname: clarify hostname variable usage
|
||||
|
||||
https://gitlab.alpinelinux.org/alpine/aports/-/issues/9744
|
||||
|
||||
This fixes #433.
|
||||
|
||||
commit 223550f6765a89254f978c2007612e5be7d308a6
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
Revert "openrc-init: ignore an empty string in argv[1]"
|
||||
|
||||
This reverts commit 7a1532382284d9d3d0f1e31d89ff1ca0d3199cb5.
|
||||
This check is no longer needed since rc_runlevel_exists() is fixed.
|
||||
|
||||
X-Gentoo-Bug: 803536
|
||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/803536
|
||||
Closes: https://github.com/OpenRC/openrc/pull/431
|
||||
|
||||
commit d6295768eaa886d7cf296e5d7f94711ec1f08038
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
librc: fix rc_runlevel_exists return for empty string
|
||||
|
||||
This function should return false if the runlevel is an empty string.
|
||||
|
||||
X-Gentoo-Bug: 803536
|
||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/803536
|
||||
Closes: https://github.com/OpenRC/openrc/pull/431
|
||||
|
||||
commit 7a1532382284d9d3d0f1e31d89ff1ca0d3199cb5
|
||||
Author: Mike Gilbert <floppym@gentoo.org>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
openrc-init: ignore an empty string in argv[1]
|
||||
|
||||
X-Gentoo-Bug: 803536
|
||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/803536
|
||||
Closes: https://github.com/OpenRC/openrc/pull/431
|
||||
|
||||
commit edb07278af2f5e05873da99d4a80bfbb6f08812b
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
sh/rc-cgroup.sh: fix case in starting message
|
||||
|
||||
X-Gentoo-Bug: 804193
|
||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=804193
|
||||
|
||||
commit d07d896aa82a789c558876ee3257b785df1e7946
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
sh/rc-cgroup.sh: fix cgroup_cleanup
|
||||
|
||||
X-Gentoo-Bug: 804193
|
||||
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=804193
|
||||
|
||||
commit 80955a691bfb151b92d04c12b5d138bafdedf532
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
version 0.43.4
|
||||
|
||||
commit 2413f487e2d556a657bca8c873828873c650f995
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
update ChangeLog
|
||||
|
||||
commit 32a8a202d0728e3e550050069da3e27de2d98d7f
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
move the irc channel to the libera network
|
||||
|
||||
commit 803ed1badddb3edfc78f4346d8d059253a334cd9
|
||||
Author: Lars Wendler <polynomial-c@gentoo.org>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
init.d/modules.in: Avoid loading modules twice in Linux with dash shell
|
||||
|
||||
Since commit 6b475ab26992f1dd8815700828df46abc4b71d27, 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.
|
||||
|
||||
commit 8a6f9d943bf7256630a37ea9e3a8421e079f05b9
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
README: convert references to markdown links
|
||||
|
||||
commit ee8c0c1cc1edb4959845e5bc487ce6e83ad9f2b3
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
version 0.43.3
|
||||
|
||||
commit f61e44d110d3ceb96c06bf7dbdd07b8ab85166e3
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
update ChangeLog
|
||||
|
||||
commit 55ceac775c388191090fe37aef489d721ee9299d
|
||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
@@ -464,11 +642,3 @@ Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||
|
||||
supervise-daemon: only log debug logs when verbose mode is active
|
||||
|
||||
commit fbec1eed51c85c53b39f97a213479caa0a2b75ab
|
||||
Author: Manuel Rüger <manuel@rueg.eu>
|
||||
Commit: Manuel Rüger <manuel@rueg.eu>
|
||||
|
||||
.cirrus.yml: Update FreeBSD releases
|
||||
|
||||
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
NAME= openrc
|
||||
VERSION= 0.43.3
|
||||
VERSION= 0.43.5
|
||||
PKG= ${NAME}-${VERSION}
|
||||
|
||||
14
README.md
14
README.md
@@ -78,16 +78,14 @@ remove them and then install so that the OS hooks into OpenRC.
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
Please report issues on our github bug tracker [1].
|
||||
Please report bugs on our [bug tracker](http://github.com/OpenRC/openrc/issues).
|
||||
|
||||
Better yet, if you can contribute code, please feel free to submit pull
|
||||
requests [2].
|
||||
If you can contribute code , please feel free to do so by opening
|
||||
[pull requests](https://github.com/OpenRC/openrc/pulls).
|
||||
|
||||
## IRC Channel
|
||||
|
||||
We have an official irc channel, #openrc on freenode, feel free to join
|
||||
us there.
|
||||
We have an official irc channel, #openrc on the libera network.
|
||||
Please connect your irc client to irc.libera.chat and join #openrc on
|
||||
that network.
|
||||
|
||||
[1] https://github.com/openrc/openrc/issues
|
||||
|
||||
[2] https://github.com/openrc/openrc/pulls
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Set to the hostname of this machine
|
||||
# Hostname fallback if /etc/hostname does not exist
|
||||
hostname="localhost"
|
||||
|
||||
@@ -41,18 +41,18 @@ find_modfiles()
|
||||
|
||||
load_modules()
|
||||
{
|
||||
local file m modules rc x
|
||||
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"
|
||||
*) _modules="$_modules $m"
|
||||
;;
|
||||
esac
|
||||
done < $file
|
||||
for x in $modules; do
|
||||
for x in $_modules; do
|
||||
ebegin "Loading module $x"
|
||||
case "$RC_UNAME" in
|
||||
FreeBSD) kldload "$x"; rc=$? ;;
|
||||
|
||||
@@ -37,6 +37,8 @@ servicename
|
||||
.Ar count
|
||||
.Fl N , -nicelevel
|
||||
.Ar level
|
||||
.Fl p , -pidfile
|
||||
.Ar supervisorpidfile
|
||||
.Fl P , -respawn-period
|
||||
.Ar seconds
|
||||
.Fl R , -retry
|
||||
@@ -122,6 +124,9 @@ If respawn-period is also set, more than respawn-max crashes must occur
|
||||
during respawn-period seconds to cause
|
||||
.Nm
|
||||
to give up and exit.
|
||||
.It Fl p , -pidfile Ar supervisorpidfile
|
||||
Sets a path for the supervisor's pid file. Note that this is not the pid
|
||||
file of the process that is being supervised.
|
||||
.It Fl N , -nicelevel Ar level
|
||||
Modifies the scheduling priority of the daemon.
|
||||
.It Fl P , -respawn-period Ar seconds
|
||||
@@ -151,6 +156,10 @@ The same thing as
|
||||
but with the standard error output.
|
||||
.El
|
||||
.Sh ENVIRONMENT
|
||||
.Va SSD_IONICELEVEL
|
||||
can also set the IO scheduling priority of the daemon, but the command line
|
||||
option takes precedence.
|
||||
.Pp
|
||||
.Va SSD_NICELEVEL
|
||||
can also set the scheduling priority of the daemon, but the command line
|
||||
option takes precedence.
|
||||
|
||||
@@ -18,9 +18,10 @@ if [ -f /proc/acpi/ac_adapter/*/state ]; then
|
||||
"state:"*"off-line") exit 128;;
|
||||
esac
|
||||
done
|
||||
elif [ -f /sys/class/power_supply/*/online ]; then
|
||||
cat /sys/class/power_supply/*/online | while read line; do
|
||||
[ "${line}" = 0 ] && exit 128
|
||||
elif [ -d /sys/class/power_supply ]; then
|
||||
for dir in /sys/class/power_supply/*/; do
|
||||
[ "$(cat "${dir}/type")" != "Mains" ] && continue
|
||||
[ "$(cat "${dir}/online")" = 0 ] && exit 128
|
||||
done
|
||||
elif [ -f /proc/pmu/info ]; then
|
||||
cat /proc/pmu/info | while read line; do
|
||||
|
||||
@@ -209,7 +209,7 @@ cgroup2_set_limits()
|
||||
cgroup_cleanup()
|
||||
{
|
||||
cgroup_running || return 0
|
||||
ebegin "starting cgroups cleanup"
|
||||
ebegin "Starting cgroups cleanup"
|
||||
local loops=0
|
||||
cgroup_get_pids
|
||||
if [ -n "${cgroup_pids}" ]; then
|
||||
@@ -219,7 +219,7 @@ cgroup_cleanup()
|
||||
kill -s HUP ${cgroup_pids} 2> /dev/null
|
||||
kill -s "${stopsig:-TERM}" ${cgroup_pids} 2> /dev/null
|
||||
cgroup_get_pids
|
||||
while [ -n "$(cgroup_pids)" ] &&
|
||||
while [ -n "${cgroup_pids}" ] &&
|
||||
[ "${loops}" -lt "${rc_timeout_stopsec:-90}" ]; do
|
||||
loops=$((loops+1))
|
||||
sleep 1
|
||||
|
||||
@@ -481,7 +481,8 @@ rc_runlevel_exists(const char *runlevel)
|
||||
char path[PATH_MAX];
|
||||
struct stat buf;
|
||||
|
||||
if (!runlevel || strcmp(runlevel, ".") == 0 || strcmp(runlevel, "..") == 0)
|
||||
if (!runlevel || strcmp(runlevel, "") == 0 || strcmp(runlevel, ".") == 0 ||
|
||||
strcmp(runlevel, "..") == 0)
|
||||
return false;
|
||||
snprintf(path, sizeof(path), "%s/%s", RC_RUNLEVELDIR, runlevel);
|
||||
if (stat(path, &buf) == 0 && S_ISDIR(buf.st_mode))
|
||||
|
||||
@@ -423,7 +423,8 @@ static void child_process(char *exec, char **argv)
|
||||
if ((strncmp(env->value, "RC_", 3) == 0 &&
|
||||
strncmp(env->value, "RC_SERVICE=", 11) != 0 &&
|
||||
strncmp(env->value, "RC_SVCNAME=", 11) != 0) ||
|
||||
strncmp(env->value, "SSD_NICELEVEL=", 14) == 0)
|
||||
strncmp(env->value, "SSD_NICELEVEL=", 14) == 0 ||
|
||||
strncmp(env->value, "SSD_IONICELEVEL=", 16) == 0)
|
||||
{
|
||||
p = strchr(env->value, '=');
|
||||
*p = '\0';
|
||||
@@ -733,6 +734,17 @@ int main(int argc, char **argv)
|
||||
if (sscanf(tmp, "%d", &nicelevel) != 1)
|
||||
eerror("%s: invalid nice level `%s' (SSD_NICELEVEL)",
|
||||
applet, tmp);
|
||||
if ((tmp = getenv("SSD_IONICELEVEL"))) {
|
||||
int n = sscanf(tmp, "%d:%d", &ionicec, &ioniced);
|
||||
if (n != 1 && n != 2)
|
||||
eerror("%s: invalid ionice level `%s' (SSD_IONICELEVEL)",
|
||||
applet, tmp);
|
||||
if (ionicec == 0)
|
||||
ioniced = 0;
|
||||
else if (ionicec == 3)
|
||||
ioniced = 7;
|
||||
ionicec <<= 13; /* class shift */
|
||||
}
|
||||
|
||||
/* Get our user name and initial dir */
|
||||
p = getenv("USER");
|
||||
|
||||
Reference in New Issue
Block a user