<div dir="ltr"><div dir="ltr">On Thu, Dec 26, 2019 at 9:29 PM Jeffrey Walton <<a href="mailto:noloader@gmail.com">noloader@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Dec 26, 2019 at 9:35 AM Mantas Mikulėnas <<a href="mailto:grawity@gmail.com" target="_blank">grawity@gmail.com</a>> wrote:<br>
><br>
> On Thu, Dec 26, 2019 at 2:46 PM Jeffrey Walton <<a href="mailto:noloader@gmail.com" target="_blank">noloader@gmail.com</a>> wrote:<br>
>><br>
>> Hi Everyone,<br>
>><br>
>> My program package includes a systemd timer and service. I was able to<br>
>> setup my Makefile for a regular install using the daemons web page<br>
>> (<a href="https://www.freedesktop.org/software/systemd/man/daemon.html" rel="noreferrer" target="_blank">https://www.freedesktop.org/software/systemd/man/daemon.html</a>).<br>
>><br>
>> My question is, how should I handle a staged install using DESTDIR?<br>
>> Specifically, should we expect the timer and service to be enabled in<br>
>> the staged directory? Should we expect the timer to be started in the<br>
>> directory?<br>
><br>
> AFAIK, a staged install with $DESTDIR usually means that you're preparing the files to be collected into a package -- usually to be installed on another system and/or at a later time. So it doesn't make practical sense to start anything at this point.<br>
><br>
> (And honestly I would **never** expect a Makefile to start any services **at all**. Doesn't matter whether it's staged or not: that is simply not what `make install` does.)<br>
<br>
Thanks Mantas.<br>
<br>
Yeah, I know what you mean.<br>
<br>
> It also doesn't make much sense to call `systemctl enable`, as it's mainly a sysadmin tool. Some distros automatically enable & start services after package installation... but in that case the "enabled" status is still under control by the sysadmin -- it is not hardcoded in the package itself.<br>
<br>
I think I'm going to add a start: recipe that will enable and start<br>
services after install for those who want it. It will be a recipe for<br>
non-staged installs.<br>
<br>
The reasoning is, users want things that "just work". They don't want<br>
excuses. A "sudo make start" is a little unusual, but I think it is a<br>
better option than the services not starting and users wondering why.<br>
I would not want to be the user trying to track down why a<br>
[unfamiliar] package does not run as expected.<br></blockquote><div><br></div><div>But if it's unfamiliar to them, why *would* they expect it to be doing something that practically no other package does?</div><div><br></div><div>I can see the point if you're aiming this at Debian/Ubuntu users, where the package manager traditionally starts every service as soon as it is installed -- but in that case, it would likely be even simpler to provide your app as a .deb package or PPA as well, rather than making them build from source...</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mantas Mikulėnas</div></div></div>