- Update from 9.11.32 to 9.16.22
- 9.11 is an ESV (Extended Support Version) that will go EOL in December 2021
  9.16 is the replacement ESV whose EOL is not yet defined but will be at least 4 years
   so should be supported until at least March 2024 as the 9.16 branch was started in 2020
- Update rootfile
- libuv is now required both to build the bind libraries and for the running of the
   utilities.
- Changelog is difficult to define here as this is a change of branch from 9.11 to 9.16
   both of which have been running in parallel. However all the changes from the start of
   9.16.0 can be found in the CHANGES file in the source tarball.
- nslookup, host and dig utilities tested out by installing this on a vm testbed. All
   these utilities worked as the previous version
   nsupdate was not able to be tested other than confirming that running nsupdate
   opened an interactive session. This utility would be good to be tested by someone
   familiar with how to run it.

Tested-by: Adolf Belka <adolf.belka(a)ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
 config/rootfiles/common/bind | 196 ++++++++++-------------------------
 lfs/bind                     |  23 ++--
 2 files changed, 69 insertions(+), 150 deletions(-)

diff --git a/config/rootfiles/common/bind b/config/rootfiles/common/bind
index 6fb228a5a..a89af5bcb 100644
--- a/config/rootfiles/common/bind
+++ b/config/rootfiles/common/bind
@@ -8,7 +8,6 @@ usr/bin/nsupdate
 #usr/include/bind9/getaddresses.h
 #usr/include/bind9/version.h
 #usr/include/dns
-#usr/include/dns/acache.h
 #usr/include/dns/acl.h
 #usr/include/dns/adb.h
 #usr/include/dns/badcache.h
@@ -29,12 +28,14 @@ usr/bin/nsupdate
 #usr/include/dns/dlz.h
 #usr/include/dns/dlz_dlopen.h
 #usr/include/dns/dns64.h
+#usr/include/dns/dnsrps.h
 #usr/include/dns/dnssec.h
 #usr/include/dns/dnstap.h
 #usr/include/dns/ds.h
 #usr/include/dns/dsdigest.h
 #usr/include/dns/dyndb.h
 #usr/include/dns/ecdb.h
+#usr/include/dns/ecs.h
 #usr/include/dns/edns.h
 #usr/include/dns/enumclass.h
 #usr/include/dns/enumtype.h
@@ -45,11 +46,15 @@ usr/bin/nsupdate
 #usr/include/dns/ipkeylist.h
 #usr/include/dns/iptable.h
 #usr/include/dns/journal.h
+#usr/include/dns/kasp.h
 #usr/include/dns/keydata.h
 #usr/include/dns/keyflags.h
+#usr/include/dns/keymgr.h
 #usr/include/dns/keytable.h
 #usr/include/dns/keyvalues.h
 #usr/include/dns/lib.h
+#usr/include/dns/librpz.h
+#usr/include/dns/lmdb.h
 #usr/include/dns/log.h
 #usr/include/dns/lookup.h
 #usr/include/dns/master.h
@@ -104,22 +109,32 @@ usr/bin/nsupdate
 #usr/include/dns/xfrin.h
 #usr/include/dns/zone.h
 #usr/include/dns/zonekey.h
+#usr/include/dns/zoneverify.h
 #usr/include/dns/zt.h
 #usr/include/dst
 #usr/include/dst/dst.h
 #usr/include/dst/gssapi.h
-#usr/include/dst/lib.h
 #usr/include/dst/result.h
+#usr/include/irs
+#usr/include/irs/context.h
+#usr/include/irs/dnsconf.h
+#usr/include/irs/netdb.h
+#usr/include/irs/platform.h
+#usr/include/irs/resconf.h
+#usr/include/irs/types.h
+#usr/include/irs/version.h
 #usr/include/isc
 #usr/include/isc/aes.h
+#usr/include/isc/align.h
 #usr/include/isc/app.h
 #usr/include/isc/assertions.h
+#usr/include/isc/astack.h
 #usr/include/isc/atomic.h
 #usr/include/isc/backtrace.h
