aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2018-09-10 14:10:29 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2018-09-13 12:06:08 +0200
commit422492998660ba40d3d7986fd43e1d7aafa3774a (patch)
treede0be8bc7dd9a2afcdae65c9ffe7b0d9547233ed
parentac1b03c8e59408336d07527e2597171cb99ed654 (diff)
Install systemd services with autotools
-rw-r--r--debian/control1
-rw-r--r--debian/osmo-bsc-mgcp.install1
l---------debian/osmo-bsc-mgcp.service1
-rw-r--r--debian/osmocom-bsc-nat.install1
l---------debian/osmocom-bsc-nat.service1
-rw-r--r--debian/osmocom-bsc-sccplite.install2
l---------debian/osmocom-bsc-sccplite.service1
-rw-r--r--debian/osmocom-nitb.install3
l---------debian/osmocom-nitb.service1
-rwxr-xr-xdebian/rules4
-rw-r--r--openbsc/Makefile.am4
-rw-r--r--openbsc/configure.ac18
-rw-r--r--openbsc/contrib/Makefile.am1
-rw-r--r--openbsc/contrib/systemd/Makefile.am14
l---------openbsc/debian/osmo-bsc-mgcp.service1
15 files changed, 45 insertions, 9 deletions
diff --git a/debian/control b/debian/control
index 46a8ab505..0e9bb0cb4 100644
--- a/debian/control
+++ b/debian/control
@@ -10,6 +10,7 @@ Build-Depends: debhelper (>= 9),
libosmo-sccp-dev,
libdbi0-dev,
dh-autoreconf,
+ dh-systemd (>= 1.5),
libosmo-abis-dev,
libosmo-netif-dev,
libdbd-sqlite3,
diff --git a/debian/osmo-bsc-mgcp.install b/debian/osmo-bsc-mgcp.install
index 155043746..828fb31de 100644
--- a/debian/osmo-bsc-mgcp.install
+++ b/debian/osmo-bsc-mgcp.install
@@ -1 +1,2 @@
+lib/systemd/system/osmo-bsc-mgcp.service
usr/bin/osmo-bsc_mgcp
diff --git a/debian/osmo-bsc-mgcp.service b/debian/osmo-bsc-mgcp.service
deleted file mode 120000
index 0f8700b6b..000000000
--- a/debian/osmo-bsc-mgcp.service
+++ /dev/null
@@ -1 +0,0 @@
-../openbsc/contrib/systemd/osmo-bsc-mgcp.service \ No newline at end of file
diff --git a/debian/osmocom-bsc-nat.install b/debian/osmocom-bsc-nat.install
index b561a7e11..d6cabe23a 100644
--- a/debian/osmocom-bsc-nat.install
+++ b/debian/osmocom-bsc-nat.install
@@ -1 +1,2 @@
+/lib/systemd/system/osmo-bsc-nat.service
/usr/bin/osmo-bsc_nat
diff --git a/debian/osmocom-bsc-nat.service b/debian/osmocom-bsc-nat.service
deleted file mode 120000
index 0d5b3be2f..000000000
--- a/debian/osmocom-bsc-nat.service
+++ /dev/null
@@ -1 +0,0 @@
-../openbsc/contrib/systemd/osmo-bsc-nat.service \ No newline at end of file
diff --git a/debian/osmocom-bsc-sccplite.install b/debian/osmocom-bsc-sccplite.install
index 9ce795c1b..67c50cbca 100644
--- a/debian/osmocom-bsc-sccplite.install
+++ b/debian/osmocom-bsc-sccplite.install
@@ -1,2 +1,2 @@
-/usr/bin/osmo-bsc_mgcp
+/lib/systemd/system/osmo-bsc-sccplite.service
/usr/bin/osmo-bsc-sccplite
diff --git a/debian/osmocom-bsc-sccplite.service b/debian/osmocom-bsc-sccplite.service
deleted file mode 120000
index f30a9db70..000000000
--- a/debian/osmocom-bsc-sccplite.service
+++ /dev/null
@@ -1 +0,0 @@
-../openbsc/contrib/systemd/osmo-bsc-sccplite.service \ No newline at end of file
diff --git a/debian/osmocom-nitb.install b/debian/osmocom-nitb.install
index 26caf71f1..78e8f7712 100644
--- a/debian/osmocom-nitb.install
+++ b/debian/osmocom-nitb.install
@@ -1,2 +1,3 @@
+/lib/systemd/system/osmo-nitb.service
/usr/bin/osmo-nitb
-openbsc/contrib/*.py usr/bin/ \ No newline at end of file
+openbsc/contrib/*.py usr/bin/
diff --git a/debian/osmocom-nitb.service b/debian/osmocom-nitb.service
deleted file mode 120000
index eaecd9da1..000000000
--- a/debian/osmocom-nitb.service
+++ /dev/null
@@ -1 +0,0 @@
-../openbsc/contrib/systemd/osmo-nitb.service \ No newline at end of file
diff --git a/debian/rules b/debian/rules
index ef085960d..e37a26268 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,7 +10,7 @@ VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g')
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
- dh $@ --sourcedirectory=openbsc --with autoreconf
+ dh $@ --sourcedirectory=openbsc --with=systemd --with autoreconf
# This is needed for debian stable (squeeze)
override_dh_autoreconf:
@@ -25,7 +25,7 @@ override_dh_strip:
override_dh_auto_configure:
echo $(VERSION) > openbsc/.tarball-version
- dh_auto_configure --sourcedirectory=openbsc -- --enable-nat --enable-osmo-bsc --enable-smpp
+ dh_auto_configure --sourcedirectory=openbsc -- --enable-nat --enable-osmo-bsc --enable-smpp --with-systemdsystemunitdir=/lib/systemd/system
# Print test results in case of a failure
override_dh_auto_test:
diff --git a/openbsc/Makefile.am b/openbsc/Makefile.am
index dc5392907..792dcf20d 100644
--- a/openbsc/Makefile.am
+++ b/openbsc/Makefile.am
@@ -13,6 +13,7 @@ SUBDIRS = \
include \
src \
tests \
+ contrib \
$(NULL)
pkgconfigdir = $(libdir)/pkgconfig
@@ -21,6 +22,9 @@ pkgconfig_DATA = openbsc.pc
BUILT_SOURCES = $(top_srcdir)/.version
EXTRA_DIST = git-version-gen osmoappdesc.py .version
+DISTCHECK_CONFIGURE_FLAGS = \
+ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
@RELMAKE@
$(top_srcdir)/.version:
diff --git a/openbsc/configure.ac b/openbsc/configure.ac
index c3615d6a5..75dd5d33f 100644
--- a/openbsc/configure.ac
+++ b/openbsc/configure.ac
@@ -220,6 +220,22 @@ AC_MSG_CHECKING([whether to enable VTY/CTRL tests])
AC_MSG_RESULT([$enable_ext_tests])
AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes")
+# 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"])
@@ -262,4 +278,6 @@ AC_OUTPUT(
tests/nanobts_omlattr/Makefile
doc/Makefile
doc/examples/Makefile
+ contrib/Makefile
+ contrib/systemd/Makefile
Makefile)
diff --git a/openbsc/contrib/Makefile.am b/openbsc/contrib/Makefile.am
new file mode 100644
index 000000000..3439c97be
--- /dev/null
+++ b/openbsc/contrib/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = systemd
diff --git a/openbsc/contrib/systemd/Makefile.am b/openbsc/contrib/systemd/Makefile.am
new file mode 100644
index 000000000..69f973e5e
--- /dev/null
+++ b/openbsc/contrib/systemd/Makefile.am
@@ -0,0 +1,14 @@
+if HAVE_SYSTEMD
+SYSTEMD_SERVICES = osmo-nitb.service osmo-bsc-mgcp.service
+
+if BUILD_NAT
+SYSTEMD_SERVICES += osmo-bsc-nat.service
+endif
+
+if BUILD_BSC
+SYSTEMD_SERVICES += osmo-bsc-sccplite.service
+endif
+
+EXTRA_DIST = $(SYSTEMD_SERVICES)
+systemdsystemunit_DATA = $(SYSTEMD_SERVICES)
+endif # HAVE_SYSTEMD
diff --git a/openbsc/debian/osmo-bsc-mgcp.service b/openbsc/debian/osmo-bsc-mgcp.service
deleted file mode 120000
index eb73b7b70..000000000
--- a/openbsc/debian/osmo-bsc-mgcp.service
+++ /dev/null
@@ -1 +0,0 @@
-../contrib/systemd/osmo-bsc-mgcp.service \ No newline at end of file