diff options
author | Matthias Andree <mandree@FreeBSD.org> | 2021-06-12 01:32:53 +0000 |
---|---|---|
committer | Matthias Andree <mandree@FreeBSD.org> | 2021-06-12 10:36:05 +0000 |
commit | f892b650daedac14afed179850d229696d82e918 (patch) | |
tree | ac4a98f4bfe5da081d3998d87cd4385a014b1a40 | |
parent | 3ea4e3826b0a3e6eb6a1df9b122038adaddcac96 (diff) | |
download | ports-f892b650daedac14afed179850d229696d82e918.tar.gz ports-f892b650daedac14afed179850d229696d82e918.zip |
dns/dnsmasq-devel: revive from 6a7b12367
-rw-r--r-- | MOVED | 2 | ||||
-rw-r--r-- | dns/Makefile | 1 | ||||
-rw-r--r-- | dns/dnsmasq-devel/Makefile | 146 | ||||
-rw-r--r-- | dns/dnsmasq-devel/distinfo | 3 | ||||
-rw-r--r-- | dns/dnsmasq-devel/files/dnsmasq.in | 97 | ||||
-rw-r--r-- | dns/dnsmasq-devel/files/pkg-message.in | 18 | ||||
-rw-r--r-- | dns/dnsmasq-devel/pkg-descr | 14 | ||||
-rw-r--r-- | dns/dnsmasq-devel/pkg-plist | 18 |
8 files changed, 298 insertions, 1 deletions
@@ -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 |