summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD165
1 files changed, 94 insertions, 71 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 842a96e75e8a..9bbdb1ad8faa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,74 +2,96 @@
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname="cups-nosystemd"
-pkgver=2.0.3
+pkgver=1.6.3
pkgrel=1
pkgdesc="The CUPS Printing System - daemon package"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
-groups=('eudev-base')
-depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord'
- 'dbus' 'hicolor-icon-theme' 'libpaper')
-makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'xdg-utils' 'krb5' 'xinetd'
- 'gzip' 'autoconf' 'avahi' 'gnutls' 'inetutils')
-optdepends=('xdg-utils: xdg .desktop file support'
- 'cups-openrc: cups openrc initscript')
+depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' 'libusb' 'dbus' 'hicolor-icon-theme')
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'xinetd' 'gzip' 'autoconf' 'avahi')
+optdepends=('xdg-utils: xdg .desktop file support')
provides=("cups=${pkgver}")
-conflicts=('cups' 'cups-eudev')
-replaces=('cups' 'cups-eudev')
+conflicts=('cups')
+replaces=('cups')
install=cups-nosystemd.install
backup=(etc/cups/cupsd.conf
etc/cups/snmp.conf
etc/cups/printers.conf
etc/cups/classes.conf
- etc/cups/cups-files.conf
+ etc/cups/cups-files.conf
etc/cups/subscriptions.conf
etc/dbus-1/system.d/cups.conf
etc/logrotate.d/cups
- etc/pam.d/cups)
- #etc/xinetd.d/cups-lpd)
-source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2
+ etc/pam.d/cups
+ etc/xinetd.d/cups-lpd)
+source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.gz
cups cups.logrotate cups.pam
# improve build and linking
cups-no-export-ssllibs.patch
cups-no-gcrypt.patch
cups-no-gzip-man.patch
- cups-1.6.0-fix-install-perms.patch
- cups-1.6.2-statedir.patch
- )
-md5sums=('8d98b85edbdab7ab03739c9622f570e8'
+ # FC
+ cups-dbus-utf8.patch
+ cups-res_init.patch
+ cups-avahi-address.patch
+ cups-enum-all.patch
+ # Gentoo
+ cups-1.6.0-fix-install-perms.patch
+ cups-1.6.2-statedir.patch
+ # Debian
+ cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
+ get-ppd-file-for-statically-configured-ipp-shared-queues.patch
+ ppd-poll-with-client-conf.patch)
+md5sums=('3c50d396fef2ba721224fe65880fe3c3'
'9657daa21760bb0b5fa3d8b51d5e01a1'
- 'fc8286f185e2cc5f7e1f6843bf193e2b'
+ 'f861b18f4446c43918c8643dcbbd7f6d'
'96f82c38f3f540b53f3e5144900acf17'
'3ba9e3410df1dc3015463d615ef91b3b'
- '1beb4896f217bc241bc08a422274ec0c'
+ 'cc4101beccb5ed6deb1c92707a575925'
'90c30380d4c8cd48a908cfdadae1ea24'
+ 'a2a88b3a3257c3b5fd3edcc169e6aca4'
+ '8fe27d4248cacbc02824e7937cab4088'
+ 'df0c367c0022e3c7d8e01827e8a6c5e7'
+ 'f30c2a161caaf27854581507cde8cac6'
'5117f65342fcc69c6a506529e4daca9e'
- '451609db34f95209d64c38474de27ce1')
+ '9247e218eea94ebda0aebc8ee0e77db8'
+ 'cb58bf4e0b80eaee383712e5c84a1ab4'
+ 'b578bcd17949a7203237ba1e31f78ef9'
+ '0becd6ab8782b97f19a02c1dc174c75e')
prepare() {
cd cups-${pkgver}
- # improve build and linking
# Do not export SSL libs in cups-config
- patch -Np1 -i "$srcdir"/cups-no-export-ssllibs.patch
- # https://www.cups.org/str.php?L4399
- patch -Np1 -i "$srcdir"/cups-no-gcrypt.patch
+ patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch"
+
+ patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch"
# don't zip man pages in make install, let makepkg do that / Fedora
- patch -Np1 -i "$srcdir"/cups-no-gzip-man.patch
+ patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch
- # move /var/run -> /run for pid file
- patch -Np1 -i "$srcdir"/cups-1.6.2-statedir.patch
+ # various bugfixes (upstream reports/SVN or Fedora/Debian
- # fix permissions on some files (by Gentoo)
- patch -Np0 -i "$srcdir"/cups-1.6.0-fix-install-perms.patch
+ # Ensure attributes are valid UTF-8 in dbus notifier
+ patch -Np1 -i ${srcdir}/cups-dbus-utf8.patch
- # set MaxLogSize to 0 to prevent using cups internal log rotation
- sed -i -e '5i\ ' conf/cupsd.conf.in
- sed -i -e '6i# Disable cups internal logging - use logrotate instead' conf/cupsd.conf.in
- sed -i -e '7iMaxLogSize 0' conf/cupsd.conf.in
+ # Fixed crash which sometimes happens on shutdown of the CUPS daemon, caused by a wrong shutdown sequence for shutting down the Avahi threaded poll.
+ patch -Np1 -i ${srcdir}/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
+ # Applications could not get the PPD file for statically-configured IPP-shared print queues
+ patch -Np1 -i ${srcdir}/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
+ # If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server Bug: http://www.cups.org/str.php?L2763
+ patch -Np1 -i ${srcdir}/ppd-poll-with-client-conf.patch
+ # fix permissions on some files - alternative: cups-0755.patch by FC
+ patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
+ # move /var/run -> /run for pid file
+ patch -Np1 -i ${srcdir}/cups-1.6.2-statedir.patch
+ # Re-initialise the resolver on failure in httpAddrGetList()
+ patch -Np1 -i ${srcdir}/cups-res_init.patch
+ # Use IP address when resolving DNSSD URIs
+ patch -Np1 -i ${srcdir}/cups-avahi-address.patch
+ # Return from cupsEnumDests() once all records have been returned.
+ patch -Np1 -i ${srcdir}/cups-enum-all.patch
# Rebuild configure script for not zipping man-pages.
aclocal -I config-scripts
@@ -78,10 +100,7 @@ prepare() {
build() {
cd cups-${pkgver}
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--sbindir=/usr/bin \
--libdir=/usr/lib \
--with-logdir=/var/log/cups \
@@ -91,59 +110,63 @@ build() {
--enable-pam=yes \
--enable-raw-printing \
--enable-dbus --with-dbusdir=/etc/dbus-1 \
- --enable-ssl=yes \
+ --enable-ssl=yes --enable-gnutls \
--enable-threads \
- --enable-avahi \
- --enable-libpaper \
+ --enable-avahi\
--with-php=/usr/bin/php-cgi \
--with-optim="$CFLAGS"
make
}
+check() {
+ cd "$srcdir/cups-$pkgver"
+ #httpAddrGetList(workstation64): FAIL
+ #1 TESTS FAILED!
+ #make[1]: *** [testhttp] Error 1
+ make -k check || /bin/true
+}
+
package() {
- cd "$srcdir"/cups-${pkgver}
- make BUILDROOT="$pkgdir" install-data install-exec
+ cd ${srcdir}/cups-${pkgver}
+ make BUILDROOT=${pkgdir} install-data install-exec
# this one we ship in the libcups pkg
- rm -f "$pkgdir"/usr/bin/cups-config
+ rm -f ${pkgdir}/usr/bin/cups-config
# kill the sysv stuff
- rm -rf "$pkgdir"/etc/rc*.d
- rm -rf "$pkgdir"/etc/init.d
- install -D -m755 ../cups "$pkgdir"/etc/rc.d/cupsd
- install -D -m644 ../cups.logrotate "$pkgdir"/etc/logrotate.d/cups
- install -D -m644 ../cups.pam "$pkgdir"/etc/pam.d/cups
-
+ rm -rf ${pkgdir}/etc/rc*.d
+ rm -rf ${pkgdir}/etc/init.d
+ install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd
+ install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups
+ install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups
+
# fix perms on /var/spool and /etc
- chmod 755 "$pkgdir"/var/spool
- chmod 755 "$pkgdir"/etc
+ chmod 755 ${pkgdir}/var/spool
+ chmod 755 ${pkgdir}/etc
# install ssl directory where to store the certs, solves some samba issues
- install -dm700 -g lp "$pkgdir"/etc/cups/ssl
+ install -dm700 -g lp ${pkgdir}/etc/cups/ssl
# remove directory from package, we create it in cups rc.d file
- rm -rf "$pkgdir"/run
+ rm -rf ${pkgdir}/var/run
# 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 -R lp "$pkgdir"/etc/cups
-
+ 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}
+
# fix .desktop file
- sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' "$pkgdir"/usr/share/applications/cups.desktop
-
+ sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop
+
# compress some driver files, adopted from Fedora
- find "$pkgdir"/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
-
+ 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
-
+ 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
+ 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:' "$pkgdir"/usr/share/cups/mime/mime.convs
-
- # comment out unnecessary PageLogFormat entry
- sed -i -e 's:PageLogFormat:#PageLogFormat:' "$pkgdir"/etc/cups/cupsd.conf*
+ perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' ${pkgdir}/usr/share/cups/mime/mime.convs
}