[packages] nfs-kernel-server: fix mount command
[packages.git] / net / djbdns / Makefile
1 # Copyright (C) 2007 OpenWrt.org
2 # Original port by FreeWRT project.
3 #
4 # 2007     Alexander Tsvyashchenko  Adapted FreeWRT port for OpenWRT (Trac ticket 2497)
5 # 2008     Some Danish guy          Created a port for OpenWRT 7.09
6 # 20090403 jhalfmoon                Modified and augmented existing packages to work on OpenWRT buildroot (v8.09)
7 #
8 # This is free software, licensed under the GNU General Public License v2.
9 # See /LICENSE for more information.
10 #
11
12 include $(TOPDIR)/rules.mk
13
14 PKG_NAME:=djbdns
15 PKG_VERSION:=1.05
16 PKG_RELEASE:=5
17
18 PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
19 PKG_SOURCE_URL:=http://cr.yp.to/djbdns/
20 PKG_MD5SUM:=3147c5cd56832aa3b41955c7a51cbeb2
21 PKG_BUILD_DEPENDS:=daemontools ucspi-tcp
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/djbdns/Default
26   SECTION:=net
27   CATEGORY:=Network
28   URL:=http://cr.yp.to/djbdns.html
29   SUBMENU:=IP Addresses and Names
30 #  SUBMENU:=djbdns
31 endef
32
33 define Package/djbdns-base
34   $(call Package/djbdns/Default)
35   TITLE:=djbdns base configuration file
36 endef
37
38 define Package/djbdns-dnscache
39   $(call Package/djbdns/Default)
40   TITLE:=Recursive and forwarding caching name server
41   DEPENDS:= +djbdns-base
42 endef
43
44 define Package/djbdns-tinydns
45   $(call Package/djbdns/Default)
46   TITLE:=Authoritative name server
47   DEPENDS:= +djbdns-base
48 endef
49
50 define Package/djbdns-axfrdns
51   $(call Package/djbdns/Default)
52   TITLE:=Zone transfer server
53   DEPENDS:= +djbdns-base +djbdns-tinydns +ucspi-tcp
54 endef
55
56 define Package/djbdns-rbldns
57   $(call Package/djbdns/Default)
58   TITLE:=Real-time Block List name server
59   DEPENDS:= +djbdns-base
60 endef
61
62 define Package/djbdns-walldns
63   $(call Package/djbdns/Default)
64   TITLE:=Reverse DNS wall
65   DEPENDS:= +djbdns-base
66 endef
67
68 define Package/djbdns-tools
69   $(call Package/djbdns/Default)
70   TITLE:=Tools for testing and debugging DNS issues
71 endef
72
73 define Package/djdbns/description
74         djbdns is a collection of Domain Name System tools.
75         It includes software for all the fundamental DNS operations: 
76         * DNS server: publishing addresses of Internet hosts.
77         * DNS cache: finding addresses of Internet hosts.
78         * DNS client: talking to a DNS cache.
79                 
80         Also included is a DNS client C library, several command-line
81         DNS client utilities, several DNS debugging tools.
82 endef
83
84 define Package/djbdns-base/description
85         The shared config file for the djbdns daemons.
86 endef
87
88 define Package/djbdns-dnscache/description
89         dnscache is a DNS cache.
90         It accepts recursive DNS queries from local clients such as web
91         browsers and mail transfer agents. It collects responses from
92         remote DNS servers. It caches the responses to save time later. 
93 endef
94
95 define Package/djbdns-tinydns/description
96         tinydns is a DNS server.
97         It accepts iterative DNS queries from hosts around the Internet
98         and responds with locally configured information. 
99 endef
100
101 define Package/djbdns-axfrdns/description
102         axfrdns is a DNS zone-transfer server.
103         It reads a zone-transfer request in DNS-over-TCP format
104         from its standard input and responds with locally configured
105         information. 
106 endef
107
108 define Package/djbdns-rbldns/description
109         rbldns is an IP-address-listing DNS server.
110         It accepts iterative DNS queries from hosts around the Internet asking
111         about various IP addresses. It provides responses showing whether the
112         addresses are on a locally configured list, such as RBL or DUL. 
113 endef
114
115 define Package/djbdns-walldns/description
116         walldns is a reverse DNS wall.
117         It accepts iterative DNS queries for in-addr.arpa domains from hosts
118         around the Internet and supplies generic responses that avoid
119         revealing local host information. 
120 endef
121
122 define Package/djbdns-tools/description
123         Several command-line DNS client utilities and DNS debugging tools.
124 endef
125
126 define Build/Compile
127         TARGET_CC="$(TARGET_CC)" \
128         TARGET_CFLAGS="$(TARGET_CFLAGS)" \
129         TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
130         TARGET_RANLIB="$(TARGET_CROSS)ranlib" \
131         $(MAKE) -C $(PKG_BUILD_DIR)
132 endef
133
134 define Package/djbdns-base/install
135         $(INSTALL_DIR) $(1)/etc/config
136         $(INSTALL_DATA) ./files/djbdns.conf $(1)/etc/config/djbdns
137 endef
138
139 define Package/djbdns-dnscache/install
140         $(INSTALL_DIR) $(1)/usr/bin
141         (cd $(PKG_BUILD_DIR); \
142         $(INSTALL_BIN) dnscache pickdns pickdns-data $(1)/usr/bin)
143         $(INSTALL_DIR) $(1)/etc/init.d
144         $(INSTALL_BIN) ./files/dnscache.init $(1)/etc/init.d/dnscache
145         $(CP) -r ./files/dnscache $(1)/etc/
146         $(CP) $(PKG_BUILD_DIR)/dnsroots.global $(1)/etc/dnscache/
147         $(INSTALL_DIR) $(1)/etc/dnscache/ip
148         $(INSTALL_DIR) $(1)/etc/dnscache/servers
149         $(CP) $(PKG_BUILD_DIR)/dnsroots.global $(1)/etc/dnscache/servers/@
150 endef
151
152 define Package/djbdns-tinydns/install
153         $(INSTALL_DIR) $(1)/usr/bin
154         (cd $(PKG_BUILD_DIR); \
155         $(INSTALL_BIN) tinydns tinydns-data tinydns-edit tinydns-get $(1)/usr/bin)
156         $(INSTALL_DIR) $(1)/etc/init.d
157         $(INSTALL_BIN) ./files/tinydns.init $(1)/etc/init.d/tinydns
158         $(CP) -r ./files/tinydns $(1)/etc/
159 endef
160
161 define Package/djbdns-axfrdns/install
162         $(INSTALL_DIR) $(1)/usr/bin
163         (cd $(PKG_BUILD_DIR); \
164         $(INSTALL_BIN) axfrdns axfr-get $(1)/usr/bin)
165         $(INSTALL_DIR) $(1)/etc/init.d
166         $(INSTALL_BIN) ./files/axfrdns.init $(1)/etc/init.d/axfrdns
167         $(CP) -r ./files/axfrdns $(1)/etc/
168 endef
169
170 define Package/djbdns-rbldns/install
171         $(INSTALL_DIR) $(1)/usr/bin
172         (cd $(PKG_BUILD_DIR); \
173         $(INSTALL_BIN) rbldns rbldns-data $(1)/usr/bin)
174         $(INSTALL_DIR) $(1)/etc/init.d
175         $(INSTALL_BIN) ./files/rbldns.init $(1)/etc/init.d/rbldns
176         $(CP) -r ./files/rbldns $(1)/etc/
177 endef
178
179 define Package/djbdns-walldns/install
180         $(INSTALL_DIR) $(1)/usr/bin
181         (cd $(PKG_BUILD_DIR); \
182         $(INSTALL_BIN) walldns $(1)/usr/bin)
183         $(INSTALL_DIR) $(1)/etc/init.d
184         $(INSTALL_BIN) ./files/walldns.init $(1)/etc/init.d/walldns
185 endef
186
187 define Package/djbdns-tools/install
188         $(INSTALL_DIR) $(1)/usr/bin
189         (cd $(PKG_BUILD_DIR); \
190         $(INSTALL_BIN) dnsfilter dnsip dnsipq dnsmx dnsname dnsnamex dnsq \
191                        dnsqr dnstrace dnstracesort dnstxt random-ip \
192         $(1)/usr/bin)
193         $(INSTALL_BIN) ./files/dnsroots-update $(1)/usr/bin/
194         $(INSTALL_BIN) ./files/dnsqrx $(1)/usr/bin/
195 endef
196
197 $(eval $(call BuildPackage,djbdns-base))
198 $(eval $(call BuildPackage,djbdns-tinydns))
199 $(eval $(call BuildPackage,djbdns-dnscache))
200 $(eval $(call BuildPackage,djbdns-axfrdns))
201 $(eval $(call BuildPackage,djbdns-rbldns))
202 $(eval $(call BuildPackage,djbdns-walldns))
203 $(eval $(call BuildPackage,djbdns-tools))
204