GNU bug report logs -
#46871
Service manager "init scripts" missing from current-guix
Previous Next
Reported by: Leo Famulari <leo <at> famulari.name>
Date: Tue, 2 Mar 2021 06:06:01 UTC
Severity: normal
Merged with 47090
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 46871 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
On Tue, 02 Mar 2021 at 01:05, Leo Famulari <leo <at> famulari.name> wrote:
> ------
> cp: cannot stat '/root/.config/guix/current/etc/openrc/guix-daemon': No such file or directory
> chmod: cannot access '/etc/init.d/guix-daemon': No such file or directory
> * rc-update: service `guix-daemon' does not exist
> ------
>
> I downloaded the 1.2.0 release binary and, indeed, there is no directory
> 'etc/openrc' in root's current-guix profile. It's also missing from the
> 'guix-1.2.0' store item that is the current-guix in this context.
>
> There is 'etc/init.d', 'lib/upstart', and 'lib/systemd'.
Neither in the latest binary from CI:
<https://ci.guix.gnu.org/search/latest/archive?query=spec:guix-master+status:success+system:x86_64-linux+guix-binary.tar.xz>
Noting ’guix-profile’ instead of ’current-profile’ in the extracted ’var’:
$ ls -l var/guix/profiles/per-user/root/
total 0
lrwxrwxrwx 1 sitour sitour 19 janv. 1 1970 guix-profile -> guix-profile-1-link
lrwxrwxrwx 1 sitour sitour 51 janv. 1 1970 guix-profile-1-link -> /gnu/store/…-profile
Mathieu, how this ’latest’ tarball is produced? With “guix pack
--profile-name=current-guix” as in “make release”?
The 2 last commits seems about openrc seem,
d27dbeb9d8 gnu: guix: Install OpenRC init files to $(prefix)/etc.
cabac732de guix-install.sh: Support OpenRC.
I miss why in nix/local.mk:
--8<---------------cut here---------------start------------->8---
# The service script for openrc.
openrcservicedir = $(sysconfdir)/init.d
nodist_openrcservice_DATA = etc/openrc/guix-daemon
--8<---------------cut here---------------end--------------->8---
instead of:
openrcservicedir = $(sysconfdir)/openrc
and then in accordance with the substitutes* replacement. Well, this
tiny patch does that:
[fix.patch (text/x-diff, inline)]
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 776867eab7..938907eb12 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -212,7 +212,7 @@ $(prefix)/etc/init.d\n")))
(substitute* "nix/local.mk"
(("^openrcservicedir = .*$")
(string-append "openrcservicedir = \
-$(prefix)/etc/init.d\n")))
+$(prefix)/etc/openrc\n")))
(invoke "sh" "bootstrap")))
(add-before 'build 'use-host-compressors
diff --git a/nix/local.mk b/nix/local.mk
index d2ce349d9c..7c438ea78c 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -181,7 +181,7 @@ etc/init.d/guix-daemon: etc/init.d/guix-daemon.in \
mv "$@.tmp" "$@"
# The service script for openrc.
-openrcservicedir = $(sysconfdir)/init.d
+openrcservicedir = $(sysconfdir)/openrc
nodist_openrcservice_DATA = etc/openrc/guix-daemon
etc/openrc/guix-daemon: etc/openrc/guix-daemon.in \
[Message part 3 (text/plain, inline)]
It seems to fix… but not well tested since I am still failing with
“make release”. :-)
I have tried with
./pre-inst-env guix build guix \
--with-git-url=guix=$(pwd) \
--with-commit=guix=xxxxxxxx
WDYT?
> Weirder: none of these files are available in current-guix on a
> "current" Guix installation, although they do appear in the result of
> `guix build guix`. Minus openrc of course. Is this expected?
Is it not the difference between the package Guix and (guix self)?
Other said, “guix pull” does not install the package Guix in “current”
but compile (guix self). Maybe I misunderstand something.
Cheers,
simon
This bug report was last modified 4 years and 140 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.