Subject: Re: bug#27037: systemd service files installed by guix 0.13.0 cannot used by other distributions

From: 藍挺瑋 <[email-masked]>
Date: Wed, 24 May 2017 23:37:27 +0800

Leo Famulari 於 西元2017年05月24日 00:16 寫道:
> On Tue, May 23, 2017 at 11:33:42PM +0800, 藍挺瑋 wrote:
> 
> Hi!
> 
>> I found the systemd service files installed by guix 0.13.0
>> use /var/guix/profiles/per-user/root/guix-profile/bin/guix* instead of
>> /usr/bin/guix* in ExecStart=. The path /var/guix/profiles don't exist
>> on systems that don't have guix installed before
> 
> I'm a little confused: is there a situation where Guix is not installed
> but '/usr/bin/guix-daemon' exists?

This can happen with source installation. 'make install' installs 
/usr/bin/guix* but not /var/guix. /var/guix doesn't exist until 
guix-daemon is started.

> 
> The path '/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon'
> is guaranteed to exist if you followed the instructions in Binary
> Installation [0], which is, as far as I know, the most common way to
> install Guix on other distros. So, I think this path is appropriate for
> the basic service file we provide.

I think you mean that the systemd service files included in Guix are 
only intended to be used with binary installation process. Do you mean 
that using them with traditional 'make install' installation is not 
supported?

> 
>> Is it possible to fix systemd service files, so it can be easily used
>> by packages in other distributions?
> 
> I think that, if you are packaging Guix for other distros, you should
> provide your own service file. My experience is that each systemd-based
> distro uses systemd's advanced features (e.g. process grouping and
> resource limiting) in different ways. So, making your own service file,
> in accordance with your distro's standards, will help Guix work in a way
> that is more idiomatic to the host distro.

Yes, I am packaging Guix for Arch and Fedora, and I use the systemd 
service files provided by Guix in my packages since version 0.8.3. If 
doing so is never supported, I can make my own service files like what I 
did for version 0.6 to 0.8.2 and I think this bug can be closed.

> 
> [0] Specifically, it happens during the initial unpacking and renaming:
> `mv var/guix /var/ && mv gnu/`
> https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html
>