]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blob - pdns-recursor/pdns-recursor.nm
dc91a5c96b103335916959996efdeb671a0dbb8e
[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 = 6
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=/etc/%{name}
43
44 # Remove sysvinit file
45 rm -rf %{BUILDROOT}/etc/init.d
46
47 # Remove shipped config file
48 rm -rf %{BUILDROOT}/etc/%{name}/recursor.conf-dist
49
50 # Install our default config file
51 cp -vf %{DIR_SOURCE}/recursor.conf %{BUILDROOT}/etc/%{name}/recursor.conf
52
53 # Create folder for chroot
54 mkdir -pv %{BUILDROOT}/var/lib/pdns-recursor
55
56 # Create directory for socket and stuff.
57 mkdir -pv %{BUILDROOT}/run/pdns-recursor
58 chown -v pdns-recursor.pdns-recursor %{BUILDROOT}/run/pdns-recursor
59 end
60 end
61
62 create_user
63 getent group pdns-recursor >/dev/null || groupadd -r pdns-recursor
64 getent passwd pdns-recursor >/dev/null || \
65 useradd -r -g pdns-recursor -d /var/lib/pdns-recursor -s /sbin/nologin \
66 pdns-recursor
67 end
68
69 packages
70 package %{name}
71 configfiles
72 /etc/%{name}/recursor.conf
73 end
74
75 prerequires = shadow-utils systemd-units
76
77 script prein
78 %{create_user}
79 end
80
81 script postin
82 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
83 /bin/systemctl --no-reload enable pdns-recursor.service >/dev/null 2>&1 || :
84 end
85
86 script preun
87 /bin/systemctl --no-reload disable pdns-recursor.service >/dev/null 2>&1 || :
88 /bin/systemctl stop pdns-recursor.service >/dev/null 2>&1 || :
89 end
90
91 script postun
92 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
93 end
94
95 script postup
96 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
97 /bin/systemctl try-restart pdns-recursor.service >/dev/null 2>&1 || :
98 end
99 end
100
101 package %{name}-debuginfo
102 template DEBUGINFO
103 end
104 end