From 47206f508787c0ed8f33d6e3377b3ad01465a7f4 Mon Sep 17 00:00:00 2001 From: teldra Date: Mon, 22 Jun 2020 01:43:05 +0200 Subject: [PATCH 01/25] New package: boot-66serv-2.2.1 based on: https://github.com/void-linux/void-packages/pull/23122 https://github.com/void-linux/void-packages/pull/21142 [ci-skip] --- srcpkgs/boot-66serv/files/66 | 2 ++ srcpkgs/boot-66serv/files/runit | 16 ++++++++++++ srcpkgs/boot-66serv/files/switch-initutils | 22 ++++++++++++++++ srcpkgs/boot-66serv/files/tty@ | 12 +++++++++ srcpkgs/boot-66serv/template | 30 ++++++++++++++++++++++ 5 files changed, 82 insertions(+) create mode 100644 srcpkgs/boot-66serv/files/66 create mode 100644 srcpkgs/boot-66serv/files/runit create mode 100755 srcpkgs/boot-66serv/files/switch-initutils create mode 100644 srcpkgs/boot-66serv/files/tty@ create mode 100644 srcpkgs/boot-66serv/template diff --git a/srcpkgs/boot-66serv/files/66 b/srcpkgs/boot-66serv/files/66 new file mode 100644 index 00000000000..c82ece19fc5 --- /dev/null +++ b/srcpkgs/boot-66serv/files/66 @@ -0,0 +1,2 @@ +#!/usr/bin/execlineb -P +66-boot -b "Booting Voidlinux" -m diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit new file mode 100644 index 00000000000..9c25c7dff43 --- /dev/null +++ b/srcpkgs/boot-66serv/files/runit @@ -0,0 +1,16 @@ +[main] +@type = longrun +@version = @VERSION@ +@description = "runit" +@user = (root) +@options = ( log ) + +[start] +@execute = ( /etc/runit/2 ) + +[stop] +@execute = ( exec-cmdline -s { sv force-stop /var/service/*; sv exit /var/service/* } ) + +[logger] +@backup = 3 +@maxsize = 1000000 diff --git a/srcpkgs/boot-66serv/files/switch-initutils b/srcpkgs/boot-66serv/files/switch-initutils new file mode 100755 index 00000000000..3919274b0f7 --- /dev/null +++ b/srcpkgs/boot-66serv/files/switch-initutils @@ -0,0 +1,22 @@ +# This service automatically moves +# /usr/bin/{reboot,poweroff,halt,shutdown} +# so that if started with 66, users can shutdown etc. with it. +# It automatically moves everything back if started with +# runit again. +# This is run by runit and 66 + +if grep -q "init=/usr/bin/66" /proc/cmdline; then + for i in reboot poweroff halt shutdown; do + if ! test -e /usr/bin/${i}.runit; then + mv /usr/bin/${i} /usr/bin/${i}.runit + ln -s /etc/66/${i} /usr/bin/${i} + fi + done +else + for i in reboot poweroff halt shutdown; do + if test -e /usr/bin/${i}.runit; then + rm /usr/bin/${i} + mv /usr/bin/${i}.runit /usr/bin/${i} + fi + done +fi diff --git a/srcpkgs/boot-66serv/files/tty@ b/srcpkgs/boot-66serv/files/tty@ new file mode 100644 index 00000000000..7b72f625d84 --- /dev/null +++ b/srcpkgs/boot-66serv/files/tty@ @@ -0,0 +1,12 @@ +[main] +@type = classic +@version = @VERSION@ +@description = "Launch @I" +@user = ( root ) +@options = ( env ) + +[start] +@execute = ( execl-cmdline -s { agetty ${cmd_args} @I } ) + +[environment] +cmd_args=!-J 38400 diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template new file mode 100644 index 00000000000..1a57510f3cf --- /dev/null +++ b/srcpkgs/boot-66serv/template @@ -0,0 +1,30 @@ +# Template file for 'boot-66serv' +pkgname=boot-66serv +version=2.2.1 +revision=1 +wrksrc=${pkgname}-v${version} +build_style=gnu-configure +configure_args="--HOSTNAME=voidlinux --TTY=!4 + --KEYMAP=!us --TZ=Europe/Madrid" +make_install_target="install install-man install-html" +hostmakedepends="lowdown" +makedepends="file" +depends="s6 s6-rc s6-linux-utils s6-portable-utils 66 66-tools" +short_desc="Stage 1 boot for 66" +maintainer="mobinmob " +# previous maintainer="teldra " +license="ISC" +homepage="https://framagit.org/Obarun/boot-66serv" +conf_files="/etc/66/rc.local" +distfiles="https://framagit.org/Obarun/${pkgname}/-/archive/v${version}/${pkgname}-v${version}.tar.gz" +checksum=34eac7f84dd9cafda78a7b5a21eed484e9d6b52e8fba0ade6dbb5f1567def84d + +post_install() { + vinstall ${FILESDIR}/switch-initutils 644 etc/runit/core-services 99-switch-initutils.sh + vbin ${FILESDIR}/66 + vlicense LICENSE + vinstall ${FILESDIR}/tty@ 644 usr/share/66/service/ + vsed -i "s/@VERSION@/${version}/" "${DESTDIR}/usr/share/66/service/tty@" + vinstall ${FILESDIR}/runit 644 usr/share/66/service/ + vsed -i "s/@VERSION@/${version}/" "${DESTDIR}/usr/share/66/service/runit" +} From f4687eeb4a15f29e9c1644259326e0d6601cf1da Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 8 Nov 2020 17:08:32 +0200 Subject: [PATCH 02/25] improve runit service frontend file. --- srcpkgs/boot-66serv/files/runit | 18 ++++++++++++++++-- srcpkgs/boot-66serv/template | 2 ++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index 9c25c7dff43..c5e36bbfa4f 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -6,10 +6,24 @@ @options = ( log ) [start] -@execute = ( /etc/runit/2 ) +@build = custom +@shebang = ( "/bin/sh" ) +@execute = ( +PATH=/usr/bin:/usr/sbin + +runlevel=66 + +runsvchdir "${runlevel}" +mkdir -p /run/runit/runsvdir +ln -s /etc/runit/runsvdir/current /run/runit/runsvdir/current + +exec env - PATH=$PATH \ + runsvdir -P /run/runit/runsvdir/current 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................' + + ) [stop] -@execute = ( exec-cmdline -s { sv force-stop /var/service/*; sv exit /var/service/* } ) +@execute = ( execl-cmdline -s { sv force-stop /var/service/*; sv exit /var/service/* } ) [logger] @backup = 3 diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 1a57510f3cf..f953ead216e 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -19,6 +19,8 @@ conf_files="/etc/66/rc.local" distfiles="https://framagit.org/Obarun/${pkgname}/-/archive/v${version}/${pkgname}-v${version}.tar.gz" checksum=34eac7f84dd9cafda78a7b5a21eed484e9d6b52e8fba0ade6dbb5f1567def84d +make_dirs="/etc/runit/runsvdir/66 0750 root root" + post_install() { vinstall ${FILESDIR}/switch-initutils 644 etc/runit/core-services 99-switch-initutils.sh vbin ${FILESDIR}/66 From cfab5918de488ac97a293ca910dc336643a63e4c Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 24 Nov 2020 01:54:26 +0200 Subject: [PATCH 03/25] make [stop] do its job :P --- srcpkgs/boot-66serv/files/runit | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index c5e36bbfa4f..fe741ff2bd8 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -23,7 +23,11 @@ exec env - PATH=$PATH \ ) [stop] -@execute = ( execl-cmdline -s { sv force-stop /var/service/*; sv exit /var/service/* } ) +@build = custom +@shebang = ( "/bin/sh" ) +@execute = ( + sv force-stop /var/service/* + sv exit /var/service/* ) [logger] @backup = 3 From 61cf4cd4cb06a283773cd8ce6be847d661b87919 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 25 Nov 2020 21:24:43 +0200 Subject: [PATCH 04/25] Separate switch-initutils code for runit and 66, and document both consistently. --- srcpkgs/boot-66serv/files/switch-initutils | 34 +++++++++------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/srcpkgs/boot-66serv/files/switch-initutils b/srcpkgs/boot-66serv/files/switch-initutils index 3919274b0f7..b596b3ba95f 100755 --- a/srcpkgs/boot-66serv/files/switch-initutils +++ b/srcpkgs/boot-66serv/files/switch-initutils @@ -1,22 +1,14 @@ -# This service automatically moves -# /usr/bin/{reboot,poweroff,halt,shutdown} -# so that if started with 66, users can shutdown etc. with it. -# It automatically moves everything back if started with -# runit again. -# This is run by runit and 66 +# This core service checks for /usr/bin/{reboot,poweroff,halt,shutdown} +# and if they are part of 66 it deletes them and moves the runit +# utilities in their place. It runs by default. There is a similar +# oneshot service for 66 that does the opposite and should be enabled. +# The script make sure that the user has the proper utilities for the +# init system they are currently running. + +for i in reboot poweroff halt shutdown; do + if test -e /usr/bin/${i}.runit; then + rm /usr/bin/${i} + mv /usr/bin/${i}.runit /usr/bin/${i} + fi +done -if grep -q "init=/usr/bin/66" /proc/cmdline; then - for i in reboot poweroff halt shutdown; do - if ! test -e /usr/bin/${i}.runit; then - mv /usr/bin/${i} /usr/bin/${i}.runit - ln -s /etc/66/${i} /usr/bin/${i} - fi - done -else - for i in reboot poweroff halt shutdown; do - if test -e /usr/bin/${i}.runit; then - rm /usr/bin/${i} - mv /usr/bin/${i}.runit /usr/bin/${i} - fi - done -fi From ee08788f0d7adfffc19c84ab8f69bcbf10c5fbd4 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 15 Dec 2020 23:47:29 +0200 Subject: [PATCH 05/25] add the 66 frontend file in the package. --- srcpkgs/boot-66serv/files/switch-initutils-66 | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 srcpkgs/boot-66serv/files/switch-initutils-66 diff --git a/srcpkgs/boot-66serv/files/switch-initutils-66 b/srcpkgs/boot-66serv/files/switch-initutils-66 new file mode 100644 index 00000000000..1bf6c724745 --- /dev/null +++ b/srcpkgs/boot-66serv/files/switch-initutils-66 @@ -0,0 +1,28 @@ + +# This oneshot service checks for /usr/bin/{reboot,poweroff,halt,shutdown} +# and if they are part of runit-void it renames them and copies the 66 +# utilities in their place. It must be enabled, especially if one +# changes between the two init systems. There is a similar script for +# runit core-services that does the opposite and runs by default with runit. +# The service makes sure that the user has the proper utilities for the +# init system they are currently running. + +[main] +@type = oneshot +@version = @VERSION@ +@description = "Switch initutils" +@user = ( root ) + +[start] +@build = custom +@shebang = "/bin/sh -c" +@execute = ( +if grep -q "init=/usr/bin/66" /proc/cmdline; then + for i in reboot poweroff halt shutdown; do + if ! test -e /usr/bin/${i}.runit; then + mv /usr/bin/${i} /usr/bin/${i}.runit + cp /etc/66/${i} /usr/bin/${i} + fi + done +fi +) From fb214c1b4c3b52b15cbf8597e5f2c008f198d371 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 15 Dec 2020 23:51:22 +0200 Subject: [PATCH 06/25] install switch-initutils for 66 and change how the '@version' key is set. --- srcpkgs/boot-66serv/template | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index f953ead216e..fa659c37010 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -25,8 +25,12 @@ post_install() { vinstall ${FILESDIR}/switch-initutils 644 etc/runit/core-services 99-switch-initutils.sh vbin ${FILESDIR}/66 vlicense LICENSE + # @version should be incremented only when there is a change in the specific + # frontend service file. vinstall ${FILESDIR}/tty@ 644 usr/share/66/service/ - vsed -i "s/@VERSION@/${version}/" "${DESTDIR}/usr/share/66/service/tty@" + vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/tty@" vinstall ${FILESDIR}/runit 644 usr/share/66/service/ - vsed -i "s/@VERSION@/${version}/" "${DESTDIR}/usr/share/66/service/runit" + vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/runit" + vinstall ${FILESDIR}/switch-initutils-66 644 usr/share/66/service/ switch-initutils + vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/switch-initutils" } From d49d78bb2917542c76a67fb586927d7e0fa48b2e Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 28 Dec 2020 23:57:01 +0200 Subject: [PATCH 07/25] New package: void-66-services-0.0.1 --- srcpkgs/void-66-services/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/void-66-services/template diff --git a/srcpkgs/void-66-services/template b/srcpkgs/void-66-services/template new file mode 100644 index 00000000000..7ed84c93713 --- /dev/null +++ b/srcpkgs/void-66-services/template @@ -0,0 +1,17 @@ +# Template file for 'void-66-services' +pkgname=void-66-services +version=0.0.1 +revision=1 +build_style=gnu-makefile +depends="66" +short_desc="66 service frontend files for voidlinux" +maintainer="mobinmob " +license="BSD-2-Clause" +homepage="https://github.com/mobinmob/void-66-services/" +distfiles="https://github.com/mobinmob/void-66-services/archive/v${version}.tar.gz" +checksum=ca223594ebae8e7a79e16f150bbebd44878143c07b928c9985020b5183175b95 + +post_install() { + vlicense LICENSE + vlicense AUTHORS +} From 7a301a2d91316f5c7d13e85d3900ba627c2b2ccd Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 3 Jan 2021 16:22:47 +0200 Subject: [PATCH 08/25] more work on the runit service. --- srcpkgs/boot-66serv/files/runit | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index fe741ff2bd8..d3d60bb82dd 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -1,5 +1,5 @@ [main] -@type = longrun +@type = classic @version = @VERSION@ @description = "runit" @user = (root) @@ -14,20 +14,19 @@ PATH=/usr/bin:/usr/sbin runlevel=66 runsvchdir "${runlevel}" -mkdir -p /run/runit/runsvdir -ln -s /etc/runit/runsvdir/current /run/runit/runsvdir/current - -exec env - PATH=$PATH \ - runsvdir -P /run/runit/runsvdir/current 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................' +s6-mkdir -v -p /run/runit/runsvdir +s6-ln -s /etc/runit/runsvdir/current /run/runit/runsvdir/current +exec s6-env PATH=$PATH \ + runsvdir -P /run/runit/runsvdir/current ) [stop] @build = custom @shebang = ( "/bin/sh" ) @execute = ( - sv force-stop /var/service/* - sv exit /var/service/* ) + sv force-stop /var/service/* + sv exit /var/service/* ) [logger] @backup = 3 From 8698f6592540c763c492863ad12965476ca9f19f Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 3 Jan 2021 17:13:57 +0200 Subject: [PATCH 09/25] add -i switch to s6-env: the /etc/runit/2 script uses - which is non-standard but in gnu coreutils and busybox does the same as -i. --- srcpkgs/boot-66serv/files/runit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index d3d60bb82dd..362266bad06 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -17,7 +17,7 @@ runsvchdir "${runlevel}" s6-mkdir -v -p /run/runit/runsvdir s6-ln -s /etc/runit/runsvdir/current /run/runit/runsvdir/current -exec s6-env PATH=$PATH \ +exec s6-env -i PATH=$PATH \ runsvdir -P /run/runit/runsvdir/current ) From 2dbabb16042397485d07d6d14552da1157333931 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 23 Jan 2021 22:07:22 +0200 Subject: [PATCH 10/25] boot-66serv: update to 2.3.0 adapt to new 66 version. --- srcpkgs/boot-66serv/files/runit | 10 ++++------ srcpkgs/boot-66serv/files/tty@ | 1 - srcpkgs/boot-66serv/template | 8 ++++---- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index 362266bad06..3a0f89f8707 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -3,12 +3,11 @@ @version = @VERSION@ @description = "runit" @user = (root) -@options = ( log ) [start] @build = custom @shebang = ( "/bin/sh" ) -@execute = ( +@execute = ( PATH=/usr/bin:/usr/sbin runlevel=66 @@ -24,10 +23,9 @@ exec s6-env -i PATH=$PATH \ [stop] @build = custom @shebang = ( "/bin/sh" ) -@execute = ( - sv force-stop /var/service/* - sv exit /var/service/* ) +@execute = ( sv force-stop /var/service/* } + sv exit /var/service/* ) [logger] -@backup = 3 +@backup = 3 @maxsize = 1000000 diff --git a/srcpkgs/boot-66serv/files/tty@ b/srcpkgs/boot-66serv/files/tty@ index 7b72f625d84..f4a783bde6c 100644 --- a/srcpkgs/boot-66serv/files/tty@ +++ b/srcpkgs/boot-66serv/files/tty@ @@ -3,7 +3,6 @@ @version = @VERSION@ @description = "Launch @I" @user = ( root ) -@options = ( env ) [start] @execute = ( execl-cmdline -s { agetty ${cmd_args} @I } ) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index fa659c37010..c088b82dd9e 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -1,6 +1,6 @@ # Template file for 'boot-66serv' pkgname=boot-66serv -version=2.2.1 +version=2.3.0 revision=1 wrksrc=${pkgname}-v${version} build_style=gnu-configure @@ -14,10 +14,10 @@ short_desc="Stage 1 boot for 66" maintainer="mobinmob " # previous maintainer="teldra " license="ISC" -homepage="https://framagit.org/Obarun/boot-66serv" +homepage="https://framagit.org/pkg/obmods/boot-66serv" conf_files="/etc/66/rc.local" -distfiles="https://framagit.org/Obarun/${pkgname}/-/archive/v${version}/${pkgname}-v${version}.tar.gz" -checksum=34eac7f84dd9cafda78a7b5a21eed484e9d6b52e8fba0ade6dbb5f1567def84d +distfiles="https://framagit.org/pkg/obmods/boot-66serv/-/archive/v${version}/boot-66serv-v${version}.tar.bz2" +checksum=03b692700030eaae1e882b6df97e84cbbf0180e067291342d5ed9117047475ba make_dirs="/etc/runit/runsvdir/66 0750 root root" From 0d24eaa638de08589a8b8bdd7776006a93cb86d7 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 1 Feb 2021 19:20:01 +0200 Subject: [PATCH 11/25] remove tty@ frontend service file - no longer needed. --- srcpkgs/boot-66serv/files/tty@ | 11 ----------- srcpkgs/boot-66serv/template | 2 -- 2 files changed, 13 deletions(-) delete mode 100644 srcpkgs/boot-66serv/files/tty@ diff --git a/srcpkgs/boot-66serv/files/tty@ b/srcpkgs/boot-66serv/files/tty@ deleted file mode 100644 index f4a783bde6c..00000000000 --- a/srcpkgs/boot-66serv/files/tty@ +++ /dev/null @@ -1,11 +0,0 @@ -[main] -@type = classic -@version = @VERSION@ -@description = "Launch @I" -@user = ( root ) - -[start] -@execute = ( execl-cmdline -s { agetty ${cmd_args} @I } ) - -[environment] -cmd_args=!-J 38400 diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index c088b82dd9e..4747249557d 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -27,8 +27,6 @@ post_install() { vlicense LICENSE # @version should be incremented only when there is a change in the specific # frontend service file. - vinstall ${FILESDIR}/tty@ 644 usr/share/66/service/ - vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/tty@" vinstall ${FILESDIR}/runit 644 usr/share/66/service/ vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/runit" vinstall ${FILESDIR}/switch-initutils-66 644 usr/share/66/service/ switch-initutils From ad90bd54dc8d10b4b937e13c7c59fe315ff72721 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Feb 2021 02:13:34 +0200 Subject: [PATCH 12/25] create symlink in /etc/66conf.rc that points to the conf file of boot@system. --- srcpkgs/boot-66serv/template | 2 ++ 1 file changed, 2 insertions(+) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 4747249557d..4fce1c84b8a 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -24,6 +24,8 @@ make_dirs="/etc/runit/runsvdir/66 0750 root root" post_install() { vinstall ${FILESDIR}/switch-initutils 644 etc/runit/core-services 99-switch-initutils.sh vbin ${FILESDIR}/66 + # Create symlink for the boot@system service configuration file + ln -s /etc/66/conf/boot@system/version/boot@system "${DESTDIR}/etc/66rc.conf" vlicense LICENSE # @version should be incremented only when there is a change in the specific # frontend service file. From bc71d03b541848c9ecac342b6cdafcbf5f4e0454 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 4 Feb 2021 21:47:25 +0200 Subject: [PATCH 13/25] add 66boot-initial-setup script, small fixes in the template. --- .../boot-66serv/files/66boot-initial-setup | 33 +++++++++++++++++++ srcpkgs/boot-66serv/template | 19 ++++++++--- 2 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/boot-66serv/files/66boot-initial-setup diff --git a/srcpkgs/boot-66serv/files/66boot-initial-setup b/srcpkgs/boot-66serv/files/66boot-initial-setup new file mode 100644 index 00000000000..8d289de798b --- /dev/null +++ b/srcpkgs/boot-66serv/files/66boot-initial-setup @@ -0,0 +1,33 @@ +#!/bin/sh + +# Script must run as root, otherwise it creates trees +# as the user. +user=$(id -u) +s6-test "$user" -ne 0 && printf "You need to run this script as root! \n" && exit 1 + +# Infromataion for the user, in case of failure. 66 output is informative, this +# is just a pointer to the docs. +msg_trees() { + printf "Some trees and/or files are already present in the system.\nIf you want to remove them, consult the 66-tree documentation.\n" + exit 1 +} + +# Create the mandatory boot tree. +66-tree -n boot || msg_trees +# Enable the boot@system service in the boot tree. +66-enable -F -t boot boot@system || msg_trees +# Copy the default boot@conf so that is will survive updates and be accesible +# though /etc/66rc.conf. +cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system || msg_trees + +# Create default tree, enable it and make it current. +66-tree -nEc default || msg_trees +# Enable switch-initutils oneshot service in the default tree. +66-enable switch-initutils || msg_trees + +# Create and enable runit tree. +66-tree -nE runit || msg_trees +# Enable the runit service in the runit tree. +66-enable -t runit runit || msg_trees +# Start runit tree after the default tree. +66-tree -S default runit || msg_trees diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 4fce1c84b8a..4c3e1f5cca7 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -22,15 +22,24 @@ checksum=03b692700030eaae1e882b6df97e84cbbf0180e067291342d5ed9117047475ba make_dirs="/etc/runit/runsvdir/66 0750 root root" post_install() { - vinstall ${FILESDIR}/switch-initutils 644 etc/runit/core-services 99-switch-initutils.sh - vbin ${FILESDIR}/66 + + # Install the switch-initutils core service for runit. + vinstall "${FILESDIR}"/switch-initutils 644 etc/runit/core-services 99-switch-initutils.sh + # Install the 66 wrapper for 66-boot + vbin "${FILESDIR}"/66 + # Install the 66boot-initial-setup utility + vbin "${FILESDIR}"/66boot-initial-setup # Create symlink for the boot@system service configuration file ln -s /etc/66/conf/boot@system/version/boot@system "${DESTDIR}/etc/66rc.conf" - vlicense LICENSE + + # Install runit and switch-initutils services for 66 # @version should be incremented only when there is a change in the specific # frontend service file. - vinstall ${FILESDIR}/runit 644 usr/share/66/service/ + vinstall "${FILESDIR}"/runit 644 usr/share/66/service/ vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/runit" - vinstall ${FILESDIR}/switch-initutils-66 644 usr/share/66/service/ switch-initutils + vinstall "${FILESDIR}"/switch-initutils-66 644 usr/share/66/service/ switch-initutils vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/switch-initutils" + + # Install license file + vlicense LICENSE } From 2c01d3b32fef2861848ac289a734914167d26b9b Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 4 Feb 2021 22:20:01 +0200 Subject: [PATCH 14/25] Fixes proposed by @ericonr. --- srcpkgs/boot-66serv/files/66 | 2 +- srcpkgs/boot-66serv/files/runit | 2 +- srcpkgs/boot-66serv/template | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/srcpkgs/boot-66serv/files/66 b/srcpkgs/boot-66serv/files/66 index c82ece19fc5..2e5bb6a10a5 100644 --- a/srcpkgs/boot-66serv/files/66 +++ b/srcpkgs/boot-66serv/files/66 @@ -1,2 +1,2 @@ #!/usr/bin/execlineb -P -66-boot -b "Booting Voidlinux" -m +66-boot -b "Booting Void Linux" -m diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index 3a0f89f8707..9f0f36d73c3 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -8,7 +8,7 @@ @build = custom @shebang = ( "/bin/sh" ) @execute = ( -PATH=/usr/bin:/usr/sbin +PATH=/usr/bin runlevel=66 diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 4c3e1f5cca7..0efd5480a01 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -12,7 +12,6 @@ makedepends="file" depends="s6 s6-rc s6-linux-utils s6-portable-utils 66 66-tools" short_desc="Stage 1 boot for 66" maintainer="mobinmob " -# previous maintainer="teldra " license="ISC" homepage="https://framagit.org/pkg/obmods/boot-66serv" conf_files="/etc/66/rc.local" From 8dc72073971b34d33eef1324b41550e545a0b7b4 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Fri, 5 Feb 2021 01:24:11 +0200 Subject: [PATCH 15/25] fixes in the template, 66boot-initial-setup and the runit service --- srcpkgs/boot-66serv/files/66boot-initial-setup | 2 +- srcpkgs/boot-66serv/files/runit | 7 +++++-- srcpkgs/boot-66serv/template | 5 +++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/srcpkgs/boot-66serv/files/66boot-initial-setup b/srcpkgs/boot-66serv/files/66boot-initial-setup index 8d289de798b..4d1e42ee747 100644 --- a/srcpkgs/boot-66serv/files/66boot-initial-setup +++ b/srcpkgs/boot-66serv/files/66boot-initial-setup @@ -18,7 +18,7 @@ msg_trees() { 66-enable -F -t boot boot@system || msg_trees # Copy the default boot@conf so that is will survive updates and be accesible # though /etc/66rc.conf. -cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system || msg_trees +if test ! -f /etc/66/conf/boot@system/version/boot@system; then cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system ; fi # Create default tree, enable it and make it current. 66-tree -nEc default || msg_trees diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index 9f0f36d73c3..9c0c16f5c1d 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -8,13 +8,16 @@ @build = custom @shebang = ( "/bin/sh" ) @execute = ( -PATH=/usr/bin +exec 2>&1 +PATH=/usr/bin runlevel=66 runsvchdir "${runlevel}" s6-mkdir -v -p /run/runit/runsvdir -s6-ln -s /etc/runit/runsvdir/current /run/runit/runsvdir/current +ln -s /etc/runit/runsvdir/current /run/runit/runsvdir/current +s6-rmrf /var/service/current +s6-rmrf /var/service/supervise exec s6-env -i PATH=$PATH \ runsvdir -P /run/runit/runsvdir/current diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 0efd5480a01..f4467c0f0c0 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -4,8 +4,9 @@ version=2.3.0 revision=1 wrksrc=${pkgname}-v${version} build_style=gnu-configure -configure_args="--HOSTNAME=voidlinux --TTY=!4 - --KEYMAP=!us --TZ=Europe/Madrid" +configure_args="--HOSTNAME=!voidlinux --TTY=!4 + --KEYMAP=!us --TZ=!Europe/Madrid --TMPFILE=!no + --SWAP=!yes" make_install_target="install install-man install-html" hostmakedepends="lowdown" makedepends="file" From 8676a2bf20169d23b3a0012f1d4651334ef97160 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 6 Feb 2021 02:46:03 +0200 Subject: [PATCH 16/25] do not enable swap in the template - created problems when no classic swap partition/file is available (trident/zfs). --- srcpkgs/boot-66serv/template | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index f4467c0f0c0..2192a410f9c 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -5,8 +5,7 @@ revision=1 wrksrc=${pkgname}-v${version} build_style=gnu-configure configure_args="--HOSTNAME=!voidlinux --TTY=!4 - --KEYMAP=!us --TZ=!Europe/Madrid --TMPFILE=!no - --SWAP=!yes" + --KEYMAP=!us --TZ=!Europe/Madrid --TMPFILE=!no" make_install_target="install install-man install-html" hostmakedepends="lowdown" makedepends="file" From 74e86b2586ddd9db38d293f0a8624c772e13ca3a Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 8 Feb 2021 13:12:25 +0200 Subject: [PATCH 17/25] files/66boot-initial-setup : small change to make more readable. --- srcpkgs/boot-66serv/files/66boot-initial-setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/files/66boot-initial-setup b/srcpkgs/boot-66serv/files/66boot-initial-setup index 4d1e42ee747..e8679bd7de0 100644 --- a/srcpkgs/boot-66serv/files/66boot-initial-setup +++ b/srcpkgs/boot-66serv/files/66boot-initial-setup @@ -18,7 +18,7 @@ msg_trees() { 66-enable -F -t boot boot@system || msg_trees # Copy the default boot@conf so that is will survive updates and be accesible # though /etc/66rc.conf. -if test ! -f /etc/66/conf/boot@system/version/boot@system; then cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system ; fi +[ ! -f /etc/66/conf/boot@system/version/boot@system ] && cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system # Create default tree, enable it and make it current. 66-tree -nEc default || msg_trees From 4d37ae64af7add7aec8c164ac1feba0c7b101732 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 8 Feb 2021 19:05:47 +0200 Subject: [PATCH 18/25] change the default zfs import method to zpoolcache - thanks @gspe! --- srcpkgs/boot-66serv/template | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 2192a410f9c..1876f0852b6 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -5,7 +5,8 @@ revision=1 wrksrc=${pkgname}-v${version} build_style=gnu-configure configure_args="--HOSTNAME=!voidlinux --TTY=!4 - --KEYMAP=!us --TZ=!Europe/Madrid --TMPFILE=!no" + --KEYMAP=!us --TZ=!Europe/Madrid --TMPFILE=!no + --ZFS_IMPORT=!zpoolcache" make_install_target="install install-man install-html" hostmakedepends="lowdown" makedepends="file" From b1ca83aee7ed0b9444dd022faaf09b3eb499a4aa Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 15 Feb 2021 00:50:04 +0200 Subject: [PATCH 19/25] void-66-services: update to 0.0.2. --- srcpkgs/void-66-services/template | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/srcpkgs/void-66-services/template b/srcpkgs/void-66-services/template index 7ed84c93713..343809e845e 100644 --- a/srcpkgs/void-66-services/template +++ b/srcpkgs/void-66-services/template @@ -1,17 +1,19 @@ # Template file for 'void-66-services' pkgname=void-66-services -version=0.0.1 +version=0.0.2 revision=1 -build_style=gnu-makefile depends="66" short_desc="66 service frontend files for voidlinux" maintainer="mobinmob " license="BSD-2-Clause" homepage="https://github.com/mobinmob/void-66-services/" distfiles="https://github.com/mobinmob/void-66-services/archive/v${version}.tar.gz" -checksum=ca223594ebae8e7a79e16f150bbebd44878143c07b928c9985020b5183175b95 +checksum=020b3a2cc5c1bafa7328a5d2db7be8baf08ecef8d4a9c8440c78c3db7f342678 -post_install() { +do_install() { + vmkdir usr + vcopy usr / + chmod +x "${DESTDIR}/usr/share/66/service/dbus/data/check" vlicense LICENSE vlicense AUTHORS } From 7be229b310862555373aa9a141932b10b40fa74d Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 15 Feb 2021 00:53:45 +0200 Subject: [PATCH 20/25] files/66boot-initial-setup: small typo fix. --- srcpkgs/boot-66serv/files/66boot-initial-setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/files/66boot-initial-setup b/srcpkgs/boot-66serv/files/66boot-initial-setup index e8679bd7de0..513f614df7d 100644 --- a/srcpkgs/boot-66serv/files/66boot-initial-setup +++ b/srcpkgs/boot-66serv/files/66boot-initial-setup @@ -5,7 +5,7 @@ user=$(id -u) s6-test "$user" -ne 0 && printf "You need to run this script as root! \n" && exit 1 -# Infromataion for the user, in case of failure. 66 output is informative, this +# Information for the user, in case of failure. 66 output is informative, this # is just a pointer to the docs. msg_trees() { printf "Some trees and/or files are already present in the system.\nIf you want to remove them, consult the 66-tree documentation.\n" From f8b7b35a3968dd8ef9d90f9c53a6551173f45092 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 16 Feb 2021 17:13:44 +0200 Subject: [PATCH 21/25] files/runit: add /usr/sbin to PATH again... --- srcpkgs/boot-66serv/files/runit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/files/runit b/srcpkgs/boot-66serv/files/runit index 9c0c16f5c1d..35890b9fe7b 100644 --- a/srcpkgs/boot-66serv/files/runit +++ b/srcpkgs/boot-66serv/files/runit @@ -10,7 +10,7 @@ @execute = ( exec 2>&1 -PATH=/usr/bin +PATH=/usr/bin:/usr/sbin runlevel=66 runsvchdir "${runlevel}" From 4e1f1ddce822485c8076145e5647c33dfb159487 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 28 Feb 2021 00:22:41 +0100 Subject: [PATCH 22/25] 66boot-initial-setup: remove the warning from the conf file. --- srcpkgs/boot-66serv/files/66boot-initial-setup | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/srcpkgs/boot-66serv/files/66boot-initial-setup b/srcpkgs/boot-66serv/files/66boot-initial-setup index 513f614df7d..0d809c8f2f6 100644 --- a/srcpkgs/boot-66serv/files/66boot-initial-setup +++ b/srcpkgs/boot-66serv/files/66boot-initial-setup @@ -17,8 +17,10 @@ msg_trees() { # Enable the boot@system service in the boot tree. 66-enable -F -t boot boot@system || msg_trees # Copy the default boot@conf so that is will survive updates and be accesible -# though /etc/66rc.conf. -[ ! -f /etc/66/conf/boot@system/version/boot@system ] && cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system +# though /etc/66rc.conf. Also, remove the warning in the first lines of the file. +[ ! -f /etc/66/conf/boot@system/version/boot@system ] && cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system && \ +warn=$( sed -n -e "/##\ \[STARTWARN\]/p" /etc/66rc.conf | tr -d '[:space:]') && \ + [ "$warn" = "##[STARTWARN]" ] && sed -i '1,5d' /etc/66rc.conf # Create default tree, enable it and make it current. 66-tree -nEc default || msg_trees From 15a2bbc19cb7bb9680d626a07897aa01ae13a514 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 28 Feb 2021 00:23:54 +0100 Subject: [PATCH 23/25] use upstream patches for local-iptables and devices-crypttab. --- ...202f5583369daa6f2ccbc0bafab3738e47d66.diff | 13 ++++++ ...6e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff | 40 +++++++++++++++++++ srcpkgs/boot-66serv/template | 1 + 3 files changed, 54 insertions(+) create mode 100644 srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff create mode 100644 srcpkgs/boot-66serv/patches/f046e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff diff --git a/srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff b/srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff new file mode 100644 index 00000000000..b4fe592ea5a --- /dev/null +++ b/srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff @@ -0,0 +1,13 @@ +diff --git a/module/boot@/service/system/devices/devices-crypttab b/module/boot@/service/system/devices/devices-crypttab +index 5b808f288a2d2f780b7966485ddb9cd561f856ba..80f4c031d9f35515aef6b10f27fd067ee75d0f90 100644 +--- a/module/boot@/service/system/devices/devices-crypttab ++++ b/module/boot@/service/system/devices/devices-crypttab +@@ -4,7 +4,7 @@ + @description = "Active encrypted devices" + @user = ( root ) + @options = ( !log ) +-@depends = ( udevadm ) ++@depends = ( udevadm devices-brtfs devices-dmraid devices-lvm ) + + [start] + @execute = diff --git a/srcpkgs/boot-66serv/patches/f046e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff b/srcpkgs/boot-66serv/patches/f046e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff new file mode 100644 index 00000000000..a560272de2c --- /dev/null +++ b/srcpkgs/boot-66serv/patches/f046e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff @@ -0,0 +1,40 @@ +diff --git a/module/boot@/service/local/firewall/local-iptables b/module/boot@/service/local/firewall/local-iptables +index 2ba35fb7e02b122b93f00c023ee673fbbb7b1bbe..27e224344d3c70be674a018124d1f5490a43f8f2 100644 +--- a/module/boot@/service/local/firewall/local-iptables ++++ b/module/boot@/service/local/firewall/local-iptables +@@ -20,19 +20,28 @@ + ) + + [stop] ++@build = custom ++@shebang = "/usr/bin/bash -c" + @execute = + ( +- if { 66-yeller -cdp local-iptables -1 /dev/console stops... } +- if -nt { + +- execl-toc -x ${script_file} +- ${script_file} ++ exec 2>&1 + +- } +- 66-yeller -fcdp local-iptables -1 /dev/console crashed! ++ 66-yeller -cdp local-iptables -1 /dev/console stops... ++ ++ if ! type -p iptables &>/dev/null; then ++ 66-yeller -fcdp local-iptables -1 /dev/console "unable to find iptables program" ++ fi ++ ++ while read -r table; do ++ tables+=("/usr/share/iptables/empty-$table.rules") ++ done <"/proc/net/ip_tables_names" ++ ++ if (( ${#tables[*]} )); then ++ cat "${tables[@]}" | iptables-restore ++ fi + ) + + [environment] + script_conf=!/etc/iptables/iptables.rules +-script_file=!/usr/lib/iptables/scripts/iptables-flush + diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 1876f0852b6..c61af884380 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -18,6 +18,7 @@ homepage="https://framagit.org/pkg/obmods/boot-66serv" conf_files="/etc/66/rc.local" distfiles="https://framagit.org/pkg/obmods/boot-66serv/-/archive/v${version}/boot-66serv-v${version}.tar.bz2" checksum=03b692700030eaae1e882b6df97e84cbbf0180e067291342d5ed9117047475ba +patch_args=" -Np1" make_dirs="/etc/runit/runsvdir/66 0750 root root" From e5b813be527b196550b06b753986b05ee4bdb831 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Mar 2021 22:22:43 +0200 Subject: [PATCH 24/25] template: Create the log dir with proper permissions at installation: normally it is created on first run, but it can fail. --- srcpkgs/boot-66serv/template | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index c61af884380..ed10d74a67e 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -20,7 +20,8 @@ distfiles="https://framagit.org/pkg/obmods/boot-66serv/-/archive/v${version}/boo checksum=03b692700030eaae1e882b6df97e84cbbf0180e067291342d5ed9117047475ba patch_args=" -Np1" -make_dirs="/etc/runit/runsvdir/66 0750 root root" +make_dirs="/etc/runit/runsvdir/66 0750 root root + /var/log/66 0750 _s6log _s6log" post_install() { From 5d28df649577b7edca49eeda81a4870bb3854224 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Mar 2021 22:23:39 +0200 Subject: [PATCH 25/25] files/66boot-initial-setup: clean and improve the script: -use a variable for the new configuration file. --- srcpkgs/boot-66serv/files/66boot-initial-setup | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/boot-66serv/files/66boot-initial-setup b/srcpkgs/boot-66serv/files/66boot-initial-setup index 0d809c8f2f6..d466a1b8865 100644 --- a/srcpkgs/boot-66serv/files/66boot-initial-setup +++ b/srcpkgs/boot-66serv/files/66boot-initial-setup @@ -18,9 +18,10 @@ msg_trees() { 66-enable -F -t boot boot@system || msg_trees # Copy the default boot@conf so that is will survive updates and be accesible # though /etc/66rc.conf. Also, remove the warning in the first lines of the file. -[ ! -f /etc/66/conf/boot@system/version/boot@system ] && cp /etc/66/conf/boot@system/version/.boot@system /etc/66/conf/boot@system/version/boot@system && \ +new_conf="/etc/66/conf/boot@system/version/boot@system" +[ ! -f "$new_conf" ] && cp /etc/66/conf/boot@system/version/.boot@system "$new_conf" && \ warn=$( sed -n -e "/##\ \[STARTWARN\]/p" /etc/66rc.conf | tr -d '[:space:]') && \ - [ "$warn" = "##[STARTWARN]" ] && sed -i '1,5d' /etc/66rc.conf + [ "$warn" = "##[STARTWARN]" ] && sed -i '1,5d' "$new_conf" # Create default tree, enable it and make it current. 66-tree -nEc default || msg_trees