core/cups/PKGBUILD

178 lines
6.5 KiB
Bash
Raw Normal View History

# maintainer abveritas@chakraproject.org
2010-03-14 23:48:48 +08:00
pkgbase="cups"
2010-03-14 23:48:48 +08:00
pkgname=('libcups' 'cups')
pkgver=1.6.2
pkgrel=1
arch=('x86_64')
2010-03-14 23:48:48 +08:00
license=('GPL')
url="http://www.cups.org/"
makedepends=('libtiff' 'libpng' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' 'pkg-config'
'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme' 'systemd' 'colord')
source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups-no-gcrypt.patch
cups.logrotate cups.pam
# Fedora patches
cups-no-gzip-man.patch
cups-dbus-utf8.patch
cups-no-export-ssllibs.patch
cups-direct-usb.patch
cups-eggcups.patch
cups-driverd-timeout.patch
cups-res_init.patch
cups-uri-compat.patch
cups-0755.patch
cups-hp-deviceid-oid.patch
cups-dnssd-deviceid.patch
cups-ricoh-deviceid-oid.patch
cups-systemd-socket.patch)
md5sums=('13c8b2b2336d42001abe4899766b62dc'
2013-03-24 22:08:00 +08:00
'cc4101beccb5ed6deb1c92707a575925'
2010-03-14 23:48:48 +08:00
'f861b18f4446c43918c8643dcbbd7f6d'
'96f82c38f3f540b53f3e5144900acf17'
'90c30380d4c8cd48a908cfdadae1ea24'
2013-03-24 22:08:00 +08:00
'dd97f8282cbfbab11b2dbec681d29ccb'
'9b8467a1e51d360096b70e2c3c081e6c'
'0f914ce1caab109a2ca00d407680a509'
'393d03e82a2bc19a8c1c51efef46354f'
'34627148dca8ca15882801e456c6b28d'
'8fe27d4248cacbc02824e7937cab4088'
'2c70e9b8ddc2f53fd93d9d5631b21b4a'
'a800699f5c2617454c89bd734a9bcbd0'
'87b959b630c1338c880950007dae654e'
'c933cb00a9b9cddde40ce095b3ad48a5'
'0f2c7ca20285883834b53b2e38f34edc'
'b4868b83f7f2d6ec24a1be76509379f0')
2010-03-14 23:48:48 +08:00
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
# Chakra patches
patch -p1 -i ${srcdir}/cups-no-gcrypt.patch
# Fedora patches
patch -p1 -i ${srcdir}/cups-no-gzip-man.patch
patch -p1 -i ${srcdir}/cups-dbus-utf8.patch
patch -p1 -i ${srcdir}/cups-no-export-ssllibs.patch
patch -p1 -i ${srcdir}/cups-direct-usb.patch
patch -p1 -i ${srcdir}/cups-uri-compat.patch
patch -p1 -i ${srcdir}/cups-eggcups.patch
patch -p1 -i ${srcdir}/cups-driverd-timeout.patch
patch -p1 -i ${srcdir}/cups-res_init.patch
patch -p1 -i ${srcdir}/cups-0755.patch
patch -p1 -i ${srcdir}/cups-hp-deviceid-oid.patch
patch -p1 -i ${srcdir}/cups-dnssd-deviceid.patch
patch -p1 -i ${srcdir}/cups-ricoh-deviceid-oid.patch
patch -p1 -i ${srcdir}/cups-systemd-socket.patch
# Rebuild configure script for not zipping man-pages.
2010-03-14 23:48:48 +08:00
aclocal -I config-scripts
autoconf -I config-scripts
2010-10-09 08:25:46 +08:00
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libdir=/usr/lib \
--with-systemdsystemunitdir=/usr/lib/systemd/system \
--with-logdir=/var/log/cups \
--with-docdir=/usr/share/cups/doc \
--with-cups-user=daemon \
--with-cups-group=lp \
--with-xinetd=no \
--enable-pam=yes \
--enable-raw-printing \
--enable-webif \
--enable-relro \
--enable-dbus --with-dbusdir=/etc/dbus-1 \
--enable-ssl=yes --enable-gnutls \
--enable-threads \
--enable-avahi\
--with-php=/usr/bin/php-cgi \
--with-optim="$CFLAGS"
make
}
2010-03-14 23:48:48 +08:00
package_libcups() {
pkgdesc="The CUPS Printing System - client libraries and headers"
depends=('gnutls>=2.8.3' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi')
backup=(etc/cups/client.conf)
2010-03-14 23:48:48 +08:00
cd ${srcdir}/${pkgbase}-${pkgver}
2011-07-17 00:27:33 +08:00
make BUILDROOT=${pkgdir} install-headers install-libs
2010-03-14 23:48:48 +08:00
# put this into the libs pkg to make other software find the libs(no pkg-config file included)
mkdir -p ${pkgdir}/usr/bin
install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config
# install client.conf man page and config file
install -dm755 ${pkgdir}/usr/share/man/man5
#install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5.gz ${pkgdir}/usr/share/man/man5/
install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5 ${pkgdir}/usr/share/man/man5/
install -dm755 ${pkgdir}/etc/cups
touch ${pkgdir}/etc/cups/client.conf
echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
chgrp lp ${pkgdir}/etc/cups/client.conf
2010-03-14 23:48:48 +08:00
}
package_cups() {
pkgdesc="The CUPS Printing System - daemon package"
2010-03-14 23:48:48 +08:00
install=cups.install
backup=(etc/cups/cupsd.conf
etc/cups/snmp.conf
2010-04-07 03:23:26 +08:00
etc/cups/printers.conf
etc/cups/classes.conf
etc/cups/cups-files.conf
2010-04-07 03:23:26 +08:00
etc/cups/subscriptions.conf
2010-03-14 23:48:48 +08:00
etc/dbus-1/system.d/cups.conf
etc/logrotate.d/cups
etc/pam.d/cups)
depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' 'libusb' 'dbus-core' 'systemd' 'hicolor-icon-theme')
optdepends=('xdg-utils: xdg .desktop file support')
2010-03-14 23:48:48 +08:00
cd ${srcdir}/${pkgbase}-${pkgver}
make BUILDROOT=${pkgdir} install-data install-exec
2010-03-14 23:48:48 +08:00
# this one we ship in the libcups pkg
rm -f ${pkgdir}/usr/bin/cups-config
2010-03-14 23:48:48 +08:00
# kill the sysv stuff
rm -rf ${pkgdir}/etc/rc*.d
rm -rf ${pkgdir}/etc/init.d
install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups
install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups
2010-03-14 23:48:48 +08:00
# fix perms on /var/spool and /etc
chmod 755 ${pkgdir}/var/spool
chmod 755 ${pkgdir}/etc
2010-03-14 23:48:48 +08:00
2010-04-07 03:23:26 +08:00
# install ssl directory where to store the certs, solves some samba issues
install -dm700 -g lp ${pkgdir}/etc/cups/ssl
# remove directory from package, we create it in cups rc.d file
rm -rf ${pkgdir}/var/run
2010-04-07 03:23:26 +08:00
# install some more configuration files that will get filled by cupsd
touch ${pkgdir}/etc/cups/printers.conf
touch ${pkgdir}/etc/cups/classes.conf
touch ${pkgdir}/etc/cups/subscriptions.conf
chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,subscriptions.conf}
2010-04-07 03:23:26 +08:00
2010-03-14 23:48:48 +08:00
# fix .desktop file
sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop
2010-03-14 23:48:48 +08:00
# compress some driver files, adopted from Fedora
find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
# remove client.conf man page
rm -f ${pkgdir}/usr/share/man/man5/client.conf.5
# remove files now part of cups-filters
rm -v ${pkgdir}/usr/share/cups/banners/*
rm -v ${pkgdir}/usr/share/cups/data/testprint
# comment out all conversion rules which use any of the removed filters
perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs
# Provide native service
ln -s cups.service "$pkgdir/usr/lib/systemd/system/cupsd.service"
2010-03-14 23:48:48 +08:00
}