ldns - DNS library and tools ChangeLog

HOWTO


# LDNS 1.8.3
# ==========
# Prerequisites:
# libpcap (optional; needed for examples/ldns-dpa)
# libtool
# doxygen
# OpenSSL (if you want crypto features)
# Python (optional; if you want Python bindings --with-pyldns)
# GOST engine for OpenSSL (leave off --disable-gost)

# 1.8.3 release announcement
# 1.7.x does support OpenSSL >= 1.1.0
# 1.8.x did build for me with OpenSSL 3.0.11

# Get it
cd
test -f installed/ldns-1.8.3.tar.gz && mv ldns-1.8.3.tar.gz .
test ! -f ldns-1.8.3.tar.gz &&
wget https://nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz

# Verify tarball w/ sha256sum:
# (this came from the announcement)
echo "c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e78\
60  ldns-1.8.3.tar.gz" | sha256sum -c

# Verify tarball w/ gpg:
( gpg --list-keys 2F77A498 > /dev/null 2>&1 || gpg --recv-keys 2F77A498 ) &&
wget -nc https://nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz.asc &&
  gpg --verify ldns-1.8.3.tar.gz.asc && rm ldns-1.8.3.tar.gz.asc

# Extract the tarball
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "ldns-*" -exec rm -r {} \;
tar xzvf ~/ldns-1.8.3.tar.gz
cd ldns-1.8.3
test $UID = 0 && chown -R root:root .

# Configure the build for 64-bit with OpenSSL installed under the
# >= 1.1.0 default prefix /usr/local
test $(uname -m) = "x86_64" &&
test ! -d /usr/local/ssl/lib64 &&
./configure --libdir=/usr/local/lib64 --mandir=/usr/local/man \
--disable-gost --with-drill --with-examples

# Configure the build for 64-bit with OpenSSL installed under the
# < 1.1.0 default prefix /usr/local/ssl
test $(uname -m) = "x86_64" &&
test -d /usr/local/ssl/lib64 &&
LDFLAGS=-L/usr/local/ssl/lib64 ./configure --libdir=/usr/local/lib64 \
--mandir=/usr/local/man --disable-gost --with-drill --with-examples

# Configure the build for anything else
test $(uname -m) != "x86_64" &&
./configure --mandir=/usr/local/man --disable-gost --with-drill \
--with-examples

# Build it
make

# Become root to install ldns
su

# Install it
make install
ldconfig

# You may find that you have old shared library files,
# if you're upgrading, in /usr/local/lib*/
# If you're 100% sure (try lsof, etc.) that nothing is using it,
# such as the sshd that you're using to connect to the server
# remotely, zap it and run ldconfig again
# Anything using the old shared library file should be rebuilt,
# but could possibly be fine just restarting it if the new
# version is binary compatible with the older one

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become your non-root user again
exit

# Keep the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/ldns-*.tar.*
mv ldns-1.8.3.tar.gz installed/


# If you ever want to uninstall LDNS, this should do it:
cd
su
test -d src/ldns-* && ( cd src/ldns-* ; make uninstall )
( cd /usr/local/bin ; rm -f drill ldns-config ldns-* ldnsd )
test -d /usr/local/include/ldns && rm -r /usr/local/include/ldns
( cd /usr/local/man/man1 ; rm -f drill.1 ldns-config.1 ldns-*.1 ldnsd.1 )
rm -f /usr/local/lib/libldns.* /usr/local/man/man3/ldns_*.3
test -d /usr/local/lib64 && rm -f /usr/local/lib64/libldns.*
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "ldns-*" -exec rm -r {} \;
rm -f ~/installed/ldns-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EST -0500)
HOWTO last updated: 2023-09-23 4:09pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]