On 2024-06-09, Johannes Schauer Marin Rodrigues wrote:
> On Mon, 17 Jul 2023 16:25:58 -0700 Vagrant Cascadian <vagr...@debian.org> 
> wrote:
>> On 2023-07-18, Simon Josefsson wrote:
>> > Hi.  I was trying to build guile-gnutls via guix in a debian12
>> > container, and the sequence below happened.  Is there a missing
>> > dependency on daemonize?
>> ...
>> > # guix build -f guix.scm
>> > guix build: error: failed to connect to `/var/guix/daemon-socket/socket': 
>> > No such file or directory
>> > # /etc/init.d/guix-daemon start
>> > /etc/init.d/guix-daemon: line 35: daemonize: command not found
...
>> > successfully built 
>> > /gnu/store/wza4ydc3hcalql66m3w8f6xr2s4sm6vf-guile-gnutls-3.7.12-git.drv
>> > /gnu/store/jq6zvcadd1wnv1yirhp3xr378l6g9n8c-guile-gnutls-3.7.12-git
>> 
>> It is mentioned in /usr/share/doc/guix/README.Debian.
>
> is it? I ran into the same issue and I did read guix.README.Debian which does
> not cover this situation. There is a section called "Using with sysvinit" but
> that does not apply here because no sysvinit is involved, right?

In my experience I have never had this issue running systemd ... so I
did assume it was a sysvinit environment ... let me know what
environments this occurs in!

I did some basic testing with sysvinit that worked at the time to
resolve:

  https://bugs.debian.org/983248

Which is why the README.Debian includes any instructions at all.  If
those instructions are insufficient due to changes or other environments
not covered... please clarify and ideally propose a tested, working fix!
:)


>> I am of mixed mind on doing more than that... with the debian defaults,
>> it is not needed, so it seems a bit much to add it to Depends or even
>> Recommends.
>
> In my opinion the argument goes the other way round: if a potential dependency
> is already installed on most systems then adding a Depends on it does not hurt
> because it will make no difference. On the other hand, very minimal systems
> that do not have the package installed will benefit from such a dependency as
> without it, the package cannot function.
>
> It seems though that the situation has changed a bit now in 2024 and the guix
> package is installing a native systemd service file which does not require the
> daemonize tool anymore?

I do not think anything changed; the guix package in Debian has been
using systemd units from very early on (if not from the very
beginning); the systemd services do not require daemonize.


> About systemd-sysusers: there is no policy requirement to add a dependency if
> your package ships files in /usr/lib/sysusers.d in the same way as there is no
> requirement to add a dependency on cron if the package ships a cronjob in
> /etc/cron.d. Maybe as a datapoint, if src:guix were to run
> dh_installsystemduser as part of the build, then it would add the following to
> ${misc:Depends}:
>
>     systemd | systemd-standalone-sysusers | systemd-sysusers

Honestly, I do not wrap my head around all these different permutations
of user and group instantiation. I have it working with a fairly
standard debian install, and if there is something specific, simple and
straightforward to make it work in other environments, I will not block
it outright...


> Another thing to ask: is there a common-enough use-case with which the package
> can be used without systemd-sysusers (or some of its real providers)?

It requires manually adding all the users and groups expected to be
available with the guix-daemon service, and perhaps manual configuration
of the guix-daemon service.


> Maybe similarly, if one does not have the package "netbase" installed, running
> "guix pull" will fail with:
>
>     guix substitute: warning: ci.guix.gnu.org: host not found: Servname not 
> supported for ai_socktype
>
> This is because without "netbase" the file /etc/services will not exist. So 
> why
> is the guix package not depending on "netbase"?

This is brought up in:

  https://bugs.debian.org/1051829

I stalled out trying to find a reproducer of the issue that makes sense
(e.g. an environment with network access but netbase not installed), but
honestly, given the tiny size of the netbase package, I just went ahead
and added it to Depends just now...

live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to