actions.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Licensed under the GNU General Public License, version 3.
  5. # See the file http://www.gnu.org/licenses/gpl.txt
  6. from pisi.actionsapi import get
  7. from pisi.actionsapi import autotools
  8. from pisi.actionsapi import pisitools
  9. from pisi.actionsapi import shelltools
  10. def setup():
  11. #pisitools.flags.add("-fstack-protector-all", "-DLDAP_DEPRECATED=1")
  12. pisitools.dosed("config-scripts/cups-sharedlibs.m4", "( -shared )", " -Wl,--as-needed\\1")
  13. # For --enable-avahi
  14. autotools.aclocal("-I config-scripts")
  15. autotools.autoconf("-I config-scripts")
  16. options = '--with-cups-user=daemon \
  17. --with-cups-group=lp \
  18. --with-system-groups=lpadmin \
  19. --with-docdir=/usr/share/cups/html \
  20. --with-dbusdir=/etc/dbus-1 \
  21. --with-optim="%s" \
  22. --with-php=/usr/bin/php-cgi \
  23. --with-cupsd-file-perm=0755 \
  24. --with-log-file-perm=0600 \
  25. --without-java \
  26. --enable-acl \
  27. --enable-ssl=yes \
  28. --enable-libpaper \
  29. --enable-debug \
  30. --enable-gssapi \
  31. --enable-dbus \
  32. --enable-pam=yes \
  33. --enable-relro \
  34. --enable-dnssd \
  35. --enable-browsing \
  36. --enable-threads \
  37. --enable-raw-printing \
  38. --enable-avahi \
  39. --disable-gnutls \
  40. --disable-launchd \
  41. --disable-libusb \
  42. --without-rcdir \
  43. --libdir=/usr/lib \
  44. --without-perl \
  45. --with-logdir=/var/log/cups \
  46. KRB5CONFIG=/usr/bin/krb5-config \
  47. --localstatedir=/var \
  48. --with-rundir=/run/cups \
  49. --with-xinetd=/etc/xinetd.d \
  50. ' % get.CFLAGS()
  51. if get.buildTYPE() == "emul32":
  52. options += ' \
  53. --enable-libusb=no \
  54. --disable-avahi \
  55. --disable-dnssd \
  56. --disable-gssapi \
  57. --disable-dbus \
  58. --bindir=/usr/bin32 \
  59. --sbindir=/usr/sbin32 \
  60. --libdir=/usr/lib32'
  61. autotools.configure(options)
  62. def build():
  63. autotools.make()
  64. #def check():
  65. #autotools.make("check")
  66. def install():
  67. if get.buildTYPE() == "emul32":
  68. # SERVERBIN is hardcoded to /usr/lib/cups, thus it overwrites 64 bit libraries
  69. autotools.rawInstall("BUILDROOT=%s SERVERBIN=%s/usr/serverbin32 install-libs" % (get.installDIR(), get.installDIR()))
  70. pisitools.domove("/usr/bin32/cups-config", "/usr/bin", "cups-config-32bit")
  71. pisitools.removeDir("/usr/bin32")
  72. pisitools.removeDir("/usr/sbin32")
  73. pisitools.removeDir("/usr/serverbin32")
  74. # remove files now part of cups-filters
  75. #pisitools.remove("/usr/share/cups/data/testprint")
  76. pisitools.removeDir("/usr/share/cups/banners")
  77. pisitools.dodir("/usr/share/cups/banners")
  78. return
  79. autotools.rawInstall("BUILDROOT=%s install-headers install-libs install-data install-exec" % get.installDIR())
  80. shelltools.chmod("%s/run/cups/certs" % get.installDIR(), 0755)
  81. pisitools.dodir("/usr/share/cups/profiles")
  82. # Serial backend needs to run as root
  83. #shelltools.chmod("%s/usr/lib/cups/backend/serial" % get.installDIR(), 0700)
  84. pisitools.dodoc("LICENSE.txt")