GNU bug report logs - #46871
Service manager "init scripts" missing from current-guix

Previous Next

Package: guix;

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):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Leo Famulari <leo <at> famulari.name>, 46871 <at> debbugs.gnu.org
Cc: Mathieu Othacehe <othacehe <at> gnu.org>
Subject: Re: bug#46871: Service manager "init scripts" missing from
 current-guix
Date: Thu, 04 Mar 2021 04:27:39 +0100
[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.