+#usr/include/isc/barrier.h
 #usr/include/isc/base32.h
 #usr/include/isc/base64.h
 #usr/include/isc/bind9.h
-#usr/include/isc/boolean.h
 #usr/include/isc/buffer.h
 #usr/include/isc/bufferlist.h
 #usr/include/isc/cmocka.h
@@ -130,7 +145,6 @@ usr/bin/nsupdate
 #usr/include/isc/deprecated.h
 #usr/include/isc/dir.h
 #usr/include/isc/endian.h
-#usr/include/isc/entropy.h
 #usr/include/isc/errno.h
 #usr/include/isc/error.h
 #usr/include/isc/event.h
@@ -138,18 +152,16 @@ usr/bin/nsupdate
 #usr/include/isc/file.h
 #usr/include/isc/formatcheck.h
 #usr/include/isc/fsaccess.h
+#usr/include/isc/fuzz.h
 #usr/include/isc/hash.h
 #usr/include/isc/heap.h
 #usr/include/isc/hex.h
-#usr/include/isc/hmacmd5.h
-#usr/include/isc/hmacsha.h
+#usr/include/isc/hmac.h
+#usr/include/isc/hp.h
 #usr/include/isc/ht.h
 #usr/include/isc/httpd.h
-#usr/include/isc/int.h
 #usr/include/isc/interfaceiter.h
 #usr/include/isc/iterated_hash.h
-#usr/include/isc/json.h
-#usr/include/isc/keyboard.h
 #usr/include/isc/lang.h
 #usr/include/isc/lex.h
 #usr/include/isc/lfsr.h
@@ -158,20 +170,21 @@ usr/bin/nsupdate
 #usr/include/isc/list.h
 #usr/include/isc/log.h
 #usr/include/isc/magic.h
-#usr/include/isc/md5.h
+#usr/include/isc/managers.h
+#usr/include/isc/md.h
 #usr/include/isc/mem.h
 #usr/include/isc/meminfo.h
-#usr/include/isc/msgcat.h
-#usr/include/isc/msgs.h
 #usr/include/isc/mutex.h
+#usr/include/isc/mutexatomic.h
 #usr/include/isc/mutexblock.h
 #usr/include/isc/net.h
 #usr/include/isc/netaddr.h
 #usr/include/isc/netdb.h
+#usr/include/isc/netmgr.h
 #usr/include/isc/netscope.h
+#usr/include/isc/nonce.h
 #usr/include/isc/offset.h
 #usr/include/isc/once.h
-#usr/include/isc/ondestroy.h
 #usr/include/isc/os.h
 #usr/include/isc/parseint.h
 #usr/include/isc/platform.h
@@ -192,8 +205,6 @@ usr/bin/nsupdate
 #usr/include/isc/rwlock.h
 #usr/include/isc/safe.h
 #usr/include/isc/serial.h
-#usr/include/isc/sha1.h
-#usr/include/isc/sha2.h
 #usr/include/isc/siphash.h
 #usr/include/isc/sockaddr.h
 #usr/include/isc/socket.h
@@ -201,9 +212,8 @@ usr/bin/nsupdate
 #usr/include/isc/stats.h
 #usr/include/isc/stdatomic.h
 #usr/include/isc/stdio.h
-#usr/include/isc/stdlib.h
 #usr/include/isc/stdtime.h
-#usr/include/isc/strerror.h
+#usr/include/isc/strerr.h
 #usr/include/isc/string.h
 #usr/include/isc/symtab.h
 #usr/include/isc/syslog.h
@@ -214,17 +224,16 @@ usr/bin/nsupdate
 #usr/include/isc/timer.h
 #usr/include/isc/tm.h
 #usr/include/isc/types.h
+#usr/include/isc/url.h
 #usr/include/isc/utf8.h
 #usr/include/isc/util.h
 #usr/include/isc/version.h
