[syslog-ng] [Bug 126] [systemd] Add installation of systemd unit file via build-sys

bugzilla at bugzilla.balabit.com bugzilla at bugzilla.balabit.com
Mon Jun 27 14:43:26 CEST 2011


https://bugzilla.balabit.com/show_bug.cgi?id=126





--- Comment #8 from Dave Reisner <dreisner at archlinux.org>  2011-06-27 14:43:26 ---
(In reply to comment #7)
> Hmm.. I've found this description:
> 
> https://fedoraproject.org/wiki/User:Johannbg/QA/Systemd/Daemon
> 
> It states that:
> 
> "At the build installation time (e.g. make install during package build) packages are recommended to 
> install their systemd unit files in the directory returned by pkg-config systemd 
> --variable=systemdsystemunitdir (for system services), resp. pkg-config systemd 
> --variable=systemdsessionunitdir (for session services). This will make the services 
> available in the system on explicit request but not activate them automatically during 
> boot. Optionally, during package installation (e.g. rpm -i by the administrator) 
> symlinks should be created in the systemd configuration directories via the enable 
> command of the systemctl(1) tool, to activate them automatically on boot. "
> 
> I'm not sure I agree, however I wouldn't want to create a non-standard option, 
> that looks like a standard one.

Forgive me, I'm not sure what your concern is here, other than the awkward naming
convention.

> I have another concern: if systemd is present on the system, and my development 
> computer would support it, then the Makefiles would try to install it unconditionally to
> /lib/systemd/system, which would cause permission denied errors, since I'm doing 
> development as a non-root user.

Are you saying that a make install command such as the below ignores DESTDIR?

  make DESTDIR=/path/to/dev/root install

I can't reproduce this, regardless of the value passed to --with-systemdsystemunitdir.
DESTDIR is definitely honored both using your patch and mine.

> Also, the hooks you used don't support "make uninstall", which automake otherwise does.

That's my lack of experience with autotools showing through. Completely unintended.

> Here's the currently experimental patch I've came up with, which:
>   * does nothing with the unit file by default
>   * if --with-systemdsystemunitdir is specified without arguments, it tries to autodetect it using pkg-config
>   * if --without-systemdsystemunitdir is specified, it does nothing
>   * if --with-systemdsystemunitdir is specified with an argument, it uses that directory

Awesome. With the currently advertised autotools macro, specifying no argument to
--with-ssud (getting tired of typing that) will result in no units being installed.

> Can you please check if this works for you? Also, can you please voice my concerns 
> about the suggested implementation to the systemd developers? Thanks.
> 
> Here's the patch currently (not yet on master):
> 
> http://git.balabit.hu/?p=bazsi/syslog-ng-3.3.git;a=shortlog;h=systemd-unit-install
> 

This is great, and it does work for me. Just curious though, could this a candidate
for backport to 3.2, or is it too big of a change to be considered for a stable release?

I will happily pass along the improvement to the autotools macro. It definitely makes
sense. However, I believe that the Wiki you reference is more of a guideline, and not
necessarily gospel. 


-- 
Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the syslog-ng mailing list