#------------------------------------------------------------------------------ # Copyright (c) 2005-2018 The Eisfair Team, team(at)eisfair(dot)org # # Creation: 18.09.2005 jed # Last Update: $Id$ # # !!! this is not a script but an step-by-step howto !!! #------------------------------------------------------------------------------ exit 1 http://pjp.dgplug.org/djbdns/ndjbdns-1.06-1.fc20.src.rpm # - list of binaries: # /usr/local/bin/dnsip # # - needs the following library packages to be build: # # - needs the following packages to be build: ### download wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz wget http://www.qmail.org/netqmail-1.05.tar.gz ### extract tar xvzf djbdns-1.05.tar.gz tar xvzf netqmail-1.05.tar.gz cd djbdns-1.05 ### patch 1. read http://hydra.geht.net/tino/howto/linux/djbdns/?a=source 2. cp ../netqmail-1.05/other-patches/daemontools-0.76.errno.patch . 3. patch < ./daemontools-0.76.errno.patch patching file error.h Hunk #1 succeeded at 1 (offset -2 lines). ### build make ( cat warn-auto.sh; \ echo 'main="$1"; shift'; \ echo exec "`head -1 conf-ld`" \ '-o "$main" "$main".o ${1+"$@"}' \ ) > load chmod 755 load ( cat warn-auto.sh; \ echo exec "`head -1 conf-cc`" '-c ${1+"$@"}' \ ) > compile chmod 755 compile ( cat warn-auto.sh; \ echo CC=\'`head -1 conf-cc`\'; \ echo LD=\'`head -1 conf-ld`\'; \ cat find-systype.sh; \ ) | sh > systype ( case "`cat systype`" in \ sunos-5.*) cat hasdevtcp.h2 ;; \ *) cat hasdevtcp.h1 ;; \ esac ) > hasdevtcp.h ( ( ./compile tryulong32.c && ./load tryulong32 && \ ./tryulong32 ) >/dev/null 2>&1 \ && cat uint32.h2 || cat uint32.h1 ) > uint32.h rm -f tryulong32.o tryulong32 cat warn-auto.sh choose.sh \ | sed s}HOME}"`head -1 conf-home`"}g \ > choose chmod 755 choose ./choose clr tryulong64 uint64.h1 uint64.h2 > uint64.h ./compile dnscache-conf.c ./compile generic-conf.c ./compile auto-str.c ( cat warn-auto.sh; \ echo 'main="$1"; shift'; \ echo 'rm -f "$main"'; \ echo 'ar cr "$main" ${1+"$@"}'; \ case "`cat systype`" in \ sunos-5.*) ;; \ unix_sv*) ;; \ irix64-*) ;; \ irix-*) ;; \ dgux-*) ;; \ hp-ux-*) ;; \ sco*) ;; \ *) echo 'ranlib "$main"' ;; \ esac \ ) > makelib chmod 755 makelib ./compile buffer.c ./compile buffer_1.c ./compile buffer_2.c ./compile buffer_copy.c ./compile buffer_get.c ./compile buffer_put.c ./compile strerr_die.c ./compile strerr_sys.c ./makelib buffer.a buffer.o buffer_1.o buffer_2.o \ buffer_copy.o buffer_get.o buffer_put.o strerr_die.o \ strerr_sys.o ./compile buffer_read.c ./compile buffer_write.c ./compile error.c ./compile error_str.c ./compile ndelay_off.c ./compile ndelay_on.c ./compile open_read.c ./compile open_trunc.c ./compile openreadclose.c ./compile readclose.c ./compile seek_set.c ./compile socket_accept.c ./compile socket_bind.c ./compile socket_conn.c ./compile socket_listen.c ./compile socket_recv.c ./compile socket_send.c ./compile socket_tcp.c ./compile socket_udp.c ./makelib unix.a buffer_read.o buffer_write.o error.o \ error_str.o ndelay_off.o ndelay_on.o open_read.o \ open_trunc.o openreadclose.o readclose.o seek_set.o \ socket_accept.o socket_bind.o socket_conn.o socket_listen.o \ socket_recv.o socket_send.o socket_tcp.o socket_udp.o ./compile byte_chr.c ./compile byte_copy.c ./compile byte_cr.c ./compile byte_diff.c ./compile byte_zero.c ./compile case_diffb.c ./compile case_diffs.c ./compile case_lowerb.c ./compile fmt_ulong.c ./compile ip4_fmt.c ./compile ip4_scan.c ./compile scan_ulong.c ./compile str_chr.c ./compile str_diff.c ./compile str_len.c ./compile str_rchr.c ./compile str_start.c ./compile uint16_pack.c ./compile uint16_unpack.c ./compile uint32_pack.c ./compile uint32_unpack.c ./makelib byte.a byte_chr.o byte_copy.o byte_cr.o \ byte_diff.o byte_zero.o case_diffb.o case_diffs.o \ case_lowerb.o fmt_ulong.o ip4_fmt.o ip4_scan.o scan_ulong.o \ str_chr.o str_diff.o str_len.o str_rchr.o str_start.o \ uint16_pack.o uint16_unpack.o uint32_pack.o uint32_unpack.o ./load auto-str buffer.a unix.a byte.a ./auto-str auto_home `head -1 conf-home` > auto_home.c ./compile auto_home.c ./compile tai_add.c ./compile tai_now.c ./compile tai_pack.c ./compile tai_sub.c ./compile tai_uint.c ./compile tai_unpack.c ./compile taia_add.c ./compile taia_approx.c ./compile taia_frac.c ./compile taia_less.c ./compile taia_now.c ./compile taia_pack.c ./compile taia_sub.c ./compile taia_tai.c ./compile taia_uint.c ./makelib libtai.a tai_add.o tai_now.o tai_pack.o \ tai_sub.o tai_uint.o tai_unpack.o taia_add.o taia_approx.o \ taia_frac.o taia_less.o taia_now.o taia_pack.o taia_sub.o \ taia_tai.o taia_uint.o ./load dnscache-conf generic-conf.o auto_home.o libtai.a \ buffer.a unix.a byte.a ./choose clr trypoll iopause.h1 iopause.h2 > iopause.h ./compile dnscache.c ./compile droproot.c ./compile okclient.c ./compile log.c ./compile cache.c ./compile query.c ./compile response.c ./compile dd.c ./choose c trydrent direntry.h1 direntry.h2 > direntry.h ./compile roots.c ./choose c trysysel select.h1 select.h2 > select.h ./compile iopause.c ./compile chkshsgr.c ./load chkshsgr ./chkshsgr || ( cat warn-shsgr; exit 1 ) ./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h ./compile prot.c ./compile dns_dfd.c ./compile dns_domain.c ./compile dns_dtda.c ./compile dns_ip.c ./compile dns_ipq.c ./compile dns_mx.c ./compile dns_name.c ./compile dns_nd.c ./compile dns_packet.c ./compile dns_random.c ./compile dns_rcip.c ./compile dns_rcrw.c ./compile dns_resolve.c ./compile dns_sortip.c ./compile dns_transmit.c ./compile dns_txt.c ./makelib dns.a dns_dfd.o dns_domain.o dns_dtda.o dns_ip.o \ dns_ipq.o dns_mx.o dns_name.o dns_nd.o dns_packet.o \ dns_random.o dns_rcip.o dns_rcrw.o dns_resolve.o \ dns_sortip.o dns_transmit.o dns_txt.o ./compile env.c ./makelib env.a env.o ./compile alloc.c ./compile alloc_re.c ./compile getln.c ./compile getln2.c ./compile stralloc_cat.c ./compile stralloc_catb.c ./compile stralloc_cats.c ./compile stralloc_copy.c ./compile stralloc_eady.c ./compile stralloc_num.c ./compile stralloc_opyb.c ./compile stralloc_opys.c ./compile stralloc_pend.c ./makelib alloc.a alloc.o alloc_re.o getln.o getln2.o \ stralloc_cat.o stralloc_catb.o stralloc_cats.o \ stralloc_copy.o stralloc_eady.o stralloc_num.o \ stralloc_opyb.o stralloc_opys.o stralloc_pend.o ( ( ./compile trylsock.c && \ ./load trylsock -lsocket -lnsl ) >/dev/null 2>&1 \ && echo -lsocket -lnsl || exit 0 ) > socket.lib rm -f trylsock.o trylsock ./load dnscache droproot.o okclient.o log.o cache.o \ query.o response.o dd.o roots.o iopause.o prot.o dns.a \ env.a alloc.a buffer.a libtai.a unix.a byte.a `cat \ socket.lib` ./compile walldns-conf.c ./load walldns-conf generic-conf.o auto_home.o buffer.a \ unix.a byte.a ./compile walldns.c ./compile server.c ./compile qlog.c ./compile cdb.c ./compile cdb_hash.c ./compile cdb_make.c ./makelib cdb.a cdb.o cdb_hash.o cdb_make.o ./load walldns server.o response.o droproot.o qlog.o \ prot.o dd.o dns.a env.a cdb.a alloc.a buffer.a unix.a \ byte.a `cat socket.lib` ./compile rbldns-conf.c ./load rbldns-conf generic-conf.o auto_home.o buffer.a \ unix.a byte.a ./compile rbldns.c ./load rbldns server.o response.o dd.o droproot.o qlog.o \ prot.o dns.a env.a libtai.a cdb.a alloc.a buffer.a unix.a \ byte.a `cat socket.lib` ./compile rbldns-data.c ./load rbldns-data cdb.a alloc.a buffer.a unix.a byte.a ./compile pickdns-conf.c ./load pickdns-conf generic-conf.o auto_home.o buffer.a \ unix.a byte.a ./compile pickdns.c ./load pickdns server.o response.o droproot.o qlog.o \ prot.o dns.a env.a libtai.a cdb.a alloc.a buffer.a unix.a \ byte.a `cat socket.lib` ./compile pickdns-data.c ./load pickdns-data cdb.a dns.a alloc.a buffer.a unix.a \ byte.a ./compile tinydns-conf.c ./load tinydns-conf generic-conf.o auto_home.o buffer.a \ unix.a byte.a ./compile tinydns.c ./compile tdlookup.c ./load tinydns server.o droproot.o tdlookup.o response.o \ qlog.o prot.o dns.a libtai.a env.a cdb.a alloc.a buffer.a \ unix.a byte.a `cat socket.lib` ./compile tinydns-data.c ./load tinydns-data cdb.a dns.a alloc.a buffer.a unix.a \ byte.a ./compile tinydns-get.c ./compile printpacket.c ./compile printrecord.c ./compile parsetype.c ./load tinydns-get tdlookup.o response.o printpacket.o \ printrecord.o parsetype.o dns.a libtai.a cdb.a buffer.a \ alloc.a unix.a byte.a ./compile tinydns-edit.c ./load tinydns-edit dns.a alloc.a buffer.a unix.a byte.a ./compile axfr-get.c ./compile timeoutread.c ./compile timeoutwrite.c ./load axfr-get iopause.o timeoutread.o timeoutwrite.o \ dns.a libtai.a alloc.a buffer.a unix.a byte.a ./compile axfrdns-conf.c ./load axfrdns-conf generic-conf.o auto_home.o buffer.a \ unix.a byte.a ./compile axfrdns.c ./load axfrdns iopause.o droproot.o tdlookup.o response.o \ qlog.o prot.o timeoutread.o timeoutwrite.o dns.a libtai.a \ alloc.a env.a cdb.a buffer.a unix.a byte.a ./compile dnsip.c ./load dnsip iopause.o dns.a env.a libtai.a alloc.a \ buffer.a unix.a byte.a `cat socket.lib` ./compile dnsipq.c ./load dnsipq iopause.o dns.a env.a libtai.a alloc.a \ buffer.a unix.a byte.a `cat socket.lib` ./compile dnsname.c ./load dnsname iopause.o dns.a env.a libtai.a alloc.a \ buffer.a unix.a byte.a `cat socket.lib` ./compile dnstxt.c ./load dnstxt iopause.o dns.a env.a libtai.a alloc.a \ buffer.a unix.a byte.a `cat socket.lib` ./compile dnsmx.c ./load dnsmx iopause.o dns.a env.a libtai.a alloc.a \ buffer.a unix.a byte.a `cat socket.lib` ./compile dnsfilter.c ./compile sgetopt.c ./compile subgetopt.c ./makelib getopt.a sgetopt.o subgetopt.o ./load dnsfilter iopause.o getopt.a dns.a env.a libtai.a \ alloc.a buffer.a unix.a byte.a `cat socket.lib` ./compile random-ip.c ./load random-ip dns.a libtai.a buffer.a unix.a byte.a ./compile dnsqr.c ./load dnsqr iopause.o printrecord.o printpacket.o \ parsetype.o dns.a env.a libtai.a buffer.a alloc.a unix.a \ byte.a `cat socket.lib` ./compile dnsq.c ./load dnsq iopause.o printrecord.o printpacket.o \ parsetype.o dns.a env.a libtai.a buffer.a alloc.a unix.a \ byte.a `cat socket.lib` ./compile dnstrace.c ./load dnstrace dd.o iopause.o printrecord.o parsetype.o \ dns.a env.a libtai.a alloc.a buffer.a unix.a byte.a `cat \ socket.lib` cat warn-auto.sh dnstracesort.sh \ | sed s}HOME}"`head -1 conf-home`"}g \ > dnstracesort chmod 755 dnstracesort ./compile cachetest.c ./load cachetest cache.o libtai.a buffer.a alloc.a unix.a \ byte.a ./compile utime.c ./load utime byte.a cat warn-auto.sh rts.sh \ | sed s}HOME}"`head -1 conf-home`"}g \ > rts chmod 755 rts ./compile install.c ./compile hier.c ./load install hier.o auto_home.o buffer.a unix.a byte.a ./compile instcheck.c ./load instcheck hier.o auto_home.o buffer.a unix.a byte.a ### package files for FNAME in dnscache dnscache-conf dnsfilter dnsip dnsipq dnsmx dnsname dnsq dnsqr dnstrace dnstracesort dnstxt do strip -s $FNAME done tar cvf djbdns.tar dnscache dnscache-conf dnsfilter dnsip dnsipq dnsmx dnsname dnsq dnsqr dnsroots.global dnstrace dnstracesort dnstracesort.sh dnstxt CHANGES README TODO VERSION