Hi, 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 > > # service guix-daemon start > > /etc/init.d/guix-daemon: line 35: daemonize: command not found > > # apt-get install daemonize > > # service guix-daemon start > > # guix build -f guix.scm > > updating checkout of '/guile'... > > ... > > 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? > 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? 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 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)? 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"? You may also argue: any reasonable system will have "netbase" installed (it is Priority: important after all). But if that is so, then adding a dependency on netbase will not hurt either, right? The package "netbase" is not marked as Essential:yes so if using guix cannot reasonable by done without /etc/services then it should depend on the package providing it, no? This is a similar argument as for depending on systemd-sysusers in the way as it is done by dh_installsystemduser above. What do you think? Thanks! cheers, josch
signature.asc
Description: signature