[arch-commits] Commit in cups/repos (22 files)
Andreas Radke
andyrtr at archlinux.org
Thu Apr 9 21:09:17 UTC 2015
Date: Thursday, April 9, 2015 @ 23:09:17
Author: andyrtr
Revision: 236002
archrelease: copy trunk to staging-i686, staging-x86_64
Added:
cups/repos/staging-i686/
cups/repos/staging-i686/PKGBUILD
(from rev 236001, cups/trunk/PKGBUILD)
cups/repos/staging-i686/cups-1.6.0-fix-install-perms.patch
(from rev 236001, cups/trunk/cups-1.6.0-fix-install-perms.patch)
cups/repos/staging-i686/cups-1.6.2-statedir.patch
(from rev 236001, cups/trunk/cups-1.6.2-statedir.patch)
cups/repos/staging-i686/cups-busy-loop.patch
(from rev 236001, cups/trunk/cups-busy-loop.patch)
cups/repos/staging-i686/cups-no-export-ssllibs.patch
(from rev 236001, cups/trunk/cups-no-export-ssllibs.patch)
cups/repos/staging-i686/cups-no-gcrypt.patch
(from rev 236001, cups/trunk/cups-no-gcrypt.patch)
cups/repos/staging-i686/cups-no-gzip-man.patch
(from rev 236001, cups/trunk/cups-no-gzip-man.patch)
cups/repos/staging-i686/cups.install
(from rev 236001, cups/trunk/cups.install)
cups/repos/staging-i686/cups.logrotate
(from rev 236001, cups/trunk/cups.logrotate)
cups/repos/staging-i686/cups.pam
(from rev 236001, cups/trunk/cups.pam)
cups/repos/staging-x86_64/
cups/repos/staging-x86_64/PKGBUILD
(from rev 236001, cups/trunk/PKGBUILD)
cups/repos/staging-x86_64/cups-1.6.0-fix-install-perms.patch
(from rev 236001, cups/trunk/cups-1.6.0-fix-install-perms.patch)
cups/repos/staging-x86_64/cups-1.6.2-statedir.patch
(from rev 236001, cups/trunk/cups-1.6.2-statedir.patch)
cups/repos/staging-x86_64/cups-busy-loop.patch
(from rev 236001, cups/trunk/cups-busy-loop.patch)
cups/repos/staging-x86_64/cups-no-export-ssllibs.patch
(from rev 236001, cups/trunk/cups-no-export-ssllibs.patch)
cups/repos/staging-x86_64/cups-no-gcrypt.patch
(from rev 236001, cups/trunk/cups-no-gcrypt.patch)
cups/repos/staging-x86_64/cups-no-gzip-man.patch
(from rev 236001, cups/trunk/cups-no-gzip-man.patch)
cups/repos/staging-x86_64/cups.install
(from rev 236001, cups/trunk/cups.install)
cups/repos/staging-x86_64/cups.logrotate
(from rev 236001, cups/trunk/cups.logrotate)
cups/repos/staging-x86_64/cups.pam
(from rev 236001, cups/trunk/cups.pam)
---------------------------------------------------+
staging-i686/PKGBUILD | 176 ++++++++++++++++++++
staging-i686/cups-1.6.0-fix-install-perms.patch | 25 ++
staging-i686/cups-1.6.2-statedir.patch | 12 +
staging-i686/cups-busy-loop.patch | 35 +++
staging-i686/cups-no-export-ssllibs.patch | 12 +
staging-i686/cups-no-gcrypt.patch | 11 +
staging-i686/cups-no-gzip-man.patch | 18 ++
staging-i686/cups.install | 28 +++
staging-i686/cups.logrotate | 5
staging-i686/cups.pam | 3
staging-x86_64/PKGBUILD | 176 ++++++++++++++++++++
staging-x86_64/cups-1.6.0-fix-install-perms.patch | 25 ++
staging-x86_64/cups-1.6.2-statedir.patch | 12 +
staging-x86_64/cups-busy-loop.patch | 35 +++
staging-x86_64/cups-no-export-ssllibs.patch | 12 +
staging-x86_64/cups-no-gcrypt.patch | 11 +
staging-x86_64/cups-no-gzip-man.patch | 18 ++
staging-x86_64/cups.install | 28 +++
staging-x86_64/cups.logrotate | 5
staging-x86_64/cups.pam | 3
20 files changed, 650 insertions(+)
Copied: cups/repos/staging-i686/PKGBUILD (from rev 236001, cups/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD (rev 0)
+++ staging-i686/PKGBUILD 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,176 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+
+pkgbase="cups"
+pkgname=('libcups' 'cups')
+pkgver=2.0.2
+pkgrel=4
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.cups.org/"
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
+ 'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus'
+ 'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind')
+source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig}
+ 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.2-statedir.patch
+ cups-1.6.0-fix-install-perms.patch
+ # bugfixes
+ cups-busy-loop.patch)
+md5sums=('6e0ea72dbafcf5baaa1cf4178e71096d'
+ 'SKIP'
+ 'fc8286f185e2cc5f7e1f6843bf193e2b'
+ '96f82c38f3f540b53f3e5144900acf17'
+ '3ba9e3410df1dc3015463d615ef91b3b'
+ '1beb4896f217bc241bc08a422274ec0c'
+ '90c30380d4c8cd48a908cfdadae1ea24'
+ '451609db34f95209d64c38474de27ce1'
+ '5117f65342fcc69c6a506529e4daca9e'
+ '68c70bda07ccb8caaa7a2df485a16092')
+validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security at cups.org>
+
+prepare() {
+
+ cd ${pkgbase}-${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
+ # don't zip man pages in make install, let makepkg do that / Fedora
+ 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
+ # fix permissions on some files (by Gentoo) - alternative: cups-0755.patch by FC
+ patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
+
+ # bug fixes
+ # Avoid busy loop in cupsd when connection is closed after request Fedora ##1179596 - may solve FS#42666
+ patch -Np1 -i ${srcdir}/cups-busy-loop.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
+
+ # Rebuild configure script for not zipping man-pages.
+ aclocal -I config-scripts
+ autoconf -I config-scripts
+}
+
+build() {
+ cd ${pkgbase}-${pkgver}
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --libdir=/usr/lib \
+ --with-logdir=/var/log/cups \
+ --with-docdir=/usr/share/cups/doc \
+ --with-cups-user=daemon \
+ --with-cups-group=lp \
+ --enable-pam=yes \
+ --enable-raw-printing \
+ --enable-dbus --with-dbusdir=/etc/dbus-1 \
+ --enable-ssl=yes \
+ --enable-threads \
+ --enable-avahi\
+ --enable-libpaper \
+ --with-php=/usr/bin/php-cgi \
+ --with-optim="$CFLAGS" #--help
+ make
+}
+
+check() {
+ cd ${pkgbase}-${pkgver}
+ #make -k check || /bin/true
+}
+
+package_libcups() {
+pkgdesc="The CUPS Printing System - client libraries and headers"
+depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb')
+backup=(etc/cups/client.conf)
+
+ cd ${pkgbase}-${pkgver}
+ make BUILDROOT=${pkgdir} install-headers install-libs
+ # 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 ${pkgdir}/usr/share/man/man5/
+ install -dm755 -g lp ${pkgdir}/etc/cups
+ touch ${pkgdir}/etc/cups/client.conf
+ echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
+ echo "ServerName /run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
+ chgrp -R lp ${pkgdir}/etc/cups
+}
+
+package_cups() {
+pkgdesc="The CUPS Printing System - daemon package"
+install=cups.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/subscriptions.conf
+ etc/dbus-1/system.d/cups.conf
+ etc/logrotate.d/cups
+ etc/pam.d/cups)
+depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord'
+ 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
+optdepends=('xdg-utils: xdg .desktop file support')
+
+ cd ${pkgbase}-${pkgver}
+ make BUILDROOT=${pkgdir} install-data install-exec
+
+ # this one we ship in the libcups pkg
+ 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 -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
+
+ # install ssl directory where to store the certs, solves some samba issues
+ install -dm700 -g lp ${pkgdir}/etc/cups/ssl
+ # remove directory from package, it will be recreated at each server start
+ rm -rf ${pkgdir}/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
+
+ # fix .desktop file
+ 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
+
+ # 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:' $pkgdir/usr/share/cups/mime/mime.convs
+
+
+ # comment out unnecessary PageLogFormat entry
+ sed -i -e 's:PageLogFormat:#PageLogFormat:' $pkgdir/etc/cups/cupsd.conf*
+}
Copied: cups/repos/staging-i686/cups-1.6.0-fix-install-perms.patch (from rev 236001, cups/trunk/cups-1.6.0-fix-install-perms.patch)
===================================================================
--- staging-i686/cups-1.6.0-fix-install-perms.patch (rev 0)
+++ staging-i686/cups-1.6.0-fix-install-perms.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,25 @@
+Index: Makedefs.in
+===================================================================
+--- Makedefs.in (Revision 10520)
++++ Makedefs.in (Arbeitskopie)
+@@ -40,14 +40,14 @@
+ # Installation programs...
+ #
+
+-INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@
++INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
++INSTALL_COMPDATA = $(INSTALL) -c -m 644 @INSTALL_GZIP@
+ INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
+-INSTALL_DATA = $(INSTALL) -c -m 444
++INSTALL_DATA = $(INSTALL) -c -m 644
+ INSTALL_DIR = $(INSTALL) -d
+-INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_MAN = $(INSTALL) -c -m 444
+-INSTALL_SCRIPT = $(INSTALL) -c -m 555
++INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
++INSTALL_MAN = $(INSTALL) -c -m 644
++INSTALL_SCRIPT = $(INSTALL) -c -m 755
+
+ #
+ # Default user, group, and system groups for the scheduler...
Copied: cups/repos/staging-i686/cups-1.6.2-statedir.patch (from rev 236001, cups/trunk/cups-1.6.2-statedir.patch)
===================================================================
--- staging-i686/cups-1.6.2-statedir.patch (rev 0)
+++ staging-i686/cups-1.6.2-statedir.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,12 @@
+diff -ruN cups-1.6.2.orig/config-scripts/cups-directories.m4 cups-1.6.2/config-scripts/cups-directories.m4
+--- cups-1.6.2.orig/config-scripts/cups-directories.m4 2012-10-01 03:55:23.000000000 +0200
++++ cups-1.6.2/config-scripts/cups-directories.m4 2013-04-02 00:11:41.000000000 +0200
+@@ -420,7 +420,7 @@
+ ;;
+ *)
+ # All others
+- CUPS_STATEDIR="$localstatedir/run/cups"
++ CUPS_STATEDIR="/run/cups"
+ ;;
+ esac])
+ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
Copied: cups/repos/staging-i686/cups-busy-loop.patch (from rev 236001, cups/trunk/cups-busy-loop.patch)
===================================================================
--- staging-i686/cups-busy-loop.patch (rev 0)
+++ staging-i686/cups-busy-loop.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,35 @@
+diff -up cups-2.0.2/scheduler/client.c.busy-loop cups-2.0.2/scheduler/client.c
+--- cups-2.0.2/scheduler/client.c.busy-loop 2014-08-28 16:37:22.000000000 +0100
++++ cups-2.0.2/scheduler/client.c 2015-03-16 17:24:32.506232983 +0000
+@@ -585,6 +585,17 @@ cupsdReadClient(cupsd_client_t *con) /*
+ * connection and we need to shut it down...
+ */
+
++ if (!httpGetReady(con->http) && recv(httpGetFd(con->http), buf, 1, MSG_PEEK) < 1)
++ {
++ /*
++ * Connection closed...
++ */
++
++ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on EOF.");
++ cupsdCloseClient(con);
++ return;
++ }
++
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on unexpected HTTP read state %s.",
+ httpStateString(httpGetState(con->http)));
+ cupsdCloseClient(con);
+@@ -1979,12 +1990,6 @@ cupsdReadClient(cupsd_client_t *con) /*
+
+ if (httpGetState(con->http) == HTTP_STATE_POST_SEND)
+ {
+- /*
+- * Don't listen for activity until we decide to do something with this...
+- */
+-
+- cupsdAddSelect(httpGetFd(con->http), NULL, NULL, con);
+-
+ if (con->file >= 0)
+ {
+ fstat(con->file, &filestats);
+
Copied: cups/repos/staging-i686/cups-no-export-ssllibs.patch (from rev 236001, cups/trunk/cups-no-export-ssllibs.patch)
===================================================================
--- staging-i686/cups-no-export-ssllibs.patch (rev 0)
+++ staging-i686/cups-no-export-ssllibs.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,12 @@
+diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4
+--- cups-1.6.2/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200
++++ cups-1.6.2/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200
+@@ -180,7 +180,7 @@
+ AC_SUBST(SSLFLAGS)
+ AC_SUBST(SSLLIBS)
+
+-EXPORT_SSLLIBS="$SSLLIBS"
++EXPORT_SSLLIBS=""
+ AC_SUBST(EXPORT_SSLLIBS)
+
+ dnl
Copied: cups/repos/staging-i686/cups-no-gcrypt.patch (from rev 236001, cups/trunk/cups-no-gcrypt.patch)
===================================================================
--- staging-i686/cups-no-gcrypt.patch (rev 0)
+++ staging-i686/cups-no-gcrypt.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,11 @@
+diff -up cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry cups-2.0rc1/config-scripts/cups-ssl.m4
+--- cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry 2014-09-12 15:41:23.324760213 +0200
++++ cups-2.0rc1/config-scripts/cups-ssl.m4 2014-09-12 15:43:13.124203363 +0200
+@@ -60,7 +60,6 @@ if test x$enable_ssl != xno; then
+ dnl Then look for GNU TLS...
+ if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
+ AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
+- AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
+ if $PKGCONFIG --exists gnutls; then
+ have_ssl=1
+ SSLLIBS=`$PKGCONFIG --libs gnutls`
Copied: cups/repos/staging-i686/cups-no-gzip-man.patch (from rev 236001, cups/trunk/cups-no-gzip-man.patch)
===================================================================
--- staging-i686/cups-no-gzip-man.patch (rev 0)
+++ staging-i686/cups-no-gzip-man.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,18 @@
+diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/config-scripts/cups-manpages.m4
+--- cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man 2011-05-12 07:21:56.000000000 +0200
++++ cups-1.5b1/config-scripts/cups-manpages.m4 2011-05-23 17:25:50.000000000 +0200
+@@ -69,10 +69,10 @@ case "$uname" in
+ ;;
+ Linux* | GNU* | Darwin*)
+ # Linux, GNU Hurd, and OS X
+- MAN1EXT=1.gz
+- MAN5EXT=5.gz
+- MAN7EXT=7.gz
+- MAN8EXT=8.gz
++ MAN1EXT=1
++ MAN5EXT=5
++ MAN7EXT=7
++ MAN8EXT=8
+ MAN8DIR=8
+ ;;
+ *)
Copied: cups/repos/staging-i686/cups.install (from rev 236001, cups/trunk/cups.install)
===================================================================
--- staging-i686/cups.install (rev 0)
+++ staging-i686/cups.install 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,28 @@
+post_install() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+ echo ">> If you use an HTTPS connection to CUPS, the first time you access"
+ echo ">> the interface it may take a very long time before the site comes up."
+ echo ">> This is because the first request triggers the generation of the CUPS"
+ echo ">> SSL certificates which can be a very time-consuming job."
+}
+
+post_upgrade() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+
+ if [ "`vercmp $2 2.0.0-1`" -lt 0 ]; then
+ # important upgrade notice
+ echo "> systemd unit names have been renamed"
+ echo "> you should systemctl stop and disable cups.service and"
+ echo "> systemctl daemon-reload, start and enable org.cups.cupsd.service"
+ fi
+}
+
+post_remove() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+}
Copied: cups/repos/staging-i686/cups.logrotate (from rev 236001, cups/trunk/cups.logrotate)
===================================================================
--- staging-i686/cups.logrotate (rev 0)
+++ staging-i686/cups.logrotate 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,5 @@
+/var/log/cups/*_log {
+ missingok
+ notifempty
+ sharedscripts
+}
Copied: cups/repos/staging-i686/cups.pam (from rev 236001, cups/trunk/cups.pam)
===================================================================
--- staging-i686/cups.pam (rev 0)
+++ staging-i686/cups.pam 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,3 @@
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
Copied: cups/repos/staging-x86_64/PKGBUILD (from rev 236001, cups/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,176 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+
+pkgbase="cups"
+pkgname=('libcups' 'cups')
+pkgver=2.0.2
+pkgrel=4
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.cups.org/"
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
+ 'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus'
+ 'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind')
+source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig}
+ 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.2-statedir.patch
+ cups-1.6.0-fix-install-perms.patch
+ # bugfixes
+ cups-busy-loop.patch)
+md5sums=('6e0ea72dbafcf5baaa1cf4178e71096d'
+ 'SKIP'
+ 'fc8286f185e2cc5f7e1f6843bf193e2b'
+ '96f82c38f3f540b53f3e5144900acf17'
+ '3ba9e3410df1dc3015463d615ef91b3b'
+ '1beb4896f217bc241bc08a422274ec0c'
+ '90c30380d4c8cd48a908cfdadae1ea24'
+ '451609db34f95209d64c38474de27ce1'
+ '5117f65342fcc69c6a506529e4daca9e'
+ '68c70bda07ccb8caaa7a2df485a16092')
+validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security at cups.org>
+
+prepare() {
+
+ cd ${pkgbase}-${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
+ # don't zip man pages in make install, let makepkg do that / Fedora
+ 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
+ # fix permissions on some files (by Gentoo) - alternative: cups-0755.patch by FC
+ patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
+
+ # bug fixes
+ # Avoid busy loop in cupsd when connection is closed after request Fedora ##1179596 - may solve FS#42666
+ patch -Np1 -i ${srcdir}/cups-busy-loop.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
+
+ # Rebuild configure script for not zipping man-pages.
+ aclocal -I config-scripts
+ autoconf -I config-scripts
+}
+
+build() {
+ cd ${pkgbase}-${pkgver}
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --libdir=/usr/lib \
+ --with-logdir=/var/log/cups \
+ --with-docdir=/usr/share/cups/doc \
+ --with-cups-user=daemon \
+ --with-cups-group=lp \
+ --enable-pam=yes \
+ --enable-raw-printing \
+ --enable-dbus --with-dbusdir=/etc/dbus-1 \
+ --enable-ssl=yes \
+ --enable-threads \
+ --enable-avahi\
+ --enable-libpaper \
+ --with-php=/usr/bin/php-cgi \
+ --with-optim="$CFLAGS" #--help
+ make
+}
+
+check() {
+ cd ${pkgbase}-${pkgver}
+ #make -k check || /bin/true
+}
+
+package_libcups() {
+pkgdesc="The CUPS Printing System - client libraries and headers"
+depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb')
+backup=(etc/cups/client.conf)
+
+ cd ${pkgbase}-${pkgver}
+ make BUILDROOT=${pkgdir} install-headers install-libs
+ # 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 ${pkgdir}/usr/share/man/man5/
+ install -dm755 -g lp ${pkgdir}/etc/cups
+ touch ${pkgdir}/etc/cups/client.conf
+ echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
+ echo "ServerName /run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
+ chgrp -R lp ${pkgdir}/etc/cups
+}
+
+package_cups() {
+pkgdesc="The CUPS Printing System - daemon package"
+install=cups.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/subscriptions.conf
+ etc/dbus-1/system.d/cups.conf
+ etc/logrotate.d/cups
+ etc/pam.d/cups)
+depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord'
+ 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
+optdepends=('xdg-utils: xdg .desktop file support')
+
+ cd ${pkgbase}-${pkgver}
+ make BUILDROOT=${pkgdir} install-data install-exec
+
+ # this one we ship in the libcups pkg
+ 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 -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
+
+ # install ssl directory where to store the certs, solves some samba issues
+ install -dm700 -g lp ${pkgdir}/etc/cups/ssl
+ # remove directory from package, it will be recreated at each server start
+ rm -rf ${pkgdir}/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
+
+ # fix .desktop file
+ 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
+
+ # 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:' $pkgdir/usr/share/cups/mime/mime.convs
+
+
+ # comment out unnecessary PageLogFormat entry
+ sed -i -e 's:PageLogFormat:#PageLogFormat:' $pkgdir/etc/cups/cupsd.conf*
+}
Copied: cups/repos/staging-x86_64/cups-1.6.0-fix-install-perms.patch (from rev 236001, cups/trunk/cups-1.6.0-fix-install-perms.patch)
===================================================================
--- staging-x86_64/cups-1.6.0-fix-install-perms.patch (rev 0)
+++ staging-x86_64/cups-1.6.0-fix-install-perms.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,25 @@
+Index: Makedefs.in
+===================================================================
+--- Makedefs.in (Revision 10520)
++++ Makedefs.in (Arbeitskopie)
+@@ -40,14 +40,14 @@
+ # Installation programs...
+ #
+
+-INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@
++INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
++INSTALL_COMPDATA = $(INSTALL) -c -m 644 @INSTALL_GZIP@
+ INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
+-INSTALL_DATA = $(INSTALL) -c -m 444
++INSTALL_DATA = $(INSTALL) -c -m 644
+ INSTALL_DIR = $(INSTALL) -d
+-INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+-INSTALL_MAN = $(INSTALL) -c -m 444
+-INSTALL_SCRIPT = $(INSTALL) -c -m 555
++INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
++INSTALL_MAN = $(INSTALL) -c -m 644
++INSTALL_SCRIPT = $(INSTALL) -c -m 755
+
+ #
+ # Default user, group, and system groups for the scheduler...
Copied: cups/repos/staging-x86_64/cups-1.6.2-statedir.patch (from rev 236001, cups/trunk/cups-1.6.2-statedir.patch)
===================================================================
--- staging-x86_64/cups-1.6.2-statedir.patch (rev 0)
+++ staging-x86_64/cups-1.6.2-statedir.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,12 @@
+diff -ruN cups-1.6.2.orig/config-scripts/cups-directories.m4 cups-1.6.2/config-scripts/cups-directories.m4
+--- cups-1.6.2.orig/config-scripts/cups-directories.m4 2012-10-01 03:55:23.000000000 +0200
++++ cups-1.6.2/config-scripts/cups-directories.m4 2013-04-02 00:11:41.000000000 +0200
+@@ -420,7 +420,7 @@
+ ;;
+ *)
+ # All others
+- CUPS_STATEDIR="$localstatedir/run/cups"
++ CUPS_STATEDIR="/run/cups"
+ ;;
+ esac])
+ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
Copied: cups/repos/staging-x86_64/cups-busy-loop.patch (from rev 236001, cups/trunk/cups-busy-loop.patch)
===================================================================
--- staging-x86_64/cups-busy-loop.patch (rev 0)
+++ staging-x86_64/cups-busy-loop.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,35 @@
+diff -up cups-2.0.2/scheduler/client.c.busy-loop cups-2.0.2/scheduler/client.c
+--- cups-2.0.2/scheduler/client.c.busy-loop 2014-08-28 16:37:22.000000000 +0100
++++ cups-2.0.2/scheduler/client.c 2015-03-16 17:24:32.506232983 +0000
+@@ -585,6 +585,17 @@ cupsdReadClient(cupsd_client_t *con) /*
+ * connection and we need to shut it down...
+ */
+
++ if (!httpGetReady(con->http) && recv(httpGetFd(con->http), buf, 1, MSG_PEEK) < 1)
++ {
++ /*
++ * Connection closed...
++ */
++
++ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on EOF.");
++ cupsdCloseClient(con);
++ return;
++ }
++
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on unexpected HTTP read state %s.",
+ httpStateString(httpGetState(con->http)));
+ cupsdCloseClient(con);
+@@ -1979,12 +1990,6 @@ cupsdReadClient(cupsd_client_t *con) /*
+
+ if (httpGetState(con->http) == HTTP_STATE_POST_SEND)
+ {
+- /*
+- * Don't listen for activity until we decide to do something with this...
+- */
+-
+- cupsdAddSelect(httpGetFd(con->http), NULL, NULL, con);
+-
+ if (con->file >= 0)
+ {
+ fstat(con->file, &filestats);
+
Copied: cups/repos/staging-x86_64/cups-no-export-ssllibs.patch (from rev 236001, cups/trunk/cups-no-export-ssllibs.patch)
===================================================================
--- staging-x86_64/cups-no-export-ssllibs.patch (rev 0)
+++ staging-x86_64/cups-no-export-ssllibs.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,12 @@
+diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4
+--- cups-1.6.2/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200
++++ cups-1.6.2/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200
+@@ -180,7 +180,7 @@
+ AC_SUBST(SSLFLAGS)
+ AC_SUBST(SSLLIBS)
+
+-EXPORT_SSLLIBS="$SSLLIBS"
++EXPORT_SSLLIBS=""
+ AC_SUBST(EXPORT_SSLLIBS)
+
+ dnl
Copied: cups/repos/staging-x86_64/cups-no-gcrypt.patch (from rev 236001, cups/trunk/cups-no-gcrypt.patch)
===================================================================
--- staging-x86_64/cups-no-gcrypt.patch (rev 0)
+++ staging-x86_64/cups-no-gcrypt.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,11 @@
+diff -up cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry cups-2.0rc1/config-scripts/cups-ssl.m4
+--- cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry 2014-09-12 15:41:23.324760213 +0200
++++ cups-2.0rc1/config-scripts/cups-ssl.m4 2014-09-12 15:43:13.124203363 +0200
+@@ -60,7 +60,6 @@ if test x$enable_ssl != xno; then
+ dnl Then look for GNU TLS...
+ if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
+ AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
+- AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
+ if $PKGCONFIG --exists gnutls; then
+ have_ssl=1
+ SSLLIBS=`$PKGCONFIG --libs gnutls`
Copied: cups/repos/staging-x86_64/cups-no-gzip-man.patch (from rev 236001, cups/trunk/cups-no-gzip-man.patch)
===================================================================
--- staging-x86_64/cups-no-gzip-man.patch (rev 0)
+++ staging-x86_64/cups-no-gzip-man.patch 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,18 @@
+diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/config-scripts/cups-manpages.m4
+--- cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man 2011-05-12 07:21:56.000000000 +0200
++++ cups-1.5b1/config-scripts/cups-manpages.m4 2011-05-23 17:25:50.000000000 +0200
+@@ -69,10 +69,10 @@ case "$uname" in
+ ;;
+ Linux* | GNU* | Darwin*)
+ # Linux, GNU Hurd, and OS X
+- MAN1EXT=1.gz
+- MAN5EXT=5.gz
+- MAN7EXT=7.gz
+- MAN8EXT=8.gz
++ MAN1EXT=1
++ MAN5EXT=5
++ MAN7EXT=7
++ MAN8EXT=8
+ MAN8DIR=8
+ ;;
+ *)
Copied: cups/repos/staging-x86_64/cups.install (from rev 236001, cups/trunk/cups.install)
===================================================================
--- staging-x86_64/cups.install (rev 0)
+++ staging-x86_64/cups.install 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,28 @@
+post_install() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+ echo ">> If you use an HTTPS connection to CUPS, the first time you access"
+ echo ">> the interface it may take a very long time before the site comes up."
+ echo ">> This is because the first request triggers the generation of the CUPS"
+ echo ">> SSL certificates which can be a very time-consuming job."
+}
+
+post_upgrade() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+
+ if [ "`vercmp $2 2.0.0-1`" -lt 0 ]; then
+ # important upgrade notice
+ echo "> systemd unit names have been renamed"
+ echo "> you should systemctl stop and disable cups.service and"
+ echo "> systemctl daemon-reload, start and enable org.cups.cupsd.service"
+ fi
+}
+
+post_remove() {
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ fi
+}
Copied: cups/repos/staging-x86_64/cups.logrotate (from rev 236001, cups/trunk/cups.logrotate)
===================================================================
--- staging-x86_64/cups.logrotate (rev 0)
+++ staging-x86_64/cups.logrotate 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,5 @@
+/var/log/cups/*_log {
+ missingok
+ notifempty
+ sharedscripts
+}
Copied: cups/repos/staging-x86_64/cups.pam (from rev 236001, cups/trunk/cups.pam)
===================================================================
--- staging-x86_64/cups.pam (rev 0)
+++ staging-x86_64/cups.pam 2015-04-09 21:09:17 UTC (rev 236002)
@@ -0,0 +1,3 @@
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
More information about the arch-commits
mailing list