From 3e90bcf9811dd3dc5d397fbfe18d0ed84a4fac65 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Mon, 13 Jan 2020 23:13:19 +0300 Subject: repository: move ubase and sinit to core --- core/sinit/build | 11 +++++++++++ core/sinit/checksums | 7 +++++++ core/sinit/depends | 2 ++ core/sinit/files/config.h | 3 +++ core/sinit/files/poweroff | 3 +++ core/sinit/files/reboot | 2 ++ core/sinit/files/sinit-launch-services.boot | 14 ++++++++++++++ core/sinit/files/sinit.post.shutdown | 16 ++++++++++++++++ core/sinit/files/sinit.pre.shutdown | 10 ++++++++++ core/sinit/post-install | 16 ++++++++++++++++ core/sinit/sources | 7 +++++++ core/sinit/version | 1 + 12 files changed, 92 insertions(+) create mode 100755 core/sinit/build create mode 100644 core/sinit/checksums create mode 100644 core/sinit/depends create mode 100644 core/sinit/files/config.h create mode 100644 core/sinit/files/poweroff create mode 100644 core/sinit/files/reboot create mode 100644 core/sinit/files/sinit-launch-services.boot create mode 100644 core/sinit/files/sinit.post.shutdown create mode 100644 core/sinit/files/sinit.pre.shutdown create mode 100755 core/sinit/post-install create mode 100644 core/sinit/sources create mode 100644 core/sinit/version (limited to 'core/sinit') diff --git a/core/sinit/build b/core/sinit/build new file mode 100755 index 00000000..182d70cf --- /dev/null +++ b/core/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/core/sinit/checksums b/core/sinit/checksums new file mode 100644 index 00000000..56f24244 --- /dev/null +++ b/core/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/core/sinit/depends b/core/sinit/depends new file mode 100644 index 00000000..6ab349da --- /dev/null +++ b/core/sinit/depends @@ -0,0 +1,2 @@ +carbs-init +ubase diff --git a/core/sinit/files/config.h b/core/sinit/files/config.h new file mode 100644 index 00000000..dca21e3f --- /dev/null +++ b/core/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/core/sinit/files/poweroff b/core/sinit/files/poweroff new file mode 100644 index 00000000..69e8f9a4 --- /dev/null +++ b/core/sinit/files/poweroff @@ -0,0 +1,3 @@ +#!/bin/sh + +/bin/kill -s USR1 1 diff --git a/core/sinit/files/reboot b/core/sinit/files/reboot new file mode 100644 index 00000000..266afb92 --- /dev/null +++ b/core/sinit/files/reboot @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/kill -s INT 1 diff --git a/core/sinit/files/sinit-launch-services.boot b/core/sinit/files/sinit-launch-services.boot new file mode 100644 index 00000000..4d4fad6a --- /dev/null +++ b/core/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/core/sinit/files/sinit.post.shutdown b/core/sinit/files/sinit.post.shutdown new file mode 100644 index 00000000..16deba74 --- /dev/null +++ b/core/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/core/sinit/files/sinit.pre.shutdown b/core/sinit/files/sinit.pre.shutdown new file mode 100644 index 00000000..af0d6f4f --- /dev/null +++ b/core/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/core/sinit/post-install b/core/sinit/post-install new file mode 100755 index 00000000..f9c906f2 --- /dev/null +++ b/core/sinit/post-install @@ -0,0 +1,16 @@ +#!/bin/sh -e + +grep -q SINIT_ /etc/init/rc.conf || cat <> /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 <