Red Hat Bugzilla – Bug 718756
Provide native systemd unit file
Last modified: 2012-05-26 03:42:13 EDT
Description of problem:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Created attachment 511195 [details]
Native systemd service file for ddclient
Yes, but I'm not going to write one myself for now. Nevertheless, I'm willing
to accept a working and well done systemd service file for inclusion.
What the one I submitted is not good enough?
Sorry, I overlooked your contribution. Will have a look into it the next days.
Looks to me like it should perhaps have a "Requisite" or "BindTo" network.target, in addition to the "After". Depends on whether we want ddclient to keep doing its thing when the network goes down, which it is designed to do, after all. I don't see any point to it starting up when there's no network, though. (As long as this doesn't mean it won't work without NetworkManager running and controlling the interface?)
Other than that, it looks just about like the one I was working up, and should be good.
Also, you might want to hold off on packaging it until you rebuild with the new 3.8.1, which I see just produced Bug #720627. No point in planning to release two versions of the package within a few days of each other.
(In reply to comment #5)
> Looks to me like it should perhaps have a "Requisite" or "BindTo"
> network.target, in addition to the "After". Depends on whether we want
> ddclient to keep doing its thing when the network goes down, which it is
> designed to do, after all. I don't see any point to it starting up when
> there's no network, though. (As long as this doesn't mean it won't work
> without NetworkManager running and controlling the interface?)
> Other than that, it looks just about like the one I was working up, and should
> be good.
Would be what you want ( if any ) unless ofcourse you want to take bring up and take down the network when you start and stop this service which I'm pretty sure you dont want..
According to systemd.unit(5), "[BindTo is] very similar in style to Requires=, however in addition to this behaviour it also declares that this unit is stopped when any of the units listed suddenly disappears." Which sounds to me like it would mean ddclient ("this unit") would be stopped when the network ("units listed") goes away. But I'm inclined to think that isn't the desired behaviour anyway, and Requisite is the way to go, since ddclient does handle network going away and reappearing, like I said.
i got a box that has a static internal ip and does not use NetworkManager and that is disabled. ddclient is working on that box.
i hope the fix wont break that.
I tried the service file provided but had to remove the line:
because touch create the ddclient.cache file with root owner and the daemon can't write to it.
Hum that's odd the submitted file is executed as ddclient user anyway you should be able to add exec start pre line which chowns the file to the ddclient user in that case try this.
Description=A Perl Client Used To Update Dynamic DNS
ExecStartPre=/bin/chown ddclient.ddclient /var/cache/ddclient/ddclient.cache
Oh by the way which version of systemd are you using ( rpm -qa | grep systemd ) I kinda need to know that encase this is an bug.
Let me check it again, because I did some tests and maybe the file was created as root when trying to launch ddclient manually.
Problably I messed things up.
(In reply to comment #11)
> Hum that's odd the submitted file is executed as ddclient user anyway you
> should be able to add exec start pre line which chowns the file to the ddclient
> user in that case try this.
You are right, it's executed as ddclient user, My file already existed with root owner
> ExecStartPre=/bin/chown ddclient.ddclient /var/cache/ddclient/ddclient.cache
This line isn't necessary.
Robert, any objection to my making this change?
Anyone maintaining this package?
I'll make this change today.
Done. I'll push systemd to f17, and 3.8.1 to all branches.
ddclient-3.8.1-1.fc17 has been submitted as an update for Fedora 17.
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ddclient-3.8.1-1.fc17'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
ddclient-3.8.1-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
you are missing a file...
d /var/run/ddclient 0755 ddclient ddclient -
Fixed, update for 17 coming.
ddclient-3.8.1-2.fc17 has been submitted as an update for Fedora 17.
ddclient-3.8.1-3.fc17 has been submitted as an update for Fedora 17.
ddclient-3.8.1-3.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.