actions.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Licensed under the GNU General Public License, version 2.
  5. # See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
  6. from pisi.actionsapi import autotools
  7. from pisi.actionsapi import libtools
  8. from pisi.actionsapi import pisitools
  9. from pisi.actionsapi import shelltools
  10. from pisi.actionsapi import get
  11. #~ WorkDir="%s-%s" % (get.srcNAME(), get.srcVERSION().replace("_", "-").upper())
  12. BINDDIR="/var/named"
  13. CHROOT="%s/chroot" % BINDDIR
  14. shelltools.export("CPPFLAGS", "%s -DDIG_SIGCHASE" % get.CXXFLAGS())
  15. def setup():
  16. shelltools.makedirs("m4")
  17. # Fix PATHs in manpages
  18. pisitools.dosed("bin/named/named.8", "/etc/named.conf", "/etc/bind/named.conf")
  19. pisitools.dosed("bin/check/named-checkconf.8", "/etc/named.conf", "/etc/bind/named.conf")
  20. pisitools.dosed("bin/rndc/rndc.8", "/etc/rndc.conf", "/etc/bind/rndc.conf")
  21. pisitools.dosed("bin/rndc/rndc.8", "/etc/rndc.key", "/etc/bind/rndc.key")
  22. # Adjust version
  23. pisitools.dosed("version", "^RELEASEVER=.*$", "RELEASEVER=Pisi Linux-1.0")
  24. libtools.libtoolize("-cf")
  25. autotools.aclocal("-I m4")
  26. autotools.autoreconf("-vfi")
  27. autotools.configure("--localstatedir=/var \
  28. --sysconfdir=/etc/bind \
  29. --with-openssl \
  30. --with-libtool \
  31. --with-pic \
  32. --with-randomdev=/dev/urandom \
  33. --enable-linux-caps \
  34. --enable-threads \
  35. --includedir=/usr/include/bind9 \
  36. --enable-ipv6 \
  37. --enable-largefile \
  38. --disable-static")
  39. pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
  40. def build():
  41. autotools.make("-j1")
  42. def install():
  43. autotools.rawInstall("DESTDIR=%s" % get.installDIR())
  44. # Prepare chroot jail
  45. for d in ("dev", "etc/bind", "etc/pki/dnssec-keys", "lib/bind", "var/tmp", "var/log", "var/run/named", "var/named"):
  46. pisitools.dodir("%s/%s" % (CHROOT, d))
  47. # At least drop a file in it
  48. shelltools.echo("%s%s/README" % (get.installDIR(), CHROOT), "Chroot jail for named")
  49. # Create directories
  50. pisitools.dodir("/var/run/named")
  51. for d in ("pri", "sec", "slaves", "data", "dynamic"):
  52. pisitools.dodir("%s/%s" % (BINDDIR, d))
  53. # Create symlinks
  54. for src, dest in [("named.ca", "%s/root.cache" % BINDDIR),
  55. ("%s/pri" % BINDDIR, "/etc/bind/pri"),
  56. ("%s/sec" % BINDDIR, "/etc/bind/sec")]:
  57. pisitools.dosym(src, dest)
  58. # Documentation
  59. pisitools.dodoc("CHANGES", "COPYRIGHT", "FAQ", "README")
  60. pisitools.dodoc("doc/misc/*", "contrib/scripts/named-bootconf.sh", "contrib/scripts/nanny.pl")
  61. pisitools.dohtml("doc/arm/*")
  62. pisitools.remove("/usr/share/doc/%s/Makefile*" % get.srcNAME())