|
|
e57ae71 |
From 5b54c3a0287a92008f1a795af45c43445a4daac9 Mon Sep 17 00:00:00 2001
|
|
|
e57ae71 |
From: Miklos Vajna <vmiklos@frugalware.org>
|
|
|
e57ae71 |
Date: Mon, 27 Dec 2010 17:14:27 +0100
|
|
|
e57ae71 |
Subject: [PATCH] systemd: install systemd unit files
|
|
|
e57ae71 |
|
|
|
e57ae71 |
bitlbee.service provides ForkDaemon mode,
|
|
|
e57ae71 |
bitlbee.socket/bitlbee@.service is available as well for the depreceated
|
|
|
e57ae71 |
inetd mode.
|
|
|
e57ae71 |
---
|
|
|
e57ae71 |
Makefile | 20 +++++++++++++++++---
|
|
|
e57ae71 |
configure | 19 +++++++++++++++++++
|
|
|
e57ae71 |
init/bitlbee.service.in | 9 +++++++++
|
|
|
e57ae71 |
init/bitlbee.socket | 9 +++++++++
|
|
|
e57ae71 |
init/bitlbee@.service.in | 8 ++++++++
|
|
|
e57ae71 |
5 files changed, 62 insertions(+), 3 deletions(-)
|
|
|
e57ae71 |
create mode 100644 init/bitlbee.service.in
|
|
|
e57ae71 |
create mode 100644 init/bitlbee.socket
|
|
|
e57ae71 |
create mode 100644 init/bitlbee@.service.in
|
|
|
e57ae71 |
|
|
|
e57ae71 |
diff --git a/Makefile b/Makefile
|
|
|
e57ae71 |
index 24ef216..9afd4e0 100644
|
|
|
e57ae71 |
--- a/Makefile
|
|
|
e57ae71 |
+++ b/Makefile
|
|
|
e57ae71 |
@@ -26,18 +26,18 @@ endif
|
|
|
e57ae71 |
# Expansion of variables
|
|
|
e57ae71 |
subdirobjs = $(foreach dir,$(subdirs),$(dir)/$(dir).o)
|
|
|
e57ae71 |
|
|
|
e57ae71 |
-all: $(OUTFILE) $(OTR_PI)
|
|
|
e57ae71 |
+all: $(OUTFILE) $(OTR_PI) systemd
|
|
|
e57ae71 |
$(MAKE) -C doc
|
|
|
e57ae71 |
|
|
|
e57ae71 |
uninstall: uninstall-bin uninstall-doc
|
|
|
e57ae71 |
@echo -e '\nmake uninstall does not remove files in '$(DESTDIR)$(ETCDIR)', you can use make uninstall-etc to do that.\n'
|
|
|
e57ae71 |
|
|
|
e57ae71 |
-install: install-bin install-doc install-plugins
|
|
|
e57ae71 |
+install: install-bin install-doc install-plugins install-systemd
|
|
|
e57ae71 |
@if ! [ -d $(DESTDIR)$(CONFIG) ]; then echo -e '\nThe configuration directory $(DESTDIR)$(CONFIG) does not exist yet, don'\''t forget to create it!'; fi
|
|
|
e57ae71 |
@if ! [ -e $(DESTDIR)$(ETCDIR)/bitlbee.conf ]; then echo -e '\nNo files are installed in '$(DESTDIR)$(ETCDIR)' by make install. Run make install-etc to do that.'; fi
|
|
|
e57ae71 |
@echo
|
|
|
e57ae71 |
|
|
|
e57ae71 |
-.PHONY: install install-bin install-etc install-doc install-plugins \
|
|
|
e57ae71 |
+.PHONY: install install-bin install-etc install-doc install-plugins install-systemd \
|
|
|
e57ae71 |
uninstall uninstall-bin uninstall-etc uninstall-doc \
|
|
|
e57ae71 |
all clean distclean tar $(subdirs)
|
|
|
e57ae71 |
|
|
|
e57ae71 |
@@ -109,6 +109,20 @@ ifdef OTR_PI
|
|
|
e57ae71 |
install -m 0755 otr.so $(DESTDIR)$(PLUGINDIR)
|
|
|
e57ae71 |
endif
|
|
|
e57ae71 |
|
|
|
e57ae71 |
+systemd:
|
|
|
e57ae71 |
+ifdef SYSTEMDSYSTEMUNITDIR
|
|
|
e57ae71 |
+ sed 's|@sbindir@|$(BINDIR)|' init/bitlbee.service.in > init/bitlbee.service
|
|
|
e57ae71 |
+ sed 's|@sbindir@|$(BINDIR)|' init/bitlbee@.service.in > init/bitlbee@.service
|
|
|
e57ae71 |
+endif
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
+install-systemd:
|
|
|
e57ae71 |
+ifdef SYSTEMDSYSTEMUNITDIR
|
|
|
e57ae71 |
+ mkdir -p $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
|
|
|
e57ae71 |
+ install -m 0644 init/bitlbee.service $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
|
|
|
e57ae71 |
+ install -m 0644 init/bitlbee@.service $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
|
|
|
e57ae71 |
+ install -m 0644 init/bitlbee.socket $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
|
|
|
e57ae71 |
+endif
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
tar:
|
|
|
e57ae71 |
fakeroot debian/rules clean || make distclean
|
|
|
e57ae71 |
x=$$(basename $$(pwd)); \
|
|
|
e57ae71 |
diff --git a/configure b/configure
|
|
|
e57ae71 |
index 3a3796d..8617d60 100755
|
|
|
e57ae71 |
--- a/configure
|
|
|
e57ae71 |
+++ b/configure
|
|
|
e57ae71 |
@@ -15,6 +15,7 @@ datadir='$prefix/share/bitlbee/'
|
|
|
e57ae71 |
config='/var/lib/bitlbee/'
|
|
|
e57ae71 |
plugindir='$prefix/lib/bitlbee/'
|
|
|
e57ae71 |
includedir='$prefix/include/bitlbee/'
|
|
|
e57ae71 |
+systemdsystemunitdir=''
|
|
|
e57ae71 |
libevent='/usr/'
|
|
|
e57ae71 |
pidfile='/var/run/bitlbee.pid'
|
|
|
e57ae71 |
ipcsocket='/var/run/bitlbee.sock'
|
|
|
e57ae71 |
@@ -62,6 +63,7 @@ Option Description Default
|
|
|
e57ae71 |
--mandir=... $mandir
|
|
|
e57ae71 |
--datadir=... $datadir
|
|
|
e57ae71 |
--plugindir=... $plugindir
|
|
|
e57ae71 |
+--systemdsystemunitdir=... $systemdsystemunitdir
|
|
|
e57ae71 |
--pidfile=... $pidfile
|
|
|
e57ae71 |
--config=... $config
|
|
|
e57ae71 |
--ipcsocket=... $ipcsocket
|
|
|
e57ae71 |
@@ -487,6 +489,17 @@ else
|
|
|
e57ae71 |
fi;
|
|
|
e57ae71 |
fi
|
|
|
e57ae71 |
|
|
|
e57ae71 |
+if [ -z "$systemdsystemunitdir" ]; then
|
|
|
e57ae71 |
+ if $PKG_CONFIG --exists systemd; then
|
|
|
e57ae71 |
+ systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
|
|
|
e57ae71 |
+ fi
|
|
|
e57ae71 |
+fi
|
|
|
e57ae71 |
+if [ -n "$systemdsystemunitdir" ]; then
|
|
|
e57ae71 |
+ if [ "$systemdsystemunitdir" != "no" ]; then
|
|
|
e57ae71 |
+ echo "SYSTEMDSYSTEMUNITDIR=$systemdsystemunitdir" >> Makefile.settings
|
|
|
e57ae71 |
+ fi
|
|
|
e57ae71 |
+fi
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
if [ "$gcov" = "1" ]; then
|
|
|
e57ae71 |
echo "CFLAGS+=--coverage" >> Makefile.settings
|
|
|
e57ae71 |
echo "EFLAGS+=--coverage" >> Makefile.settings
|
|
|
e57ae71 |
@@ -740,6 +753,12 @@ else
|
|
|
e57ae71 |
echo ' Off-the-Record (OTR) Messaging disabled.'
|
|
|
e57ae71 |
fi
|
|
|
e57ae71 |
|
|
|
e57ae71 |
+if [ -n "$systemdsystemunitdir" ]; then
|
|
|
e57ae71 |
+ echo ' systemd enabled.'
|
|
|
e57ae71 |
+else
|
|
|
e57ae71 |
+ echo ' systemd disabled.'
|
|
|
e57ae71 |
+fi
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
echo ' Using event handler: '$events
|
|
|
e57ae71 |
echo ' Using SSL library: '$ssl
|
|
|
e57ae71 |
echo ' Building with these storage backends: '$STORAGES
|
|
|
e57ae71 |
diff --git a/init/bitlbee.service.in b/init/bitlbee.service.in
|
|
|
e57ae71 |
new file mode 100644
|
|
|
e57ae71 |
index 0000000..95cbe25
|
|
|
e57ae71 |
--- /dev/null
|
|
|
e57ae71 |
+++ b/init/bitlbee.service.in
|
|
|
e57ae71 |
@@ -0,0 +1,9 @@
|
|
|
e57ae71 |
+[Unit]
|
|
|
e57ae71 |
+Description=BitlBee IRC/IM gateway
|
|
|
e57ae71 |
+After=syslog.target
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
+[Service]
|
|
|
e57ae71 |
+ExecStart=@sbindir@/bitlbee -F -n
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
+[Install]
|
|
|
e57ae71 |
+WantedBy=multi-user.target
|
|
|
e57ae71 |
diff --git a/init/bitlbee.socket b/init/bitlbee.socket
|
|
|
e57ae71 |
new file mode 100644
|
|
|
e57ae71 |
index 0000000..e5ceb47
|
|
|
e57ae71 |
--- /dev/null
|
|
|
e57ae71 |
+++ b/init/bitlbee.socket
|
|
|
e57ae71 |
@@ -0,0 +1,9 @@
|
|
|
e57ae71 |
+[Unit]
|
|
|
e57ae71 |
+Conflicts=bitlbee.service
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
+[Socket]
|
|
|
e57ae71 |
+ListenStream=127.0.0.1:6667
|
|
|
e57ae71 |
+Accept=yes
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
+[Install]
|
|
|
e57ae71 |
+WantedBy=sockets.target
|
|
|
e57ae71 |
diff --git a/init/bitlbee@.service.in b/init/bitlbee@.service.in
|
|
|
e57ae71 |
new file mode 100644
|
|
|
e57ae71 |
index 0000000..8b576a4
|
|
|
e57ae71 |
--- /dev/null
|
|
|
e57ae71 |
+++ b/init/bitlbee@.service.in
|
|
|
e57ae71 |
@@ -0,0 +1,8 @@
|
|
|
e57ae71 |
+[Unit]
|
|
|
e57ae71 |
+Description=BitlBee Per-Connection Server
|
|
|
e57ae71 |
+After=syslog.target
|
|
|
e57ae71 |
+
|
|
|
e57ae71 |
+[Service]
|
|
|
e57ae71 |
+ExecStart=@sbindir@/bitlbee
|
|
|
e57ae71 |
+StandardInput=socket
|
|
|
e57ae71 |
+User=bitlbee
|
|
|
e57ae71 |
--
|
|
|
e57ae71 |
1.7.3.4
|
|
|
e57ae71 |
|