2011-02-19 08:50:15 +00:00
|
|
|
#
|
2016-02-26 09:13:03 +00:00
|
|
|
# Copyright (C) 2006-2016 OpenWrt.org
|
2006-06-27 00:35:46 +00:00
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
2005-03-21 08:12:49 +00:00
|
|
|
|
2005-03-06 03:34:52 +00:00
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
2005-03-06 03:53:29 +00:00
|
|
|
PKG_NAME:=dnsmasq
|
2016-05-19 10:55:15 +00:00
|
|
|
PKG_VERSION:=2.76
|
dnsmasq: expand 'add_local_hostname' fexibility including FQDN
ref commit 612e2276b4a2f57fcbbe79b95bec4a46e89d748c
ref commit ec63e3bf1312ab4c666f7417ca9844857214047f
'option add_local_hostname' scripted implementation statically assigns
this host in auto generated host file at init. If IFUP or other signals
do not occur, then address changes are not tracked. The script doesn't
apply all the addresses at an interface. This may make logs obscure.
The script only puts the bare host name (maybe not FQDN) in host file,
but if '--exapandhosts' is enabled, then /etc/hosts entries will be
suffixed, and "127.0.0.1 localhost" becomes "localhost.lan".
dnsmasq provides an option to perform this function, but it is rather
greedy. '--interface-name=<name>,<iface>' will assign the name to all
IP on the specified interface (except link local). This is a useful
feature, but some setups depend on the original restrictive behavior.
'option add_local_fqdn' is added to enhance the feature set, but
if not entered or empty string, then it will default to original
option and behavior. This new option has a few settings. At each
increased setting the most detailed name becomes the PTR record:
0 - same as add_local_hostname 0 or disabled
1 - same as add_local_hostname 1
2 - assigns the bare host name to all IP w/ --dnsmasq-interface
3 - assigns the FQDN and host to all IP w/ --dnsmasq-interface
4 - assigns <iface>.<host>.<domain> and above w/ --dnsmasq-nterface
'option add_wan_fqdn' is added to run the same procedure on
inferred WAN intefaces. If an interface has 'config dhcp' and
'option ignore 1' set, then it is considered WAN. The original
option would only run on DHCP serving interfaces.
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-01-14 02:37:25 +00:00
|
|
|
PKG_RELEASE:=7
|
2005-03-21 08:12:49 +00:00
|
|
|
|
2015-04-10 10:19:17 +00:00
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
2015-06-15 08:10:59 +00:00
|
|
|
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
2016-12-16 16:32:10 +00:00
|
|
|
PKG_HASH:=4b92698dee19ca0cb2a8f2e48f1d2dffd01a21eb15d1fbed4cf085630c8c9f96
|
2012-07-17 11:48:27 +00:00
|
|
|
|
2014-11-03 09:56:44 +00:00
|
|
|
PKG_LICENSE:=GPL-2.0
|
|
|
|
PKG_LICENSE_FILES:=COPYING
|
2012-10-19 15:34:28 +00:00
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
2011-11-25 00:53:13 +00:00
|
|
|
|
|
|
|
PKG_INSTALL:=1
|
2012-09-15 11:36:58 +00:00
|
|
|
PKG_BUILD_PARALLEL:=1
|
2015-01-05 13:03:48 +00:00
|
|
|
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcpv6 \
|
|
|
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dnssec \
|
|
|
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_auth \
|
2016-04-27 09:14:01 +00:00
|
|
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_ipset \
|
2016-06-29 12:29:48 +00:00
|
|
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_conntrack \
|
2016-09-09 08:03:27 +00:00
|
|
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_noid \
|
2016-06-29 12:29:48 +00:00
|
|
|
CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_broken_rtc
|
2005-03-06 03:34:52 +00:00
|
|
|
|
2006-06-21 02:32:39 +00:00
|
|
|
include $(INCLUDE_DIR)/package.mk
|
2005-03-06 03:53:29 +00:00
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
define Package/dnsmasq/Default
|
2006-09-23 13:41:42 +00:00
|
|
|
SECTION:=net
|
|
|
|
CATEGORY:=Base system
|
2014-06-18 10:04:34 +00:00
|
|
|
TITLE:=DNS and DHCP server
|
2006-09-23 13:41:42 +00:00
|
|
|
URL:=http://www.thekelleys.org.uk/dnsmasq/
|
2016-04-26 11:44:10 +00:00
|
|
|
USERID:=dnsmasq=453:dnsmasq=453
|
2006-05-09 23:19:52 +00:00
|
|
|
endef
|
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
define Package/dnsmasq
|
|
|
|
$(call Package/dnsmasq/Default)
|
|
|
|
VARIANT:=nodhcpv6
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/dnsmasq-dhcpv6
|
|
|
|
$(call Package/dnsmasq/Default)
|
|
|
|
TITLE += (with DHCPv6 support)
|
2015-09-21 21:15:41 +00:00
|
|
|
DEPENDS:=@IPV6
|
2012-07-17 11:48:27 +00:00
|
|
|
VARIANT:=dhcpv6
|
|
|
|
endef
|
|
|
|
|
2014-06-18 10:04:25 +00:00
|
|
|
define Package/dnsmasq-full
|
|
|
|
$(call Package/dnsmasq/Default)
|
2016-09-09 08:03:27 +00:00
|
|
|
TITLE += (with DNSSEC, DHCPv6, Auth DNS, IPset, Conntrack, NO_ID enabled by default)
|
2015-01-05 13:03:48 +00:00
|
|
|
DEPENDS:=+PACKAGE_dnsmasq_full_dnssec:libnettle \
|
2016-04-27 09:14:01 +00:00
|
|
|
+PACKAGE_dnsmasq_full_ipset:kmod-ipt-ipset \
|
|
|
|
+PACKAGE_dnsmasq_full_conntrack:libnetfilter-conntrack
|
2014-06-18 10:04:25 +00:00
|
|
|
VARIANT:=full
|
|
|
|
endef
|
|
|
|
|
2007-09-07 08:34:51 +00:00
|
|
|
define Package/dnsmasq/description
|
2011-09-30 12:55:23 +00:00
|
|
|
It is intended to provide coupled DNS and DHCP service to a LAN.
|
2007-09-07 08:34:51 +00:00
|
|
|
endef
|
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
define Package/dnsmasq-dhcpv6/description
|
|
|
|
$(call Package/dnsmasq/description)
|
|
|
|
|
|
|
|
This is a variant with DHCPv6 support
|
|
|
|
endef
|
|
|
|
|
2014-06-18 10:04:25 +00:00
|
|
|
define Package/dnsmasq-full/description
|
|
|
|
$(call Package/dnsmasq/description)
|
|
|
|
|
2016-04-27 09:14:01 +00:00
|
|
|
This is a fully configurable variant with DHCPv6, DNSSEC, Authoritative DNS and
|
2016-09-09 08:03:27 +00:00
|
|
|
IPset, Conntrack support & NO_ID enabled by default.
|
2014-06-18 10:04:25 +00:00
|
|
|
endef
|
|
|
|
|
2009-02-03 22:27:44 +00:00
|
|
|
define Package/dnsmasq/conffiles
|
|
|
|
/etc/config/dhcp
|
2009-09-21 13:25:11 +00:00
|
|
|
/etc/dnsmasq.conf
|
2009-02-03 22:27:44 +00:00
|
|
|
endef
|
|
|
|
|
2015-01-05 13:03:48 +00:00
|
|
|
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
|
2016-04-27 09:14:01 +00:00
|
|
|
config PACKAGE_dnsmasq_full_conntrack
|
|
|
|
bool "Build with Conntrack support."
|
|
|
|
default y
|
2016-09-09 08:03:27 +00:00
|
|
|
config PACKAGE_dnsmasq_full_noid
|
|
|
|
bool "Build with NO_ID. (hide *.bind pseudo domain)"
|
|
|
|
default y
|
2016-06-29 12:29:48 +00:00
|
|
|
config PACKAGE_dnsmasq_full_broken_rtc
|
|
|
|
bool "Build with HAVE_BROKEN_RTC."
|
|
|
|
default n
|
2015-01-05 13:03:48 +00:00
|
|
|
endif
|
2014-12-17 05:59:12 +00:00
|
|
|
endef
|
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
Package/dnsmasq-dhcpv6/conffiles = $(Package/dnsmasq/conffiles)
|
2014-06-18 10:04:25 +00:00
|
|
|
Package/dnsmasq-full/conffiles = $(Package/dnsmasq/conffiles)
|
2012-07-17 11:48:27 +00:00
|
|
|
|
2014-06-18 10:04:02 +00:00
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
2014-06-18 10:04:17 +00:00
|
|
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
2014-06-18 10:04:02 +00:00
|
|
|
|
2016-09-09 08:03:27 +00:00
|
|
|
COPTS = $(if $(CONFIG_IPV6),,-DNO_IPV6)
|
2011-03-02 12:47:57 +00:00
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),nodhcpv6)
|
2014-06-18 10:04:02 +00:00
|
|
|
COPTS += -DNO_DHCP6
|
2012-07-17 11:48:27 +00:00
|
|
|
endif
|
|
|
|
|
2014-06-18 10:04:25 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
2014-12-17 05:59:12 +00:00
|
|
|
COPTS += $(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dhcpv6),,-DNO_DHCP6) \
|
|
|
|
$(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_dnssec),-DHAVE_DNSSEC) \
|
|
|
|
$(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_auth),,-DNO_AUTH) \
|
2016-04-27 09:14:01 +00:00
|
|
|
$(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_ipset),,-DNO_IPSET) \
|
2016-06-29 12:29:48 +00:00
|
|
|
$(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_conntrack),-DHAVE_CONNTRACK,) \
|
2016-09-09 08:03:27 +00:00
|
|
|
$(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_noid),-DNO_ID,) \
|
2016-06-29 12:29:48 +00:00
|
|
|
$(if $(CONFIG_PACKAGE_dnsmasq_$(BUILD_VARIANT)_broken_rtc),-DHAVE_BROKEN_RTC)
|
2014-06-18 10:04:25 +00:00
|
|
|
COPTS += $(if $(CONFIG_LIBNETTLE_MINI),-DNO_GMP,)
|
2014-06-18 10:04:34 +00:00
|
|
|
else
|
2016-09-09 08:03:27 +00:00
|
|
|
COPTS += -DNO_AUTH -DNO_IPSET -DNO_ID
|
2014-06-18 10:04:25 +00:00
|
|
|
endif
|
|
|
|
|
2011-11-25 00:53:13 +00:00
|
|
|
MAKE_FLAGS := \
|
|
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
|
|
CFLAGS="$(TARGET_CFLAGS)" \
|
2014-06-18 10:04:17 +00:00
|
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
2014-06-18 10:04:02 +00:00
|
|
|
COPTS="$(COPTS)" \
|
2011-11-25 00:53:13 +00:00
|
|
|
PREFIX="/usr"
|
2006-06-18 18:27:23 +00:00
|
|
|
|
2006-05-09 23:19:52 +00:00
|
|
|
define Package/dnsmasq/install
|
2006-11-23 00:29:07 +00:00
|
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
2011-11-25 00:53:13 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnsmasq $(1)/usr/sbin/
|
2007-03-17 13:31:13 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
|
|
$(INSTALL_DATA) ./files/dhcp.conf $(1)/etc/config/dhcp
|
2009-09-21 13:25:11 +00:00
|
|
|
$(INSTALL_DATA) ./files/dnsmasq.conf $(1)/etc/dnsmasq.conf
|
2006-11-23 00:29:07 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
|
|
$(INSTALL_BIN) ./files/dnsmasq.init $(1)/etc/init.d/dnsmasq
|
2016-06-14 10:00:21 +00:00
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/ntp
|
|
|
|
$(INSTALL_DATA) ./files/dnsmasqsec.hotplug $(1)/etc/hotplug.d/ntp/25-dnsmasqsec
|
2006-05-09 23:19:52 +00:00
|
|
|
endef
|
2005-05-12 19:41:18 +00:00
|
|
|
|
2012-07-17 11:48:27 +00:00
|
|
|
Package/dnsmasq-dhcpv6/install = $(Package/dnsmasq/install)
|
|
|
|
|
2014-06-18 10:04:25 +00:00
|
|
|
define Package/dnsmasq-full/install
|
|
|
|
$(call Package/dnsmasq/install,$(1))
|
2015-01-05 13:03:48 +00:00
|
|
|
ifneq ($(CONFIG_PACKAGE_dnsmasq_full_dnssec),)
|
2014-06-18 10:04:25 +00:00
|
|
|
$(INSTALL_DIR) $(1)/usr/share/dnsmasq
|
|
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/trust-anchors.conf $(1)/usr/share/dnsmasq
|
2015-01-05 13:03:48 +00:00
|
|
|
endif
|
2014-06-18 10:04:25 +00:00
|
|
|
endef
|
|
|
|
|
2006-05-09 23:19:52 +00:00
|
|
|
$(eval $(call BuildPackage,dnsmasq))
|
2012-07-17 11:48:27 +00:00
|
|
|
$(eval $(call BuildPackage,dnsmasq-dhcpv6))
|
2014-06-18 10:04:25 +00:00
|
|
|
$(eval $(call BuildPackage,dnsmasq-full))
|