Change in osmo-bts[master]: Install systemd services with autotools

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Thu Sep 13 13:56:47 UTC 2018


Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/10898 )

Change subject: Install systemd services with autotools
......................................................................

Install systemd services with autotools

Change-Id: I87299134696bbfc6721b1226d4de6c73854aa846
---
M Makefile.am
M configure.ac
A contrib/Makefile.am
D contrib/sysmobts.service
A contrib/systemd/Makefile.am
R contrib/systemd/lc15bts-mgr.service
R contrib/systemd/osmo-bts-lc15.service
R contrib/systemd/osmo-bts-sysmo.service
R contrib/systemd/sysmobts-mgr.service
M debian/osmo-bts-trx.install
D debian/osmo-bts-trx.service
M debian/osmo-bts-virtual.install
D debian/osmo-bts-virtual.service
M debian/rules
14 files changed, 45 insertions(+), 25 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Pau Espin Pedrol: Verified



diff --git a/Makefile.am b/Makefile.am
index 10ff2d2..b573aa8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,11 +1,11 @@
 AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6
 
-SUBDIRS = include src tests doc
+SUBDIRS = include src tests doc contrib
 
 
 # package the contrib and doc
 EXTRA_DIST = \
-	contrib/dump_docs.py contrib/screenrc-l1fwd contrib/osmo-bts-sysmo.service \
+	contrib/dump_docs.py contrib/screenrc-l1fwd \
 	contrib/l1fwd.init contrib/screenrc-sysmobts contrib/respawn.sh \
 	doc/examples/sysmo/osmo-bts.cfg \
 	doc/examples/sysmo/sysmobts-mgr.cfg \
@@ -14,6 +14,9 @@
 	git-version-gen .version \
 	README.md
 
+DISTCHECK_CONFIGURE_FLAGS = \
+	--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
 @RELMAKE@
 
 BUILT_SOURCES = $(top_srcdir)/.version
diff --git a/configure.ac b/configure.ac
index aad55db..38e6713 100644
--- a/configure.ac
+++ b/configure.ac
@@ -279,6 +279,22 @@
 	CPPFLAGS=$oldCPPFLAGS
 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"])
 
@@ -307,4 +323,6 @@
     tests/meas/Makefile
     doc/Makefile
     doc/examples/Makefile
