99ac1c996f8dfff5535bf5ac55d94987e7e7f204
[feed/packages.git] / net / bind / Makefile
1 #
2 # Copyright (C) 2006-2012 OpenWrt.org
3 # 2014 Noah Meyerhans <frodo@morgul.net>
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=bind
12 PKG_VERSION:=9.9.5-P1
13 PKG_RELEASE:=1
14
15 PKG_MAINTAINER := Noah Meyerhans <frodo@morgul.net>
16 PKG_LICENSE := BSD-3-Clause
17
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
19 PKG_SOURCE_URL:= \
20 ftp://ftp.isc.org/isc/bind9/$(PKG_VERSION) \
21 http://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION)
22 PKG_MD5SUM:=3408af8c6d27d6cb8a05287f2ee32ad0
23
24 PKG_FIXUP:=autoreconf
25 PKG_REMOVE_FILES:=aclocal.m4 libtool.m4
26
27 PKG_INSTALL:=1
28
29 include $(INCLUDE_DIR)/package.mk
30
31 define Package/bind/Default
32 SECTION:=net
33 CATEGORY:=Network
34 DEPENDS:=+bind-libs
35 TITLE:=bind
36 URL:=https://www.isc.org/software/bind
37 SUBMENU:=IP Addresses and Names
38 endef
39
40 define Package/bind-libs
41 SECTION:=libs
42 CATEGORY:=Libraries
43 DEPENDS:=+libopenssl
44 TITLE:=bind shared libraries
45 URL:=https://www.isc.org/software/bind
46 endef
47
48 define Package/bind-server
49 $(call Package/bind/Default)
50 TITLE+= DNS server
51 endef
52
53 define Package/bind-client
54 $(call Package/bind/Default)
55 TITLE+= dynamic DNS client
56 endef
57
58 define Package/bind-tools
59 $(call Package/bind/Default)
60 TITLE+= administration tools (all)
61 endef
62
63 define Package/bind-rndc
64 $(call Package/bind/Default)
65 TITLE+= administration tools (rndc and rndc-confgen only)
66 endef
67
68 define Package/bind-check
69 $(call Package/bind/Default)
70 TITLE+= administration tools (named-checkconf and named-checkzone only)
71 endef
72
73 define Package/bind-dnssec
74 $(call Package/bind/Default)
75 TITLE+= administration tools (dnssec-keygen and dnssec-signzone only)
76 endef
77
78 define Package/bind-host
79 $(call Package/bind/Default)
80 TITLE+= simple DNS client
81 endef
82
83 define Package/bind-dig
84 $(call Package/bind/Default)
85 TITLE+= DNS excavation tool
86 endef
87
88 export BUILD_CC="$(TARGET_CC)"
89
90 CONFIGURE_ARGS += \
91 --enable-shared \
92 --enable-static \
93 --with-randomdev="/dev/urandom" \
94 --disable-threads \
95 --disable-linux-caps \
96 --with-openssl="$(STAGING_DIR)/usr" \
97 --with-libtool \
98 --with-libxml2=no \
99 --enable-epoll=yes \
100 --with-gost=no \
101 --with-gssapi=no \
102 --with-ecdsa=no \
103 --with-readline=no
104
105 CONFIGURE_VARS += \
106 BUILD_CC="$(TARGET_CC)" \
107
108 define Build/Compile
109 $(MAKE) -C $(PKG_BUILD_DIR)/lib/dns \
110 BUILD_CC="$(HOSTCC)" \
111 CC="$(HOSTCC)" \
112 CFLAGS="-O2" \
113 LIBS="" \
114 gen
115 $(call Build/Compile/Default)
116 endef
117
118 define Package/bind-libs/install
119 $(INSTALL_DIR) $(1)/usr/lib
120 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
121 endef
122
123 define Package/bind-server/install
124 $(INSTALL_DIR) $(1)/usr/sbin
125 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named $(1)/usr/sbin/
126 $(INSTALL_DIR) $(1)/etc/bind
127 $(CP) \
128 ./files/bind/db.0 \
129 ./files/bind/db.127 \
130 ./files/bind/db.255 \
131 ./files/bind/db.local \
132 ./files/bind/db.root \
133 $(1)/etc/bind/
134 $(CP) ./files/bind/named.conf.example $(1)/etc/bind/named.conf
135 $(INSTALL_DIR) $(1)/etc/init.d
136 $(INSTALL_BIN) ./files/named.init $(1)/etc/init.d/named
137 find $(1)/etc/bind/ -name ".svn" | xargs rm -rf
138 endef
139
140 define Package/bind-server/conffiles
141 /etc/bind/db.0
142 /etc/bind/db.127
143 /etc/bind/db.255
144 /etc/bind/db.local
145 /etc/bind/db.root
146 /etc/bind/named.conf
147 endef
148
149 define Package/bind-client/install
150 $(INSTALL_DIR) $(1)/usr/bin
151 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/
152 endef
153
154 define Package/bind-tools/install
155 $(INSTALL_DIR) $(1)/usr/bin
156 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
157 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
158 $(INSTALL_DIR) $(1)/usr/sbin
159 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/
160 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/
161 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/
162 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/
163 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
164 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
165 endef
166
167 define Package/bind-rndc/install
168 $(INSTALL_DIR) $(1)/usr/sbin
169 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
170 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
171 endef
172
173 define Package/bind-check/install
174 $(INSTALL_DIR) $(1)/usr/sbin
175 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/
176 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/
177 endef
178
179 define Package/bind-dnssec/install
180 $(INSTALL_DIR) $(1)/usr/sbin
181 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/
182 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/
183 endef
184
185 define Package/bind-host/install
186 $(INSTALL_DIR) $(1)/usr/bin
187 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
188 endef
189
190 define Package/bind-dig/install
191 $(INSTALL_DIR) $(1)/usr/bin
192 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
193 endef
194
195 $(eval $(call BuildPackage,bind-libs))
196 $(eval $(call BuildPackage,bind-server))
197 $(eval $(call BuildPackage,bind-client))
198 $(eval $(call BuildPackage,bind-tools))
199 $(eval $(call BuildPackage,bind-rndc))
200 $(eval $(call BuildPackage,bind-check))
201 $(eval $(call BuildPackage,bind-dnssec))
202 $(eval $(call BuildPackage,bind-host))
203 $(eval $(call BuildPackage,bind-dig))