-#usr/include/isc/xml.h
 #usr/include/isccc
 #usr/include/isccc/alist.h
 #usr/include/isccc/base64.h
 #usr/include/isccc/cc.h
 #usr/include/isccc/ccmsg.h
 #usr/include/isccc/events.h
-#usr/include/isccc/lib.h
 #usr/include/isccc/result.h
 #usr/include/isccc/sexpr.h
 #usr/include/isccc/symtab.h
@@ -237,25 +246,26 @@ usr/bin/nsupdate
 #usr/include/isccfg/cfg.h
 #usr/include/isccfg/dnsconf.h
 #usr/include/isccfg/grammar.h
+#usr/include/isccfg/kaspconf.h
 #usr/include/isccfg/log.h
 #usr/include/isccfg/namedconf.h
 #usr/include/isccfg/version.h
-#usr/include/lwres
-#usr/include/lwres/context.h
-#usr/include/lwres/int.h
-#usr/include/lwres/ipv6.h
-#usr/include/lwres/lang.h
-#usr/include/lwres/list.h
-#usr/include/lwres/lwbuffer.h
-#usr/include/lwres/lwpacket.h
-#usr/include/lwres/lwres.h
-#usr/include/lwres/net.h
-#usr/include/lwres/netdb.h
-#usr/include/lwres/platform.h
-#usr/include/lwres/result.h
-#usr/include/lwres/stdlib.h
-#usr/include/lwres/string.h
-#usr/include/lwres/version.h
+#usr/include/ns
+#usr/include/ns/client.h
+#usr/include/ns/hooks.h
+#usr/include/ns/interfacemgr.h
+#usr/include/ns/lib.h
+#usr/include/ns/listenlist.h
+#usr/include/ns/log.h
+#usr/include/ns/notify.h
+#usr/include/ns/query.h
+#usr/include/ns/server.h
+#usr/include/ns/sortlist.h
+#usr/include/ns/stats.h
+#usr/include/ns/types.h
+#usr/include/ns/update.h
+#usr/include/ns/version.h
+#usr/include/ns/xfrout.h
 #usr/include/pk11
 #usr/include/pk11/constants.h
 #usr/include/pk11/internal.h
@@ -263,119 +273,25 @@ usr/bin/nsupdate
 #usr/include/pk11/result.h
 #usr/include/pk11/site.h
 #usr/include/pkcs11
-#usr/include/pkcs11/cryptoki.h
-#usr/include/pkcs11/eddsa.h
 #usr/include/pkcs11/pkcs11.h
+usr/lib/libbind9-9.16.22.so
 #usr/lib/libbind9.la
 #usr/lib/libbind9.so
-usr/lib/libbind9.so.161
-usr/lib/libbind9.so.161.0.4
+usr/lib/libdns-9.16.22.so
 #usr/lib/libdns.la
 #usr/lib/libdns.so
-usr/lib/libdns.so.1115
-usr/lib/libdns.so.1115.0.0
+usr/lib/libirs-9.16.22.so
+#usr/lib/libirs.la
+#usr/lib/libirs.so
+usr/lib/libisc-9.16.22.so
 #usr/lib/libisc.la
 #usr/lib/libisc.so
-usr/lib/libisc.so.1107
-usr/lib/libisc.so.1107.0.5
+usr/lib/libisccc-9.16.22.so
 #usr/lib/libisccc.la
 #usr/lib/libisccc.so
-usr/lib/libisccc.so.161
-usr/lib/libisccc.so.161.0.1
+usr/lib/libisccfg-9.16.22.so
 #usr/lib/libisccfg.la
 #usr/lib/libisccfg.so
