8 Commits

Author SHA1 Message Date
7aa0d2f443 +x 2020-09-05 11:47:26 +07:00
bf99596e5e add compatibility for existing users 2020-09-05 07:44:27 +07:00
397b46ff3f runit-artix: move rc.local and rc.shutdown to sysconfdir 2020-08-25 08:02:23 +07:00
ee63bf4a06 2/3: remove all deprecated files and add new OpenRC compatibility 2020-08-25 08:00:11 +07:00
bcd456603b 3: actually run rc.shutdown instead of rc.local, oops 2020-08-25 07:58:05 +07:00
Érico Rolim
c75de34303 ctrlaltdel: trigger a reboot properly.
/run/runit/{stopit,reboot} should have their perms set to 100 by
ctrlaltdel, before runit signals itself with SIGCONT, in order to
trigger a reboot. This script can be changed by a user to perform
different actions. The comments in it explain what each file is for.

Patch created for Void, imported to Artix.
2020-08-03 23:01:04 +07:00
Érico Rolim
6453301c3b 3: remove /run/runit/reboot handling.
runit uses the permissions in the /etc/runit/reboot file to determine
whether it's going to perform a halt or reboot action. This conditional
in 3 meant that touching the reboot file, even with 000 perms, would
lead to a reboot, which goes agains what is expected according to the
runit documentation.

Patch made for Void, imported to Artix.
2020-08-03 23:00:29 +07:00
Érico Rolim
454078d6a0 1: only create /run/runit directory.
The 100 permission in /run/runit/stopit made it so that signaling runit
with SIGCONT would shut the system down. To achieve the correct
behavior, we should create the stopit and reboot files with 000 perms,
and allow their permissions to be set correctly by calls to `init 0` or
`init 6` or by /etc/runit/ctrlaltdel.

Patch created for Void, imported to Artix.
2020-08-03 22:59:27 +07:00
9 changed files with 44 additions and 31 deletions

View File

