diff options
-rwxr-xr-x | extra/sinit/build | 11 | ||||
-rw-r--r-- | extra/sinit/checksums | 7 | ||||
-rw-r--r-- | extra/sinit/depends | 2 | ||||
-rw-r--r-- | extra/sinit/files/config.h | 3 | ||||
-rw-r--r-- | extra/sinit/files/poweroff | 3 | ||||
-rw-r--r-- | extra/sinit/files/reboot | 2 | ||||
-rw-r--r-- | extra/sinit/files/sinit-launch-services.boot | 14 | ||||
-rw-r--r-- | extra/sinit/files/sinit.post.shutdown | 16 | ||||
-rw-r--r-- | extra/sinit/files/sinit.pre.shutdown | 10 | ||||
-rwxr-xr-x | extra/sinit/post-install | 16 | ||||
-rw-r--r-- | extra/sinit/sources | 7 | ||||
-rw-r--r-- | extra/sinit/version | 1 |
12 files changed, 92 insertions, 0 deletions
diff --git a/extra/sinit/build b/extra/sinit/build new file mode 100755 index 00000000..182d70cf --- /dev/null +++ b/extra/sinit/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +make CFLAGS="$CFLAGS -static" PREFIX=/usr DESTDIR="$1" install +mv "$1/usr/bin/sinit" "$1/usr/bin/init" + +install -Dm755 poweroff "$1/usr/bin/poweroff" +install -Dm755 reboot "$1/usr/bin/reboot" + +install -Dm644 sinit-launch-services.boot "$1/etc/init/sinit-launch-services.boot" +install -Dm644 sinit.post.shutdown "$1/etc/init/sinit.post.shutdown" +install -Dm644 sinit.pre.shutdown "$1/etc/init/sinit.pre.shutdown" diff --git a/extra/sinit/checksums b/extra/sinit/checksums new file mode 100644 index 00000000..56f24244 --- /dev/null +++ b/extra/sinit/checksums @@ -0,0 +1,7 @@ +aaccd0515070545174bf962c462686e7719c02c68004bd0b350b98b4c78a90ba sinit-1.1.tar.gz +6f0f1a5f2f43b5bcfd4beaa93e1a49438d398cf758d7813bc6ba86b5156357a8 config.h +f638aaa23383da584d3a56347a8e279abdc7c9c521661ef54a5bc8b955c5632b reboot +d21a020d7cdb6a328962adac7cc1a8701a413c1dfabd40ac00bf7dc212fa29d1 poweroff +93f3b06594447598af207f44f2dde126f05724fde0a405bd15dd0f446ff26c6f sinit-launch-services.boot +2ea497694bbf778a05bbece13bac32c8d8c0be36469fe80ccee32c1501fbb392 sinit.pre.shutdown +2c161e2c97366e12c7994f832ee96f293485e6dd398a66070f8bd35949beb8e1 sinit.post.shutdown diff --git a/extra/sinit/depends b/extra/sinit/depends new file mode 100644 index 00000000..6ab349da --- /dev/null +++ b/extra/sinit/depends @@ -0,0 +1,2 @@ +carbs-init +ubase diff --git a/extra/sinit/files/config.h b/extra/sinit/files/config.h new file mode 100644 index 00000000..dca21e3f --- /dev/null +++ b/extra/sinit/files/config.h @@ -0,0 +1,3 @@ +static char *const rcinitcmd[] = { "/usr/lib/init/rc.boot", NULL }; +static char *const rcrebootcmd[] = { "/usr/lib/init/rc.shutdown", "reboot", NULL }; +static char *const rcpoweroffcmd[] = { "/usr/lib/init/rc.shutdown", "poweroff", NULL }; diff --git a/extra/sinit/files/poweroff b/extra/sinit/files/poweroff new file mode 100644 index 00000000..69e8f9a4 --- /dev/null +++ b/extra/sinit/files/poweroff @@ -0,0 +1,3 @@ +#!/bin/sh + +/bin/kill -s USR1 1 diff --git a/extra/sinit/files/reboot b/extra/sinit/files/reboot new file mode 100644 index 00000000..266afb92 --- /dev/null +++ b/extra/sinit/files/reboot @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/kill -s INT 1 diff --git a/extra/sinit/files/sinit-launch-services.boot b/extra/sinit/files/sinit-launch-services.boot new file mode 100644 index 00000000..4d4fad6a --- /dev/null +++ b/extra/sinit/files/sinit-launch-services.boot @@ -0,0 +1,14 @@ +# we are going to start runit and getty here + +sinit_run_getty() { + for getty in 1 2 3 4 5 6; do + ubase-box respawn /sbin/getty 38400 tty${getty} 2>&1 & + done +} + +sinit_runit() { + ubase-box respawn /usr/bin/runsvdir -P /var/service & +} + +[ "$SINIT_ENABLE_GETTY" = 1 ] && sinit_run_getty +[ "$SINIT_ENABLE_RUNIT" = 1 ] && sinit_runit diff --git a/extra/sinit/files/sinit.post.shutdown b/extra/sinit/files/sinit.post.shutdown new file mode 100644 index 00000000..16deba74 --- /dev/null +++ b/extra/sinit/files/sinit.post.shutdown @@ -0,0 +1,16 @@ +# vim:filetype=sh + +# We handle the shutdown from here + +if [ "$SINIT_SHUTDOWN_HOOKS" = 1 ]; then + case "$1" in + reboot) + out "Requesting system reboot..." + /usr/bin/ubase-box halt -r + ;; + poweroff) + out "Requesting system poweroff..." + /usr/bin/ubase-box halt -p + ;; + esac +fi diff --git a/extra/sinit/files/sinit.pre.shutdown b/extra/sinit/files/sinit.pre.shutdown new file mode 100644 index 00000000..af0d6f4f --- /dev/null +++ b/extra/sinit/files/sinit.pre.shutdown @@ -0,0 +1,10 @@ +if [ "$SINIT_SHUTDOWN_HOOKS" = 1 ]; then + case "$1" in + reboot|poweroff) + ;; + *) + echo "Invalid action '$1' for rc.shutdown" 1>&2 + exit 1 + ;; + esac +fi diff --git a/extra/sinit/post-install b/extra/sinit/post-install new file mode 100755 index 00000000..f9c906f2 --- /dev/null +++ b/extra/sinit/post-install @@ -0,0 +1,16 @@ +#!/bin/sh -e + +grep -q SINIT_ /etc/init/rc.conf || cat <<EOF >> /etc/init/rc.conf + +# Uncomment these to run the scripts for sinit +# SINIT_SHUTDOWN_HOOKS=1 +# SINIT_ENABLE_GETTY=1 +# SINIT_ENABLE_RUNIT=1 +EOF + +cat <<EOF + +Important: If you want to sinit to boot, edit your +/etc/init/rc.conf to enable SINIT variables." + +EOF diff --git a/extra/sinit/sources b/extra/sinit/sources new file mode 100644 index 00000000..34ee5bd1 --- /dev/null +++ b/extra/sinit/sources @@ -0,0 +1,7 @@ +https://dl.carbslinux.org/distfiles/sinit-1.1.tar.gz +files/config.h +files/reboot +files/poweroff +files/sinit-launch-services.boot +files/sinit.pre.shutdown +files/sinit.post.shutdown diff --git a/extra/sinit/version b/extra/sinit/version new file mode 100644 index 00000000..f8b0b375 --- /dev/null +++ b/extra/sinit/version @@ -0,0 +1 @@ +1.1 1 |