-usr/lib/libisccfg.so.163
-usr/lib/libisccfg.so.163.0.8
-#usr/lib/liblwres.la
-#usr/lib/liblwres.so
-usr/lib/liblwres.so.161
-usr/lib/liblwres.so.161.0.4
-#usr/share/man/man1/dig.1
-#usr/share/man/man1/host.1
-#usr/share/man/man1/nslookup.1
-#usr/share/man/man1/nsupdate.1
-#usr/share/man/man3/lwres.3
-#usr/share/man/man3/lwres_addr_parse.3
-#usr/share/man/man3/lwres_buffer.3
-#usr/share/man/man3/lwres_buffer_add.3
-#usr/share/man/man3/lwres_buffer_back.3
-#usr/share/man/man3/lwres_buffer_clear.3
-#usr/share/man/man3/lwres_buffer_first.3
-#usr/share/man/man3/lwres_buffer_forward.3
-#usr/share/man/man3/lwres_buffer_getmem.3
-#usr/share/man/man3/lwres_buffer_getuint16.3
-#usr/share/man/man3/lwres_buffer_getuint32.3
-#usr/share/man/man3/lwres_buffer_getuint8.3
-#usr/share/man/man3/lwres_buffer_init.3
-#usr/share/man/man3/lwres_buffer_invalidate.3
-#usr/share/man/man3/lwres_buffer_putmem.3
-#usr/share/man/man3/lwres_buffer_putuint16.3
-#usr/share/man/man3/lwres_buffer_putuint32.3
-#usr/share/man/man3/lwres_buffer_putuint8.3
-#usr/share/man/man3/lwres_buffer_subtract.3
-#usr/share/man/man3/lwres_conf_clear.3
-#usr/share/man/man3/lwres_conf_get.3
-#usr/share/man/man3/lwres_conf_init.3
-#usr/share/man/man3/lwres_conf_parse.3
-#usr/share/man/man3/lwres_conf_print.3
-#usr/share/man/man3/lwres_config.3
-#usr/share/man/man3/lwres_context.3
-#usr/share/man/man3/lwres_context_allocmem.3
-#usr/share/man/man3/lwres_context_create.3
-#usr/share/man/man3/lwres_context_destroy.3
-#usr/share/man/man3/lwres_context_freemem.3
-#usr/share/man/man3/lwres_context_initserial.3
-#usr/share/man/man3/lwres_context_nextserial.3
-#usr/share/man/man3/lwres_context_sendrecv.3
-#usr/share/man/man3/lwres_endhostent.3
-#usr/share/man/man3/lwres_endhostent_r.3
-#usr/share/man/man3/lwres_freeaddrinfo.3
-#usr/share/man/man3/lwres_freehostent.3
-#usr/share/man/man3/lwres_gabn.3
-#usr/share/man/man3/lwres_gabnrequest_free.3
-#usr/share/man/man3/lwres_gabnrequest_parse.3
-#usr/share/man/man3/lwres_gabnrequest_render.3
-#usr/share/man/man3/lwres_gabnresponse_free.3
-#usr/share/man/man3/lwres_gabnresponse_parse.3
-#usr/share/man/man3/lwres_gabnresponse_render.3
-#usr/share/man/man3/lwres_gai_strerror.3
-#usr/share/man/man3/lwres_getaddrinfo.3
-#usr/share/man/man3/lwres_getaddrsbyname.3
-#usr/share/man/man3/lwres_gethostbyaddr.3
-#usr/share/man/man3/lwres_gethostbyaddr_r.3
-#usr/share/man/man3/lwres_gethostbyname.3
-#usr/share/man/man3/lwres_gethostbyname2.3
-#usr/share/man/man3/lwres_gethostbyname_r.3
-#usr/share/man/man3/lwres_gethostent.3
-#usr/share/man/man3/lwres_gethostent_r.3
-#usr/share/man/man3/lwres_getipnode.3
-#usr/share/man/man3/lwres_getipnodebyaddr.3
-#usr/share/man/man3/lwres_getipnodebyname.3
-#usr/share/man/man3/lwres_getnamebyaddr.3
-#usr/share/man/man3/lwres_getnameinfo.3
-#usr/share/man/man3/lwres_getrrsetbyname.3
-#usr/share/man/man3/lwres_gnba.3
-#usr/share/man/man3/lwres_gnbarequest_free.3
-#usr/share/man/man3/lwres_gnbarequest_parse.3
-#usr/share/man/man3/lwres_gnbarequest_render.3
-#usr/share/man/man3/lwres_gnbaresponse_free.3
-#usr/share/man/man3/lwres_gnbaresponse_parse.3
-#usr/share/man/man3/lwres_gnbaresponse_render.3
-#usr/share/man/man3/lwres_herror.3
-#usr/share/man/man3/lwres_hstrerror.3
-#usr/share/man/man3/lwres_inetntop.3
-#usr/share/man/man3/lwres_lwpacket_parseheader.3
-#usr/share/man/man3/lwres_lwpacket_renderheader.3
-#usr/share/man/man3/lwres_net_ntop.3
-#usr/share/man/man3/lwres_noop.3
-#usr/share/man/man3/lwres_nooprequest_free.3
-#usr/share/man/man3/lwres_nooprequest_parse.3
-#usr/share/man/man3/lwres_nooprequest_render.3
-#usr/share/man/man3/lwres_noopresponse_free.3
-#usr/share/man/man3/lwres_noopresponse_parse.3
-#usr/share/man/man3/lwres_noopresponse_render.3
-#usr/share/man/man3/lwres_packet.3
-#usr/share/man/man3/lwres_resutil.3
-#usr/share/man/man3/lwres_sethostent.3
-#usr/share/man/man3/lwres_sethostent_r.3
-#usr/share/man/man3/lwres_string_parse.3
+usr/lib/libns-9.16.22.so
+#usr/lib/libns.la
+#usr/lib/libns.so
diff --git a/lfs/bind b/lfs/bind
index 0545066b7..8544f0f1f 100644
--- a/lfs/bind
+++ b/lfs/bind
@@ -25,10 +25,10 @@
 
 include Config
 
