[systemd-devel] Variable expansion in ConditionPathExists

Marcos Felipe Rasia de Mello marcosfrm at gmail.com
Thu Dec 25 11:16:52 PST 2014


2014-12-25 14:18 GMT-02:00 Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>:
> On Thu, Dec 25, 2014 at 03:36:15PM +0100, Zbigniew Jędrzejewski-Szmek wrote:
>> On Wed, Dec 24, 2014 at 10:37:50AM -0200, Marcos Felipe Rasia de Mello wrote:
>> > Hi,
>> >
>> > I have a system service that runs with a normal user account
>> > ([Service] User=bla). I tried
>> >
>> > [Unit]
>> > ConditionPathExists=$HOME/config.xml
>> >
>> > but it does not work:
>> >
>> > systemd[1]: [/etc/systemd/system/bla.service:4] Path in condition not
>> > absolute, ignoring: $HOME/config.xml
>> >
>> > %h also does not work (expand to /root). I am running
>> > systemd-216-12.fc21.x86_64.
>> >
>> > It is not crucial to my service, still can be useful perhaps?
>> Hi,
>> unfortunately %h is not really supported anymore. Man page should be
>> updated, since it's rather misleading at the moment. It was removed
>> in systemd 209:
>>
>>   * %h, %s, %U specifier support is not available anymore when
>>     used in unit files for PID 1. This is because NSS calls are
>>     not safe from PID 1. They stay available for --user
>>     instances of systemd, and as special case for the root user.
> The manpage *did* already say that %h does not work, but it a somewhat
> roundabout way. I now added a seperate paragraph which describes why it
> shouldn't be used.
>

Thank you. It is clarified now.


More information about the systemd-devel mailing list