From 87b29aac6a7e7e1faf031f0222f23d8c4a92bd8b Mon Sep 17 00:00:00 2001 From: teldra Date: Mon, 22 Jun 2020 01:43:05 +0200 Subject: [PATCH 01/23] 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 97190264efbe20c41192be05905188832a8d07ed Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 8 Nov 2020 17:08:32 +0200 Subject: [PATCH 02/23] 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 20ea8ab3051a1d91f38df0359c8abf919bbdec31 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 24 Nov 2020 01:54:26 +0200 Subject: [PATCH 03/23] 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 0ab308819be0e03e9995a30179538b69083359f1 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 25 Nov 2020 21:24:43 +0200 Subject: [PATCH 04/23] 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 772a761fe235cb052340a00a691b1dfd2cdf3ee4 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 15 Dec 2020 23:47:29 +0200 Subject: [PATCH 05/23] 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 7056026f3bc60246d9ddb30ee80b5096bca7e77d Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 15 Dec 2020 23:51:22 +0200 Subject: [PATCH 06/23] 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 485582a2b312913aab61217c1ba4b69988b6efb9 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 28 Dec 2020 23:57:01 +0200 Subject: [PATCH 07/23] 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 0f7b1cc9ebeb446d44f624961896131087427db2 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 3 Jan 2021 16:22:47 +0200 Subject: [PATCH 08/23] 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 790887e1fbad044e84637f734d4b1633d206fb4e Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 3 Jan 2021 17:13:57 +0200 Subject: [PATCH 09/23] 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 973c3f7a726dc9c497a19c3f6a50dffc7936d833 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 23 Jan 2021 22:07:22 +0200 Subject: [PATCH 10/23] 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 3b4c68fe7fcc06d5a0f1cf89d6f9dad7b100d189 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 1 Feb 2021 19:20:01 +0200 Subject: [PATCH 11/23] 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 9fa74dd0816e97601d892f7d559e40005a902510 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Feb 2021 02:13:34 +0200 Subject: [PATCH 12/23] 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 8d431ead44b3b41b463fe56db4c170f9e75c4dca Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 4 Feb 2021 21:47:25 +0200 Subject: [PATCH 13/23] 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 29d196388e9bf104ea164f9d0700e17a36ffc753 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 4 Feb 2021 22:20:01 +0200 Subject: [PATCH 14/23] 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 e119f10bac620f7ae3fa4416c5b51243b4b1f4ca Mon Sep 17 00:00:00 2001 From: mobinmob Date: Fri, 5 Feb 2021 01:24:11 +0200 Subject: [PATCH 15/23] 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 811d2488669d64c38c9d917c9dd1693a768220d9 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 6 Feb 2021 02:46:03 +0200 Subject: [PATCH 16/23] 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 1c0e6701ed50c87226258cf12f7aa1d4f1fcc3c6 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 8 Feb 2021 13:12:25 +0200 Subject: [PATCH 17/23] 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 06e8463029b57a5ebcd13cd98837bc99557036f6 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 8 Feb 2021 19:05:47 +0200 Subject: [PATCH 18/23] 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 aa87610108221926a28d4e2c119d1f868a776f0b Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 15 Feb 2021 00:50:04 +0200 Subject: [PATCH 19/23] 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 4b54c9ffea49a1f2f4dddc8dec7f1389d0b33166 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 15 Feb 2021 00:53:45 +0200 Subject: [PATCH 20/23] 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 979f907a23d751b85d327cd03fd0bbd26f4a5416 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 16 Feb 2021 17:13:44 +0200 Subject: [PATCH 21/23] 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 009f5bdd070cd0c6ccf9406cefc3c4937d58543c Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 28 Feb 2021 00:22:41 +0100 Subject: [PATCH 22/23] 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 1f63e63ec60bd72b4e82ab395f608effec99554f Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 28 Feb 2021 00:23:54 +0100 Subject: [PATCH 23/23] 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"