7 Commits
1.2 ... 1.6

Author SHA1 Message Date
3d142ebda7 add artix-svc wrapper 2023-11-07 17:30:58 +01:00
7a5877342a Merge pull request 's6: change early getty to tty12' (#22) from s6-early-getty into master
Reviewed-on: #22
2023-11-07 17:14:15 +01:00
6a1c2c55d9 s6: change early getty to tty12
Some things do actually use tty7, so tty12 is better as a backup getty.
2023-11-06 20:00:53 -06:00
09bc2d021b run udevadm trigger with -c change 2023-09-27 15:40:33 +02:00
8396101929 adopt esysusers & tmpfiles 2023-08-29 02:25:43 +02:00
1344532759 adopt etmpfiles & esysusers binaries 2023-08-18 18:46:07 +02:00
4ace40eddd udev: use separate udevadm settle call 2023-05-03 10:20:29 +02:00
6 changed files with 86 additions and 14 deletions

View File

@@ -33,9 +33,13 @@ UDEVHOOKS = $(wildcard udev/hooks/*)
BASESCRIPTS = $(wildcard base/scripts/*)
BASEHOOKS = $(wildcard base/hooks/*)
TMPFILESHOOKS = $(wildcard tmpfiles/hooks/*)
TMPFILESHOOKS = $(wildcard etmpfiles/hooks/*)
SYSUSERSHOOKS = $(wildcard sysusers/hooks/*)
SYSUSERSHOOKS = $(wildcard esysusers/hooks/*)
WRAPPER = $(wildcard wrapper/*)
WRAPPERDIR = $(PREFIX)/share/artix
DMODE = -dm0755
MODE = -m0644
@@ -105,4 +109,8 @@ install_dinit_at: install_hook_common
install_dinit_dbus: install_hook_common
install $(MODE) $(DINITDBUSHOOKS) $(DESTDIR)$(HOOKSDIR)
.PHONY: install install_base install_s6 install_openrc install_runit install_dinit
install_wrapper:
install $(DMODE) $(DESTDIR)$(WRAPPERDIR)
install $(EMODE) $(WRAPPER) $(DESTDIR)$(WRAPPERDIR)
.PHONY: install install_base install_s6 install_openrc install_runit install_dinit install_wrapper

View File

@@ -33,7 +33,7 @@ init_detect(){
s6_init_remake(){
# we need to ensure that s6-linux-init-maker is run on every machine
rm -rf /tmp/current
s6-linux-init-maker -1 -G "/usr/bin/agetty -L -8 tty7 115200" -c /etc/s6/current /tmp/current
s6-linux-init-maker -1 -G "/usr/bin/agetty -L -8 tty12 115200" -c /etc/s6/current /tmp/current
mv /tmp/current/bin/init /tmp/current/bin/s6-init
cp -a /tmp/current/bin /usr
rm -rf /tmp/current/{bin,scripts}

View File

@@ -7,4 +7,4 @@ Target = usr/lib/sysusers.d/*.conf
[Action]
Description = Creating system user accounts...
When = PostTransaction
Exec = /usr/bin/sysusers
Exec = /usr/bin/esysusers

View File

@@ -7,4 +7,4 @@ Target = usr/lib/tmpfiles.d/*.conf
[Action]
Description = Creating temporary files...
When = PostTransaction
Exec = /usr/bin/tmpfiles --create
Exec = /usr/bin/etmpfiles --create

View File

@@ -1,19 +1,28 @@
#!/bin/sh -e
udevd_live() {
if [ ! -d /run/udev ]; then
echo >&2 " Skipped: Device manager is not running."
exit 0
fi
if [ ! -d /run/udev ]; then
echo >&2 " Skipped: Device manager is not running."
exit 0
fi
}
op="$1"; shift
case "$op" in
# hwdb) /usr/bin/udevadm hwdb --update ;;
hwdb) /usr/bin/udev-hwdb --usr update ;;
udev-reload) udevd_live; /usr/bin/udevadm control --reload; /usr/bin/udevadm trigger ;;
*) echo >&2 " Invalid operation '$op'"; exit 1 ;;
hwdb)
/usr/bin/udev-hwdb --usr update
;;
udev-reload)
udevd_live
/usr/bin/udevadm control --reload
/usr/bin/udevadm trigger -c change
/usr/bin/udevadm settle
;;
*)
echo >&2 " Invalid operation '$op'"
exit 1
;;
esac
exit 0

55
wrapper/artix-svc Normal file
View File

@@ -0,0 +1,55 @@
#!/bin/sh
sv_start() {
case "$init" in
openrc) exec /usr/bin/rc-service "$1" start ;;
runit) exec /usr/bin/runsv /etc/runit/sv/"$1" ;;
s6) exec /usr/bin/s6-rc -u change "$1" ;;
dinit) exec /usr/bin/dinitctl start "$1" ;;
esac
}
sv_stop() {
case "$init" in
openrc) exec /usr/bin/rc-service "$1" stop ;;
runit) exec /usr/bin/sv stop /etc/runit/sv/"$1" ;;
s6) exec /usr/bin/s6-rc -d change "$1" ;;
dinit) exec /usr/bin/dinitctl stop "$1" ;;
esac
}
sv_enable() {
case "$init" in
openrc) exec /usr/bin/rc-update add "$1" default ;;
runit) ln -s /etc/runit/sv/"$1" /run/runit/service ;;
s6) exec /usr/bin/s6-service add default "$1" ;;
dinit) exec /usr/bin/dinitctl enable "$1" ;;
esac
}
sv_disable() {
case "$init" in
openrc) exec /usr/bin/rc-update del "$1" default ;;
runit) rm /run/runit/service/"$1" ;;
s6) exec /usr/bin/s6-service delete default "$1" ;;
dinit) exec /usr/bin/dinitctl disable "$1" ;;
esac
}
if [ -d /run/openrc ]; then
init=openrc
elif [-d /run/runit ]; then
init=runit
elif [ -d /run/s6-rc ]; then
init=s6
elif [ -S /run/dinitctl ]; then
init=dinit
fi
case "$1" in
start) shift; sv_start "$@" ;;
stop) shift; sv_stop "$@" ;;
enable) shift; sv_enable "$@" ;;
disable) shift; sv_disable "$@" ;;
esac