summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGordian Edenhofer2015-05-23 14:10:17 +0200
committerGordian Edenhofer2015-05-23 14:10:17 +0200
commit783ba6a70272afd7acdb62d8537d23f9e6890626 (patch)
tree0bae5c63ba051ebde4c06f81aeb01699d9e4f3b7
downloadaur-783ba6a70272afd7acdb62d8537d23f9e6890626.tar.gz
initial commit
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD53
-rw-r--r--arch_munge.init49
-rw-r--r--munge.install76
-rw-r--r--munged-tmpfiles.conf1
5 files changed, 204 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ec126577b5bf
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+# Generated by makepkg 4.2.1
+# Sat May 23 12:04:05 UTC 2015
+pkgbase = munge
+ pkgdesc = An authentication service for creating and validating credentials. It is designed to be highly scalable for use in an HPC cluster environment.
+ pkgver = 0.5.11
+ pkgrel = 3
+ url = http://code.google.com/p/munge/
+ install = munge.install
+ arch = i686
+ arch = x86_64
+ license = GPL3
+ license = LGPL3
+ makedepends = zlib
+ depends = openssl
+ depends = bzip2
+ provides = munge
+ source = http://munge.googlecode.com/files/munge-0.5.11.tar.bz2
+ source = arch_munge.init
+ source = munged-tmpfiles.conf
+ md5sums = bd8fca8d5f4c1fcbef1816482d49ee01
+ md5sums = 668942f323275199d35db5a534d9a80e
+ md5sums = b6e6a73c8a678777645ffcdb4b3e9d27
+
+pkgname = munge
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0f7454148e60
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Gordian Edenhofer <gordian.edenhofer[at]yahoo[dot]de>
+# Submitter: Fredrik Tegenfeldt <fredrik.tegenfeldt@unige.ch>
+
+pkgname=munge
+pkgver=0.5.11
+pkgrel=3
+pkgdesc="An authentication service for creating and validating credentials. It is designed to be highly scalable for use in an HPC cluster environment."
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/munge/"
+license=('GPL3' 'LGPL3')
+depends=('openssl' 'bzip2')
+makedepends=('zlib')
+provides=('munge')
+install=$pkgname.install
+source=("http://munge.googlecode.com/files/$pkgname-$pkgver.tar.bz2"
+ "arch_munge.init"
+ "munged-tmpfiles.conf")
+md5sums=('bd8fca8d5f4c1fcbef1816482d49ee01'
+ '668942f323275199d35db5a534d9a80e'
+ 'b6e6a73c8a678777645ffcdb4b3e9d27')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --localstatedir=/var \
+ --sysconfdir=/etc
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # install arch specific munge init and remove original one...
+ rm -f $pkgdir/etc/init.d/munge
+ rmdir $pkgdir/etc/init.d
+
+ install -D -m755 ../arch_munge.init $pkgdir/etc/rc.d/munge
+ install -D -m644 ../munged-tmpfiles.conf $pkgdir/etc/tmpfiles.d/munged-tmpfiles.conf
+
+ # /usr/sbin is deprecated in arch, hence using /usr/bin
+ sed -i 's/\/usr\/sbin/\/usr\/bin/g' $pkgdir/usr/lib/systemd/system/munge.service
+
+ # /var/run/munge will be created in post install, see munge.install
+ # because it is bad practice to put package-files in /run
+ rmdir $pkgdir/var/run/munge
+ rmdir $pkgdir/var/run
+}
diff --git a/arch_munge.init b/arch_munge.init
new file mode 100644
index 000000000000..5252a2d600df
--- /dev/null
+++ b/arch_munge.init
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+daemon_name=munge
+USER=munge
+[ -x /etc/default/munge ] && . /etc/default/munge
+
+PID=`pidof -o %PPID /usr/bin/munged`
+case "$1" in
+ start)
+ stat_busy "Starting MUNGE daemon"
+ VARRUNDIR="/run/munge"
+ if [ ! -d "$VARRUNDIR" ]; then
+ mkdir -m 755 -p "$VARRUNDIR"
+ [ -n "$USER" ] && chown "$USER" "$VARRUNDIR"
+ fi
+ [ -z "$PID" ] && su "$USER" -c /usr/bin/munged "$DAEMON_ARGS" 2>&1
+ if [ $? -gt 0 ] ; then
+ stat_fail
+ else
+ add_daemon $daemon_name # create the 'state' dir
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping MUNGE daemon"
+ [ "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon $daemon_name # remove the 'state' dir
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 5
+ $0 start
+ ;;
+ status)
+ stat_busy "Checking MUNGE status"
+ ck_status $daemon_name
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+exit 0
diff --git a/munge.install b/munge.install
new file mode 100644
index 000000000000..6eaa53309af4
--- /dev/null
+++ b/munge.install
@@ -0,0 +1,76 @@
+post_install() {
+ # the installation process is described at https://code.google.com/p/munge/wiki/InstallationGuide
+ # create munge /var/run/munge dir
+ mkdir -p /var/run/munge
+
+ # add munge user/group
+ echo -e "\e[34;1m==>\e[39;1m Adding munge system group... \e[0m"
+ groupadd -r munge
+
+ echo -e "\e[34;1m==>\e[39;1m Adding munge system user... \e[0m"
+ useradd -r -c "Munge Daemon" -d /var/log/munge -g munge munge
+
+ echo -e "\e[34;1m==>\e[39;1m Locking Munge User Account... \e[0m"
+ passwd -l munge &>/dev/null
+
+ # create munge key
+ if [ ! -e /etc/munge/munge.key -a -c /dev/urandom ]; then
+ echo -e "\e[34;1m==>\e[39;1m Creating random munge key : /etc/munge/munge.key\e[0m"
+ dd if=/dev/urandom bs=1 count=1024 >/etc/munge/munge.key 2>/dev/null
+ chmod 0400 /etc/munge/munge.key
+ else
+ if [ -c /dev/urandom ]; then
+ echo -e "\e[34;1m==>\e[39;1m INFO: no munge key is generated since /etc/munge/munge.key already exists \e[0m"
+ else
+ echo -e "\e[34;1m==>\e[39;1m WARNING: did not create /etc/munge/munge.key since /dev/urandom is not found \e[0m"
+ fi
+ fi
+
+ # set permissions
+ chown munge:munge -R /etc/munge
+ chown munge:munge -R /var/log/munge
+ chown munge:munge -R /var/lib/munge
+ chown munge:munge -R /var/run/munge
+
+ # securing the installation, this is optional!
+ #chmod 0700 /etc/munge
+ #chmod 0711 /var/lib/munge
+ #chmod 0700 /var/log/munge
+ #chmod 0755 /var/run/munge
+}
+
+post_upgrade() {
+ # set permissions
+ chown munge:munge -R /etc/munge
+ chown munge:munge -R /var/log/munge
+ chown munge:munge -R /var/lib/munge
+ chown munge:munge -R /var/run/munge
+ if [ -e /etc/munge/munge.key ]; then
+ chmod 0400 /etc/munge/munge.key
+ fi
+}
+
+pre_remove() {
+ which systemctl >& /dev/null
+ if [ $? -eq 0 ]; then
+ echo -e "\e[34;1m==>\e[39;1m Stopping munge using SystemD... \e[0m"
+ systemctl stop munge
+
+ echo -e "\e[34;1m==>\e[39;1m Disabling SystemD related file(s)... \e[0m"
+ systemctl disable munge.service
+ else
+ echo -e "\e[34;1m==>\e[39;1m Stopping munge... "
+ /etc/rc.d/munge stop
+ fi
+}
+
+post_remove() {
+ echo -e "\e[34;1m==>\e[39;1m Removing the munge user and group from the system... \e[0m"
+ userdel munge
+
+ rm -rf /var/run/munge
+
+ # notifying the user of kept dirs
+ [ -d /etc/munge ] && echo -e "\e[34;1m==>\e[39;1m NOTE: Custom configuration-file(s) in /etc/munge/ were kept on your system.\e[0m"
+ [ -d /var/log/munge ] && echo -e "\e[34;1m==>\e[39;1m NOTE: Logfiles were preserved. They reside under /var/log/munge .\e[0m"
+}
diff --git a/munged-tmpfiles.conf b/munged-tmpfiles.conf
new file mode 100644
index 000000000000..1c702efc92d6
--- /dev/null
+++ b/munged-tmpfiles.conf
@@ -0,0 +1 @@
+D /run/munge 0755 munge root -