[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