From 109e28359272a00e97e026851eb5e0018f81a677 Mon Sep 17 00:00:00 2001 From: teldra Date: Mon, 22 Jun 2020 01:43:05 +0200 Subject: [PATCH 01/30] 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 000000000000..c82ece19fc5e --- /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 000000000000..9c25c7dff436 --- /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 000000000000..3919274b0f7f --- /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 000000000000..7b72f625d84f --- /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 000000000000..1a57510f3cfb --- /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 3766e48e6c3212439a57a33c67557391b917297d Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 8 Nov 2020 17:08:32 +0200 Subject: [PATCH 02/30] 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 9c25c7dff436..c5e36bbfa4fe 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 1a57510f3cfb..f953ead216ec 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 ace0c4097e6221c9199e5f0c1d0652924636d60a Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 24 Nov 2020 01:54:26 +0200 Subject: [PATCH 03/30] 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 c5e36bbfa4fe..fe741ff2bd8f 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 a6b82fd48e39840cbbfa155654045d930fa4f304 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 25 Nov 2020 21:24:43 +0200 Subject: [PATCH 04/30] 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 3919274b0f7f..b596b3ba95f6 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 72e40af3466d970139e5bdcb6766e67f4078da4f Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 15 Dec 2020 23:47:29 +0200 Subject: [PATCH 05/30] 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 000000000000..1bf6c7247455 --- /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 ac1d3d4d696200f16727a5ea44631aef1876418a Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 15 Dec 2020 23:51:22 +0200 Subject: [PATCH 06/30] 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 f953ead216ec..fa659c37010d 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 2a6f17b156a4c6792d914d6437c558e1a4995118 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 28 Dec 2020 23:57:01 +0200 Subject: [PATCH 07/30] 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 000000000000..7ed84c937134 --- /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 9d4592dbaea6df9cd62720aa6f87665bf1aebf5c Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 3 Jan 2021 16:22:47 +0200 Subject: [PATCH 08/30] 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 fe741ff2bd8f..d3d60bb82dd8 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 efd8ac3da376b3092652b79ec97d02df943f87f0 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 3 Jan 2021 17:13:57 +0200 Subject: [PATCH 09/30] 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 d3d60bb82dd8..362266bad06a 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 49cf179f9d76caefde85f450686eff96188fda7b Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 23 Jan 2021 22:07:22 +0200 Subject: [PATCH 10/30] 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 362266bad06a..3a0f89f87077 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 7b72f625d84f..f4a783bde6c2 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 fa659c37010d..c088b82dd9e2 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 0c6ed95c8d353162ef6824209c251aa55c1271f0 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 1 Feb 2021 19:20:01 +0200 Subject: [PATCH 11/30] 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 f4a783bde6c2..000000000000 --- 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 c088b82dd9e2..4747249557de 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 8d1c87e0d2732788217d1d5bf5846f03e5fd9747 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Feb 2021 02:13:34 +0200 Subject: [PATCH 12/30] 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 4747249557de..4fce1c84b8a0 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 18dcaf8ca859a96e19508df4ddd5fcc7959fdf16 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 4 Feb 2021 21:47:25 +0200 Subject: [PATCH 13/30] 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 000000000000..8d289de798bf --- /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 4fce1c84b8a0..4c3e1f5cca76 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 78a5cabd3d2516dc6d36f3735433b2f2083fa7c3 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Thu, 4 Feb 2021 22:20:01 +0200 Subject: [PATCH 14/30] 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 c82ece19fc5e..2e5bb6a10a5f 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 3a0f89f87077..9f0f36d73c3c 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 4c3e1f5cca76..0efd5480a012 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 5dde0fca59a5c96127b3a72904167b2cd4988f3b Mon Sep 17 00:00:00 2001 From: mobinmob Date: Fri, 5 Feb 2021 01:24:11 +0200 Subject: [PATCH 15/30] 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 8d289de798bf..4d1e42ee7472 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 9f0f36d73c3c..9c0c16f5c1d4 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 0efd5480a012..f4467c0f0c0e 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 43add95996d667addeeebca749cae7bf933fa95c Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sat, 6 Feb 2021 02:46:03 +0200 Subject: [PATCH 16/30] 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 f4467c0f0c0e..2192a410f9cd 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 adf8cb8e13679f4716ba9d5fb5b0505b4a010a87 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 8 Feb 2021 13:12:25 +0200 Subject: [PATCH 17/30] 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 4d1e42ee7472..e8679bd7de02 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 525988912d140b60034bddee38990bc747db367c Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 8 Feb 2021 19:05:47 +0200 Subject: [PATCH 18/30] 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 2192a410f9cd..1876f0852b68 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 ed817fee8f634ad7b4b7dfddaadcaa0decda625e Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 15 Feb 2021 00:50:04 +0200 Subject: [PATCH 19/30] 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 7ed84c937134..343809e845e4 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 78f006e499fc101f826adfe5c17501eada0d8e1a Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 15 Feb 2021 00:53:45 +0200 Subject: [PATCH 20/30] 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 e8679bd7de02..513f614df7de 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 dc423d211a7cab5cd2652e2063b27226d670d58b Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 16 Feb 2021 17:13:44 +0200 Subject: [PATCH 21/30] 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 9c0c16f5c1d4..35890b9fe7b7 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 4a5cc99206e5e8fd47cb6a8f9a26f683e4d1bc91 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 28 Feb 2021 00:22:41 +0100 Subject: [PATCH 22/30] 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 513f614df7de..0d809c8f2f6d 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 36b618cdc21618142f853e7a1bcf00eb72cb9ef0 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 28 Feb 2021 00:23:54 +0100 Subject: [PATCH 23/30] 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 000000000000..b4fe592ea5a1 --- /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 000000000000..a560272de2c6 --- /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 1876f0852b68..c61af8843800 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 058cfdfd7989d312d5ecf291538b58122046d56e Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Mar 2021 22:22:43 +0200 Subject: [PATCH 24/30] 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 c61af8843800..ed10d74a67e9 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 ff164dba99fc98316e77d6cf9110deca89c8cf8c Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 3 Mar 2021 22:23:39 +0200 Subject: [PATCH 25/30] 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 0d809c8f2f6d..d466a1b88658 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 From 003425df5491b89db69ad2177b9017c73d1bd9c5 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Tue, 16 Mar 2021 21:18:44 +0200 Subject: [PATCH 26/30] New package: scandir-66serv-0.3.1. --- srcpkgs/scandir-66serv/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/scandir-66serv/template diff --git a/srcpkgs/scandir-66serv/template b/srcpkgs/scandir-66serv/template new file mode 100644 index 000000000000..a064a1c9b962 --- /dev/null +++ b/srcpkgs/scandir-66serv/template @@ -0,0 +1,17 @@ +# Template file for 'scandir-66serv' +pkgname=scandir-66serv +version=0.3.1 +revision=1 +wrksrc="${pkgname}-v${version}" +build_style=configure +depends="66 66-tools" +short_desc="66 module that enables user services" +maintainer="mobinmob " +license="ISC" +homepage="https://framagit.org/pkg/obmods/scandir-66serv" +distfiles="https://framagit.org/pkg/obmods/scandir-66serv/-/archive/v${version}/scandir-66serv-v${version}.tar.bz2" +checksum=2a5bb9ff80f7bf8e6caaccd243eb1f077a4e7ef12314aeca539673fbc92b9756 + +post_install() { + vlicense LICENSE +} From 730edb88b5c71dfddd22ff80189b360bdbf84ac2 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Sun, 21 Mar 2021 17:22:00 +0200 Subject: [PATCH 27/30] files/switch-initutils-66: make the service more robust. --- srcpkgs/boot-66serv/files/switch-initutils-66 | 15 +++++++++------ srcpkgs/boot-66serv/template | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/srcpkgs/boot-66serv/files/switch-initutils-66 b/srcpkgs/boot-66serv/files/switch-initutils-66 index 1bf6c7247455..4239b7b53cc3 100644 --- a/srcpkgs/boot-66serv/files/switch-initutils-66 +++ b/srcpkgs/boot-66serv/files/switch-initutils-66 @@ -17,12 +17,15 @@ @build = custom @shebang = "/bin/sh -c" @execute = ( + +poweroff_util=$(readlink -f /usr/bin/poweroff) + 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 + if [ "$poweroff_util" != /usr/bin/poweroff ]; then + for i in reboot poweroff halt shutdown; do + mv /usr/bin/${i} /usr/bin/${i}.runit + cp /etc/66/${i} /usr/bin/${i} + done + fi fi ) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index ed10d74a67e9..26e9dada5db4 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -40,7 +40,7 @@ post_install() { 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 - vsed -i "s/@VERSION@/0.0.1/" "${DESTDIR}/usr/share/66/service/switch-initutils" + vsed -i "s/@VERSION@/0.0.2/" "${DESTDIR}/usr/share/66/service/switch-initutils" # Install license file vlicense LICENSE From ae00b17b60b28150da7f16567d4adae61ca91f08 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Mon, 22 Mar 2021 22:48:57 +0200 Subject: [PATCH 28/30] remove unneeded lines in template, use upstream fixes. --- ...202f5583369daa6f2ccbc0bafab3738e47d66.diff | 13 - ...6e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff | 40 ---- .../patches/upstream-20210322.diff | 222 ++++++++++++++++++ srcpkgs/boot-66serv/template | 6 +- 4 files changed, 224 insertions(+), 57 deletions(-) delete mode 100644 srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff delete mode 100644 srcpkgs/boot-66serv/patches/f046e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff create mode 100644 srcpkgs/boot-66serv/patches/upstream-20210322.diff diff --git a/srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff b/srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff deleted file mode 100644 index b4fe592ea5a1..000000000000 --- a/srcpkgs/boot-66serv/patches/d41202f5583369daa6f2ccbc0bafab3738e47d66.diff +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index a560272de2c6..000000000000 --- a/srcpkgs/boot-66serv/patches/f046e12f7e07a1874cdcd2b791b68b3c8e1e7f85.diff +++ /dev/null @@ -1,40 +0,0 @@ -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/patches/upstream-20210322.diff b/srcpkgs/boot-66serv/patches/upstream-20210322.diff new file mode 100644 index 000000000000..16f93d1ee8d1 --- /dev/null +++ b/srcpkgs/boot-66serv/patches/upstream-20210322.diff @@ -0,0 +1,222 @@ +diff --git a/configure b/configure +index fba297a..7a0a8da 100755 +--- a/configure ++++ b/configure +@@ -23,8 +23,8 @@ Fine tuning of the installation directories: + --with-system-module=DIR 66 module intallation directory [DATAROOTDIR/$package_macro_dir/module] + --with-system-script=DIR 66 script installation directory of scripts [DATAROOTDIR/$package_macro_dir/script] + --with-sysadmin-service-conf=DIR 66 sysadmin service configuration file directory [SYSDIR/$package_macro_dir/conf] +- --with-skeleton=DIR 66 skeleton files directory installation [SYSDIR/$package_macro_dir] +- ++ --with-skeleton=DIR 66 skeleton files directory installation [SYSDIR/$package_macro_dir] ++ + Fine tunning of boot configuration: + --HOSTNAME=VALUE hostname of the system [obarunS6] + --HARDWARECLOCK=VALUE set the hardware clock [UTC] +@@ -50,7 +50,7 @@ Fine tunning of boot configuration: + --DMRAID=BOOLEAN mount dmraid devices [!no] + --BTRFS=BOOLEAN mount btrfs devices [!no] + --ZFS=BOOLEAN mount zfs devices [!no] +- --ZFS_IMPORT=VALUE use scan or zpoolcache method for zfs pools importation [!scan] ++ --ZFS_IMPORT=VALUE use scan or zpoolcache method for zfs pools importation [!zpoolcache] + --CRYPTTAB=BOOLEAN use crypttab by default [!no] + --FIREWALL=VALUE use iptables|ip6tables|nftables|ebtables|arptables [] + --CGROUPS=BOOLEAN mount cgroups [!yes] +@@ -66,17 +66,17 @@ Fine tunning of boot configuration: + --POPULATE_DEV=BOOLEAN populate dev directory [!yes] + --POPULATE_RUN=BOOLEAN populate run directory [!yes] + --POPULATE_TMP=BOOLEAN populate tmp directory [!yes] +- +- ++ ++ + Use yes or no with lowercase character to set BOOLEAN values. +- ++ + Empty value is a commented one and not used at all. + + An exclamation mark '!' at the begin of the value unexport the variable + for the environment after the use. This is avoid to poluate the environment + with tempory variables. You need to single-quote the options as + follow: +- ./configure --KEYMAP='!us' ++ ./configure --KEYMAP='!us' + + EOF + exit 0 +@@ -120,9 +120,9 @@ stripdir () { + + testval () { + if test -z ${1}; then +- return 0 ; ++ return 0 ; + else +- return 1 ; ++ return 1 ; + fi + } + +@@ -165,7 +165,7 @@ LVM='!no' + DMRAID='!no' + BTRFS='!no' + ZFS='!no' +-ZFS_IMPORT='!scan' ++ZFS_IMPORT='!zpoolcache' + CRYPTTAB='!no' + FIREWALL= + CGROUPS='!yes' +@@ -256,20 +256,20 @@ fi + + if test -z "$sysconfdir" ; then + if test "$sysconfdir" = '$sysconfdir' ; then +- sysconfdir = '/etc' ++ sysconfdir = '/etc' + fi + if test "$adm_conf" = '$sysconfdir/$package_macro_dir/conf' ; then +- adm_conf = '$sysconfdir/$package_macro_dir/conf' ++ adm_conf = '$sysconfdir/$package_macro_dir/conf' + fi + if test "$skel_directory" = '$sysconfdir/$package_macro_dir' ; then +- skel_directory = '$sysconfdir/$package_macro_dir' ++ skel_directory = '$sysconfdir/$package_macro_dir' + fi + fi + + # Expand installation directories + stripdir prefix + for i in exec_prefix bindir libdir sysconfdir datarootdir mandir livedir \ +- service_directory module_directory script_directory skel_directory adm_conf ; do ++ service_directory module_directory script_directory skel_directory adm_conf ; do + eval tmp=\${$i} + eval $i=$tmp + stripdir $i +@@ -290,12 +290,12 @@ for i in service_directory module_directory script_directory mandir; do + done + + for i in HOSTNAME HARDWARECLOCK TZ SETUPCONSOLE TTY \ +- KEYMAP FONT FONT_MAP FONT_UNIMAP UDEV SYSCTL FORCECHCK LOCAL CONTAINER \ +- TMPFILE MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ +- FSTAB SWAP LVM DMRAID BTRFS ZFS ZFS_IMPORT \ +- CRYPTTAB FIREWALL \ +- CGROUPS MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP \ +- MNT_PTS MNT_SHM MNT_NETFS POPULATE_SYS POPULATE_DEV POPULATE_RUN POPULATE_TMP ; do ++ KEYMAP FONT FONT_MAP FONT_UNIMAP UDEV SYSCTL FORCECHCK LOCAL CONTAINER \ ++ TMPFILE MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ ++ FSTAB SWAP LVM DMRAID BTRFS ZFS ZFS_IMPORT \ ++ CRYPTTAB FIREWALL \ ++ CGROUPS MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP \ ++ MNT_PTS MNT_SHM MNT_NETFS POPULATE_SYS POPULATE_DEV POPULATE_RUN POPULATE_TMP ; do + eval tmp=\${$i} + if testval $tmp; then + eval $i='${i}=\"\\#${i}=\"' +diff --git a/module/boot@/service/local/firewall/local-iptables b/module/boot@/service/local/firewall/local-iptables +index 2ba35fb..4364a2f 100644 +--- a/module/boot@/service/local/firewall/local-iptables ++++ b/module/boot@/service/local/firewall/local-iptables +@@ -20,19 +20,29 @@ + ) + + [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 ++ exit 111 ++ 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/module/boot@/service/local/local-dmesg b/module/boot@/service/local/local-dmesg +index 934cd9f..fe38ef4 100644 +--- a/module/boot@/service/local/local-dmesg ++++ b/module/boot@/service/local/local-dmesg +@@ -34,5 +34,5 @@ local-rc ) + ) + + [environment] +-cmd_args=!--console-off -T ++cmd_args=!-T + cmd_log=!/var/log/dmesg.log +diff --git a/module/boot@/service/mount/mount-swap b/module/boot@/service/mount/mount-swap +index fc7e2db..1b5b4e8 100644 +--- a/module/boot@/service/mount/mount-swap ++++ b/module/boot@/service/mount/mount-swap +@@ -10,12 +10,16 @@ + @execute = + ( + if { 66-yeller -cdp mount-swap -1 /dev/console starts... } +- if -nt { + +- swapon -a ++ foreground { ++ ++ if -nt { + ++ swapon -a ++ ++ } ++ 66-yeller -cdp mount-swap -1 /dev/console unable to activate the swap! + } +- 66-yeller -fcdp mount-swap -1 /dev/console crashed! + ) + + [stop] +diff --git a/module/boot@/service/system/devices/devices-crypttab b/module/boot@/service/system/devices/devices-crypttab +index 5b808f2..76ef6d5 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-btrfs devices-dmraid devices-lvm ) + + [start] + @execute = +@@ -15,13 +15,16 @@ + execl-toc -e ${script_conf} + if { execl-cmdline -s { 66-olexec awk -f ${script_file} ${script_conf} } } + +- if { 66-which -q vgchange } +- if { 66-yeller -cdp devices-crypttab -1 /dev/console LVM detected -- activates... } +- if -nt { ++ foreground { + +- vgchange --sysinit -a y ++ if { 66-which -q vgchange } ++ if { 66-yeller -cdp devices-crypttab -1 /dev/console LVM detected -- activates... } ++ if -nt { ++ ++ vgchange --sysinit -a y ++ } ++ 66-yeller -cdp devices-crypttab -1 /dev/console unable to activate LVM devices + } +- 66-yeller -cdp devices-crypttab -1 /dev/console unable to activate LVM devices + } + 66-yeller -fcdp devices-crypttab -1 /dev/console crashed! + ) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 26e9dada5db4..2ba5a8e6c63a 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 - --ZFS_IMPORT=!zpoolcache" + --KEYMAP=!us --TZ=!Europe/Madrid --TMPFILE=!no" make_install_target="install install-man install-html" hostmakedepends="lowdown" makedepends="file" @@ -20,8 +19,7 @@ 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 - /var/log/66 0750 _s6log _s6log" +make_dirs="/etc/runit/runsvdir/66 0750 root root" post_install() { From 7616df9312477948769f4d49007b25eca545d0b2 Mon Sep 17 00:00:00 2001 From: mobinmob Date: Fri, 28 May 2021 23:24:18 +0300 Subject: [PATCH 29/30] update boot-66serv to 2.3.1. --- .../patches/upstream-20210322.diff | 222 ------------------ srcpkgs/boot-66serv/template | 5 +- 2 files changed, 2 insertions(+), 225 deletions(-) delete mode 100644 srcpkgs/boot-66serv/patches/upstream-20210322.diff diff --git a/srcpkgs/boot-66serv/patches/upstream-20210322.diff b/srcpkgs/boot-66serv/patches/upstream-20210322.diff deleted file mode 100644 index 16f93d1ee8d1..000000000000 --- a/srcpkgs/boot-66serv/patches/upstream-20210322.diff +++ /dev/null @@ -1,222 +0,0 @@ -diff --git a/configure b/configure -index fba297a..7a0a8da 100755 ---- a/configure -+++ b/configure -@@ -23,8 +23,8 @@ Fine tuning of the installation directories: - --with-system-module=DIR 66 module intallation directory [DATAROOTDIR/$package_macro_dir/module] - --with-system-script=DIR 66 script installation directory of scripts [DATAROOTDIR/$package_macro_dir/script] - --with-sysadmin-service-conf=DIR 66 sysadmin service configuration file directory [SYSDIR/$package_macro_dir/conf] -- --with-skeleton=DIR 66 skeleton files directory installation [SYSDIR/$package_macro_dir] -- -+ --with-skeleton=DIR 66 skeleton files directory installation [SYSDIR/$package_macro_dir] -+ - Fine tunning of boot configuration: - --HOSTNAME=VALUE hostname of the system [obarunS6] - --HARDWARECLOCK=VALUE set the hardware clock [UTC] -@@ -50,7 +50,7 @@ Fine tunning of boot configuration: - --DMRAID=BOOLEAN mount dmraid devices [!no] - --BTRFS=BOOLEAN mount btrfs devices [!no] - --ZFS=BOOLEAN mount zfs devices [!no] -- --ZFS_IMPORT=VALUE use scan or zpoolcache method for zfs pools importation [!scan] -+ --ZFS_IMPORT=VALUE use scan or zpoolcache method for zfs pools importation [!zpoolcache] - --CRYPTTAB=BOOLEAN use crypttab by default [!no] - --FIREWALL=VALUE use iptables|ip6tables|nftables|ebtables|arptables [] - --CGROUPS=BOOLEAN mount cgroups [!yes] -@@ -66,17 +66,17 @@ Fine tunning of boot configuration: - --POPULATE_DEV=BOOLEAN populate dev directory [!yes] - --POPULATE_RUN=BOOLEAN populate run directory [!yes] - --POPULATE_TMP=BOOLEAN populate tmp directory [!yes] -- -- -+ -+ - Use yes or no with lowercase character to set BOOLEAN values. -- -+ - Empty value is a commented one and not used at all. - - An exclamation mark '!' at the begin of the value unexport the variable - for the environment after the use. This is avoid to poluate the environment - with tempory variables. You need to single-quote the options as - follow: -- ./configure --KEYMAP='!us' -+ ./configure --KEYMAP='!us' - - EOF - exit 0 -@@ -120,9 +120,9 @@ stripdir () { - - testval () { - if test -z ${1}; then -- return 0 ; -+ return 0 ; - else -- return 1 ; -+ return 1 ; - fi - } - -@@ -165,7 +165,7 @@ LVM='!no' - DMRAID='!no' - BTRFS='!no' - ZFS='!no' --ZFS_IMPORT='!scan' -+ZFS_IMPORT='!zpoolcache' - CRYPTTAB='!no' - FIREWALL= - CGROUPS='!yes' -@@ -256,20 +256,20 @@ fi - - if test -z "$sysconfdir" ; then - if test "$sysconfdir" = '$sysconfdir' ; then -- sysconfdir = '/etc' -+ sysconfdir = '/etc' - fi - if test "$adm_conf" = '$sysconfdir/$package_macro_dir/conf' ; then -- adm_conf = '$sysconfdir/$package_macro_dir/conf' -+ adm_conf = '$sysconfdir/$package_macro_dir/conf' - fi - if test "$skel_directory" = '$sysconfdir/$package_macro_dir' ; then -- skel_directory = '$sysconfdir/$package_macro_dir' -+ skel_directory = '$sysconfdir/$package_macro_dir' - fi - fi - - # Expand installation directories - stripdir prefix - for i in exec_prefix bindir libdir sysconfdir datarootdir mandir livedir \ -- service_directory module_directory script_directory skel_directory adm_conf ; do -+ service_directory module_directory script_directory skel_directory adm_conf ; do - eval tmp=\${$i} - eval $i=$tmp - stripdir $i -@@ -290,12 +290,12 @@ for i in service_directory module_directory script_directory mandir; do - done - - for i in HOSTNAME HARDWARECLOCK TZ SETUPCONSOLE TTY \ -- KEYMAP FONT FONT_MAP FONT_UNIMAP UDEV SYSCTL FORCECHCK LOCAL CONTAINER \ -- TMPFILE MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ -- FSTAB SWAP LVM DMRAID BTRFS ZFS ZFS_IMPORT \ -- CRYPTTAB FIREWALL \ -- CGROUPS MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP \ -- MNT_PTS MNT_SHM MNT_NETFS POPULATE_SYS POPULATE_DEV POPULATE_RUN POPULATE_TMP ; do -+ KEYMAP FONT FONT_MAP FONT_UNIMAP UDEV SYSCTL FORCECHCK LOCAL CONTAINER \ -+ TMPFILE MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ -+ FSTAB SWAP LVM DMRAID BTRFS ZFS ZFS_IMPORT \ -+ CRYPTTAB FIREWALL \ -+ CGROUPS MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP \ -+ MNT_PTS MNT_SHM MNT_NETFS POPULATE_SYS POPULATE_DEV POPULATE_RUN POPULATE_TMP ; do - eval tmp=\${$i} - if testval $tmp; then - eval $i='${i}=\"\\#${i}=\"' -diff --git a/module/boot@/service/local/firewall/local-iptables b/module/boot@/service/local/firewall/local-iptables -index 2ba35fb..4364a2f 100644 ---- a/module/boot@/service/local/firewall/local-iptables -+++ b/module/boot@/service/local/firewall/local-iptables -@@ -20,19 +20,29 @@ - ) - - [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 -+ exit 111 -+ 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/module/boot@/service/local/local-dmesg b/module/boot@/service/local/local-dmesg -index 934cd9f..fe38ef4 100644 ---- a/module/boot@/service/local/local-dmesg -+++ b/module/boot@/service/local/local-dmesg -@@ -34,5 +34,5 @@ local-rc ) - ) - - [environment] --cmd_args=!--console-off -T -+cmd_args=!-T - cmd_log=!/var/log/dmesg.log -diff --git a/module/boot@/service/mount/mount-swap b/module/boot@/service/mount/mount-swap -index fc7e2db..1b5b4e8 100644 ---- a/module/boot@/service/mount/mount-swap -+++ b/module/boot@/service/mount/mount-swap -@@ -10,12 +10,16 @@ - @execute = - ( - if { 66-yeller -cdp mount-swap -1 /dev/console starts... } -- if -nt { - -- swapon -a -+ foreground { -+ -+ if -nt { - -+ swapon -a -+ -+ } -+ 66-yeller -cdp mount-swap -1 /dev/console unable to activate the swap! - } -- 66-yeller -fcdp mount-swap -1 /dev/console crashed! - ) - - [stop] -diff --git a/module/boot@/service/system/devices/devices-crypttab b/module/boot@/service/system/devices/devices-crypttab -index 5b808f2..76ef6d5 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-btrfs devices-dmraid devices-lvm ) - - [start] - @execute = -@@ -15,13 +15,16 @@ - execl-toc -e ${script_conf} - if { execl-cmdline -s { 66-olexec awk -f ${script_file} ${script_conf} } } - -- if { 66-which -q vgchange } -- if { 66-yeller -cdp devices-crypttab -1 /dev/console LVM detected -- activates... } -- if -nt { -+ foreground { - -- vgchange --sysinit -a y -+ if { 66-which -q vgchange } -+ if { 66-yeller -cdp devices-crypttab -1 /dev/console LVM detected -- activates... } -+ if -nt { -+ -+ vgchange --sysinit -a y -+ } -+ 66-yeller -cdp devices-crypttab -1 /dev/console unable to activate LVM devices - } -- 66-yeller -cdp devices-crypttab -1 /dev/console unable to activate LVM devices - } - 66-yeller -fcdp devices-crypttab -1 /dev/console crashed! - ) diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 2ba5a8e6c63a..01f7cdd1beaf 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.3.0 +version=2.3.1 revision=1 wrksrc=${pkgname}-v${version} build_style=gnu-configure @@ -16,8 +16,7 @@ license="ISC" 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" +checksum=b6fd72c1a662bb4ee15a27885e2967196966772a02595006730f56a87f85a679 make_dirs="/etc/runit/runsvdir/66 0750 root root" From 388513c11d6cb147d835ee8fa2bb2629869b647a Mon Sep 17 00:00:00 2001 From: mobinmob Date: Wed, 14 Jul 2021 00:32:05 +0300 Subject: [PATCH 30/30] remove tmpfiles.d support. --- .../patches/remove_tmpfiles.d_support.diff | 748 ++++++++++++++++++ srcpkgs/boot-66serv/template | 4 +- 2 files changed, 750 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/boot-66serv/patches/remove_tmpfiles.d_support.diff diff --git a/srcpkgs/boot-66serv/patches/remove_tmpfiles.d_support.diff b/srcpkgs/boot-66serv/patches/remove_tmpfiles.d_support.diff new file mode 100644 index 000000000000..79e6af9de99c --- /dev/null +++ b/srcpkgs/boot-66serv/patches/remove_tmpfiles.d_support.diff @@ -0,0 +1,748 @@ +diff --git a/Makefile b/Makefile +index f6141c57be6e868ef3957f5e53469587779f0381..a461615cce22e40de642e32965e3dfb25c078219 100644 +--- a/Makefile ++++ b/Makefile +@@ -71,7 +71,6 @@ $(DESTDIR)$(service_directory)/%: service/% + -e "s,@FORCECHCK@,$(FORCECHCK)," \ + -e "s,@LOCAL@,$(LOCAL)," \ + -e "s,@CONTAINER@,$(CONTAINER)," \ +- -e "s,@TMPFILE@,$(TMPFILE)," \ + -e "s,@MODULE_KERNEL@,$(MODULE_KERNEL)," \ + -e "s,@MODULE_SYSTEM@,$(MODULE_SYSTEM)," \ + -e "s,@RANDOMSEED@,$(RANDOMSEED)," \ +diff --git a/configure b/configure +index 7a0a8da702c35d2d1c456430e927fb3cb635a21f..308868bea02b95ebeda70eaf5205c7f8c28c0257 100755 +--- a/configure ++++ b/configure +@@ -40,7 +40,6 @@ Fine tunning of boot configuration: + --FORCECHCK=BOOLEAN force a check of the filesystem [!no] + --LOCAL=BOOLEAN use rc.local scripts [!no] + --CONTAINER=BOOLEAN boot inside a container [!no] +- --TMPFILE=BOOLEAN use tmpfiles.d files [!yes] + --MODULE_KERNEL=BOOLEAN load modules kernel [!yes] + --MODULE_SYSTEM=BOOLEAN load modules from modules.d files [!yes] + --RANDOMSEED=BOOLEAN set random seed [!yes] +@@ -155,7 +154,6 @@ SYSCTL='!yes' + FORCECHCK='!no' + LOCAL='!no' + CONTAINER='!no' +-TMPFILE='!yes' + MODULE_KERNEL='!yes' + MODULE_SYSTEM='!yes' + RANDOMSEED='!yes' +@@ -212,7 +210,6 @@ for arg ; do + --FORCECHCK=*) FORCECHCK=${arg#*=} ;; + --LOCAL=*) LOCAL=${arg#*=} ;; + --CONTAINER=*) CONTAINER=${arg#*=} ;; +- --TMPFILE=*) TMPFILE=${arg#*=} ;; + --MODULE_KERNEL=*) MODULE_KERNEL=${arg#*=} ;; + --MODULE_SYSTEM=*) MODULE_SYSTEM=${arg#*=} ;; + --RANDOMSEED=*) RANDOMSEED=${arg#*=} ;; +@@ -291,7 +288,7 @@ done + + for i in HOSTNAME HARDWARECLOCK TZ SETUPCONSOLE TTY \ + KEYMAP FONT FONT_MAP FONT_UNIMAP UDEV SYSCTL FORCECHCK LOCAL CONTAINER \ +- TMPFILE MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ ++ MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ + FSTAB SWAP LVM DMRAID BTRFS ZFS ZFS_IMPORT \ + CRYPTTAB FIREWALL \ + CGROUPS MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP \ +@@ -356,7 +353,6 @@ $SYSCTL + $FORCECHCK + $LOCAL + $CONTAINER +-$TMPFILE + $MODULE_KERNEL + $MODULE_SYSTEM + $RANDOMSEED +diff --git a/doc/boot@.md b/doc/boot@.md +index 43f6480c6586a2afe141cc7e6b40e518574b4e45..a0b333e1fb06ca4551ff280b5afb226490675569 100644 +--- a/doc/boot@.md ++++ b/doc/boot@.md +@@ -136,10 +136,6 @@ Two different kinds of variables are used: + - type: boolean. + - description: convenient variable used to boot inside a container. Some services will not work or be unnecessary when you boot inside a container. This variable provides you a safe default for this purpose. If set to yes the `HARDWARECLOCK`, `SETUPCONSOLE`, `KEYMAP`, `FONT`, `FONT_MAP`, `FONT_UNIMAP`, `CRYPTTAB`, `SWAP`, `LVM`, `DMRAID`, `BTRFS`, `ZFS`, `UDEV`, `SYSCTL`, `FORCECHCK`, `CGROUPS`, `MODULE_SYSTEM`, `RANDOMSEED`, `MNT_NETFS` variables have no effect. + +-- **TMPFILES**: +- - type: boolean. +- - description: read, parse and apply a systemd-style tmpfiles.d files usually found at `/usr/lib/tmpfiles.d` directory to handle volatile and temporary files. +- + - **MODULE_KERNEL**: + - type: boolean. + - description: load the kernel modules returned by the `kmod static-nodes` command. +diff --git a/module/boot@/configure/configure b/module/boot@/configure/configure +index e6fed96bddf9d2ada8bba10c450471a5bed654d6..18d27366d29cd5d850d4c261ce71aaab54f8ede8 100755 +--- a/module/boot@/configure/configure ++++ b/module/boot@/configure/configure +@@ -11,7 +11,7 @@ service_dir="${MOD_MODULE_DIR}/service" + SV_REAL= + + sv_boolean_list="CRYPTTAB SETUPCONSOLE FSTAB SWAP LVM \ +-DMRAID BTRFS ZFS UDEV SYSCTL LOCAL CONTAINER TMPFILE MODULE_KERNEL \ ++DMRAID BTRFS ZFS UDEV SYSCTL LOCAL CONTAINER MODULE_KERNEL \ + MODULE_SYSTEM RANDOMSEED MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP CGROUPS \ + MNT_PTS MNT_SHM MNT_NETFS POPULATE_SYS POPULATE_DEV POPULATE_RUN POPULATE_TMP" + +@@ -46,7 +46,6 @@ retrieve_sv_name(){ + SYSCTL) SV_REAL="system-sysctl" ;; + FORCECHCK) SV_REAL="system-fsck" ;; + LOCAL) SV_REAL="local-rc" ;; +- TMPFILE) SV_REAL="local-tmpfiles" ;; + MODULE_KERNEL) SV_REAL="modules-kernel" ;; + MODULE_SYSTEM) SV_REAL="modules-system" ;; + RANDOMSEED) SV_REAL="system-random" ;; +diff --git a/module/boot@/configure/tmpfiles.sh b/module/boot@/configure/tmpfiles.sh +deleted file mode 100755 +index 4b684365a0dc76466a190aea292e1ea2bf24684a..0000000000000000000000000000000000000000 +--- a/module/boot@/configure/tmpfiles.sh ++++ /dev/null +@@ -1,569 +0,0 @@ +-#!@BINDIR@/sh +-# This is a reimplementation of the systemd tmpfiles.d code +-# Control creation, deletion, and cleaning of volatile and temporary files +-# +-# Copyright (c) 2012 Gentoo Foundation +-# Released under the 2-clause BSD license. +-# +-# This instance is a pure-POSIX sh version, written by Robin H Johnson +-# , based on the Arch Linux version as of 2012/01/01: +-# http://projects.archlinux.org/initscripts.git/tree/arch-tmpfiles +-# +-# See the tmpfiles.d manpage as well: +-# https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html +-# This script should match the old manpage +-# http://0pointer.de/public/systemd-man/tmpfiles.d.html +-# as of 2012/03/12 and also implements some more recent features +-# +- +-DRYRUN=0 +- +-checkprefix() { +- n=$1 +- shift +- for x in $@; do +- case $n in +- ${x}*) return 0 ;; +- esac +- done +- return 1 +-} +- +-warninvalid() { +- printf "tmpfiles: ignoring invalid entry on line %d of \`%s'\n" "$LINENUM" "$FILE" +- error=$(( error+1 )) +-} >&2 +- +-invalid_option() { +- printf "tmpfiles: invalid option '%s'\n" "$1" >&2 +- exit 1 +-} +- +-dryrun_or_real() { +- local dryrun= +- if [ $DRYRUN -eq 1 ]; then +- dryrun=echo +- fi +- $dryrun "$@" +-} +- +-_chattr() { +- local attr="$2" +- case $attr in +- [+-=]*) : ;; +- '') return ;; +- *) attr="+$attr" ;; +- esac +- local IFS= +- dryrun_or_real chattr $1 "$attr" -- $3 +-} +- +-relabel() { +- local path +- local paths=$1 mode=$2 uid=$3 gid=$4 +- local status +- +- status=0 +- for path in ${paths}; do +- if [ -e "$path" ]; then +- if [ -x /sbin/restorecon ]; then +- dryrun_or_real restorecon $CHOPTS "$path" || status="$?" +- fi +- if [ $uid != '-' ]; then +- dryrun_or_real chown $CHOPTS "$uid" "$path" || status="$?" +- fi +- if [ $gid != '-' ]; then +- dryrun_or_real chgrp $CHOPTS "$gid" "$path" || status="$?" +- fi +- if [ $mode != '-' ]; then +- dryrun_or_real chmod $CHOPTS "$mode" "$path" || status="$?" +- fi +- fi +- done +- return $status +-} +- +-splitpath() { +- local path=$1 +- while [ -n "$path" ]; do +- echo $path +- path=${path%/*} +- done +-} +- +-_restorecon() { +- local path=$1 +- if [ -x /sbin/restorecon ]; then +- dryrun_or_real restorecon -F $(splitpath "$path") +- fi +-} +- +-createdirectory() { +- local mode="$1" uid="$2" gid="$3" path="$4" +- [ -d "$path" ] || dryrun_or_real mkdir -p "$path" +- if [ "$uid" = - ]; then +- uid=root +- fi +- if [ "$gid" = - ]; then +- gid=root +- fi +- if [ "$mode" = - ]; then +- mode=0755 +- fi +- dryrun_or_real chown $uid "$path" +- dryrun_or_real chgrp $gid "$path" +- dryrun_or_real chmod $mode "$path" +-} +- +-createfile() { +- local mode="$1" uid="$2" gid="$3" path="$4" +- dryrun_or_real touch "$path" +- if [ "$uid" = - ]; then +- uid=root +- fi +- if [ "$gid" = - ]; then +- gid=root +- fi +- if [ "$mode" = - ]; then +- mode=0644 +- fi +- dryrun_or_real chown $uid "$path" +- dryrun_or_real chgrp $gid "$path" +- dryrun_or_real chmod $mode "$path" +-} +- +-createpipe() { +- local mode="$1" uid="$2" gid="$3" path="$4" +- dryrun_or_real mkfifo "$path" +- if [ "$uid" = - ]; then +- uid=root +- fi +- if [ "$gid" = - ]; then +- gid=root +- fi +- if [ "$mode" = - ]; then +- mode=0644 +- fi +- dryrun_or_real chown $uid "$path" +- dryrun_or_real chgrp $gid "$path" +- dryrun_or_real chmod $mode "$path" +-} +- +-_b() { +- # Create a block device node if it doesn't exist yet +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- if [ "$uid" = - ]; then +- uid=root +- fi +- if [ "$gid" = - ]; then +- gid=root +- fi +- if [ "$mode" = - ]; then +- mode=0644 +- fi +- if [ ! -e "$path" ]; then +- dryrun_or_real mknod -m $mode $path b ${arg%:*} ${arg#*:} +- _restorecon "$path" +- dryrun_or_real chown $uid "$path" +- dryrun_or_real chgrp $gid "$path" +- fi +-} +- +-_c() { +- # Create a character device node if it doesn't exist yet +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- if [ "$uid" = - ]; then +- uid=root +- fi +- if [ "$gid" = - ]; then +- gid=root +- fi +- if [ "$mode" = - ]; then +- mode=0644 +- fi +- if [ ! -e "$path" ]; then +- dryrun_or_real mknod -m $mode $path c ${arg%:*} ${arg#*:} +- _restorecon "$path" +- dryrun_or_real chown $uid "$path" +- dryrun_or_real chgrp $gid "$path" +- fi +-} +- +-_C() { +- # recursively copy a file or directory +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- if [ ! -e "$path" ]; then +- dryrun_or_real cp -r "$arg" "$path" +- _restorecon "$path" +- if [ $uid != '-' ]; then +- dryrun_or_real chown "$uid" "$path" +- fi +- if [ $gid != '-' ]; then +- dryrun_or_real chgrp "$gid" "$path" +- fi +- if [ $mode != '-' ]; then +- dryrun_or_real chmod "$mode" "$path" +- fi +- fi +-} +- +-_f() { +- # Create a file if it doesn't exist yet +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- +- [ $CREATE -gt 0 ] || return 0 +- +- if [ ! -e "$path" ]; then +- createfile "$mode" "$uid" "$gid" "$path" +- if [ -n "$arg" ]; then +- _w "$@" +- fi +- fi +-} +- +-_F() { +- # Create or truncate a file +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- +- [ $CREATE -gt 0 ] || return 0 +- +- dryrun_or_real rm -f "$path" +- createfile "$mode" "$uid" "$gid" "$path" +- if [ -n "$arg" ]; then +- _w "$@" +- fi +-} +- +-_d() { +- # Create a directory if it doesn't exist yet +- local path=$1 mode=$2 uid=$3 gid=$4 +- +- if [ $CREATE -gt 0 ]; then +- createdirectory "$mode" "$uid" "$gid" "$path" +- _restorecon "$path" +- fi +-} +- +-_D() { +- # Create or empty a directory +- local path=$1 mode=$2 uid=$3 gid=$4 +- +- if [ -d "$path" ] && [ $REMOVE -gt 0 ]; then +- dryrun_or_real find "$path" -mindepth 1 -maxdepth 1 -xdev -exec rm -rf {} + +- _restorecon "$path" +- fi +- +- if [ $CREATE -gt 0 ]; then +- createdirectory "$mode" "$uid" "$gid" "$path" +- _restorecon "$path" +- fi +-} +- +-_v() { +- # Create a subvolume if the path does not exist yet and the file system +- # supports this (btrfs). Otherwise create a normal directory. +- # TODO: Implement btrfs subvol creation. +- _d "$@" +-} +- +-_q() { +- # Similar to _v. However, make sure that the subvolume will be assigned +- # to the same higher-level quota groups as the subvolume it has +- # been created in. +- # TODO: Implement btrfs subvol creation. +- _d "$@" +-} +- +-_Q() { +- # Similar to q. However, instead of copying the higher-level quota +- # group assignments from the parent as-is, the lowest quota group +- # of the parent subvolume is determined that is not the +- # leaf quota group. +- # TODO: Implement btrfs subvol creation. +- _d "$@" +-} +- +-_h() { +- # Set file/directory attributes. Lines of this type accept +- # shell-style globs in place of normal path names. +- # The format of the argument field matches chattr +- _chattr '' "$6" "$1" +-} +- +-_H() { +- # Recursively set file/directory attributes. Lines of this type accept +- # shell-syle globs in place of normal path names. +- # Does not follow symlinks +- _chattr -R "$6" "$1" +-} +- +-_L() { +- # Create a symlink if it doesn't exist yet +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- if [ ! -e "$path" ]; then +- dryrun_or_real ln -s "$arg" "$path" +- fi +- _restorecon "$path" +-} +- +-_p() { +- # Create a named pipe (FIFO) if it doesn't exist yet +- local path=$1 mode=$2 uid=$3 gid=$4 +- +- [ $CREATE -gt 0 ] || return 0 +- +- if [ ! -p "$path" ]; then +- createpipe "$mode" "$uid" "$gid" "$path" +- fi +-} +- +-_x() { +- # Ignore a path during cleaning. Use this type to exclude paths from clean-up as +- # controlled with the Age parameter. Note that lines of this type do not +- # influence the effect of r or R lines. Lines of this type accept shell-style +- # globs in place of of normal path names. +- : +- # XXX: we don't implement this +-} +- +-_X() { +- # Ignore a path during cleanup. Use this type to prevent path +- # removal as controled with the age parameter. Note that if path is +- # a directory, the content of the directory is not excluded from +- # clean-up, only the directory itself. +- # Lines of this type accept shell-style globs in place of normal path names. +- : +- # XXX: we don't implement this +-} +- +-_r() { +- # Remove a file or directory if it exists. This may not be used to remove +- # non-empty directories, use R for that. Lines of this type accept shell-style +- # globs in place of normal path names. +- local path +- local paths=$1 +- local status +- +- [ $REMOVE -gt 0 ] || return 0 +- +- status=0 +- for path in ${paths}; do +- if [ -f "$path" ]; then +- dryrun_or_real rm -f "$path" || status="$?" +- elif [ -d "$path" ]; then +- dryrun_or_real rmdir "$path" || status="$?" +- fi +- done +- return $status +-} +- +-_R() { +- # Recursively remove a path and all its subdirectories (if it is a directory). +- # Lines of this type accept shell-style globs in place of normal path names. +- local path +- local paths=$1 +- local status +- +- [ $REMOVE -gt 0 ] || return 0 +- +- status=0 +- for path in ${paths}; do +- if [ -d "$path" ]; then +- dryrun_or_real rm -rf --one-file-system "$path" || status="$?" +- fi +- done +- return $status +-} +- +-_w() { +- # Write the argument parameter to a file, if it exists. +- local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6 +- if [ -f "$path" ]; then +- if [ $DRYRUN -eq 1 ]; then +- echo "echo \"$arg\" >>\"$path\"" +- else +- echo "$arg" >>"$path" +- fi +- fi +-} +- +-_z() { +- # Set ownership, access mode and relabel security context of a file or +- # directory if it exists. Lines of this type accept shell-style globs in +- # place of normal path names. +- [ $CREATE -gt 0 ] || return 0 +- +- relabel "$@" +-} +- +-_Z() { +- # Recursively set ownership, access mode and relabel security context of a +- # path and all its subdirectories (if it is a directory). Lines of this type +- # accept shell-style globs in place of normal path names. +- [ $CREATE -gt 0 ] || return 0 +- +- CHOPTS=-R relabel "$@" +-} +- +-usage() { +- printf 'usage: %s [--exclude-prefix=path] [--prefix=path] [--boot] [--create] [--remove] [--clean] [--verbose] [--dry-run]\n' "${0##*/}" +- exit ${1:-0} +-} +- +-version() { +- # We don't record the version info anywhere currently. +- echo "opentmpfiles" +- exit 0 +-} +- +-BOOT=0 CREATE=0 REMOVE=0 CLEAN=0 VERBOSE=0 DRYRUN=0 error=0 LINENO=0 +-EXCLUDE= +-PREFIX= +-FILES= +- +-while [ $# -gt 0 ]; do +- case $1 in +- --boot) BOOT=1 ;; +- --create) CREATE=1 ;; +- --remove) REMOVE=1 ;; +- --clean) CLEAN=1 ;; # TODO: Not implemented +- --verbose) VERBOSE=1 ;; +- --dryrun|--dry-run) DRYRUN=1 ;; +- --exclude-prefix=*) EXCLUDE="${EXCLUDE}${1##--exclude-prefix=} " ;; +- --prefix=*) PREFIX="${PREFIX}${1##--prefix=} " ;; +- -h|--help) usage ;; +- --version) version ;; +- -*) invalid_option "$1" ;; +- *) FILES="${FILES} $1" +- esac +- shift +-done +- +-if [ $(( CLEAN )) -eq 1 ] ; then +- printf '%s clean mode is not implemented\n' "${0##*/}" +- exit 1 +-fi +- +-if [ "$CREATE$REMOVE" = '00' ]; then +- usage 1 >&2 +-fi +- +-# XXX: The harcoding of /usr/lib/ is an explicit choice by upstream +-tmpfiles_dirs='/usr/lib/tmpfiles.d /run/tmpfiles.d /etc/tmpfiles.d' +-tmpfiles_basenames='' +- +-if [ -z "${FILES}" ]; then +- # Build a list of sorted unique basenames +- # directories declared later in the tmpfiles_d array will override earlier +- # directories, on a per file basename basis. +- # `/etc/tmpfiles.d/foo.conf' supersedes `/usr/lib/tmpfiles.d/foo.conf'. +- # `/run/tmpfiles/foo.conf' will always be read after `/etc/tmpfiles.d/bar.conf' +- for d in ${tmpfiles_dirs} ; do +- [ -d $d ] && for f in ${d}/*.conf ; do +- case "${f##*/}" in +- systemd.conf|systemd-*.conf) continue;; +- esac +- [ -f $f ] && tmpfiles_basenames="${tmpfiles_basenames}\n${f##*/}" +- done # for f in ${d} +- done # for d in ${tmpfiles_dirs} +- FILES="$(printf "${tmpfiles_basenames}\n" | sort -u )" +-fi +- +-tmpfiles_d='' +- +-for b in ${FILES} ; do +- if [ "${b##*/}" != "${b}" ]; then +- # The user specified a path on the command line +- # Just pass it through unaltered +- tmpfiles_d="${tmpfiles_d} ${b}" +- else +- real_f='' +- for d in $tmpfiles_dirs ; do +- f=${d}/${b} +- [ -f "${f}" ] && real_f=$f +- done +- [ -f "${real_f}" ] && tmpfiles_d="${tmpfiles_d} ${real_f}" +- fi +-done +- +-error=0 +- +-# loop through the gathered fragments, sorted globally by filename. +-# `/run/tmpfiles/foo.conf' will always be read after `/etc/tmpfiles.d/bar.conf' +-FILE= +-for FILE in $tmpfiles_d ; do +- LINENUM=0 +- +- ### FILE FORMAT ### +- # XXX: We ignore the 'Age' parameter +- # 1 2 3 4 5 6 7 +- # Cmd Path Mode UID GID Age Argument +- # d /run/user 0755 root root 10d - +- # Mode, UID, GID, Age, Argument may be omitted! +- # If Cmd ends with !, the line is only processed if --boot is passed +- +- # XXX: Upstream says whitespace is NOT permitted in the Path argument. +- # But IS allowed when globs are expanded for the x/r/R/z/Z types. +- while read cmd path mode uid gid age arg; do +- LINENUM=$(( LINENUM+1 )) +- FORCE=0 +- +- # Unless we have both command and path, skip this line. +- if [ -z "$cmd" -o -z "$path" ]; then +- continue +- fi +- +- case $cmd in +- \#*) continue ;; +- esac +- +- while [ ${#cmd} -gt 1 ]; do +- case $cmd in +- *!) cmd=${cmd%!}; [ "$BOOT" -eq "1" ] || continue 2 ;; +- *+) cmd=${cmd%+}; FORCE=1; ;; +- *) warninvalid ; continue 2 ;; +- esac +- done +- +- # whine about invalid entries +- case $cmd in +- f|F|w|d|D|v|p|L|c|C|b|x|X|r|R|z|Z|q|Q|h|H) ;; +- *) warninvalid ; continue ;; +- esac +- +- # fall back on defaults when parameters are passed as '-' +- if [ "$mode" = '-' -o "$mode" = '' ]; then +- case "$cmd" in +- p|f|F) mode=0644 ;; +- d|D|v) mode=0755 ;; +- C|z|Z|x|r|R|L) ;; +- esac +- fi +- +- [ "$uid" = '-' -o "$uid" = '' ] && uid=0 +- [ "$gid" = '-' -o "$gid" = '' ] && gid=0 +- [ "$age" = '-' -o "$age" = '' ] && age=0 +- [ "$arg" = '-' -o "$arg" = '' ] && arg='' +- set -- "$path" "$mode" "$uid" "$gid" "$age" "$arg" +- +- [ -n "$EXCLUDE" ] && checkprefix $path $EXCLUDE && continue +- [ -n "$PREFIX" ] && ! checkprefix $path $PREFIX && continue +- +- if [ $FORCE -gt 0 ]; then +- case $cmd in +- p|L|c|b) [ -f "$path" ] && dryrun_or_real rm -f "$path" +- esac +- fi +- +- [ "$VERBOSE" -eq "1" ] && echo _$cmd "$@" +- _$cmd "$@" +- rc=$? +- if [ "${DRYRUN}" -eq "0" ]; then +- [ $rc -ne 0 ] && error=$((error + 1)) +- fi +- done <$FILE +-done +- +-exit $error +- +-# vim: set ts=2 sw=2 sts=2 noet ft=sh: +diff --git a/module/boot@/service/all-Local b/module/boot@/service/all-Local +index 95a2a1b37042aa5718e4f626e4b823057820fff9..2e08187f6838241a524ff79a97f888f22d25a662 100644 +--- a/module/boot@/service/all-Local ++++ b/module/boot@/service/all-Local +@@ -17,7 +17,6 @@ local-loop + local-sethostname + local-time + local-authfiles +-local-tmpfiles + local-rc + local-dmesg + ) +diff --git a/module/boot@/service/local/local-dmesg b/module/boot@/service/local/local-dmesg +index fe38ef4ba439197759780579326ed055a0cc1afb..ed87f7ee6f0595d037d1ed1c56c1f102ed663618 100644 +--- a/module/boot@/service/local/local-dmesg ++++ b/module/boot@/service/local/local-dmesg +@@ -13,7 +13,6 @@ local-arptables + local-loop + local-sethostname + local-time +-local-tmpfiles + local-authfiles + local-rc ) + @user = ( root ) +diff --git a/module/boot@/service/local/local-tmpfiles b/module/boot@/service/local/local-tmpfiles +deleted file mode 100644 +index 4b471408a3efac3734c0a8ed76c4529bf2241b83..0000000000000000000000000000000000000000 +--- a/module/boot@/service/local/local-tmpfiles ++++ /dev/null +@@ -1,23 +0,0 @@ +-[main] +-@type = oneshot +-@version = @vers@ +-@description = "Create temporary files" +-@depends = ( mount-rw ) +-@user = ( root ) +-@options = ( !log ) +- +-[start] +-@execute = +-( +- if { 66-yeller -cdp local-tmpfiles -1 /dev/console starts... } +- if -nt { +- +- execl-cmdline -s { ${script_file} ${script_args} } +- +- } +- 66-yeller -Fcdp local-tmpfiles -1 /dev/console something went wrong! +-) +- +-[environment] +-script_file=!@scripts@/tmpfiles.sh +-script_args=!--create --verbose --boot +diff --git a/package/targets.mak b/package/targets.mak +index 366f2f45b0cfc7839500c1505749a7990e9323db..376b312f9838824620603a986f87b03b9ac1e07b 100644 +--- a/package/targets.mak ++++ b/package/targets.mak +@@ -1,7 +1,6 @@ + SCRIPT_TARGET := \ + module/boot@/configure/crypt.awk \ +-module/boot@/configure/modules.sh \ +-module/boot@/configure/tmpfiles.sh ++module/boot@/configure/modules.sh + + SERVICE_TARGET := service/boot@ + MODULE_TARGET := $(shell find module/boot@/service -type f) +diff --git a/service/boot@ b/service/boot@ +index 306359e210564922dbd58e5a92ecdb802ec8183f..da67f147f4278338cec746b4d03cf50b58aa0e86 100644 +--- a/service/boot@ ++++ b/service/boot@ +@@ -147,9 +147,6 @@ + + @CONTAINER@ + +-## Apply tmpfiles.d configuration file [yes|no]. +- +-@TMPFILE@ + + ## Load kernel modules [yes|no]. + \ No newline at end of file diff --git a/srcpkgs/boot-66serv/template b/srcpkgs/boot-66serv/template index 01f7cdd1beaf..a88e8b4ed5c0 100644 --- a/srcpkgs/boot-66serv/template +++ b/srcpkgs/boot-66serv/template @@ -1,7 +1,7 @@ # Template file for 'boot-66serv' pkgname=boot-66serv version=2.3.1 -revision=1 +revision=2 wrksrc=${pkgname}-v${version} build_style=gnu-configure configure_args="--HOSTNAME=!voidlinux --TTY=!4 @@ -17,7 +17,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=b6fd72c1a662bb4ee15a27885e2967196966772a02595006730f56a87f85a679 - +patch_args=" -Np1" make_dirs="/etc/runit/runsvdir/66 0750 root root" post_install() {