-VER        = 9.11.32
+VER        = 9.16.22
 
 THISAPP    = bind-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 0d029dd06ca60c6739c3189c999ef757
+$(DL_FILE)_MD5 = 6a45478b33c04c830d4263635d8cd137
 
 install : $(TARGET)
 
@@ -72,7 +72,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	$(UPDATE_AUTOMAKE)
 	cd $(DIR_APP) && STD_CDEFINES="$(CPPFLAGS)" \
 		./configure \
@@ -80,25 +80,28 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 			--enable-threads \
 			--with-libtool \
 			--without-python \
+			--disable-linux-caps \
 			--disable-static
 
-	# Build everything
+	# Build required libraries
 	cd $(DIR_APP) && make -C lib/isc $(MAKETUNING)
-	cd $(DIR_APP) && make -C lib/dns $(MAKETUNING)
 	cd $(DIR_APP) && make -C lib/isccc $(MAKETUNING)
+	cd $(DIR_APP) && make -C lib/dns $(MAKETUNING)
+	cd $(DIR_APP) && make -C lib/ns $(MAKETUNING)
 	cd $(DIR_APP) && make -C lib/isccfg $(MAKETUNING)
 	cd $(DIR_APP) && make -C lib/bind9 $(MAKETUNING)
-	cd $(DIR_APP) && make -C lib/lwres $(MAKETUNING)
+	cd $(DIR_APP) && make -C lib/irs $(MAKETUNING)
 	cd $(DIR_APP) && make -C bin/dig $(MAKETUNING)
 	cd $(DIR_APP) && make -C bin/nsupdate $(MAKETUNING)
 
-	# Install everything
+	# Install utility programs
 	cd $(DIR_APP) && make -C lib/isc install
-	cd $(DIR_APP) && make -C lib/dns install
 	cd $(DIR_APP) && make -C lib/isccc install
+	cd $(DIR_APP) && make -C lib/dns install
+	cd $(DIR_APP) && make -C lib/ns install
 	cd $(DIR_APP) && make -C lib/isccfg install
 	cd $(DIR_APP) && make -C lib/bind9 install
-	cd $(DIR_APP) && make -C lib/lwres install
+	cd $(DIR_APP) && make -C lib/irs install
 	cd $(DIR_APP) && make -C bin/dig install
 	cd $(DIR_APP) && make -C bin/nsupdate install
 
-- 
2.33.1