diff --git a/dns/dnsmasq-devel/Makefile b/dns/dnsmasq-devel/Makefile index dad2c3104ac1..106ea9acc364 100644 --- a/dns/dnsmasq-devel/Makefile +++ b/dns/dnsmasq-devel/Makefile @@ -1,147 +1,147 @@ PORTNAME= dnsmasq -DISTVERSION= 2.92test9 # remember to bump PORTEPOCH when going from test to rc! +DISTVERSION= 2.92test10 # remember to bump PORTEPOCH when going from test to rc! # Leave the PORTREVISION in even if 0 to avoid accidental PORTEPOCH bumps: PORTREVISION= 0 PORTEPOCH= 6 CATEGORIES= dns #MASTER_SITES= LOCAL/mandree/ \ # https://www.thekelleys.org.uk/dnsmasq/release-candidates/ MASTER_SITES= LOCAL/mandree/ \ https://www.thekelleys.org.uk/dnsmasq/test-releases/ PKGNAMESUFFIX= -devel MAINTAINER= mandree@FreeBSD.org COMMENT= Lightweight DNS forwarder, DHCP, and TFTP server WWW= https://www.thekelleys.org.uk/dnsmasq/doc.html LICENSE= GPLv2 DEPRECATED= Short-lived test branch, to be removed after v2.92 release 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* 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 .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 LDFLAGS+= -L${LOCALBASE}/lib ${_intllibs} ${ICONV_LIB} post-patch: ${REINPLACE_CMD} -e '/^LUA /s/lua/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 '\.*\[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}/share/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 diff --git a/dns/dnsmasq-devel/distinfo b/dns/dnsmasq-devel/distinfo index 799961b58d2c..6df356566936 100644 --- a/dns/dnsmasq-devel/distinfo +++ b/dns/dnsmasq-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1747685166 -SHA256 (dnsmasq-2.92test9.tar.xz) = 12b535fe7a979774d5e77ae91b80bfa67a08d81b452367b8735fdf900046d1cf -SIZE (dnsmasq-2.92test9.tar.xz) = 581868 +TIMESTAMP = 1748114943 +SHA256 (dnsmasq-2.92test10.tar.xz) = a668c317277f20e9a799062b03066a1b7ca5cd2daa59954b30a14ce44c6417b6 +SIZE (dnsmasq-2.92test10.tar.xz) = 582832 diff --git a/dns/dnsmasq-devel/files/patch-src_dnsmasq.c b/dns/dnsmasq-devel/files/patch-src_dnsmasq.c new file mode 100644 index 000000000000..98c34221f71d --- /dev/null +++ b/dns/dnsmasq-devel/files/patch-src_dnsmasq.c @@ -0,0 +1,12 @@ +--- src/dnsmasq.c.orig 2025-05-24 14:09:53 UTC ++++ src/dnsmasq.c +@@ -81,7 +81,9 @@ int main (int argc, char **argv) + int tftp_prefix_missing = 0; + #endif + ++#ifdef HAVE_LINUX_NETWORK + (void)netlink_warn; ++#endif + + #if defined(HAVE_IDN) || defined(HAVE_LIBIDN2) || defined(LOCALEDIR) + setlocale(LC_ALL, ""); diff --git a/dns/dnsmasq-devel/files/update.py b/dns/dnsmasq-devel/files/update.py new file mode 100755 index 000000000000..5657cd9bc06d --- /dev/null +++ b/dns/dnsmasq-devel/files/update.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +"""update.py for dnsmasq-devel - (C) 2025 Matthias Andree, placed under MIT license +To use, edit Makefile with the new version and possibly URLBASE below when switching to release-candidates, +then run python update.py, which will download, check sigs, if GnuPG checks out, update makesum, +upload tarball and sig to my public_distfiles/ because upstream has low bandwidth, and test build. + +If things work out, commit manually and push.""" + +URLBASE = 'https://www.thekelleys.org.uk/dnsmasq/test-releases/' + +import os +import shutil +import subprocess +import sys + +def trace(func): + def wrapper(*args, **kwargs): + print(f"> {func.__name__}({args}, {kwargs})", file=sys.stderr) + retval = func(*args, **kwargs) + print(f"< {func.__name__} -> {retval!r}", file=sys.stderr) + return retval + return wrapper + +subprocess.run = trace(subprocess.run) + +completed_distname = subprocess.run('make -V DISTNAME'.split(), capture_output=True, check=True, env={"LC_ALL": "C.UTF-8", "PATH": f'{os.environ["PATH"]}'}, encoding='UTF-8') +name = completed_distname.stdout.splitlines()[0].strip() +fnt = name + '.tar.xz' +fns = fnt + '.asc' +urt = URLBASE + fnt +urs = URLBASE + fns +subprocess.run(['fetch', urt, urs], check=True) +subprocess.run(['gpg', '--verify', fns, fnt], check=True) +subprocess.run(['rsync', '-avHP', '--chmod=0644', fnt, fns, 'freefall.freebsd.org:public_distfiles/'], check=True) +shutil.move(fnt, '/usr/ports/distfiles/' + fnt) +os.remove(fns) +subprocess.run(['make', 'makesum'], check=True) +subprocess.run(['make', 'clean'], check=True) +subprocess.run(['make', 'check-plist', 'package'], check=True)