#!/bin/sh set -o errexit # First argument of this script is the package name # Reading system configuration informations, functions and package versions. source ../sysinfos source ../functions source ../packages-list # Applying patches (if any) apply_patches ${1} groupadd -f named hv_useradd -c BindOwner -g named -m -s /bin/false named cd ${LFS_TMP}/${1} ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man \ --enable-threads \ --with-libtool # Use updated address for L.ROOT-SERVERS.NET. sed -i "s@198.32.64.12@199.7.83.42@" lib/dns/rootns.c make make install # Enable the execute bit to prevent a warning when using ldd to check library dependencies. chmod 755 /usr/lib/lib{bind9,isc{,cc,cfg},lwres,dns}.so.*.?.? cd doc install -d -m755 /usr/share/doc/${1}/{arm,draft,misc,rfc} install -m644 arm/*.html /usr/share/doc/${1}/arm install -m644 draft/*.txt /usr/share/doc/${1}/draft install -m644 rfc/* /usr/share/doc/${1}/rfc install -m644 misc/{dnssec,ipv6,migrat*,options,rfc-compliance,roadmap,sdb} \ /usr/share/doc/${1}/misc # Generation of a key for use in the named.conf and rdnc.conf files using the rndc-confgen command. BINDKEY=$(rndc-confgen -b 512 | grep -m 1 "secret" | cut -d '"' -f 2) cd /home/named mkdir -p dev etc/namedb/{pz,slave} var/run rm -f /home/named/dev/null mknod /home/named/dev/null c 1 3 rm -f /home/named/dev/random mknod /home/named/dev/random c 1 8 chmod 666 /home/named/dev/{null,random} cp /etc/localtime /home/named/etc # Creating the named.conf file from which named will read the location of zone files, # root name servers and secure DNS keys. cat > /home/named/etc/named.conf << "EOF" options { directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; }; key "rndc_key" { algorithm hmac-md5; secret "_BIND_KEY_"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; // Bind 9 now logs by default through syslog (except debug). // These are the default logging rules. logging { category default { default_syslog; default_debug; }; category unmatched { null; }; channel default_syslog { syslog daemon; // send to syslog's daemon // facility severity info; // only send priority info // and higher }; channel default_debug { file "named.run"; // write to named.run in // the working directory // Note: stderr is used instead // of "named.run" // if the server is started // with the '-f' option. severity dynamic; // log at the server's // current debug level }; channel default_stderr { stderr; // writes to stderr severity info; // only send priority info // and higher }; channel null { null; // toss anything sent to // this channel }; }; EOF sed -i -e "s!_BIND_KEY_!${BINDKEY}!g" /home/named/etc/named.conf cat > /etc/rndc.conf << "EOF" key rndc_key { algorithm "hmac-md5"; secret "_BIND_KEY_"; }; options { default-server localhost; default-key rndc_key; }; EOF sed -i -e "s!_BIND_KEY_!${BINDKEY}!g" /etc/rndc.conf cat > /home/named/etc/namedb/pz/127.0.0 << "EOF" $TTL 3D @ IN SOA ns.local.domain. hostmaster.local.domain. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.local.domain. 1 PTR localhost. EOF cat > /home/named/etc/namedb/root.hints << "EOF" . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 B.ROOT-SERVERS.NET. 6D IN A 192.228.79.201 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 EOF chown -R named.named /home/named # Bootscript install -v -m740 ${SCRDIR}/bootscripts/named /etc/rc.d/init.d # script-name start stop bootscript_add_rc3 named 25 65 exit $?