[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Add /usr/bin/env by default in guixsd?
From: |
Ludovic Courtès |
Subject: |
Re: Add /usr/bin/env by default in guixsd? |
Date: |
Wed, 08 Feb 2017 16:21:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hello,
address@hidden skribis:
> address@hidden (Ludovic Courtès) writes:
[...]
>> First we need a simple ‘special-files’ service or something (for /bin/sh
>> and /usr/bin/env).
>>
>> Then the whole battle will be about what the default should be. I used
>> to be affiliated with the “no way!” party on this topic, but I
>> considering changing my mind. :-) Especially that it does not matter
>> that much, after all.
>
> That sounds great for me! Thanks!
Commit 387e175492f960d7d86f34f3b2e43938fa72dbf3 adds
‘special-files-service-type’.
The default is unchanged (only /bin/sh is created) but the documentation
provides a one-liner for /usr/bin/env (see below).
Thanks,
Ludo’.
-- Scheme Variable: special-files-service-type
This is the service that sets up “special files” such as ‘/bin/sh’;
an instance of it is part of ‘%base-services’.
The value associated with ‘special-files-service-type’ services
must be a list of tuples where the first element is the “special
file” and the second element is its target. By default it is:
`(("/bin/sh" ,(file-append BASH "/bin/sh")))
If you want to add, say, ‘/usr/bin/env’ to your system, you can
change it to:
`(("/bin/sh" ,(file-append BASH "/bin/sh"))
("/usr/bin/env" ,(file-append COREUTILS "/bin/env")))
Since this is part of ‘%base-services’, you can use
‘modify-services’ to customize the set of special files (*note
‘modify-services’: Service Reference.). But the simple way to add
a special file is via the ‘extra-special-file’ procedure (see
below.)
-- Scheme Procedure: extra-special-file FILE TARGET
Use TARGET as the “special file” FILE.
For example, adding the following lines to the ‘services’ field of
your operating system declaration leads to a ‘/usr/bin/env’
symlink:
(extra-special-file "/usr/bin/env"
(file-append coreutils "/bin/env"))