Commit 586f3574 authored by Matthias Andree's avatar Matthias Andree Committed by Gleb Popov
Browse files

dns/dnsmasq-devel: remove port, dns/dnsmasq is newer

Due to administrative issues effectuated earlier in 2026 that have been
unresolved to date, this port been unable to move usefully fast enough.

Let's not pretend otherwise and remove the dnsmasq-devel port,
as announced in its DEPRECATED tag, now that dns/dnsmasq is newer
than this dns/dnsmasq-devel; the DEPRECATED has announced for months
this would happen after dnsmasq's v2.93 release.  (There was no
EXPIRATION_DATE because the v2.93 release wasn't fixed to a date.)

Add MOVED and UPDATING entries to suggest that
users should install the stable dns/dnsmasq port instead.

In order to minimize disruption on the quarterly branch, this shall not
be MFH'd, I will propose to update dnsmasq-devel to 2.93 release for
2026Q2 by direct commit instead.

PR:		295851
Pull Request:	https://github.com/freebsd/freebsd-ports/pull/529
parent 642bf8e1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5338,3 +5338,4 @@ devel/rye||2026-06-02|Has expired: Rye is no longer developed. All users should
x11/hamclock||2026-06-02|Has expired: Upstream programmer is deceased upstream server discontinued in June
devel/twiggy||2026-06-02|Archived upstream, no longer maintained, and has an unclear latest release number
audio/surge-synthesizer-lv2|audio/surge-synthesizer-xt-lv2|2026-06-04|Retire older surge-synthesizer-lv2 in favor of new gen surge-synthesizer-xt-lv2
dns/dnsmasq-devel|dns/dnsmasq|2026-06-05|Discontinued -devel port, use dns/dnsmasq instead
+14 −0
Original line number Diff line number Diff line
@@ -5,6 +5,20 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.

20260605:
  AFFECTS: Users of dns/dnsmasq-devel
  AUTHOR: mandree@FreeBSD.org

  The dns/dnsmasq-devel port has been unable to keep the pace of the upstream
  releases due project admin issues beyond its maintainer's control. At the
  same time, dns/dnsmasq is now at the 2.93 release, thus newer than
  dnsmasq-devel.  The -devel port is no longer useful at this time.

  Users are sought to replace the dnsmasq-devel port and install dnsmasq
  instead. The configuration including rc.conf settings are compatible,
  so a simple "pkg install dnsmasq" or, for portmaster users,
  "portmaster -o dns/dnsmasq dns/dnsmasq-devel" should achieve that.

20260601:
  AFFECTS: Users of security/lego
  AUTHOR: matt@matthoran.com
+0 −1
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@
    SUBDIR += dnsjava
    SUBDIR += dnsjit
    SUBDIR += dnsmasq
    SUBDIR += dnsmasq-devel
    SUBDIR += dnsmax-perl
    SUBDIR += dnsperf
    SUBDIR += dnsproxy

dns/dnsmasq-devel/Makefile

deleted100644 → 0
+0 −180
Original line number Diff line number Diff line
PORTNAME=	dnsmasq
DISTVERSION=	2.93rc3 # 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=	8
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.93 release

USES=		compiler 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
# https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html
# Note there are ${ARCH}-dependent options below after .include <bsd.port.pre.mk>
# Note that these are enforced for now (2025-09-16), and we can't subject them to PIE/FORTIFY/SSP_UNSAFE or WITHOUT_ options for now.
CFLAGS+=	-Wall -Wformat -Wformat=2 \
		-Werror=format-security \
		-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 \
		-fstrict-flex-arrays=3 \
		-fstack-clash-protection -fstack-protector-strong \
		-fno-delete-null-pointer-checks -fno-strict-overflow \
		-fno-strict-aliasing -ftrivial-auto-var-init=zero
LDFLAGS+=	-Wl,-z,nodlopen -Wl,-z,noexecstack \
		-Wl,-z,relro -Wl,-z,now \
		-Wl,--as-needed -Wl,--no-copy-dt-needed-entries
CFLAGS+=	-fPIE
LDFLAGS+=	-pie
# error on obsolete C constructs
CFLAGS+=	-Werror=implicit -Werror=incompatible-pointer-types \
		-Werror=int-conversion
# tune down harmless warnings due to coding style
CFLAGS+=	-Wno-unused-function -Wno-unused-parameter \
		-Wno-unused-value -Wno-unused-variable -Wno-format-nonliteral
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>

# https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html
.if ${ARCH} == "amd64"
CFLAGS+=	-fcf-protection=full
.endif
.if ${ARCH} == "aarch64"
CFLAGS+=	-mbranch-protection=standard
.endif
.if ${CHOSEN_COMPILER_TYPE} == "gcc"
CFLAGS+=	-Wtrampolines
.endif

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 '\<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}/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 <bsd.port.post.mk>

dns/dnsmasq-devel/distinfo

deleted100644 → 0
+0 −3
Original line number Diff line number Diff line
TIMESTAMP = 1780381104
SHA256 (dnsmasq-2.93rc3.tar.xz) = 8d3d81fb5adb94bc4ebc175f3338990947b2699f5fabd130f29139631e2c60d1
SIZE (dnsmasq-2.93rc3.tar.xz) = 641076
Loading