add a mirror for bind and update to latest upstream version
[packages.git] / net / bind / Makefile
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=bind
12 PKG_VERSION:=9.3.2-P2
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:= \
17         ftp://ftp.isc.org/isc/bind9/$(PKG_VERSION) \
18         http://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION)
19 PKG_MD5SUM:=948101be324deb15ff94a5b6a639ea39
20 PKG_CAT:=zcat
21
22 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
23 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
24
25 PKG_BUILDDEP:=libopenssl
26
27 include $(INCLUDE_DIR)/package.mk
28
29 define Package/bind/Default
30   SECTION:=net
31   CATEGORY:=Network
32   TITLE:=bind
33   URL:=http://www.isc.org/sw/bind/
34 endef
35
36 define Package/bind-server
37   $(call Package/bind/Default)
38   TITLE+= DNS server
39 endef
40
41 define Package/bind-client
42   $(call Package/bind/Default)
43   TITLE+= dynamic DNS client
44 endef
45
46 define Package/bind-tools
47   $(call Package/bind/Default)
48   TITLE+= administration tools (all)
49 endef
50   
51 define Package/bind-rndc
52   $(call Package/bind/Default)
53   TITLE+= administration tools (rndc and rndc-confgen only)
54 endef
55
56 define Package/bind-check
57   $(call Package/bind/Default)
58   TITLE+= administration tools (named-checkconf and named-checkzone only)
59 endef
60
61 define Package/bind-dnssec
62   $(call Package/bind/Default)
63   TITLE+= administration tools (dnssec-keygen and dnssec-signzone only)
64 endef
65
66 define Package/bind-host
67   $(call Package/bind/Default)
68   TITLE+= simple DNS client
69 endef
70
71 define Package/bind-dig
72   $(call Package/bind/Default)
73   TITLE+= DNS excavation tool
74 endef
75
76 define Package/Build/Configure
77         $(call Build/Configure/Default,\
78                 --enable-shared \
79                 --enable-static \
80                 --enable-ipv6 \
81                 --with-randomdev="/dev/urandom" \
82                 --disable-threads \
83                 --with-openssl="$(STAGING_DIR)/usr" \
84                 --with-libtool \
85         )
86 endef
87
88 define Build/Compile
89         rm -rf $(PKG_INSTALL_DIR)
90         mkdir -p $(PKG_INSTALL_DIR)
91         $(MAKE) -C $(PKG_BUILD_DIR)/lib/dns \
92                 CC="$(HOSTCC)" \
93                 CFLAGS="-O2" \
94                 gen
95         $(MAKE) -C $(PKG_BUILD_DIR) \
96         DESTDIR="$(PKG_INSTALL_DIR)" \
97                 all install
98 endef
99
100 define Package/bind-server/install
101         $(INSTALL_DIR) $(1)/usr/sbin
102         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/named $(1)/usr/sbin/
103         $(INSTALL_DIR) $(1)/etc
104         $(CP) ./files/bind $(1)/etc/
105         $(INSTALL_DIR) $(1)/etc/init.d
106         $(CP) ./files/named.init $(1)/etc/init.d/named
107         find $(1)/etc/bind/ -name ".svn" | xargs rm -rf
108 endef
109
110 define Package/bind-client/install
111         $(INSTALL_DIR) $(1)/usr/bin
112         $(CP) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/
113 endef
114
115 define Package/bind-tools/install
116         $(INSTALL_DIR) $(1)/usr/bin
117         $(CP) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
118         $(CP) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
119         $(INSTALL_DIR) $(1)/usr/sbin
120         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/
121         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/
122         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/
123         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/
124         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
125         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
126 endef
127
128 define Package/bind-rndc/install
129         $(INSTALL_DIR) $(1)/usr/sbin
130         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
131         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
132 endef
133
134 define Package/bind-check/install
135         $(INSTALL_DIR) $(1)/usr/sbin
136         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/
137         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/
138 endef
139
140 define Package/bind-dnssec/install
141         $(INSTALL_DIR) $(1)/usr/sbin
142         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/
143         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/
144 endef
145
146 define Package/bind-host/install
147         $(INSTALL_DIR) $(1)/usr/bin
148         $(CP) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
149 endef
150
151 define Package/bind-dig/install
152         $(INSTALL_DIR) $(1)/usr/bin
153         $(CP) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
154 endef
155
156 $(eval $(call BuildPackage,bind-server))
157 $(eval $(call BuildPackage,bind-client))
158 $(eval $(call BuildPackage,bind-tools))
159 $(eval $(call BuildPackage,bind-rndc))
160 $(eval $(call BuildPackage,bind-check))
161 $(eval $(call BuildPackage,bind-dnssec))
162 $(eval $(call BuildPackage,bind-host))
163 $(eval $(call BuildPackage,bind-dig))