unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#46871: Service manager "init scripts" missing from current-guix
@ 2021-03-02  6:05 Leo Famulari
  2021-03-04  3:27 ` zimoun
  0 siblings, 1 reply; 2+ messages in thread
From: Leo Famulari @ 2021-03-02  6:05 UTC (permalink / raw)
  To: 46871

On #guix, user fossguy[m]11 reported that guix-install.sh fails on
Gentoo, like this:

------
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'.

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?




^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#46871: Service manager "init scripts" missing from current-guix
  2021-03-02  6:05 bug#46871: Service manager "init scripts" missing from current-guix Leo Famulari
@ 2021-03-04  3:27 ` zimoun
  0 siblings, 0 replies; 2+ messages in thread
From: zimoun @ 2021-03-04  3:27 UTC (permalink / raw)
  To: Leo Famulari, 46871; +Cc: Mathieu Othacehe

[-- Attachment #1: Type: text/plain, Size: 1854 bytes --]

Hi,

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



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: fix.patch --]
[-- Type: text/x-diff, Size: 1032 bytes --]

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	\

[-- Attachment #3: Type: text/plain, Size: 679 bytes --]




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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-04  3:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-02  6:05 bug#46871: Service manager "init scripts" missing from current-guix Leo Famulari
2021-03-04  3:27 ` zimoun

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).