summaryrefslogtreecommitdiffstats
path: root/package/network/services/dnsmasq/Makefile
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-01-05 13:03:48 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-01-05 13:03:48 +0000
commit6493328c8f64cf82c1ff34b182bcdd6e7f878438 (patch)
treec144770dc8f12e26836c0ae15aebbea0ca918ac4 /package/network/services/dnsmasq/Makefile
parentfe35a1cb8bff1e7bfcf05ba7c59b196127725b2a (diff)
downloadmaster-31e0f0ae-6493328c8f64cf82c1ff34b182bcdd6e7f878438.tar.gz
master-31e0f0ae-6493328c8f64cf82c1ff34b182bcdd6e7f878438.tar.bz2
master-31e0f0ae-6493328c8f64cf82c1ff34b182bcdd6e7f878438.zip
dnsmasq: fix dependency problems of the dnsmasq-full variant.
This patch tries to - Let the DHCPv6 feature depend on CONFIG_IPV6. - Conditionally select libnettle, kmod-ipv6, kmod-ipt-ipset only if the corresponding features are enabled. - Install `trust-anchors.conf` only if DNSSEC is selected. - Add PKG_CONFIG_DEPENDS for the configurable options. - Add a patch to let the Makefile of dnsmasq be aware of changes in COPTS variable. Big thanks goes to Frank Schäfer <fschaefer.oss@googlemail.com> for providing necessary information on connections and dependency relations between these CONFIGs and packages. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> SVN-Revision: 43851
Diffstat (limited to 'package/network/services/dnsmasq/Makefile')
-rw-r--r--package/network/services/dnsmasq/Makefile49
1 files changed, 28 insertions, 21 deletions
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index 115342854c..766aaf04ec 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -22,6 +22,10 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSI
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
+PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcpv6 \
+ CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dnssec \
+ CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_auth \
+ CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_ipset
include $(INCLUDE_DIR)/package.mk
@@ -46,8 +50,10 @@ endef
define Package/dnsmasq-full
$(call Package/dnsmasq/Default)
- TITLE += (with DNSSEC, DHCPv6, Auth DNS, IPSET)
- DEPENDS:=@IPV6 +kmod-ipv6 +libnettle
+ TITLE += (with DNSSEC, DHCPv6, Auth DNS, IPset enabled by default)
+ DEPENDS:=+PACKAGE_dnsmasq_full_dnssec:libnettle \
+ +PACKAGE_dnsmasq_full_dhcpv6:kmod-ipv6 \
+ +PACKAGE_dnsmasq_full_ipset:kmod-ipt-ipset
VARIANT:=full
endef
@@ -64,7 +70,8 @@ endef
define Package/dnsmasq-full/description
$(call Package/dnsmasq/description)
-This is a variant with DHCPv6, DNSSEC, Authroitative DNS and IPSET support
+This is a fully configurable variant with DHCPv6, DNSSEC, Authroitative DNS and
+IPset support enabled by default.
endef
define Package/dnsmasq/conffiles
@@ -72,26 +79,24 @@ define Package/dnsmasq/conffiles
/etc/dnsmasq.conf
endef
-define Package/dnsmasq/config/Default
- if PACKAGE_$(1)-$(2)
- config PACKAGE_dnsmasq_$(2)_dhcpv6
- bool "Build with DHCPv6 support."
- default y
- config PACKAGE_dnsmasq_$(2)_dnssec
- bool "Build with DNSSEC support."
- default y
- config PACKAGE_dnsmasq_$(2)_auth
- bool "Build with the facility to act as an authoritative DNS server."
- default y
- config PACKAGE_dnsmasq_$(2)_ipset
- bool "Build with ipset support."
- select PACKAGE_kmod-ipt-ipset
- default y
- endif
+define Package/dnsmasq-full/config
+ if PACKAGE_dnsmasq-full
+ config PACKAGE_dnsmasq_full_dhcpv6
+ bool "Build with DHCPv6 support."
+ depends on IPV6
+ default y
+ config PACKAGE_dnsmasq_full_dnssec
+ bool "Build with DNSSEC support."
+ default y
+ config PACKAGE_dnsmasq_full_auth
+ bool "Build with the facility to act as an authoritative DNS server."
+ default y
+ config PACKAGE_dnsmasq_full_ipset
+ bool "Build with IPset support."
+ default y
+ endif
endef
-Package/dnsmasq-full/config=$(call Package/dnsmasq/config/Default,dnsmasq,full)
-
Package/dnsmasq-dhcpv6/conffiles = $(Package/dnsmasq/conffiles)
Package/dnsmasq-full/conffiles = $(Package/dnsmasq/conffiles)
@@ -137,8 +142,10 @@ Package/dnsmasq-dhcpv6/install = $(Package/dnsmasq/install)
define Package/dnsmasq-full/install
$(call Package/dnsmasq/install,$(1))
+ifneq ($(CONFIG_PACKAGE_dnsmasq_full_dnssec),)
$(INSTALL_DIR) $(1)/usr/share/dnsmasq
$(INSTALL_DATA) $(PKG_BUILD_DIR)/trust-anchors.conf $(1)/usr/share/dnsmasq
+endif
endef
$(eval $(call BuildPackage,dnsmasq))