updated on Sat Jan 14 12:12:45 UTC 2012
[aur-mirror.git] / djbdns-ipv4 / PKGBUILD
blobd50e7ae51d1120f090e88f2b208e980ea20566d6
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
16 pkgname=djbdns-ipv4
17 pkgver=1.05
18 pkgrel=2
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')
33 build() {
34   cd "$srcdir/djbdns-$pkgver"
35   # define the 'base' directory, kind of like using '--prefix'
36   echo /usr > conf-home
38   # apply all our patches in the order the appear
39   echo "patching..."
40   find "$srcdir/files/patches" | grep '.patch$' | sort -n | while read FILE ; do
41     echo "=== applying patch file $FILE ==="
42     patch -p1 < "$FILE"
43   done
44   make || return 1
47 package() {
48   _EXAMPLE_DIR="usr/share/djbdns"
50   # make directory structure
51   mkdir -p ${pkgdir} &&
52   cd ${pkgdir} && \
53   mkdir -p usr/bin etc $_EXAMPLE_DIR && \
54   cd ${pkgdir}/$_EXAMPLE_DIR && \
55   mkdir dnscache tinydns axfrdns rbldns walldns || \
56   return 1
58   # install binaries
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
67   done
69   # install this one seperately
70   install -m644 dnsroots.global ${pkgdir}/etc || return 1
71     
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 || \
80   return 1
82   # gzip the manfiles and install them
83   cp -r "$srcdir/files/man" "$srcdir/man.tmp" && \
84   cd "$srcdir/man.tmp" && \
85   gzip *.1 *.5 *.8 && \
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 || \
90   return 1