From 6f6bee95f8c9c9c2e7fcaa02bfe058e2f4654121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Jo=C5=84czyk?= Date: Sun, 1 Feb 2026 20:00:24 +0100 Subject: [PATCH] bind: prevent mismatch of bind-libs version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When upgrading specific packages manually, like: apk upgrade bind-dig the bind-libs package is not upgraded automatically, which results in problems when running the program, for example: root@OpenWrt:~# dig Error loading shared library libisc-9.20.10.so: No such file or directory (needed by /usr/bin/dig) Error loading shared library libdns-9.20.10.so: No such file or directory (needed by /usr/bin/dig) Error loading shared library libisccfg-9.20.10.so: No such file or directory (needed by /usr/bin/dig) Error relocating /usr/bin/dig: cfg_map_getname: symbol not found Error relocating /usr/bin/dig: irs_resconf_getndots: symbol not found Error relocating /usr/bin/dig: isc_managers_destroy: symbol not found Error relocating /usr/bin/dig: dns_fixedname_init: symbol not found Error relocating /usr/bin/dig: isc_nm_read: symbol not found Error relocating /usr/bin/dig: dns_rdata_init: symbol not found Error relocating /usr/bin/dig: isc_random_uniform: symbol not found [...] This has happened to me twice on OpenWRT 24.10. To fix this, enforce that the version of bind-libs matches the version of any dependent packages. Use the same approach as in net/knot/Makefile: make the dependency be present twice, once in the DEPENDS variable, the other one in the EXTRA_DEPENDS variable. Also, add an explicit EXTRA_DEPENDS variable to other internal dependencies. For example, versions of the bind-server-filter-aaaa and bind-server packages must match. Tested on snapshot, on x86/64. Signed-off-by: Mateusz Jończyk --- net/bind/Makefile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/net/bind/Makefile b/net/bind/Makefile index 497b0aa449ebf..52633726ea9d5 100644 --- a/net/bind/Makefile +++ b/net/bind/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bind PKG_VERSION:=9.20.21 -PKG_RELEASE:=1 +PKG_RELEASE:=2 USERID:=bind=57:bind=57 PKG_MAINTAINER:=Noah Meyerhans @@ -49,6 +49,7 @@ define Package/bind/Default SECTION:=net CATEGORY:=Network DEPENDS:=+bind-libs +@OPENSSL_WITH_EC + EXTRA_DEPENDS:=bind-libs (=$(PKG_VERSION)-r$(PKG_RELEASE)) TITLE:=bind URL:=https://www.isc.org/software/bind SUBMENU:=IP Addresses and Names @@ -78,6 +79,7 @@ define Package/bind-server TITLE+= DNS server DEPENDS+= +libcap \ +bind-rndc + EXTRA_DEPENDS+=, bind-rndc (=$(PKG_VERSION)-r$(PKG_RELEASE)) endef define Package/bind-server/config @@ -87,6 +89,7 @@ endef define Package/bind-server-filter-aaaa $(call Package/bind-server) DEPENDS:=bind-server + EXTRA_DEPENDS:=bind-server (=$(PKG_VERSION)-r$(PKG_RELEASE)) TITLE+= filter AAAA plugin endef @@ -98,7 +101,7 @@ endef define Package/bind-tools $(call Package/bind/Default) TITLE+= administration tools (all) - DEPENDS:= \ + DEPENDS:= \ +bind-check \ +bind-dig \ +bind-nslookup \ @@ -106,6 +109,14 @@ define Package/bind-tools +bind-host \ +bind-rndc \ +bind-ddns-confgen + EXTRA_DEPENDS:= \ + bind-check (=$(PKG_VERSION)-r$(PKG_RELEASE)), \ + bind-dig (=$(PKG_VERSION)-r$(PKG_RELEASE)), \ + bind-nslookup (=$(PKG_VERSION)-r$(PKG_RELEASE)), \ + bind-dnssec (=$(PKG_VERSION)-r$(PKG_RELEASE)), \ + bind-host (=$(PKG_VERSION)-r$(PKG_RELEASE)), \ + bind-rndc (=$(PKG_VERSION)-r$(PKG_RELEASE)), \ + bind-ddns-confgen (=$(PKG_VERSION)-r$(PKG_RELEASE)) endef define Package/bind-rndc