diff --git a/aur/netatalk/PKGBUILD b/aur/netatalk/PKGBUILD index 93a103522..b432fe2dc 100644 --- a/aur/netatalk/PKGBUILD +++ b/aur/netatalk/PKGBUILD @@ -9,7 +9,7 @@ plugrel=1 pkgname=netatalk true && pkgname=('netatalk' 'netatalk-ddp') pkgver=2.2.2 -pkgrel=4 +pkgrel=6 pkgdesc='A kernel-level implementation of AppleTalk, AFP, and PAP services' arch=('i686' 'x86_64') url='http://netatalk.sourceforge.net' @@ -24,15 +24,15 @@ backup=('etc/netatalk/afpd.conf' options=('!libtool') install=$pkgname.install changelog=$pkgname.changelog -source=(a2boot afpd atalkd cnid_metad netatalk papd timelord \ +source=(a2boot.rc afpd.rc atalkd.rc cnid_metad.rc netatalk.rc papd.rc timelord.rc \ http://hivelocity.dl.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2) -md5sums=('747f0f3870fc0472fff5d502acd83fda' - '3b936b466b00a479aadb32df60960538' - '14dd9d43125eec9be438e4474b271ff0' - '1eb353a1e0581f9d764826a2f2d9b6f2' - 'c89d35e5ea67edfd08ebfccb306f6c47' - 'd8fa2b290cac33b4de77a7b69ef03db9' - '80299f81b0413329479073fe02e85de5' +md5sums=('792435b982af01a206b43f82115d4820' + '812f2a6236c495682e768704007b9b7d' + '8348b1bd91ff4a9c2d5e2bbb44cbc970' + 'bc8c1f7e2af6e02982dc375fbf02f4d6' + '4226d26b886d6cff422c4a5bd5b88d55' + '288ee4394109ad8e163518a3b335064b' + '8a60ce9165f1346dab37045ce440c4cd' 'bd42b686ec7209d9ab47bd8e2e2431c4') _options='--disable-ddp --disable-srvloc --disable-timelord --disable-cups --disable-a2boot' _depddp=('openslp' 'libcups' 'libgcrypt>=1.2.3') @@ -40,7 +40,7 @@ _depddp=('openslp' 'libcups' 'libgcrypt>=1.2.3') build() { if [ "$pkgname" = "netatalk-ddp" ];then resolve_deps ${_depddp[@]} _options=`echo $_options | sed s/disable/enable/g`;fi - cd "$srcdir"/$pkgbase-$pkgver + cd $pkgbase-$pkgver msg2 'Configuring...' CFLAGS="-Wno-unused-result" ./configure --prefix=/usr --localstatedir=/var --libexecdir='${libdir}' \ --with-cracklib --with-cnid-cdb-backend --enable-fhs $_options @@ -49,23 +49,28 @@ build() { echo $pkgname >made } package() { - cd "$srcdir"/$pkgbase-$pkgver - if [ -f made ];then rm made;else continue;fi + cd $pkgbase-$pkgver + if [ -f made ];then rm made;else rm -rf "$pkgdir";continue;fi msg2 'Building...' make DESTDIR="$pkgdir" install >/dev/null msg2 'Copying initscripts...' - install -d "$pkgdir"/etc/rc.d - install -m755 "$srcdir"/{a2boot,atalkd,afpd,cnid_metad,netatalk,papd,timelord} "$pkgdir"/etc/rc.d + install -D -m755 "$srcdir"/netatalk.rc "$pkgdir"/etc/rc.d/netatalk + install -m755 "$srcdir"/cnid_metad.rc "$pkgdir"/etc/rc.d/cnid_metad + install -m755 "$srcdir"/afpd.rc "$pkgdir"/etc/rc.d/afpd msg2 'Removing extraneous files...' rm -r "$pkgdir"/usr/include "$pkgdir"/usr/share/aclocal } package_netatalk() { package - rm "$pkgdir"/usr/share/man/man8/timelord.8 "$pkgdir"/etc/rc.d/{a2boot,atalkd,papd,timelord} + rm "$pkgdir"/usr/share/man/man8/timelord.8 rmdir "$pkgdir"/usr/share/man/man3 "$pkgdir"/usr/share/man/man4 } package_netatalk-ddp() { package + install -m755 "$srcdir"/a2boot.rc "$pkgdir"/etc/rc.d/a2boot + install -m755 "$srcdir"/atalkd.rc "$pkgdir"/etc/rc.d/atalkd + install -m755 "$srcdir"/papd.rc "$pkgdir"/etc/rc.d/papd + install -m755 "$srcdir"/timelord.rc "$pkgdir"/etc/rc.d/timelord optdepends=('cups: required for PAP support') backup+=('etc/netatalk/atalkd.conf' 'etc/netatalk/papd.conf' 'etc/pam.d/netatalk') conflicts=('netatalk');provides=(${conflicts[@]});depends=(${_depddp[@]}) diff --git a/aur/netatalk/a2boot b/aur/netatalk/a2boot.rc similarity index 50% rename from aur/netatalk/a2boot rename to aur/netatalk/a2boot.rc index 6e21edd8a..de08cb6d2 100644 --- a/aur/netatalk/a2boot +++ b/aur/netatalk/a2boot.rc @@ -2,44 +2,38 @@ . /etc/rc.conf . /etc/rc.d/functions +. /etc/rc.d/netatalk common NAME="Apple II Boot Daemon" ARGS= DEPENDS=atalkd REQUIRED= -DAEMON=`basename "$0"` +DAEMON=a2boot [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON PID=`get_pid $DAEMON` -get_pid_r() { - local pid=() - for i in $@ - do j=`get_pid $i` || return 1;pid+=($j);done - echo ${pid[@]}; -} - case "$1" in start) stat_busy "Starting $NAME" - [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null + `get_pid_rd $DEPENDS` && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi + if ! `get_pid_rd $DEPENDS`;then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi exit 1 fi ;; stop) stat_busy "Stopping $NAME" - [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null + `get_pid_rr $REQUIRED` && [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi + if ! `get_pid_rr $REQUIRED`;then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi exit 1 fi ;; @@ -50,4 +44,4 @@ case "$1" in ;; *) echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file +esac diff --git a/aur/netatalk/afpd b/aur/netatalk/afpd.rc similarity index 51% rename from aur/netatalk/afpd rename to aur/netatalk/afpd.rc index f83053049..1deaa37f3 100644 --- a/aur/netatalk/afpd +++ b/aur/netatalk/afpd.rc @@ -2,44 +2,38 @@ . /etc/rc.conf . /etc/rc.d/functions +. /etc/rc.d/netatalk common NAME="Apple Filing Protocol Daemon" ARGS= DEPENDS=cnid_metad REQUIRED= -DAEMON=`basename "$0"` +DAEMON=afpd [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON PID=`get_pid $DAEMON` -get_pid_r() { - local pid=() - for i in $@ - do j=`get_pid $i` || return 1;pid+=($j);done - echo ${pid[@]}; -} - case "$1" in start) stat_busy "Starting $NAME" - [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null + `get_pid_rd $DEPENDS` && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi + if ! `get_pid_rd $DEPENDS`;then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi exit 1 fi ;; stop) stat_busy "Stopping $NAME" - [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null + `get_pid_rr $REQUIRED` && [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi + if ! `get_pid_rr $REQUIRED`;then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi exit 1 fi ;; @@ -50,4 +44,4 @@ case "$1" in ;; *) echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file +esac diff --git a/aur/netatalk/atalkd b/aur/netatalk/atalkd.rc similarity index 50% rename from aur/netatalk/atalkd rename to aur/netatalk/atalkd.rc index 74412e511..79f7440b9 100644 --- a/aur/netatalk/atalkd +++ b/aur/netatalk/atalkd.rc @@ -2,44 +2,38 @@ . /etc/rc.conf . /etc/rc.d/functions +. /etc/rc.d/netatalk common NAME="AppleTalk Protocol Daemon" ARGS= -DEPENDS=init +DEPENDS= REQUIRED="a2boot papd timelord" -DAEMON=`basename "$0"` +DAEMON=atalkd [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON PID=`get_pid $DAEMON` -get_pid_r() { - local pid=() - for i in $@ - do j=`get_pid $i` || return 1;pid+=($j);done - echo ${pid[@]}; -} - case "$1" in start) stat_busy "Starting $NAME" - [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null + `get_pid_rd $DEPENDS` && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi + if ! `get_pid_rd $DEPENDS`;then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi exit 1 fi ;; stop) stat_busy "Stopping $NAME" - [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null + `get_pid_rr $REQUIRED` && [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi + if ! `get_pid_rr $REQUIRED`;then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi exit 1 fi ;; @@ -50,4 +44,4 @@ case "$1" in ;; *) echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file +esac diff --git a/aur/netatalk/cnid_metad b/aur/netatalk/cnid_metad deleted file mode 100644 index daec47ff9..000000000 --- a/aur/netatalk/cnid_metad +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -NAME="CNID Meta-Daemon" -ARGS= -DEPENDS=init -REQUIRED=afpd -DAEMON=`basename "$0"` - -[ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON - -PID=`get_pid $DAEMON` - -get_pid_r() { - local pid=() - for i in $@ - do j=`get_pid $i` || return 1;pid+=($j);done - echo ${pid[@]}; -} - -case "$1" in - start) - stat_busy "Starting $NAME" - [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null - if [ $? = 0 ]; then - stat_done - else - stat_fail - if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi - exit 1 - fi - ;; - stop) - stat_busy "Stopping $NAME" - [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null - if [ $? = 0 ]; then - stat_done - else - stat_fail - if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi - exit 1 - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file diff --git a/aur/netatalk/cnid_metad.rc b/aur/netatalk/cnid_metad.rc new file mode 100644 index 000000000..ea0214312 --- /dev/null +++ b/aur/netatalk/cnid_metad.rc @@ -0,0 +1,47 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/rc.d/netatalk common + +NAME="CNID Meta-Daemon" +ARGS= +DEPENDS= +REQUIRED=afpd +DAEMON=cnid_metad + +[ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON + +PID=`get_pid $DAEMON` + +case "$1" in + start) + stat_busy "Starting $NAME" + `get_pid_rd $DEPENDS` && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null + if [ $? = 0 ]; then + stat_done + else + stat_fail + if ! `get_pid_rd $DEPENDS`;then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi + exit 1 + fi + ;; + stop) + stat_busy "Stopping $NAME" + `get_pid_rr $REQUIRED` && [ -n "$PID" ] && kill $PID &>/dev/null + if [ $? = 0 ]; then + stat_done + else + stat_fail + if ! `get_pid_rr $REQUIRED`;then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/aur/netatalk/netatalk b/aur/netatalk/netatalk deleted file mode 100644 index 8ead2313f..000000000 --- a/aur/netatalk/netatalk +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -NAME="NetATalk Meta-Daemon" -DAEMON=`basename "$0"` -RUNNING=() -STOPPED=() - -[ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON - -for i in atalkd papd timelord a2boot cnid_metad afpd -do - if [ `type -p $i` ]; then if [ `get_pid $i` ]; then RUNNING+=($i); else STOPPED+=($i); fi; fi -done - -case "$1" in - start) - STARTING=''; rc.d start ${STOPPED[@]} - if [ $? = 0 ]; then - add_daemon $DAEMON - else - exit 1 - fi - ;; - stop) - for ((i=${#RUNNING[@]}-1; i>=0; i--));do rc.d stop ${RUNNING[$i]}; done - if [ $? = 0 ]; then - rm_daemon $DAEMON - else - exit 1 - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file diff --git a/aur/netatalk/netatalk.changelog b/aur/netatalk/netatalk.changelog index 4516f0ddb..8ec8f8488 100644 --- a/aur/netatalk/netatalk.changelog +++ b/aur/netatalk/netatalk.changelog @@ -1,3 +1,18 @@ +2012-05-01 SJ_UnderWater + + * 2.2.2-6 : + moved to .rc files + refactored PKGBUILD + install rc.d files + +2012-04-25 SJ_UnderWater + + * 2.2.2-5 : + init rebuild + fix dep check + fix get_pid + function relocation + 2012-04-21 SJ_UnderWater * 2.2.2-4 : diff --git a/aur/netatalk/netatalk.install b/aur/netatalk/netatalk.install index de7fc4bad..de178b264 100644 --- a/aur/netatalk/netatalk.install +++ b/aur/netatalk/netatalk.install @@ -14,3 +14,6 @@ post_upgrade() { echo '>>> /etc/avahi/services, please delete these'; echo '>>> before restarting!';fi } +pre_remove() { + rc.d stop netatalk +} diff --git a/aur/netatalk/netatalk.rc b/aur/netatalk/netatalk.rc new file mode 100644 index 000000000..cf2def9e4 --- /dev/null +++ b/aur/netatalk/netatalk.rc @@ -0,0 +1,63 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +NAME="NetATalk Meta-Daemon" +DAEMON=netatalk +RUNNING=() +STOPPED=() + +daemons() { + for i in atalkd papd timelord a2boot cnid_metad afpd; do + if [ `type -p $i` ]; then if [ "`get_pid $i`" ]; then RUNNING+=($i); else STOPPED+=($i); fi; fi + done +} +get_pid_r() { + local pid=0;for i in $@ + do get_pid $i >/dev/null || continue;: $[ pid++ ];done + return $pid +} +get_pid_rd(){ + get_pid_r $* + if [ "$?" -ne "$#" ];then return 1;fi +} +get_pid_rr(){ + get_pid_r $* + if [ "$?" -ne "0" ];then return 1;fi +} + +case "$1" in + start|stop) + [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON + daemons + ;; +esac + +case "$1" in + start) + STARTING=''; rc.d start ${STOPPED[@]} + if [ $? = 0 ]; then + add_daemon $DAEMON + else + exit 1 + fi + ;; + stop) + for ((i=${#RUNNING[@]}-1; i>=0; i--));do rc.d stop ${RUNNING[$i]}; done + if [ $? = 0 ]; then + rm_daemon $DAEMON + else + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + common) + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/aur/netatalk/papd b/aur/netatalk/papd.rc similarity index 51% rename from aur/netatalk/papd rename to aur/netatalk/papd.rc index 6d08d878b..33b205904 100644 --- a/aur/netatalk/papd +++ b/aur/netatalk/papd.rc @@ -2,44 +2,38 @@ . /etc/rc.conf . /etc/rc.d/functions +. /etc/rc.d/netatalk common NAME="AppleTalk Printer Daemon" ARGS= DEPENDS=atalkd REQUIRED= -DAEMON=`basename "$0"` +DAEMON=papd [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON PID=`get_pid $DAEMON` -get_pid_r() { - local pid=() - for i in $@ - do j=`get_pid $i` || return 1;pid+=($j);done - echo ${pid[@]}; -} - case "$1" in start) stat_busy "Starting $NAME" - [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null + `get_pid_rd $DEPENDS` && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi + if ! `get_pid_rd $DEPENDS`;then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi exit 1 fi ;; stop) stat_busy "Stopping $NAME" - [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null + `get_pid_rr $REQUIRED` && [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi + if ! `get_pid_rr $REQUIRED`;then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi exit 1 fi ;; @@ -50,4 +44,4 @@ case "$1" in ;; *) echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file +esac diff --git a/aur/netatalk/timelord b/aur/netatalk/timelord.rc similarity index 50% rename from aur/netatalk/timelord rename to aur/netatalk/timelord.rc index c21ade4b6..951a2dc20 100644 --- a/aur/netatalk/timelord +++ b/aur/netatalk/timelord.rc @@ -2,44 +2,38 @@ . /etc/rc.conf . /etc/rc.d/functions +. /etc/rc.d/netatalk common NAME="AppleTalk Time Daemon" ARGS= DEPENDS=atalkd REQUIRED= -DAEMON=`basename "$0"` +DAEMON=timelord [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON PID=`get_pid $DAEMON` -get_pid_r() { - local pid=() - for i in $@ - do j=`get_pid $i` || return 1;pid+=($j);done - echo ${pid[@]}; -} - case "$1" in start) stat_busy "Starting $NAME" - [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null + `get_pid_rd $DEPENDS` && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi + if ! `get_pid_rd $DEPENDS`;then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi exit 1 fi ;; stop) stat_busy "Stopping $NAME" - [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null + `get_pid_rr $REQUIRED` && [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail - if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi + if ! `get_pid_rr $REQUIRED`;then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi exit 1 fi ;; @@ -50,4 +44,4 @@ case "$1" in ;; *) echo "usage: $0 {start|stop|restart}" -esac \ No newline at end of file +esac