+    contrib/Makefile
+    contrib/systemd/Makefile
     Makefile)
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/sysmobts.service b/contrib/sysmobts.service
deleted file mode 100644
index 64e0127..0000000
--- a/contrib/sysmobts.service
+++ /dev/null
@@ -1,20 +0,0 @@
-[Unit]
-Description=sysmocom sysmoBTS
-
-[Service]
-Type=simple
-ExecStartPre=/bin/sh -c 'echo 0 > /sys/class/leds/activity_led/brightness'
-ExecStart=/usr/bin/osmo-bts-sysmo -s -c /etc/osmocom/osmo-bts.cfg -M
-ExecStopPost=/bin/sh -c 'echo 0 > /sys/class/leds/activity_led/brightness'
-ExecStopPost=/bin/sh -c 'cat /lib/firmware/sysmobts-v?.bit > /dev/fpgadl_par0 ; sleep 3s; cat /lib/firmware/sysmobts-v?.out > /dev/dspdl_dm644x_0; sleep 1s'
-Restart=always
-RestartSec=2
-RestartPreventExitStatus=1
-
-# The msg queues must be read fast enough
-CPUSchedulingPolicy=rr
-CPUSchedulingPriority=1
-
-[Install]
-WantedBy=multi-user.target
-Alias=osmo-bts-sysmo.service
diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am
new file mode 100644
index 0000000..1646308
--- /dev/null
+++ b/contrib/systemd/Makefile.am
@@ -0,0 +1,18 @@
+if HAVE_SYSTEMD
+SYSTEMD_SERVICES = osmo-bts-virtual.service
+
+if ENABLE_SYSMOBTS
+SYSTEMD_SERVICES += osmo-bts-sysmo.service sysmobts-mgr.service
+endif
+
+if ENABLE_TRX
+SYSTEMD_SERVICES += osmo-bts-trx.service
+endif
+
+if ENABLE_LC15BTS
+SYSTEMD_SERVICES += osmo-bts-lc15.service lc15bts-mgr.service
+endif
+
+EXTRA_DIST = $(SYSTEMD_SERVICES)
+systemdsystemunit_DATA = $(SYSTEMD_SERVICES)
+endif # HAVE_SYSTEMD
diff --git a/contrib/lc15bts-mgr.service b/contrib/systemd/lc15bts-mgr.service
similarity index 100%
rename from contrib/lc15bts-mgr.service
rename to contrib/systemd/lc15bts-mgr.service
diff --git a/contrib/osmo-bts-lc15.service b/contrib/systemd/osmo-bts-lc15.service
similarity index 100%
rename from contrib/osmo-bts-lc15.service
rename to contrib/systemd/osmo-bts-lc15.service
diff --git a/contrib/osmo-bts-sysmo.service b/contrib/systemd/osmo-bts-sysmo.service
similarity index 100%
rename from contrib/osmo-bts-sysmo.service
rename to contrib/systemd/osmo-bts-sysmo.service
diff --git a/contrib/sysmobts-mgr.service b/contrib/systemd/sysmobts-mgr.service
similarity index 100%
rename from contrib/sysmobts-mgr.service
rename to contrib/systemd/sysmobts-mgr.service
diff --git a/debian/osmo-bts-trx.install b/debian/osmo-bts-trx.install
index e821cb4..2343d25 100644
--- a/debian/osmo-bts-trx.install
+++ b/debian/osmo-bts-trx.install
@@ -1,3 +1,4 @@
+lib/systemd/system/osmo-bts-trx.service
 usr/bin/osmo-bts-trx
 usr/share/doc/osmo-bts/examples/osmo-bts-trx/osmo-bts.cfg
 usr/share/doc/osmo-bts/examples/osmo-bts-trx/osmo-bts-trx-calypso.cfg
diff --git a/debian/osmo-bts-trx.service b/debian/osmo-bts-trx.service
deleted file mode 120000
index 1abb0ce..0000000
--- a/debian/osmo-bts-trx.service
+++ /dev/null
@@ -1 +0,0 @@
-../contrib/systemd/osmo-bts-trx.service
\ No newline at end of file
diff --git a/debian/osmo-bts-virtual.install b/debian/osmo-bts-virtual.install
index 3815d7c..0e6ca1b 100644
--- a/debian/osmo-bts-virtual.install
+++ b/debian/osmo-bts-virtual.install
@@ -1,3 +1,4 @@
+lib/systemd/system/osmo-bts-virtual.service
 usr/bin/osmo-bts-virtual
 usr/bin/osmo-bts-omldummy
 usr/share/doc/osmo-bts/examples/osmo-bts-virtual/osmobts-virtual.cfg
diff --git a/debian/osmo-bts-virtual.service b/debian/osmo-bts-virtual.service
deleted file mode 120000
index 9a660b4..0000000
--- a/debian/osmo-bts-virtual.service
+++ /dev/null
@@ -1 +0,0 @@
-../contrib/systemd/osmo-bts-virtual.service
\ No newline at end of file
diff --git a/debian/rules b/debian/rules
index dcc8a11..27de11b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -16,7 +16,7 @@
 	dh_strip --package=osmo-bts-trx --dbg-package=osmo-bts-trx-dbg
 
 override_dh_auto_configure:
-	dh_auto_configure --  --enable-trx
+	dh_auto_configure --  --enable-trx --with-systemdsystemunitdir=/lib/systemd/system
 
 override_dh_clean:
 	dh_clean

-- 
To view, visit https://gerrit.osmocom.org/10898
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I87299134696bbfc6721b1226d4de6c73854aa846
Gerrit-Change-Number: 10898
Gerrit-PatchSet: 1
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180913/fc411fed/attachment.htm>


More information about the gerrit-log mailing list