]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blob - pdns-recursor/pdns-recursor.nm
Sanitize pdns and pdns-recursor package.
[people/amarx/ipfire-3.x.git] / pdns-recursor / pdns-recursor.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = pdns-recursor
7 version = 3.3
8 release = 8
9
10 groups = Networking/DNS
11 url = http://powerdns.com/
12 license = GPLv2
13 summary = A modern, advanced and high performance recursing nameserver.
14
15 description
16 PowerDNS Recursor is a non authoritative/recursing DNS server. Use this
17 package if you need a dns cache for your network.
18 end
19
20 source_dl = http://downloads.powerdns.com/releases/
21 sources = %{thisapp}.tar.bz2
22
23 build
24 requires
25 gcc-c++
26 boost-devel
27 lua-devel
28 shadow-utils
29 end
30
31 prepare_cmds
32 %{create_user}
33 end
34
35 build
36 LUA=1 LUA_CPPFLAGS_CONFIG= LUA_LIBS_CONFIG=-llua \
37 make OPTFLAGS="%{CFLAGS}" #%{PARALLELISMFLAGS}
38 end
39
40 install
41 make install DESTDIR=%{BUILDROOT} \
42 CONFIGDIR="%{sysconfdir}/pdns"
43
44 # Remove sysvinit file
45 rm -rf %{BUILDROOT}/etc/init.d
46
47 # Remove shipped config file
48 rm -rf %{BUILDROOT}%{sysconfdir}/pdns/recursor.conf-dist
49
50 # Install our default config file
51 cp -vf %{DIR_SOURCE}/recursor.conf \
52 %{BUILDROOT}%{sysconfdir}/pdns/recursor.conf
53
54 # Create folder for chroot
55 mkdir -pv %{BUILDROOT}/var/lib/pdns-recursor
56
57 # Create directory for socket and stuff.
58 mkdir -pv %{BUILDROOT}/run/pdns-recursor
59 chown -v pdns-recursor.pdns-recursor %{BUILDROOT}/run/pdns-recursor
60 end
61 end
62
63 create_user
64 getent group pdns-recursor >/dev/null || groupadd -r pdns-recursor
65 getent passwd pdns-recursor >/dev/null || \
66 useradd -r -g pdns-recursor -d /var/lib/pdns-recursor -s /sbin/nologin \
67 pdns-recursor
68 end
69
70 packages
71 package %{name}
72 configfiles
73 %{sysconfdir}/pdns/recursor.conf
74 end
75
76 prerequires
77 shadow-utils
78 systemd-units
79 end
80
81 script prein
82 %{create_user}
83 end
84
85 script postin
86 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
87 /bin/systemctl --no-reload enable pdns-recursor.service >/dev/null 2>&1 || :
88 end
89
90 script preun
91 /bin/systemctl --no-reload disable pdns-recursor.service >/dev/null 2>&1 || :
92 /bin/systemctl stop pdns-recursor.service >/dev/null 2>&1 || :
93 end
94
95 script postun
96 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
97 end
98
99 script postup
100 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
101 /bin/systemctl try-restart pdns-recursor.service >/dev/null 2>&1 || :
102 end
103 end
104
105 package %{name}-debuginfo
106 template DEBUGINFO
107 end
108 end