Install systemd services with autotools

Change-Id: I563559f5b501eded44efafc60bb0c9ffdea20b3e
This commit is contained in:
Pau Espin 2018-09-10 12:19:45 +02:00
parent ee44b82b96
commit 381b723543
8 changed files with 35 additions and 5 deletions

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = lib gtp ggsn sgsnemu doc tests
SUBDIRS = lib gtp ggsn sgsnemu doc contrib tests
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libgtp.pc
@ -12,4 +12,7 @@ dist-hook:
EXTRA_DIST = git-version-gen .version README.md README.FreeBSD README.MacOSX
DISTCHECK_CONFIGURE_FLAGS = \
--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
@RELMAKE@

View File

@ -38,9 +38,9 @@ AC_SUBST(EXEC_LDFLAGS)
case "${host}" in
i*86-*-linux-gnu*)
i*86-*-linux-gnu*)
EXEC_LDADD="" ;;
*solaris*)
*solaris*)
EXEC_LDADD="-lresolv -lsocket -lnsl" ;;
esac
@ -126,7 +126,7 @@ AC_EGREP_HEADER(struct iphdr, netinet/ip.h,
# Checks for library functions.
AC_PROG_GCC_TRADITIONAL
# AC_FUNC_MALLOC
# AC_FUNC_MEMCMP
# AC_FUNC_MEMCMP
AC_CHECK_FUNCS([gethostbyname inet_ntoa memset select socket strdup strerror strtol])
AC_CHECK_FUNCS(inet_aton inet_addr, break)
@ -169,6 +169,22 @@ then
CPPFLAGS="$CPPFLAGS $WERROR_FLAGS"
fi
# https://www.freedesktop.org/software/systemd/man/daemon.html
AC_ARG_WITH([systemdsystemunitdir],
[AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[with_systemdsystemunitdir=auto])
AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
AS_IF([test "x$def_systemdsystemunitdir" = "x"],
[AS_IF([test "x$with_systemdsystemunitdir" = "xyes"],
[AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])
with_systemdsystemunitdir=no],
[with_systemdsystemunitdir="$def_systemdsystemunitdir"])])
AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
[AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])
AC_MSG_RESULT([CFLAGS="$CFLAGS"])
AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"])
@ -181,6 +197,8 @@ AC_CONFIG_FILES([Makefile
intl/Makefile
po/Makefile
sgsnemu/Makefile
contrib/Makefile
contrib/systemd/Makefile
tests/Makefile
tests/lib/Makefile
tests/gtp/Makefile

1
contrib/Makefile.am Normal file
View File

@ -0,0 +1 @@
SUBDIRS = systemd

View File

@ -0,0 +1,5 @@
if HAVE_SYSTEMD
EXTRA_DIST = osmo-ggsn.service
systemdsystemunit_DATA = \
osmo-ggsn.service
endif

View File

@ -1,3 +1,4 @@
/lib/systemd/system/osmo-ggsn.service
/usr/bin/osmo-ggsn
/usr/bin/sgsnemu
/usr/share/man/man8/*

View File

@ -1 +0,0 @@
../contrib/osmo-ggsn.service

3
debian/rules vendored
View File

@ -17,3 +17,6 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
override_dh_strip:
dh_strip -posmo-ggsn --dbg-package=osmo-ggsn-dbg
dh_strip -plibgtp3 --dbg-package=libgtp-dbg
override_dh_auto_configure:
dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system