summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGraham Edgecombe2013-12-15 23:29:35 +0000
committerGraham Edgecombe2013-12-15 23:39:45 +0000
commit3270d2d9469b04771584ade27259a67a5efcd996 (patch)
treef3481d29e039d6b5584ed9f38c2048549c151d97
parente0fa89fe78520e626c85d6efc2b0515f3536ca5b (diff)
downloadaur-3270d2d9469b04771584ade27259a67a5efcd996.tar.gz
Overhaul most of the packaging.
- Replace rc.d file with systemd service file. - Run as unprivileged user (rwhod) instead of root. - Split PKGBUILD build() function into build() and package(). - Update to upstream version 0.17-3. - Remove netkit-rwho conflict (this package does not seem to exist in either the official repositories or the AUR.) - Improve PKGBUILD conventions.
-rw-r--r--.SRCINFO15
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD47
-rw-r--r--rwhod.conf2
-rw-r--r--rwhod.install32
-rw-r--r--rwhod.rc40
-rw-r--r--rwhod.service11
7 files changed, 84 insertions, 69 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a97d7273f7ab..7f6761f25572 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,23 +1,22 @@
pkgbase = netkit-rwho-debian
pkgdesc = Remote who
pkgver = 0.17
- pkgrel = 2
+ pkgrel = 3
url = ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
install = rwhod.install
arch = i686
arch = x86_64
license = GPL
depends = glibc
- conflicts = netkit-rwho
backup = etc/conf.d/rwhod
- source = http://ftp.de.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_0.17.orig.tar.gz
- source = http://ftp.de.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_0.17-12.diff.gz
- source = rwhod.rc
+ source = http://ftp.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_0.17.orig.tar.gz
+ source = http://ftp.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_0.17-13.debian.tar.gz
source = rwhod.conf
+ source = rwhod.service
md5sums = 0f71620d45d472f89134ba0d74242e75
- md5sums = ccbb57e61d8594aa37c33cc906071ce1
- md5sums = 5ab5042d60e508658e0a676d13556acb
- md5sums = d052293ac9c851ba8093338c530b349e
+ md5sums = 82ed5a3c6b0bbf00b36508b9787963b9
+ md5sums = 6f0db2a76fc465cc2e2d37dc0c4aa19d
+ md5sums = d8ff594a2235fb7a0b3328f6f2459e60
pkgname = netkit-rwho-debian
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..f7ddb86b1dc5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+/netkit-rwho_*.tar.gz
+/src
+/pkg
+*.pkg.tar.xz
+*.pkg.tar.xz.sig
+*.src.tar.gz
diff --git a/PKGBUILD b/PKGBUILD
index ac5585643e3d..e192e02cb088 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,27 +1,46 @@
+# Maintainer: Graham Edgecombe <graham@grahamedgecombe.com>
+# Contributor: mortzu
pkgname=netkit-rwho-debian
pkgver=0.17
-pkgrel=2
+pkgrel=3
+_debrev=13
arch=('i686' 'x86_64')
license=('GPL')
pkgdesc="Remote who"
depends=('glibc')
-conflicts=('netkit-rwho')
-url="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/"
+url='ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/'
install=rwhod.install
-backup=(etc/conf.d/rwhod)
-source=(http://ftp.de.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_0.17.orig.tar.gz http://ftp.de.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_$pkgver-12.diff.gz rwhod.rc rwhod.conf)
-md5sums=('0f71620d45d472f89134ba0d74242e75' 'ccbb57e61d8594aa37c33cc906071ce1' '5ab5042d60e508658e0a676d13556acb' 'd052293ac9c851ba8093338c530b349e')
+backup=('etc/conf.d/rwhod')
+source=(http://ftp.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_${pkgver}.orig.tar.gz
+ http://ftp.debian.org/debian/pool/main/n/netkit-rwho/netkit-rwho_${pkgver}-${_debrev}.debian.tar.gz
+ rwhod.conf rwhod.service)
+md5sums=('0f71620d45d472f89134ba0d74242e75'
+ '82ed5a3c6b0bbf00b36508b9787963b9'
+ '6f0db2a76fc465cc2e2d37dc0c4aa19d'
+ 'd8ff594a2235fb7a0b3328f6f2459e60')
build() {
cd $srcdir/netkit-rwho-$pkgver
- patch -Np1 -i ../netkit-rwho_$pkgver-12.diff
+
+ while read patch; do
+ patch -Np1 -i ../debian/patches/$patch
+ done < ../debian/patches/series
+
./configure --prefix=/usr --installroot=$pkgdir
- make || return 1
- mkdir -p $pkgdir/usr/{bin,sbin,man/man1,man/man8} $pkgdir/etc/rc.d
- make install || return 1
- mkdir -p $pkgdir/var/spool/rwho
- install -m755 $srcdir/rwhod.rc $pkgdir/etc/rc.d/rwhod || return 1
- install -m644 -D $srcdir/rwhod.conf $pkgdir/etc/conf.d/rwhod || return 1
+ make
}
-# end of file #
+package() {
+ cd $srcdir/netkit-rwho-$pkgver
+
+ mkdir -p $pkgdir/usr/{bin,sbin,share,man/man1,man/man8} $pkgdir/var/spool/rwho
+ make install
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/man
+
+ mv $pkgdir/usr/sbin/rwhod $pkgdir/usr/bin
+ rmdir $pkgdir/usr/sbin
+
+ install -Dm644 $srcdir/rwhod.conf $pkgdir/etc/conf.d/rwhod
+ install -Dm644 $srcdir/rwhod.service $pkgdir/usr/lib/systemd/system/rwhod.service
+}
diff --git a/rwhod.conf b/rwhod.conf
index 1eff3eef59bc..cdf5baad5743 100644
--- a/rwhod.conf
+++ b/rwhod.conf
@@ -1 +1 @@
-RWHOD_OPTS="-fau root"
+RWHOD_OPTS="-fau rwhod"
diff --git a/rwhod.install b/rwhod.install
index 5e863eb832bc..3ee05942f75e 100644
--- a/rwhod.install
+++ b/rwhod.install
@@ -1,7 +1,27 @@
-post_install () {
- echo ">> Place 'rwhod' in DAEMONS= in /etc/rc.conf to enable rwhod on system boot."
+post_install() {
+ if ! getent group rwhod &>/dev/null; then
+ groupadd -r rwhod &>/dev/null
+ fi
+
+ if ! getent passwd rwhod &>/dev/null; then
+ useradd -s /bin/false -d /var/spool/rwho -g rwhod -M -r rwhod &>/dev/null
+ fi
+
+ chown -R rwhod:rwhod /var/spool/rwho
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ if getent passwd rwhod &>/dev/null; then
+ userdel rwhod &>/dev/null
+ fi
+
+ if getent group rwhod &>/dev/null; then
+ groupdel rwhod &>/dev/null
+ fi
+
+ rm -rf /var/spool/rwhod/* &>/dev/null || true
}
-op=$1
-shift
-$op $*
- \ No newline at end of file
diff --git a/rwhod.rc b/rwhod.rc
deleted file mode 100644
index f165c62955b9..000000000000
--- a/rwhod.rc
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/rwhod
-
-PID=`pidof -o %PPID /usr/sbin/rwhod`
-case "$1" in
- start)
- stat_busy "Starting Remote WHO Daemon"
- if [ -z "$PID" ]; then
- /usr/sbin/rwhod $RWHOD_OPTS &
- fi
- if [ ! -z "$PID" ]; then
- stat_fail
- else
- PID=`pidof -o %PPID /usr/sbin/rwhod`
- echo $PID > /var/run/rwhod.pid
- add_daemon rwhod
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Remote WHO Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon rwhod
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
diff --git a/rwhod.service b/rwhod.service
new file mode 100644
index 000000000000..a25e2b0998b4
--- /dev/null
+++ b/rwhod.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Remote WHO Daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/rwhod
+ExecStart=/usr/bin/rwhod $RWHOD_OPTS
+
+[Install]
+WantedBy=multi-user.target