aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2018-09-10 13:39:02 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2018-09-12 14:17:26 +0200
commit5ac2cb3662602d347bdd329cd81c7e746f309402 (patch)
treed17d1ce27a5012a7df730243cc0a95251daac6ae
parentf4ee021b8cb045947fcefa834547eed9b13131bc (diff)
Install systemd services with autotools
-rw-r--r--Makefile.am4
-rw-r--r--configure.ac18
-rw-r--r--contrib/Makefile.am1
-rw-r--r--contrib/systemd/Makefile.am18
-rw-r--r--debian/osmo-trx-lms.install1
l---------debian/osmo-trx-lms.service1
-rw-r--r--debian/osmo-trx-uhd.install1
l---------debian/osmo-trx-uhd.service1
-rw-r--r--debian/osmo-trx-usrp1.install1
l---------debian/osmo-trx-usrp1.service1
-rw-r--r--debian/patches/build-for-debian8.patch4
-rwxr-xr-xdebian/rules2
12 files changed, 47 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 8ab73a6..38cd88d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,6 +32,7 @@ SUBDIRS = \
CommonLibs \
GSM \
Transceiver52M \
+ contrib \
tests
EXTRA_DIST = \
@@ -41,6 +42,9 @@ EXTRA_DIST = \
COPYING \
README
+DISTCHECK_CONFIGURE_FLAGS = \
+ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
.PHONY: release
@RELMAKE@
diff --git a/configure.ac b/configure.ac
index daa8677..64e3b35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -223,6 +223,22 @@ PKG_CHECK_MODULES(FFTWF, fftw3f)
AC_CHECK_HEADER([boost/config.hpp],[],
[AC_MSG_ERROR([boost/config.hpp not found, install e.g. libboost-dev])])
+ # 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([CPPFLAGS="$CPPFLAGS"])
AC_MSG_RESULT([CFLAGS="$CFLAGS"])
AC_MSG_RESULT([CXXFLAGS="$CXXFLAGS"])
@@ -247,6 +263,8 @@ AC_CONFIG_FILES([\
tests/Transceiver52M/Makefile \
doc/Makefile \
doc/examples/Makefile \
+ contrib/Makefile \
+ contrib/systemd/Makefile \
])
AC_OUTPUT
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
new file mode 100644
index 0000000..3439c97
--- /dev/null
+++ b/contrib/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = systemd
diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am
new file mode 100644
index 0000000..21fbb53
--- /dev/null
+++ b/contrib/systemd/Makefile.am
@@ -0,0 +1,18 @@
+if HAVE_SYSTEMD
+SYSTEMD_SERVICES =
+
+if DEVICE_UHD
+SYSTEMD_SERVICES += osmo-trx-uhd.service
+endif
+
+if DEVICE_USRP1
+SYSTEMD_SERVICES += osmo-trx-usrp1.service
+endif
+
+if DEVICE_LMS
+SYSTEMD_SERVICES += osmo-trx-lms.service
+endif
+
+EXTRA_DIST = $(SYSTEMD_SERVICES)
+systemdsystemunit_DATA = $(SYSTEMD_SERVICES)
+endif # HAVE_SYSTEMD
diff --git a/debian/osmo-trx-lms.install b/debian/osmo-trx-lms.install
index dd9d407..b58c862 100644
--- a/debian/osmo-trx-lms.install
+++ b/debian/osmo-trx-lms.install
@@ -1,2 +1,3 @@
+lib/systemd/system/osmo-trx-lms.service
/usr/bin/osmo-trx-lms
/usr/share/doc/osmo-trx/examples/osmo-trx-lms/osmo-trx-limesdr.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-lms/
diff --git a/debian/osmo-trx-lms.service b/debian/osmo-trx-lms.service
deleted file mode 120000
index d2d697a..0000000
--- a/debian/osmo-trx-lms.service
+++ /dev/null
@@ -1 +0,0 @@
-../contrib/systemd/osmo-trx-lms.service \ No newline at end of file
diff --git a/debian/osmo-trx-uhd.install b/debian/osmo-trx-uhd.install
index 8944b13..b7ec5ca 100644
--- a/debian/osmo-trx-uhd.install
+++ b/debian/osmo-trx-uhd.install
@@ -1,3 +1,4 @@
+lib/systemd/system/osmo-trx-uhd.service
/usr/bin/osmo-trx-uhd
/usr/share/doc/osmo-trx/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-uhd/
/usr/share/doc/osmo-trx/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg /usr/share/doc/osmo-trx/examples/osmo-trx-uhd/
diff --git a/debian/osmo-trx-uhd.service b/debian/osmo-trx-uhd.service
deleted file mode 120000
index c67648f..0000000
--- a/debian/osmo-trx-uhd.service
+++ /dev/null
@@ -1 +0,0 @@
-../contrib/systemd/osmo-trx-uhd.service \ No newline at end of file
diff --git a/debian/osmo-trx-usrp1.install b/debian/osmo-trx-usrp1.install
index c7e54b1..112a149 100644
--- a/debian/osmo-trx-usrp1.install
+++ b/debian/osmo-trx-usrp1.install
@@ -1,3 +1,4 @@
+lib/systemd/system/osmo-trx-usrp1.service
/usr/bin/osmo-trx-usrp1
/usr/share/usrp/rev2/std_inband.rbf
/usr/share/usrp/rev4/std_inband.rbf
diff --git a/debian/osmo-trx-usrp1.service b/debian/osmo-trx-usrp1.service
deleted file mode 120000
index a7b33ad..0000000
--- a/debian/osmo-trx-usrp1.service
+++ /dev/null
@@ -1 +0,0 @@
-../contrib/systemd/osmo-trx-usrp1.service \ No newline at end of file
diff --git a/debian/patches/build-for-debian8.patch b/debian/patches/build-for-debian8.patch
index d44eb2f..cd1f356 100644
--- a/debian/patches/build-for-debian8.patch
+++ b/debian/patches/build-for-debian8.patch
@@ -50,8 +50,8 @@ Index: osmo-trx/debian/rules
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
override_dh_auto_configure:
-- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms
-+ dh_auto_configure -- --with-uhd --with-usrp1
+- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-systemdsystemunitdir=/lib/systemd/system
++ dh_auto_configure -- --with-uhd --with-usrp1 --with-systemdsystemunitdir=/lib/systemd/system
override_dh_strip:
dh_strip --dbg-package=osmo-trx-dbg
diff --git a/debian/rules b/debian/rules
index 8081162..68de706 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,7 +9,7 @@ override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
override_dh_auto_configure:
- dh_auto_configure -- --with-uhd --with-usrp1 --with-lms
+ dh_auto_configure -- --with-uhd --with-usrp1 --with-lms --with-systemdsystemunitdir=/lib/systemd/system
override_dh_strip:
dh_strip --dbg-package=osmo-trx-dbg