memkind/systemd-service-backport.patch
Rafael Aquini 521f6dc363 Update upstream fixes for memkind-0.3.0
- Switch old init.d scripts for systemd unit service
- Fix fc24 build error

Signed-off-by: Rafael Aquini <aquini@linux.com>
2016-02-06 13:48:14 -05:00

198 lines
6.2 KiB
Diff

diff --git a/Makefile.am b/Makefile.am
index f1dc47e..d687fd2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -88,7 +88,7 @@ memkind_pmtt_SOURCES = src/memkind_pmtt.c
memkind_pmtt_LDADD = libmemkind.la
EXTRA_DIST = autogen.sh \
- init.d/memkind \
+ memkind.service \
gtest-1.7.0.zip \
examples/README \
test/check.sh \
diff --git a/init.d/memkind b/init.d/memkind
deleted file mode 100755
index 4ef2f80..0000000
--- a/init.d/memkind
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2014, 2015 Intel Corporation.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-# 1. Redistributions of source code must retain the above copyright notice(s),
-# this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice(s),
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
-# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-#
-# This shell script takes care creating and deleting accesible
-# bandwidth files from PMTT tables
-### BEGIN INIT INFO
-# Provides: memkind
-# Required-Start:
-# Required-Stop:
-# Short-Description: Sets up memkind library
-# Description: Parses the PMTT table and creates the file /var/run/memkind/node-bandwidth.
-#
-# start - Create bandwidth file from PMTT table.
-#
-# stop - Delete bandwidth file from /var/run/memkind.
-#
-# restart - Delete and recreate bandwidth file from PMTT table.
-#
-# status - Print existance of bandwidth file
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-### END INIT INFO
-
-if [ -s /etc/rc.status ]; then
- . /etc/rc.status
- echo_success() {
- echo $1
- rc_failed 0
- rc_status -v1
- }
- echo_failure() {
- echo $1
- rc_failed 1
- rc_status -v1
- }
-elif [ -s /etc/rc.d/init.d/functions ]; then
- . /etc/rc.d/init.d/functions
-else
- echo_success() {
- echo $1
- }
- echo_failure() {
- echo ERROR: $1
- }
-fi
-
-err=0
-MEMKIND_FILE=/var/run/memkind/node-bandwidth
-MEMKIND_DIR=`dirname $MEMKIND_FILE`
-MEMKIND_BIN=/usr/sbin/memkind-pmtt
-
-start() {
- echo_success "creating bandwidth values file"
- if [ -f $MEMKIND_FILE ]; then
- echo_success "bandwidth values file exists, atemptting to delete before
- creation."
- stop
- fi
-
- if [ ! -f $MEMKIND_FILE ]; then
- $MEMKIND_BIN
- err=$?
- if [ $err -eq 0 ] && [ -f $MEMKIND_FILE ]
- then
- echo_success "created file: $MEMKIND_FILE"
- else
- echo_failure "could not create file: $MEMKIND_FILE"
- fi
- fi
-}
-
-stop() {
- echo_success "deleting bandwidth values file"
- rm -f $MEMKIND_FILE
- err=$?
- if [ $err -eq 0 ] && [ ! -f $MEMKIND_FILE ]
- then
- echo_success "deleted file: $MEMKIND_FILE"
- else
- echo_failure "could not delete file: $MEMKIND_FILE"
- fi
-}
-
-restart() {
- if [ -f $MEMKIND_FILE ]; then
- stop
- fi
- start
-}
-
-case $1 in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart|force-reload|reload|condrestart|try-restart)
- restart
- ;;
- status)
- if [ -f $MEMKIND_FILE ];
- then
- echo_success "file $MEMKIND_FILE exists"
- err=0
- else
- echo_failure "file $MEMKIND_FILE does not exist"
- err=3
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status|force-reload|reload|condrestart|try-restart}"
- err=2
-esac
-exit $err
diff --git a/memkind.service b/memkind.service
new file mode 100644
index 0000000..4fcc39d
--- /dev/null
+++ b/memkind.service
@@ -0,0 +1,35 @@
+#
+# Copyright (C) 2014, 2015 Intel Corporation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# 1. Redistributions of source code must retain the above copyright notice(s),
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice(s),
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+[Unit]
+Description=Service which parses PMTT table for memkind
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/sbin/memkind-pmtt
+ExecStop=/usr/bin/rm -f /var/run/memkind/node-bandwidth
+
+[Install]
+WantedBy=multi-user.target