From 7693f097d4aa341b8ee9283e2c053ee2797a7632 Mon Sep 17 00:00:00 2001 From: HW42 Date: Thu, 25 Sep 2014 17:20:14 +0200 Subject: [PATCH] use systemd in debian --- debian/control | 2 +- debian/init.d | 144 ----------------------------------------------- debian/rules | 2 +- qmemman/Makefile | 5 +- 4 files changed, 6 insertions(+), 147 deletions(-) delete mode 100644 debian/init.d diff --git a/debian/control b/debian/control index 22c1003..7d3439d 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: qubes-utils Section: admin Priority: extra Maintainer: Davíð Steinn Geirsson -Build-Depends: libvchan-xen-dev, libxen-dev, debhelper (>= 8.0.0), quilt (>= 0.60) +Build-Depends: libvchan-xen-dev, libxen-dev, debhelper (>= 8.0.0), quilt (>= 0.60), dh-systemd Standards-Version: 3.9.3 Homepage: http://www.qubes-os.org Vcs-Git: http://dsg.is/qubes/qubes-linux-utils.git diff --git a/debian/init.d b/debian/init.d deleted file mode 100644 index 710feb2..0000000 --- a/debian/init.d +++ /dev/null @@ -1,144 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: qubes-meminfo-writer -# Required-Start: $network $local_fs $remote_fs -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: meminfo-writer memory ballooning helper -# Description: Provides memory ballooning support for qubes AppVMs -### END INIT INFO - -# Author: Davíð Steinn Geirsson - -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC=qubes-meminfo-writer -NAME=meminfo-writer -DAEMON=/usr/sbin/meminfo-writer -MEM_CHANGE_THRESHOLD_KB=30000 -MEMINFO_DELAY_USEC=100000 -DAEMON_ARGS="$MEM_CHANGE_THRESHOLD_KB $MEMINFO_DELAY_USEC" -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -[ -x $DAEMON ] || exit 0 - -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -. /lib/init/vars.sh - -. /lib/lsb/init-functions - -# -# Function that starts the daemon/service -# -do_start() -{ - start_meminfo_writer=$(/usr/bin/xenstore-read qubes-service/meminfo-writer 2>/dev/null) - if [ "$start_meminfo_writer" != "0" ]; then - /usr/sbin/meminfo-writer $MEM_CHANGE_THRESHOLD_KB $MEMINFO_DELAY_USEC /var/run/meminfo-writer.pid - start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --exec $DAEMON --test > /dev/null \ - || return 1 - start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --exec $DAEMON -- $DAEMON_ARGS \ - || return 2 - fi - - -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - # If the above conditions are not satisfied then add some other code - # that waits for the process to drop all resources that could be - # needed by services started subsequently. A last resort is to - # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # - # If the daemon can reload its configuration without - # restarting (for example, when it is sent a SIGHUP), - # then implement that here. - # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON - return 0 -} - -case "$1" in - start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - status) - status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? - ;; - #reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; - restart|force-reload) - # - # If the "reload" option is implemented then remove the - # 'force-reload' alias - # - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; - *) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - exit 3 - ;; -esac - -: diff --git a/debian/rules b/debian/rules index 45205b6..614db37 100755 --- a/debian/rules +++ b/debian/rules @@ -7,7 +7,7 @@ export DESTDIR=$(shell pwd)/debian/qubes-utils #export DH_VERBOSE=1 %: - dh $@ + dh $@ --with=systemd override_dh_auto_build: make all LIBDIR=/usr/lib DEBIANBUILD=1 diff --git a/qmemman/Makefile b/qmemman/Makefile index 200a7f8..6cdae22 100644 --- a/qmemman/Makefile +++ b/qmemman/Makefile @@ -11,7 +11,10 @@ meminfo-writer: meminfo-writer.o $(CC) -g -o meminfo-writer meminfo-writer.o -lxenstore install: install -D meminfo-writer $(DESTDIR)/usr/sbin/meminfo-writer -ifneq (1,${DEBIANBUILD}) +ifeq (1,${DEBIANBUILD}) + install -d $(DESTDIR)/lib/systemd/system/ + install -m 0644 qubes-meminfo-writer.service $(DESTDIR)/lib/systemd/system/ +else install -d $(DESTDIR)/usr/lib/systemd/system/ install qubes-meminfo-writer*service $(DESTDIR)/usr/lib/systemd/system/ endif