FS#33675 - [murmur] /run/murmur directory not created on install

Attached to Project: Community Packages
Opened by Buce (Buce) - Saturday, 02 February 2013, 02:20 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Tuesday, 02 April 2013, 23:01 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

I just installed murmur for the first time, and `systemctl start murmur.service` hung for a while before failing.
`systemctl status` said that the pid file didn't show up, and `ps` and `netstat` showed murmur running and listening on the correct port despite the failure. Some investigation found that /run/murmur/ did not exist, I'm guessing because the install script tries to create it with user/group murmur before user/group murmur exists. I've not tested this, but I think the fix is to move the `systemd-tmpfiles` line after the `getent || useradd` line in this snippet from postinstall():

systemd-tmpfiles --create usr/lib/tmpfiles.d/murmur.conf

getent group murmur > /dev/null || groupadd -r -g 86 murmur 1>/dev/null
getent passwd murmur > /dev/null || useradd -r -u 86 -d /var/lib/murmur -g murmur -s /bin/false murmur 1>/dev/null

The quick fix for users hitting this bug is to run `systemd-tmpfiles --create usr/lib/tmpfiles.d/murmur.conf`.


Additional info:

root@bender:~# pacman -Q murmur
murmur 1.2.3-9
root@bender:~# systemctl start murmur.service
Job for murmur.service failed. See 'systemctl status murmur.service' and 'journalctl -xn' for details.
root@bender:~# systemctl status murmur.service
murmur.service - Mumble Daemon
Loaded: loaded (/usr/lib/systemd/system/murmur.service; disabled)
Active: activating (start) since Fri 2013-02-01 20:51:17 EST; 9s ago
Process: 1494 ExecStart=/usr/sbin/murmurd -ini /etc/murmur.ini (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/murmur.service
└─1496 /usr/sbin/murmurd -ini /etc/murmur.ini

Feb 01 20:51:16 bender systemd[1]: Stopping Mumble Daemon...
Feb 01 20:51:16 bender systemd[1]: Starting Mumble Daemon...
Feb 01 20:51:17 bender systemd[1]: PID file /run/murmur/murmur.pid not readable (yet?) after start.
root@bender:~# systemd-tmpfiles --create /usr/lib/tmpfiles.d/murmur.conf
root@bender:~# systemctl restart murmur
root@bender:~#


Steps to reproduce:
1. Install murmur on an OS with no murmur user/group
2. `systemctl start murmur`
3. Notice the failure
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Tuesday, 02 April 2013, 23:01 GMT
Reason for closing:  Fixed
Additional comments about closing:  rel -13
Comment by Buce (Buce) - Saturday, 02 February 2013, 02:22 GMT
Sorry, the quick fix is `systemd-tmpfiles --create /usr/lib/tmpfiles.d/murmur.conf` (with an absolute path).

Loading...