guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#42816] [PATCH] guix-install.sh: Add support for openrc


From: Tobias Geerinckx-Rice
Subject: [bug#42816] [PATCH] guix-install.sh: Add support for openrc
Date: Tue, 11 Aug 2020 23:26:55 +0200

Morgan,

Morgan.J.Smith@outlook.com 写道:
* etc/guix-install.sh: Add support for openrc

\o/ thanks!

I also removed the --warning=no-timestamp tar flag

My understanding was that this silenced a scary but harmless warning from older (GNU?) tar versions. I'm happy to see it go if it actually breaks others.

and changed grep to use
extended regex instead of perl regex since these flags where not supported on
the alpine linux image I was using to test (3.12.0-x86_64).

Both Alpine compatibility changes are very welcome but should be in a separate commit. Keep commits confined to one logical change whenever possible.

--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -150,6 +150,9 @@ chk_init_sys()
         _msg "${INF}init system is: sysv-init"
         INIT_SYS="sysv-init"
         return 0
+ elif [[ $(openrc --version 2>/dev/null) =~ \(OpenRC\) ]]; then

OK.  I didn't realise the script still had severe bashism.

+        _msg "${INF}init system is: OpenRC"
+        INIT_SYS="openrc"

Add a ‘return 0’ line here for consistency with the rest of the code.

     latest_ver="$(echo "$bin_ver_ls" \
- | grep -oP "([0-9]{1,2}\.){2}[0-9]{1,2}" \ + | grep -oE "([[:digit:]]{1,2}\.){2}[[:digit:]]{1,2}" \

[[:digit:]] wasn't strictly required here, right? I understand that it's more ‘correct’ but can't imagine any locale actually breaking either one.

Is there a practical chance that some ancient-but-supported grep out there supports [0-9] but *not* [[:digit:]]?

If not: OK!

@@ -384,6 +386,16 @@ sys_enable_guix_daemon()
                   service guix-daemon start; } &&
                 _msg "${PAS}enabled Guix daemon via sysv"
             ;;
+        openrc)
+            { mkdir -p /etc/init.d;
+ cp "${ROOT_HOME}/.config/guix/current/etc/openrc/guix-daemon" \
+                 /etc/init.d/guix-daemon;
+              chmod 775 /etc/init.d/guix-daemon;
+
+              rc-update add guix-daemon default &&
+                  rc-service guix-daemon start;} &&
+                _msg "${PAS}enabled Guix daemon via OpenRC"
+            ;;

I'll defer to your expertise on the OpenRC incantations :-)

Minor nitpick: ‘; }’.

diff --git a/etc/openrc/guix-daemon b/etc/openrc/guix-daemon

I like the subdirectory.

new file mode 100644
index 0000000000..436673f169
--- /dev/null
+++ b/etc/openrc/guix-daemon
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+
+export GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
+export LC_ALL=en_US.utf8
+command="/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon"
+command_args="--build-users-group=guixbuild"
+command_background="yes"
+pidfile="/var/run/guix-daemon.pid"
+
+output_log="/var/log/guix-daemon-stdout.log"
+error_log="/var/log/guix-daemon-stderr.log"

Please rename this to guix-daemon.in & add it to nix/local.mk so we can use @localstatedir@ here.

If you could send a revised patch series it would be much appreciated; otherwise I'll make the above changes when I get around to it (...).

Thanks!

T G-R

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]