Date: Tuesday, March 25, 2014 @ 03:20:56 Author: thestinger Revision: 108219
pdnsd: run as pdnsd user, not root This also renames /etc/pdnsd.conf.sample to /etc/pdnsd.conf in order to generate pacnew files. Otherwise, upgrades like this would cause silent breakage. Added: pdnsd/trunk/pdnsd.install Modified: pdnsd/trunk/PKGBUILD ---------------+ PKGBUILD | 24 +++++++++++++++++------- pdnsd.install | 22 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 7 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-03-25 01:00:48 UTC (rev 108218) +++ PKGBUILD 2014-03-25 02:20:56 UTC (rev 108219) @@ -1,16 +1,19 @@ # $Id$ # Maintainer: Sergej Pupykin <[email protected]> +# Contributor: Daniel Micay <[email protected]> # Contributor: Henrik Nymann Jensen <[email protected]> pkgname=pdnsd pkgver=1.2.9.a _pkgver=${pkgver/.a/a} -pkgrel=4 +pkgrel=5 pkgdesc="Proxy DNS server with permanent caching" arch=(i686 x86_64) url="http://members.home.nl/p.a.rombouts/pdnsd/" license=('GPL') depends=('glibc') +backup=(etc/pdnsd.conf) +install=${pkgname}.install source=(http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-$_pkgver-par.tar.gz service) md5sums=('2f3e705d59a0f9308ad9504b24400769' @@ -17,13 +20,20 @@ '4f86bdbd8495b53341070d5720491996') build() { - cd $srcdir/$pkgname-${_pkgver} - ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --enable-ipv6 - make + cd "$srcdir/$pkgname-$_pkgver" + ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --enable-ipv6 + make } package() { - cd $srcdir/$pkgname-${_pkgver} - make DESTDIR=$pkgdir install - install -Dm0644 $srcdir/service $pkgdir/usr/lib/systemd/system/pdnsd.service + cd "$srcdir/$pkgname-$_pkgver" + make DESTDIR="$pkgdir" install + install -Dm0644 ../service "$pkgdir/usr/lib/systemd/system/pdnsd.service" + + # Rename the configuration file, so users get pacnew files. + mv "$pkgdir/etc/pdnsd.conf.sample" "$pkgdir/etc/pdnsd.conf" + + sed -i 's/"nobody"/"pdnsd"/' "$pkgdir/etc/pdnsd.conf" + + chown 184:184 "$pkgdir/var/cache/pdnsd" } Added: pdnsd.install =================================================================== --- pdnsd.install (rev 0) +++ pdnsd.install 2014-03-25 02:20:56 UTC (rev 108219) @@ -0,0 +1,22 @@ +post_install() { + getent group pdnsd &>/dev/null || groupadd -g 184 pdnsd >/dev/null + getent passwd pdnsd &>/dev/null || useradd -u 184 -g pdnsd -d /var/lib/pdnsd -c 'Proxy DNS server' -s /bin/nologin pdnsd >/dev/null + true +} + +post_upgrade() { + if [[ $(vercmp $2 1.2.9.a-5) -le 0 ]]; then + # in case the user/group were already created as recommended by the wiki + userdel pdnsd &>/dev/null + groupdel pdnsd &>/dev/null + + post_install + chown -R 184:184 /var/cache/pdnsd + fi +} + +post_remove() { + getent passwd pdnsd &>/dev/null && userdel pdnsd >/dev/null + getent group pdnsd &>/dev/null && groupdel pdnsd >/dev/null + true +}
