openwrt_archive/net/djbdns/Makefile
2012-05-29 00:54:02 +00:00

210 lines
6.2 KiB
Makefile

#
# Copyright (C) 2007-2012 OpenWrt.org
# Original port by FreeWRT project.
#
# 2007 Alexander Tsvyashchenko Adapted FreeWRT port for OpenWRT (Trac ticket 2497)
# 2008 Some Danish guy Created a port for OpenWRT 7.09
# 20090403 jhalfmoon Modified and augmented existing packages to work on OpenWRT buildroot (v8.09)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=djbdns
PKG_VERSION:=1.05
PKG_RELEASE:=7
PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
PKG_SOURCE_URL:=http://cr.yp.to/djbdns/
PKG_MD5SUM:=3147c5cd56832aa3b41955c7a51cbeb2
PKG_BUILD_DEPENDS:=daemontools ucspi-tcp
include $(INCLUDE_DIR)/package.mk
define Package/djbdns/Default
SECTION:=net
CATEGORY:=Network
URL:=http://cr.yp.to/djbdns.html
SUBMENU:=IP Addresses and Names
# SUBMENU:=djbdns
endef
define Package/djbdns-base
$(call Package/djbdns/Default)
TITLE:=djbdns base configuration file
endef
define Package/djbdns-dnscache
$(call Package/djbdns/Default)
TITLE:=Recursive and forwarding caching name server
DEPENDS:= +djbdns-base
endef
define Package/djbdns-tinydns
$(call Package/djbdns/Default)
TITLE:=Authoritative name server
DEPENDS:= +djbdns-base
endef
define Package/djbdns-axfrdns
$(call Package/djbdns/Default)
TITLE:=Zone transfer server
DEPENDS:= +djbdns-base +djbdns-tinydns +ucspi-tcp
endef
define Package/djbdns-rbldns
$(call Package/djbdns/Default)
TITLE:=Real-time Block List name server
DEPENDS:= +djbdns-base
endef
define Package/djbdns-walldns
$(call Package/djbdns/Default)
TITLE:=Reverse DNS wall
DEPENDS:= +djbdns-base
endef
define Package/djbdns-tools
$(call Package/djbdns/Default)
TITLE:=Tools for testing and debugging DNS issues
endef
define Package/djdbns/description
djbdns is a collection of Domain Name System tools.
It includes software for all the fundamental DNS operations:
* DNS server: publishing addresses of Internet hosts.
* DNS cache: finding addresses of Internet hosts.
* DNS client: talking to a DNS cache.
Also included is a DNS client C library, several command-line
DNS client utilities, several DNS debugging tools.
endef
define Package/djbdns-base/description
The shared config file for the djbdns daemons.
endef
define Package/djbdns-dnscache/description
dnscache is a DNS cache.
It accepts recursive DNS queries from local clients such as web
browsers and mail transfer agents. It collects responses from
remote DNS servers. It caches the responses to save time later.
endef
define Package/djbdns-tinydns/description
tinydns is a DNS server.
It accepts iterative DNS queries from hosts around the Internet
and responds with locally configured information.
endef
define Package/djbdns-axfrdns/description
axfrdns is a DNS zone-transfer server.
It reads a zone-transfer request in DNS-over-TCP format
from its standard input and responds with locally configured
information.
endef
define Package/djbdns-rbldns/description
rbldns is an IP-address-listing DNS server.
It accepts iterative DNS queries from hosts around the Internet asking
about various IP addresses. It provides responses showing whether the
addresses are on a locally configured list, such as RBL or DUL.
endef
define Package/djbdns-walldns/description
walldns is a reverse DNS wall.
It accepts iterative DNS queries for in-addr.arpa domains from hosts
around the Internet and supplies generic responses that avoid
revealing local host information.
endef
define Package/djbdns-tools/description
Several command-line DNS client utilities and DNS debugging tools.
endef
define Build/Compile
TARGET_CC="$(TARGET_CC)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
TARGET_RANLIB="$(TARGET_CROSS)ranlib" \
$(MAKE) -C $(PKG_BUILD_DIR)
endef
define Package/djbdns-base/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DATA) ./files/djbdns.conf $(1)/etc/config/djbdns
endef
define Package/djbdns-base/conffiles
/etc/config/djbdns
endef
define Package/djbdns-dnscache/install
$(INSTALL_DIR) $(1)/usr/bin
(cd $(PKG_BUILD_DIR); \
$(INSTALL_BIN) dnscache pickdns pickdns-data $(1)/usr/bin)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/dnscache.init $(1)/etc/init.d/dnscache
$(CP) -r ./files/dnscache $(1)/etc/
$(CP) $(PKG_BUILD_DIR)/dnsroots.global $(1)/etc/dnscache/
$(INSTALL_DIR) $(1)/etc/dnscache/ip
$(INSTALL_DIR) $(1)/etc/dnscache/servers
$(CP) $(PKG_BUILD_DIR)/dnsroots.global $(1)/etc/dnscache/servers/@
endef
define Package/djbdns-tinydns/install
$(INSTALL_DIR) $(1)/usr/bin
(cd $(PKG_BUILD_DIR); \
$(INSTALL_BIN) tinydns tinydns-data tinydns-edit tinydns-get $(1)/usr/bin)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/tinydns.init $(1)/etc/init.d/tinydns
$(CP) -r ./files/tinydns $(1)/etc/
endef
define Package/djbdns-axfrdns/install
$(INSTALL_DIR) $(1)/usr/bin
(cd $(PKG_BUILD_DIR); \
$(INSTALL_BIN) axfrdns axfr-get $(1)/usr/bin)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/axfrdns.init $(1)/etc/init.d/axfrdns
$(CP) -r ./files/axfrdns $(1)/etc/
endef
define Package/djbdns-rbldns/install
$(INSTALL_DIR) $(1)/usr/bin
(cd $(PKG_BUILD_DIR); \
$(INSTALL_BIN) rbldns rbldns-data $(1)/usr/bin)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/rbldns.init $(1)/etc/init.d/rbldns
$(CP) -r ./files/rbldns $(1)/etc/
endef
define Package/djbdns-walldns/install
$(INSTALL_DIR) $(1)/usr/bin
(cd $(PKG_BUILD_DIR); \
$(INSTALL_BIN) walldns $(1)/usr/bin)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/walldns.init $(1)/etc/init.d/walldns
endef
define Package/djbdns-tools/install
$(INSTALL_DIR) $(1)/usr/bin
(cd $(PKG_BUILD_DIR); \
$(INSTALL_BIN) dnsfilter dnsip dnsipq dnsmx dnsname dnsnamex dnsq \
dnsqr dnstrace dnstracesort dnstxt random-ip \
$(1)/usr/bin)
$(INSTALL_BIN) ./files/dnsroots-update $(1)/usr/bin/
$(INSTALL_BIN) ./files/dnsqrx $(1)/usr/bin/
endef
$(eval $(call BuildPackage,djbdns-base))
$(eval $(call BuildPackage,djbdns-tinydns))
$(eval $(call BuildPackage,djbdns-dnscache))
$(eval $(call BuildPackage,djbdns-axfrdns))
$(eval $(call BuildPackage,djbdns-rbldns))
$(eval $(call BuildPackage,djbdns-walldns))
$(eval $(call BuildPackage,djbdns-tools))