FS#39258 - [systemd] '%h' no longer resolves in systemd unit files

Attached to Project: Arch Linux
Opened by Scott (firecat53) - Sunday, 09 March 2014, 22:29 GMT
Last edited by Gerardo Exequiel Pozzi (djgera) - Wednesday, 12 March 2014, 01:02 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Dave Reisner (falconindy)
Tom Gundersen (tomegun)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: "%h" no longer resolved in systemd service files after upgrade to systemd 210


Additional info:
* package version(s)

systemd 210-3

* config and/or log files etc.
From journalctl:
Mar 09 08:17:04 scotty systemd[1]: [/etc/systemd/system/resume@.service:8] Failed to resolve specifiers, ignoring: HOME=%h

Steps to reproduce:

1. Add %h into a service file, e.g.:

[Service]
User=firecat53
Type=simple
Environment=HOME=%h
.....

or

[Service]
User=%I
Environment=DISPLAY=:0
ExecStart=/usr/bin/mpd %h/.config/mpd/mpd.conf --no-daemon
......

Service will fail to start. Changing the %h to '/home/firecat53' fixes the issue. %h worked fine before v210.

This was also reported here in the comments: https://aur.archlinux.org/packages/seafile-server/?setlang=de

Thanks,
Scott
This task depends upon

Closed by  Gerardo Exequiel Pozzi (djgera)
Wednesday, 12 March 2014, 01:02 GMT
Reason for closing:  Not a bug
Comment by Doug Newgard (Scimmia) - Sunday, 09 March 2014, 22:52 GMT
Bug or feature? The man page seems to indicate that %h is for systemd --user sessions only.
Comment by Scott (firecat53) - Sunday, 09 March 2014, 22:56 GMT
Ah, I see what you're saying. Maybe it's fixed to match the man page. Although I would have thought 'configured user' would include a user set within the service file by 'User=' even if it's a system-level service. Maybe I need to switch to 'systemd --user'.

Loading...