From: Simon McVittie Date: Tue, 7 Jun 2011 13:01:39 +0000 (+0100) Subject: bus: use ln -fs to enable dbus in systemd, not $(LN_S) X-Git-Tag: dbus-1.4.12~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b82500b1b768d880100ed5ea98afcac26286257;p=thirdparty%2Fdbus.git bus: use ln -fs to enable dbus in systemd, not $(LN_S) Using $(LN_S) is inappropriate because it could in theory mean either ln -s, ln or cp -p depending on autoconf checks. Not using -f breaks reinstallation directly from source (DESTDIR unset), because the symlinks will already exist. Because systemd isn't currently portable to non-Linux, let alone non-SUS-compliant systems, it seems safe to assume that ln -fs behaves as specified by SUS if systemd was found. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37870 Reviewed-by: Colin Walters --- diff --git a/bus/Makefile.am b/bus/Makefile.am index bb895e2a2..9761c27c7 100644 --- a/bus/Makefile.am +++ b/bus/Makefile.am @@ -204,14 +204,16 @@ install-data-hook: $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services if HAVE_SYSTEMD -# Install dbus.socket as default implementation of a D-Bus stack +# Install dbus.socket as default implementation of a D-Bus stack. +# Deliberately not using $(LN_S) here: ln -fs is not universally portable, +# but neither is systemd, so it's OK to assume here that ln complies with SUS. $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants - $(LN_S) ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants/dbus.socket + ln -fs ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants/dbus.socket # Unconditionally enable D-Bus on systemd installations $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants - $(LN_S) ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/dbus.socket + ln -fs ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/dbus.socket $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants - $(LN_S) ../dbus.service $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants/dbus.service + ln -fs ../dbus.service $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants/dbus.service endif if DBUS_UNIX