The headers are now installed into
/usr/include/elogind/systemd
and the pkg-config file now returns -I/usr/include/elogind for CFLAGS.
Further
/usr/include/elogind
contains symlinks to the headers, so existing packages already including
<elogind/sd-login.h> will not be broken.
This way no software has to change their include lines anywhere to
support elogind any more. All they have to do is either add
LIBSYSTEMD_CFLAGS or LIBELOGIND_CFLAGS from pkg-config and be done
with it.
So most patching can be avoided, just some configure adaption is
needed.
However, this can lead to systemd/elogind bug confusion if there is anything
mixed up on a system that shouldn't.
Downstreams, chose any of the two ways to your own discretion!
See https://bugs.freedesktop.org/show_bug.cgi?id=101251
# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/elogind
# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/elogind
-pkgincludedir=$(includedir)/elogind
+pkgincludedir=$(includedir)/elogind/systemd
udevrulesdir=@udevrulesdir@
udevbindir=@udevbindir@
udevlibexecdir=$(udevbindir)
udevrulesdir=@udevrulesdir@
udevbindir=@udevbindir@
udevlibexecdir=$(udevbindir)
src/systemd/sd-id128.h \
src/systemd/_sd-common.h
src/systemd/sd-id128.h \
src/systemd/_sd-common.h
+header-install-hook:
+ $(MKDIR_P) $(DESTDIR)/$(pkgincludedir)
+ cd $(DESTDIR)/$(includedir)/elogind && \
+ for hdr in $(notdir $(pkginclude_HEADERS)) ; do \
+ $(LN_S) systemd/$$hdr $$hdr ; \
+ done
+
+header-uninstall-hook:
+ m -f $(DESTDIR)/$(includedir)/elogind/*.h
+
+INSTALL_EXEC_HOOKS += header-install-hook
+UNINSTALL_EXEC_HOOKS += header-uninstall-hook
lib_LTLIBRARIES += \
libelogind.la
lib_LTLIBRARIES += \
libelogind.la
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
+includedir=@includedir@/elogind
Name: elogind
Description: elogind Library
Name: elogind
Description: elogind Library