100 lines
3.5 KiB
Python
100 lines
3.5 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Licensed under the GNU General Public License, version 3.
|
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
|
|
|
from pisi.actionsapi import get
|
|
from pisi.actionsapi import autotools
|
|
from pisi.actionsapi import pisitools
|
|
from pisi.actionsapi import shelltools
|
|
|
|
Libdir = "/usr/lib32" if get.buildTYPE() == "emul32" else "/usr/lib"
|
|
|
|
def setup():
|
|
#pisitools.flags.add("-fstack-protector-all", "-DLDAP_DEPRECATED=1")
|
|
pisitools.dosed("config-scripts/cups-sharedlibs.m4", "( -shared )", " -Wl,--as-needed\\1")
|
|
|
|
# For --enable-avahi
|
|
autotools.aclocal("-I config-scripts")
|
|
autotools.autoconf("-f -I config-scripts")
|
|
|
|
options = '--with-cups-user=daemon \
|
|
--with-cups-group=lp \
|
|
--with-system-groups=lpadmin \
|
|
--with-docdir=/usr/share/cups/html \
|
|
--with-dbusdir=/etc/dbus-1 \
|
|
--with-optim="%s" \
|
|
--with-php=/usr/bin/php-cgi \
|
|
--with-cupsd-file-perm=0755 \
|
|
--with-log-file-perm=0600 \
|
|
--enable-acl \
|
|
--enable-libpaper \
|
|
--enable-debug \
|
|
--enable-gssapi \
|
|
--enable-dbus \
|
|
--enable-pam=yes \
|
|
--enable-relro \
|
|
--enable-browsing \
|
|
--enable-raw-printing \
|
|
--with-tls=gnutls \
|
|
--disable-libusb \
|
|
--with-rcdir=no \
|
|
--libdir=%s \
|
|
--disable-systemd \
|
|
--with-pkgconfpath=%s/pkgconfig \
|
|
--with-logdir=/var/log/cups \
|
|
KRB5CONFIG=/usr/bin/krb5-config \
|
|
--localstatedir=/var \
|
|
--with-rundir=/run/cups \
|
|
--with-xinetd=/etc/xinetd.d \
|
|
' % (get.CFLAGS(), Libdir, Libdir)
|
|
|
|
if get.buildTYPE() == "emul32":
|
|
options += ' \
|
|
--prefix=/usr \
|
|
--enable-libusb=no \
|
|
--with-dnssd=no \
|
|
--disable-gssapi \
|
|
--disable-systemd \
|
|
--disable-dbus \
|
|
--bindir=/usr/bin32 \
|
|
--sbindir=/usr/sbin32'
|
|
|
|
else:
|
|
options += " --with-dnssd=yes"
|
|
|
|
autotools.configure(options)
|
|
|
|
def build():
|
|
autotools.make()
|
|
|
|
#def check():
|
|
#autotools.make("check")
|
|
|
|
def install():
|
|
if get.buildTYPE() == "emul32":
|
|
# SERVERBIN is hardcoded to /usr/lib/cups, thus it overwrites 64 bit libraries
|
|
autotools.rawInstall("BUILDROOT=%s SERVERBIN=%s/usr/serverbin32 install-libs" % (get.installDIR(), get.installDIR()))
|
|
pisitools.domove("/usr/bin32/cups-config", "/usr/bin", "cups-config-32bit")
|
|
pisitools.removeDir("/usr/bin32")
|
|
pisitools.removeDir("/usr/sbin32")
|
|
pisitools.removeDir("/usr/serverbin32")
|
|
|
|
# remove files now part of cups-filters
|
|
#pisitools.remove("/usr/share/cups/data/testprint")
|
|
pisitools.removeDir("/usr/share/cups/banners")
|
|
pisitools.dodir("/usr/share/cups/banners")
|
|
pisitools.dosed("%s/usr/bin/cups-config-32bit" % get.installDIR(), "bin32", "bin")
|
|
return
|
|
|
|
autotools.rawInstall("BUILDROOT=%s install-headers install-libs install-data install-exec" % get.installDIR())
|
|
shelltools.chmod("%s/run/cups/certs" % get.installDIR(), 0755)
|
|
|
|
pisitools.dodir("/usr/share/cups/profiles")
|
|
|
|
# Serial backend needs to run as root
|
|
#shelltools.chmod("%s/usr/lib/cups/backend/serial" % get.installDIR(), 0700)
|
|
|
|
pisitools.dodoc("LICENSE", "README*", "CHANGES*")
|