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

Previous Next

Package: guix-patches;

Reported by: Morgan.J.Smith <at> outlook.com

Date: Tue, 11 Aug 2020 20:37:02 UTC

Severity: normal

Tags: fixed, patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Morgan.J.Smith <at> outlook.com
Cc: 42816 <at> debbugs.gnu.org
Subject: [bug#42816] [PATCH] guix-install.sh: Add support for openrc
Date: Tue, 11 Aug 2020 23:26:55 +0200
[Message part 1 (text/plain, inline)]
Morgan,

Morgan.J.Smith <at> 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
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 247 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.