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

From: 藍挺瑋 <[email-masked]>
Date: Mon, 29 May 2017 22:19:58 +0800

Leo Famulari 於 西元2017年05月25日 06:07 寫道:
> On Wed, May 24, 2017 at 11:37:27PM +0800, 藍挺瑋 wrote:
>> Leo Famulari 於 西元2017年05月24日 00:16 寫道:
>>> 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.
> 
> I see. We discussed this use case previously, which led to the change
> which caused your issue:
> 
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25852#80
> 
> In short, we decided to break this for `make install` since we didn't
> come up with a better solution at the time.
> 
>>> 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?
> 
> It's de facto unsupported, since it's not working :) But, I think we
> should address this use case, since it is causing problems for
> downstream packagers.
> 
>> 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.
> 
> I do think you should look into tailoring a service file to those
> systems; you might be able to provide Guix on those systems in a more
> integrated or idiomatic way.

I updated my packages to install two systemd service files for 
guix-daemon to allow users to choose between /usr/bin/guix-daemon and 
/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon.

> 
> However, we also try to offer upstream service files in the packages
> offered by Guix, so I'd like to find a way to support both the binary
> installation and `make install` use cases simultaneously.
> 
> Unless somebody proposes a fix in the meantime, I'll look into this more
> closely before the next release.
> 

Is it possible to resolve it by providing a configure option to choose 
between two versions of systemd service files, so guix binary tarballs 
can use /var/guix/profiles but packages of other distributions can use 
/usr/bin?