Hi, On Tue, 02 Mar 2021 at 01:05, Leo Famulari <l...@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:
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 \
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