name = pdns-recursor
version = 3.3
-release = 4
+release = 9
groups = Networking/DNS
url = http://powerdns.com/
package if you need a dns cache for your network.
end
-source_dl =
+source_dl = http://downloads.powerdns.com/releases/
sources = %{thisapp}.tar.bz2
build
gcc-c++
boost-devel
lua-devel
+ shadow-utils
+ end
+
+ prepare_cmds
+ %{create_user}
end
build
install
make install DESTDIR=%{BUILDROOT} \
- CONFIGDIR=/etc/%{name}
+ CONFIGDIR="%{sysconfdir}/pdns"
# Remove sysvinit file
rm -rf %{BUILDROOT}/etc/init.d
# Remove shipped config file
- rm -rf %{BUILDROOT}/etc/%{name}/recursor.conf-dist
+ rm -rf %{BUILDROOT}%{sysconfdir}/pdns/recursor.conf-dist
# Install our default config file
- cp -vf %{DIR_SOURCE}/recursor.conf %{BUILDROOT}/etc/%{name}/recursor.conf
+ cp -vf %{DIR_SOURCE}/recursor.conf \
+ %{BUILDROOT}%{sysconfdir}/pdns/recursor.conf
# Create folder for chroot
mkdir -pv %{BUILDROOT}/var/lib/pdns-recursor
+
+ # Create directory for socket and stuff.
+ mkdir -pv %{BUILDROOT}/run/pdns-recursor
+ chown -v pdns-recursor.pdns-recursor %{BUILDROOT}/run/pdns-recursor
end
end
-# XXX Need to create user and group "pdns-recursor" at installation
-# useradd -r -g pdns-recursor pdns-recursor -d /var/lib/pdns-recursor -s /sbin/nologin
+create_user
+ getent group pdns-recursor >/dev/null || groupadd -r pdns-recursor
+ getent passwd pdns-recursor >/dev/null || \
+ useradd -r -g pdns-recursor -d /var/lib/pdns-recursor -s /sbin/nologin \
+ pdns-recursor
+end
packages
package %{name}
+ configfiles
+ %{sysconfdir}/pdns/recursor.conf
+ end
+
+ prerequires
+ shadow-utils
+ systemd-units
+ end
+
+ script prein
+ %{create_user}
+ end
+
+ script postin
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ /bin/systemctl --no-reload enable pdns-recursor.service >/dev/null 2>&1 || :
+ end
+
+ script preun
+ /bin/systemctl --no-reload disable pdns-recursor.service >/dev/null 2>&1 || :
+ /bin/systemctl stop pdns-recursor.service >/dev/null 2>&1 || :
+ end
+
+ script postun
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ end
+
+ script postup
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ /bin/systemctl try-restart pdns-recursor.service >/dev/null 2>&1 || :
+ end
+ end
+
+ package %{name}-debuginfo
+ template DEBUGINFO
+ end
end