aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2021-06-12 01:32:53 +0000
committerMatthias Andree <mandree@FreeBSD.org>2021-06-12 10:36:05 +0000
commitf892b650daedac14afed179850d229696d82e918 (patch)
treeac4a98f4bfe5da081d3998d87cd4385a014b1a40
parent3ea4e3826b0a3e6eb6a1df9b122038adaddcac96 (diff)
downloadports-f892b650daedac14afed179850d229696d82e918.tar.gz
ports-f892b650daedac14afed179850d229696d82e918.zip
dns/dnsmasq-devel: revive from 6a7b12367
-rw-r--r--MOVED2
-rw-r--r--dns/Makefile1
-rw-r--r--dns/dnsmasq-devel/Makefile146
-rw-r--r--dns/dnsmasq-devel/distinfo3
-rw-r--r--dns/dnsmasq-devel/files/dnsmasq.in97
-rw-r--r--dns/dnsmasq-devel/files/pkg-message.in18
-rw-r--r--dns/dnsmasq-devel/pkg-descr14
-rw-r--r--dns/dnsmasq-devel/pkg-plist18
8 files changed, 298 insertions, 1 deletions
diff --git a/MOVED b/MOVED
index fe7de0f8fc35..97cea9fd70d0 100644
--- a/MOVED
+++ b/MOVED
@@ -16264,7 +16264,7 @@ finance/wmstock||2021-04-07|Has expired: Unmaintained and dead upstream, does no
ftp/frox||2021-04-07|Has expired: Unmaintained and dead upstream, does not build with -fno-common (llvm 11)
databases/couchdb2|databases/couchdb3|2021-04-07|No longer supported upstream, uses spidermonkey68 & python2; move to databases/couchdb3
security/pidentd||2021-04-07|Removed: Unmaintained, abandoned, does not build with recent OS versions
-dns/dnsmasq-devel|dns/dnsmasq|2021-04-08|Has expired: use dns/dnsmasq instead, which is newer
+#dns/dnsmasq-devel|dns/dnsmasq|2021-04-08|Has expired: use dns/dnsmasq instead, which is newer
net/coturn|net/turnserver|2021-04-09|Remove duplicate port: coturn is another name for turnserver
databases/percona55-server||2021-04-11|EOL upstream
databases/percona55-client||2021-04-11|EOL upstream
diff --git a/dns/Makefile b/dns/Makefile
index 5dc3cf6fc1f2..10be006cbbee 100644
--- a/dns/Makefile
+++ b/dns/Makefile
@@ -44,6 +44,7 @@
SUBDIR += dnshistory
SUBDIR += dnsjava
SUBDIR += dnsmasq
+ SUBDIR += dnsmasq-devel
SUBDIR += dnsmax-perl
SUBDIR += dnsproxy
SUBDIR += dnsrecon
diff --git a/dns/dnsmasq-devel/Makefile b/dns/dnsmasq-devel/Makefile
new file mode 100644
index 000000000000..1453a0a001fd
--- /dev/null
+++ b/dns/dnsmasq-devel/Makefile
@@ -0,0 +1,146 @@
+# Created by: Steven Honson
+
+PORTNAME= dnsmasq
+DISTVERSION= 2.85rc2
+# Leave the PORTREVISION in even if 0 to avoid accidental PORTEPOCH bumps:
+PORTREVISION= 0
+PORTEPOCH= 3 # attn - different between -devel and dnsmasq ports!
+CATEGORIES= dns
+MASTER_SITES= https://www.thekelleys.org.uk/dnsmasq/release-candidates/ \
+ LOCAL/mandree/
+PKGNAMESUFFIX= -devel
+
+MAINTAINER= mandree@FreeBSD.org
+COMMENT= Lightweight DNS forwarder, DHCP, and TFTP server
+
+LICENSE= GPLv2
+
+IGNORE= use dns/dnsmasq instead, it's newer
+
+USES= cpe shebangfix tar:xz
+CPE_VENDOR= thekelleys
+
+SHEBANG_FILES= contrib/dnslist/dnslist.pl \
+ contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl
+
+MAKE_ARGS= CC="${CC}" \
+ CFLAGS="${CFLAGS}" \
+ COPTS="${CFLAGS}" \
+ LIBS="${LDFLAGS}" \
+ PREFIX="${PREFIX}" \
+ RPM_OPT_FLAGS="${CPPFLAGS}"
+CFLAGS+= -Wall -Wno-unused-function -Wno-unused-parameter \
+ -Wno-unused-value -Wno-unused-variable
+CPPFLAGS+= -I${LOCALBASE}/include
+
+CONFLICTS_INSTALL= dnsmasq-2*
+PATCH_STRIP= -p1
+SUB_FILES= pkg-message
+
+PORTDOCS= CHANGELOG CHANGELOG.archive FAQ doc.html setup.html
+
+OPTIONS_DEFINE= DBUS DNSSEC DOCS IPSET IPV6 LUA
+OPTIONS_DEFAULT= DNSSEC IPSET
+OPTIONS_RADIO= INTL
+OPTIONS_RADIO_INTL= IDN NLS
+OPTIONS_EXCLUDE+= EXAMPLES
+
+DNSSEC_DESC= Enable DNSSEC caching and validation (needs nettle)
+IDN_DESC= IDN: Int'l Domain Names WITHOUT full NLS
+INTL_DESC= Internationalization Support Level
+IPSET_DESC= Dynamic firewall management of resolved names (needs PF)
+LUA_DESC= Support lease-change scripts written in Lua
+NLS_DESC= IDN+NLS: Int'l Domain Names & National Language support
+
+IPSET_CFLAGS_OFF= -DNO_IPSET
+IPV6_CFLAGS_OFF= -DNO_IPV6
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MNLS}
+USES+= gettext gmake iconv pkgconfig
+CFLAGS+= -DHAVE_LIBIDN2
+LIB_DEPENDS+= libidn2.so:dns/libidn2
+PLIST_SUB+= NLS=""
+ALL_TARGET= all-i18n
+_intllibs= -lidn2 -lintl
+.else
+_intllibs=
+PLIST_SUB+= NLS="@comment "
+.if ${PORT_OPTIONS:MIDN}
+USES+= iconv
+CFLAGS+= -DHAVE_LIBIDN2
+LIB_DEPENDS+= libidn2.so:dns/libidn2
+_intllibs+= -lidn2
+.endif
+.endif
+
+.if ${PORT_OPTIONS:MDBUS}
+LIB_DEPENDS+= libdbus-1.so:devel/dbus
+USES+= pkgconfig
+CPPFLAGS+= `pkg-config --cflags dbus-1`
+CFLAGS+= -DHAVE_DBUS
+LDFLAGS+= `pkg-config --libs dbus-1`
+.endif
+
+.if ${PORT_OPTIONS:MLUA}
+CPPFLAGS+= -I${LUA_INCDIR}
+CFLAGS+= -DHAVE_LUASCRIPT
+LDFLAGS+= -L${LUA_LIBDIR} -llua-${LUA_VER}
+USES+= lua pkgconfig
+.endif
+
+.if ${PORT_OPTIONS:MDNSSEC}
+CFLAGS+= -DHAVE_DNSSEC -I${LOCALBASE}/include
+USES+= pkgconfig
+LIB_DEPENDS+= libgmp.so:math/gmp \
+ libnettle.so:security/nettle
+.endif
+
+USE_RC_SUBR= dnsmasq
+
+.include <bsd.port.pre.mk>
+
+LDFLAGS+= -L${LOCALBASE}/lib ${_intllibs} ${ICONV_LIB}
+
+post-patch:
+ ${REINPLACE_CMD} -e '/^lua_/s/lua5\.2/lua-${LUA_VER}/' ${WRKSRC}/Makefile
+
+pre-configure: pretty-print-config
+.if ${PORT_OPTIONS:MIDN}
+.if empty(PORT_OPTIONS:MNLS)
+ @if ${READELF} -d ${LOCALBASE}/lib/libidn2.so \
+ | ${EGREP} -q '\<NEEDED\>.*\[libintl\.so' ; \
+ then ${ECHO} ; ${ECHO} 'WARNING: dns/libidn2 was compiled with NLS support!' ; \
+ ${ECHO} 'Recompile libidn2 WITHOUT_NLS to get rid of NLS dependencies.' ; ${ECHO} ; \
+ fi
+.else
+ @${ECHO} 'WARNING: IDN and NLS enabled, building IDN WITH NLS.'
+.endif
+.endif
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/dnsmasq ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_DATA} ${WRKSRC}/dnsmasq.conf.example ${STAGEDIR}${PREFIX}/etc/dnsmasq.conf.sample
+ ${REINPLACE_CMD} -i '' 's}%%PREFIX%%}${PREFIX}}' ${STAGEDIR}${PREFIX}/etc/dnsmasq.conf.sample
+ ${INSTALL_MAN} ${WRKSRC}/man/${PORTNAME}.8 ${STAGEDIR}${PREFIX}/man/man8
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/trust-anchors.conf ${STAGEDIR}${DATADIR}/
+.if ${PORT_OPTIONS:MDOCS}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+.endif
+.if ${PORT_OPTIONS:MNLS}
+.for i in de es fi fr id it no pl pt_BR ro
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/locale/${i}/LC_MESSAGES
+ ${INSTALL_DATA} ${WRKSRC}/src/${i}.mo \
+ ${STAGEDIR}${PREFIX}/share/locale/${i}/LC_MESSAGES/${PORTNAME}.mo
+.endfor
+.endif
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/dynamic-dnsmasq ${STAGEDIR}${EXAMPLESDIR}/dnslist
+ ${INSTALL_SCRIPT} ${WRKSRC}/contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl ${STAGEDIR}${EXAMPLESDIR}/dynamic-dnsmasq/
+ ${INSTALL_SCRIPT} ${WRKSRC}/contrib/dnslist/dnslist.pl ${STAGEDIR}${EXAMPLESDIR}/dnslist/
+ ${INSTALL_DATA} ${WRKSRC}/contrib/dnslist/dhcp.css ${STAGEDIR}${EXAMPLESDIR}/dnslist/
+ ${INSTALL_DATA} ${WRKSRC}/contrib/dnslist/dnslist.tt2 ${STAGEDIR}${EXAMPLESDIR}/dnslist/
+
+.include <bsd.port.post.mk>
diff --git a/dns/dnsmasq-devel/distinfo b/dns/dnsmasq-devel/distinfo
new file mode 100644
index 000000000000..c2a7e8fa1327
--- /dev/null
+++ b/dns/dnsmasq-devel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1616842199
+SHA256 (dnsmasq-2.85rc2.tar.xz) = d5f359e993b6f3f690faa829178a556550e6d309289359a7bee2bf24f516af43
+SIZE (dnsmasq-2.85rc2.tar.xz) = 538376
diff --git a/dns/dnsmasq-devel/files/dnsmasq.in b/dns/dnsmasq-devel/files/dnsmasq.in
new file mode 100644
index 000000000000..bd62247f6694
--- /dev/null
+++ b/dns/dnsmasq-devel/files/dnsmasq.in
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# PROVIDE: dnsmasq
+# REQUIRE: SERVERS ldconfig
+# BEFORE: DAEMON named
+# KEYWORD: shutdown
+#
+# Start before named so as not to break named_wait if named is
+# enabled and /etc/resolv.conf points to ourselves (dnsmasq).
+#
+#
+# Please add the following line to /etc/rc.conf.local or /etc/rc.conf to
+# enable the dnsmasq service(s):
+#
+# dnsmasq_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable dnsmasq at boot.
+#
+# Further settings you can change in /etc/rc.conf if desired:
+#
+# dnsmasq_conf (path): Set to %%PREFIX%%/etc/dnsmasq.conf by default.
+# Set it to another configuration file if you want.
+#
+# dnsmasq_flags (string): Empty by default. Set it to additional command
+# line arguments if desired.
+#
+# dnsmasq_restart (bool): Set to "YES" by default.
+# If "YES", a "reload" action will trigger a "restart"
+# if the configuration file has changed, to work
+# around a dnsmasq(8) limitation.
+#
+#
+# Additional actions supported by this script:
+#
+# reload Reload database files by sending SIGHUP and SIGUSR2.
+# However, if dnsmasq_restart is true (see above) and the
+# configuration file has changed since this rc script has
+# started dnsmasq, restart it instead.
+#
+# logstats Dump statistics information to where dnsmasq is configured to
+# log (syslog by default). This sends SIGUSR1 to dnsmasq.
+#
+
+. /etc/rc.subr
+
+name=dnsmasq
+rcvar=dnsmasq_enable
+
+command="%%PREFIX%%/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+# timestamp (below) is used to check if "reload" should be a "restart" instead
+timestamp="/var/run/${name}.stamp"
+
+load_rc_config "${name}"
+
+: ${dnsmasq_enable="NO"}
+: ${dnsmasq_conf="%%PREFIX%%/etc/${name}.conf"}
+: ${dnsmasq_restart="YES"}
+
+command_args="-x $pidfile -C $dnsmasq_conf"
+
+required_files="${dnsmasq_conf}"
+extra_commands="reload logstats"
+
+reload_precmd="reload_pre"
+reload_postcmd="reload_post"
+start_postcmd="timestampconf"
+stop_precmd="rmtimestamp"
+logstats_cmd="logstats"
+
+reload_pre() {
+ if [ "$dnsmasq_conf" -nt "${timestamp}" ] ; then
+ if checkyesno dnsmasq_restart ; then
+ info "restart: $dnsmasq_conf changed"
+ exec "$0" restart
+ else
+ warn "restart required, $dnsmasq_conf changed"
+ fi
+ fi
+}
+
+reload_post() {
+ kill -USR2 ${rc_pid}
+}
+
+logstats() {
+ kill -USR1 ${rc_pid}
+}
+
+timestampconf() {
+ touch -r "${dnsmasq_conf}" "${timestamp}"
+}
+
+rmtimestamp() {
+ rm -f "${timestamp}"
+}
+
+run_rc_command "$1"
diff --git a/dns/dnsmasq-devel/files/pkg-message.in b/dns/dnsmasq-devel/files/pkg-message.in
new file mode 100644
index 000000000000..ea0fda8b3e92
--- /dev/null
+++ b/dns/dnsmasq-devel/files/pkg-message.in
@@ -0,0 +1,18 @@
+[
+{
+message: <<EOM
+To enable dnsmasq, edit %%PREFIX%%/etc/dnsmasq.conf and
+set dnsmasq_enable="YES" in /etc/rc.conf[.local]
+
+Further options and actions are documented inside
+%%PREFIX%%/etc/rc.d/dnsmasq
+
+SECURITY RECOMMENDATION
+~~~~~~~~~~~~~~~~~~~~~~~
+It is recommended to enable the wpad-related options
+at the end of the configuration file (you may need to
+copy them from the example file to yours) to fix
+CERT Vulnerability VU#598349.
+EOM
+}
+]
diff --git a/dns/dnsmasq-devel/pkg-descr b/dns/dnsmasq-devel/pkg-descr
new file mode 100644
index 000000000000..ad791e101ed9
--- /dev/null
+++ b/dns/dnsmasq-devel/pkg-descr
@@ -0,0 +1,14 @@
+Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP server. It
+is designed to provide DNS and, optionally, DHCP, to a small network. It can
+serve the names of local machines which are not in the global DNS. The DHCP
+server integrates with the DNS server and allows machines with DHCP-allocated
+addresses to appear in the DNS with names configured either in each host or in
+a central configuration file. Dnsmasq supports static and dynamic DHCP leases
+and BOOTP/TFTP/PXE for network booting of diskless machines.
+
+Dnsmasq is targeted at home networks using NAT and connected to the internet
+via a modem, cable-modem or ADSL connection but would be a good choice for any
+smallish network (up to 1000 clients is known to work) where low resource use
+and ease of configuration are important. -- Simon Kelley
+
+WWW: http://www.thekelleys.org.uk/dnsmasq/doc.html
diff --git a/dns/dnsmasq-devel/pkg-plist b/dns/dnsmasq-devel/pkg-plist
new file mode 100644
index 000000000000..7b4f201b6fe9
--- /dev/null
+++ b/dns/dnsmasq-devel/pkg-plist
@@ -0,0 +1,18 @@
+sbin/dnsmasq
+@sample etc/dnsmasq.conf.sample
+man/man8/dnsmasq.8.gz
+%%DATADIR%%/trust-anchors.conf
+%%EXAMPLESDIR%%/dnslist/dhcp.css
+%%EXAMPLESDIR%%/dnslist/dnslist.pl
+%%EXAMPLESDIR%%/dnslist/dnslist.tt2
+%%EXAMPLESDIR%%/dynamic-dnsmasq/dynamic-dnsmasq.pl
+%%NLS%%share/locale/de/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/es/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/id/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/it/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/no/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/dnsmasq.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/dnsmasq.mo