1 # Maintainer: Johnny Halfmoon jhalfmoon AT milksnot DOT com
2 # Contributor: Yejun Yang yejunx AT gmail DOT com
4 # Note1: The PKGBUILD and install files are based upon those created by Yejun. The rest
5 # is based upon the djbdns package I created for OpenWRT.
6 # Note2: This package contains all major bugfixes currently available. Also, all
7 # available, non-critical fixes have been applied, along with some nice-to-haves.
8 # One notable ommission: No IPv6 transport support. My advice: Better use something
9 # else than djbdnsif you really need ipv6 transport support.
10 # Note3: Unlike the original package created by Yejun, this package also installs some
11 # very useful DNS utilities, which are included in the djbdns package.
13 # rel 1: 20110309 - ported all useful djbdns patches and fixes available to this Arch Linux package
14 # rel 2: 20110314 - fixed a small typo in the .install file comments
19 pkgdesc="The DNS suite by DJ Bernstein, including dnscache, tinydns, axfrdns and dnstools."
20 arch=('i686' 'x86_64')
21 url="http://cr.yp.to/djbdns.html"
22 license=('Public domain')
23 depends=('daemontools' 'ucspi-tcp')
24 makedepends=('wget' 'gawk')
25 install=djbdns-ipv4.install
26 source=("http://cr.yp.to/djbdns/djbdns-$pkgver.tar.gz"
27 "http://milksnot.com/stuff/archlinux/$pkgname-$pkgver-1-files.tar.bz2" )
29 #generate with 'makepkg -g'
30 md5sums=('3147c5cd56832aa3b41955c7a51cbeb2'
31 'be9ce02f68831437707eb464d5fe6c97')
34 cd "$srcdir/djbdns-$pkgver"
35 # define the 'base' directory, kind of like using '--prefix'
38 # apply all our patches in the order the appear
40 find "$srcdir/files/patches" | grep '.patch$' | sort -n | while read FILE ; do
41 echo "=== applying patch file $FILE ==="
48 _EXAMPLE_DIR="usr/share/djbdns"
50 # make directory structure
53 mkdir -p usr/bin etc $_EXAMPLE_DIR && \
54 cd ${pkgdir}/$_EXAMPLE_DIR && \
55 mkdir dnscache tinydns axfrdns rbldns walldns || \
59 cd "$srcdir/djbdns-$pkgver"
60 for FILE in dnscache-conf tinydns-conf walldns-conf rbldns-conf \
61 pickdns-conf axfrdns-conf dnscache pickdns pickdns-data \
62 tinydns tinydns-data tinydns-edit tinydns-get axfrdns \
63 axfr-get rbldns rbldns-data walldns dnsfilter dnsip \
64 dnsipq dnsmx dnsname dnsnamex dnsq dnsqr dnstrace \
65 dnstracesort dnstxt random-ip; do
66 install -m755 $FILE ${pkgdir}/usr/bin || return 1
69 # install this one seperately
70 install -m644 dnsroots.global ${pkgdir}/etc || return 1
72 # install files not included with the default djbdns tarball
73 cd "$srcdir/files/support" || return 1
74 install -m644 dnsroots-update dnsqrx ${pkgdir}/usr/bin && \
75 install -m644 dnscache/* ${pkgdir}/$_EXAMPLE_DIR/dnscache && \
76 install -m644 tinydns/* ${pkgdir}/$_EXAMPLE_DIR/tinydns && \
77 install -m644 rbldns/* ${pkgdir}/$_EXAMPLE_DIR/rbldns && \
78 install -m644 axfrdns/* ${pkgdir}/$_EXAMPLE_DIR/axfrdns && \
79 install -m644 README ${pkgdir}/$_EXAMPLE_DIR || \
82 # gzip the manfiles and install them
83 cp -r "$srcdir/files/man" "$srcdir/man.tmp" && \
84 cd "$srcdir/man.tmp" && \
86 mkdir -p ${pkgdir}/usr/share/man/man{1,5,8} && \
87 install -m644 *.1.gz ${pkgdir}/usr/share/man/man1 && \
88 install -m644 *.5.gz ${pkgdir}/usr/share/man/man5 && \
89 install -m644 *.8.gz ${pkgdir}/usr/share/man/man8 || \