@@ -26,7 +26,7 @@ STAGES = \
script/3 \ script/3 \
script/ctrlaltdel script/ctrlaltdel
RCLOCAL = script/rc.local script/rc.shutdown RCLOCAL = script/rc.local.start script/rc.shutdown.stop
AGETTY_CONSOLE = $(wildcard sv/agetty-console/*) AGETTY_CONSOLE = $(wildcard sv/agetty-console/*)
AGETTY_CONSOLE_S = supervise.agetty-console AGETTY_CONSOLE_S = supervise.agetty-console
@@ -118,8 +118,8 @@ install-runit:
$(LN) $(RUNDIR)/reboot $(DESTDIR)$(RUNITDIR)/ $(LN) $(RUNDIR)/reboot $(DESTDIR)$(RUNITDIR)/
$(LN) $(RUNDIR)/stopit $(DESTDIR)$(RUNITDIR)/ $(LN) $(RUNDIR)/stopit $(DESTDIR)$(RUNITDIR)/
install -d $(DESTDIR)$(RCDIR) install -d $(DESTDIR)$(SYSCONFDIR)/local.d
install -m755 $(RCLOCAL) $(DESTDIR)$(RCDIR) install -m755 $(RCLOCAL) $(DESTDIR)$(SYSCONFDIR)/local.d
install -d $(DESTDIR)$(BINDIR) install -d $(DESTDIR)$(BINDIR)
install -m755 $(BIN) $(DESTDIR)$(BINDIR) install -m755 $(BIN) $(DESTDIR)$(BINDIR)

View File

@@ -6,6 +6,7 @@ PATH=/usr/bin:/usr/sbin
run_sysinit run_sysinit
install -m100 /dev/null @RUNDIR@/stopit install -m000 /dev/null @RUNDIR@/stopit
install -m000 /dev/null @RUNDIR@/reboot
status "Initialization complete" status "Initialization complete"

View File

@@ -10,13 +10,11 @@ for arg in $(cat /proc/cmdline); do
fi fi
done done
if [ -x @RCDIR@/rc.local ] && grep -qv '^#' @RCDIR@/rc.local; then # Hacky hacky OpenRC compatibility
@RCDIR@/rc.local for script in @SYSCONFDIR@/local.d/*.start; do
echo "==> @RCDIR@/rc.local has been deprecated. Please move the contents" [ -x "$script" ] && "$script"
echo " of the file to @SYSCONFDIR@/rc.local, since the next version of" done
echo " runit-artix won't read @RCDIR@/rc.local anymore."
fi
[ -x @SYSCONFDIR@/rc.local ] && @SYSCONFDIR@/rc.local
runsvchdir "${runlevel}" runsvchdir "${runlevel}"
ln -s @RUNSVDIR@/current @SERVICEDIR@ ln -s @RUNSVDIR@/current @SERVICEDIR@

View File

@@ -11,17 +11,10 @@ stat_busy "Exit services ..."
sv exit @RUNDIR@/service/* sv exit @RUNDIR@/service/*
stat_done stat_done
if [ -x @RCDIR@/rc.shutdown ] && grep -qv '^#' @RCDIR@/rc.shutdown; then # Hacky hacky OpenRC compatibility
@RCDIR@/rc.shutdown for script in @SYSCONFDIR@/local.d/*.stop; do
echo "==> @RCDIR@/rc.shutdown has been depreacted. Please move the contents" [ -x "$script" ] && "$script"
echo " of the file to @SYSCONFDIR@/rc.shutdown since the next version of" done
echo " runit-artix won't read @RCDIR@/rc.shutdown anymore."
fi
[ -x @SYSCONFDIR@/rc.local ] && @SYSCONFDIR@/rc.local
if [ -e @RUNDIR@/reboot ]; then
chmod 100 @RUNDIR@/reboot
fi
run_shutdown run_shutdown

View File

@@ -3,8 +3,11 @@
PATH=/usr/bin:/usr/sbin PATH=/usr/bin:/usr/sbin
MSG="System is going down..." MSG="System is going down..."
# We check for this file after receiving a SIGCONT to move to stage3
chmod 100 @RUNDIR@/stopit
# We check for this file in stage3 to halt or reboot # We check for this file in stage3 to halt or reboot
touch @RUNDIR@/reboot chmod 100 @RUNDIR@/reboot
# Proceed with shutdown process # Proceed with shutdown process
echo "$MSG" | wall echo "$MSG" | wall

View File

@@ -1,4 +0,0 @@
# @SYSCONFDIR@/rc.local -- rc.local for Artix Linux
#
# Enter your custom commands here. It will be executed on stage 2
# before running services.

13
script/rc.local.start.in Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
if [ ! -x @SYSCONFDIR@/rc.local ]; then
cat > @SYSCONFDIR@/rc.local << EOF
# @SYSCONFDIR@/rc.local -- rc.local for Artix Linux
#
# Enter your custom commands here. It will be executed on stage 2
# before running services.
EOF
chmod +x @SYSCONFDIR@/rc.local
fi
. @SYSCONFDIR@/rc.local

View File

@@ -1,4 +0,0 @@
# @SYSCONFDIR@/rc.shutdown -- rc.shutdown for Artix Linux
#
# Enter your custom commands here. It will be executed on stage 3
# after stopping services.

View File

@@ -0,0 +1,13 @@
#!/bin/sh
if [ ! -x @SYSCONFDIR@/rc.shutdown ]; then
cat > @SYSCONFDIR@/rc.shutdown << EOF
# @SYSCONFDIR@/rc.shutdown -- rc.shutdown for Artix Linux
#
# Enter your custom commands here. It will be executed on stage 3
# after stopping services.
EOF
chmod +x @SYSCONFDIR@/rc.shutdown
fi
. @SYSCONFDIR@/rc.shutdown