[arch-commits] Commit in cups/trunk (10 files)

Andreas Radke andyrtr at nymeria.archlinux.org
Sun Jun 16 11:44:18 UTC 2013


    Date: Sunday, June 16, 2013 @ 13:44:18
  Author: andyrtr
Revision: 188584

prepare a bugfix release

Added:
  cups/trunk/cups-1.6.0-fix-install-perms.patch
  cups/trunk/cups-1.6.2-statedir.patch
  cups/trunk/cups-dbus-utf8.patch
  cups/trunk/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
  cups/trunk/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
  cups/trunk/manpage-translations.patch
  cups/trunk/ppd-poll-with-client-conf.patch
  cups/trunk/usb-backend-do-not-crash-if-usb-disabled-in-bios.patch
  cups/trunk/usb-backend-more-quirk-rules.patch
Modified:
  cups/trunk/PKGBUILD

----------------------------------------------------------------+
 PKGBUILD                                                       |   59 +
 cups-1.6.0-fix-install-perms.patch                             |   25 
 cups-1.6.2-statedir.patch                                      |   12 
 cups-dbus-utf8.patch                                           |  106 +++
 cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch           |   19 
 get-ppd-file-for-statically-configured-ipp-shared-queues.patch |   31 +
 manpage-translations.patch                                     |  299 ++++++++++
 ppd-poll-with-client-conf.patch                                |   23 
 usb-backend-do-not-crash-if-usb-disabled-in-bios.patch         |   54 +
 usb-backend-more-quirk-rules.patch                             |   66 ++
 10 files changed, 689 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-06-16 10:29:51 UTC (rev 188583)
+++ PKGBUILD	2013-06-16 11:44:18 UTC (rev 188584)
@@ -4,24 +4,39 @@
 pkgbase="cups"
 pkgname=('libcups' 'cups')
 pkgver=1.6.2
-pkgrel=2
+pkgrel=3
 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>=2.8.3' 'cups-filters' 'bc'
              'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi'  'hicolor-icon-theme' 'systemd')
-source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
+source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
+        http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.gz
+        cups.logrotate cups.pam
+        # improve build and linking
         cups-no-export-ssllibs.patch
         cups-no-gcrypt.patch
         cups-no-gzip-man.patch
+        # FC
         cups-systemd-socket.patch
-        cups.logrotate cups.pam)
+        cups-dbus-utf8.patch
+        # Gentoo
+        cups-1.6.0-fix-install-perms.patch
+        cups-1.6.2-statedir.patch
+        # Debian
+        usb-backend-more-quirk-rules.patch
+        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
+        manpage-translations.patch
+        usb-backend-do-not-crash-if-usb-disabled-in-bios.patch)
 #options=('!emptydirs')
-md5sums=('13c8b2b2336d42001abe4899766b62dc'
+md5sums=('8b8e40560b67e28607b1f04dafd9a94d'
          '3ba9e3410df1dc3015463d615ef91b3b'
          'cc4101beccb5ed6deb1c92707a575925'
          '90c30380d4c8cd48a908cfdadae1ea24'
-         'b4868b83f7f2d6ec24a1be76509379f0'
+         '16963baa22b0cd2b9aaba2d252ba96fe'
+         '52675e2d7a7f77005f1fc0212b86dbe3'
          'f861b18f4446c43918c8643dcbbd7f6d'
          '96f82c38f3f540b53f3e5144900acf17')
 
@@ -40,6 +55,40 @@
 
   # don't zip man pages in make install, let makepkg do that / Fedora
   patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch
+
+
+  # various bugfixes (upstream reports/SVN or Fedora/Debian
+
+  # Ensure attributes are valid UTF-8 in dbus notifier
+  patch -Np1 -i ${srcdir}/cups-dbus-utf8.patch
+
+  # More USB quirks for the libusb-based backend (STR #4311)
+  # Fixed in 1.6.3
+  patch -Np1 -i ${srcdir}/usb-backend-more-quirk-rules.patch
+  # 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
+  # po4a infrastructure and translations for manpages.
+  patch -Np1 -i ${srcdir}/manpage-translations.patch
+  # Add more error handling to the libusb-based USB backend, especially to avoid a crash when USB is disabled in the BIOS. Also
+  # discard that error when counting warning messages.
+  patch -Np1 -i ${srcdir}/usb-backend-do-not-crash-if-usb-disabled-in-bios.patch
+  # fix permissions on some files
+  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
+
+  patch -Np1 -i ${srcdir}/
+
+  patch -Np1 -i ${srcdir}/
+
+  patch -Np1 -i ${srcdir}/
+
+  patch -Np1 -i ${srcdir}/
   
   # Rebuild configure script for not zipping man-pages.
   aclocal -I config-scripts

Added: cups-1.6.0-fix-install-perms.patch
===================================================================
--- cups-1.6.0-fix-install-perms.patch	                        (rev 0)
+++ cups-1.6.0-fix-install-perms.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -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...

Added: cups-1.6.2-statedir.patch
===================================================================
--- cups-1.6.2-statedir.patch	                        (rev 0)
+++ cups-1.6.2-statedir.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -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
+@@ -429,7 +429,7 @@
+ 		;;
+ 	*)
+ 		# All others
+-		CUPS_STATEDIR="$localstatedir/run/cups"
++		CUPS_STATEDIR="/run/cups"
+ 		;;
+ esac
+ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")

Added: cups-dbus-utf8.patch
===================================================================
--- cups-dbus-utf8.patch	                        (rev 0)
+++ cups-dbus-utf8.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,106 @@
+diff -up cups-1.6.1/notifier/dbus.c.dbus-utf8 cups-1.6.1/notifier/dbus.c
+--- cups-1.6.1/notifier/dbus.c.dbus-utf8	2012-01-20 19:00:32.000000000 +0000
++++ cups-1.6.1/notifier/dbus.c	2012-10-31 11:04:47.686973616 +0000
+@@ -31,6 +31,9 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <assert.h>
++#include <locale.h>
++#include <wchar.h>
+ 
+ #ifdef HAVE_DBUS
+ #  include <dbus/dbus.h>
+@@ -157,10 +160,82 @@ enum
+  * Local functions...
+  */
+ 
+-static int	acquire_lock(int *fd, char *lockfile, size_t locksize);
++static int		acquire_lock(int *fd, char *lockfile, size_t locksize);
++static const char	*validate_utf8(const char *str);
+ 
+ 
+ /*
++ * 'validate_utf8()' - Convert to valid UTF-8
++ */
++
++static const char *
++validate_utf8 (const char *str)
++{
++  static char *buffer = NULL;
++  static size_t buflen = 0;
++  char *p;
++  size_t str_len;
++  unsigned int i;
++  mbstate_t instate, outstate;
++
++  if (str == NULL)
++  {
++    free (buffer);
++    return (NULL);
++  }
++
++  /* Is it already valid? */
++  if (mbstowcs (NULL, str, 0) != (size_t) -1)
++    return str;
++
++  /* Make sure our buffer is at least as large as the input string */
++  str_len = strlen (str);
++  if (str_len > buflen)
++  {
++    if (buffer == NULL)
++      /* Set encoding type to UTF-8 the first time we need to */
++      setlocale (LC_CTYPE, "en_US.UTF-8");
++
++    buflen = str_len + 1;
++    buffer = realloc (buffer, buflen);
++  }
++
++  memset (&instate, '\0', sizeof (mbstate_t));
++  memset (&outstate, '\0', sizeof (mbstate_t));
++  p = buffer;
++  i = 0;
++  while (i < str_len)
++  {
++    wchar_t wc;
++    size_t used, written;
++    mbstate_t orig_instate = instate;
++    used = mbrtowc (&wc, str + i, str_len - i, &instate);
++    switch (used)
++    {
++    case (size_t) -2:
++    case (size_t) -1:
++      wc = L'?'; /* so replacement is never longer than original char */
++      instate = orig_instate;
++      /* fallthru */
++    case 0:
++      used = 1;
++    }
++
++    written = wcrtomb (p, wc, &outstate);
++    if (written != -1)
++    {
++      p += written;
++      assert (p - buffer < buflen);
++    }
++
++    i += used;
++  }
++
++  *p = '\0';
++  return buffer;
++}
++
++/*
+  * 'main()' - Read events and send DBUS notifications.
+  */
+ 
+@@ -366,7 +441,7 @@ main(int  argc,				/* I - Number of comm
+     attr = ippFindAttribute(msg, "notify-text", IPP_TAG_TEXT);
+     if (attr)
+     {
+-      const char *val = ippGetString(attr, 0, NULL);
++      const char *val = validate_utf8 (ippGetString(attr, 0, NULL));
+       if (!dbus_message_iter_append_string(&iter, &val))
+         goto bail;
+     }

Added: cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
===================================================================
--- cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch	                        (rev 0)
+++ cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,19 @@
+Description: Fixed crash which sometimes happens on shutdown of the CUPS
+ daemon, caused by a wrong shutdown sequence for shutting down the Avahi
+ threaded poll.
+Author: Till Kamppeter <till.kamppeter at gmail.com>
+Bug-Upstream: http://cups.org/str.php?L4180
+Bug-Upstream: http://cups.org/str.php?L4213
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1034045
+Last-Updated: 2012-10-16
+
+--- a/scheduler/dirsvc.c
++++ b/scheduler/dirsvc.c
+@@ -1333,6 +1333,7 @@
+   DNSSDMaster = NULL;
+ 
+ #  else /* HAVE_AVAHI */
++  avahi_threaded_poll_stop(DNSSDMaster);
+   avahi_client_free(DNSSDClient);
+   DNSSDClient = NULL;
+ 

Added: get-ppd-file-for-statically-configured-ipp-shared-queues.patch
===================================================================
--- get-ppd-file-for-statically-configured-ipp-shared-queues.patch	                        (rev 0)
+++ get-ppd-file-for-statically-configured-ipp-shared-queues.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,31 @@
+Description: Applications could not get the PPD file for
+ statically-configured IPP-shared print queues
+Author: Till Kamppeter <till.kamppeter at gmail.com>
+Bug-Upstream: http://cups.org/str.php?L4178
+Last-Updated: 2012-09-19
+
+--- a/cups/util.c
++++ b/cups/util.c
+@@ -1731,6 +1731,22 @@
+ 
+       return (1);
+     }
++    else if (device_uri &&
++	     (!strncmp(device_uri, "ipp:", 4) != NULL ||
++	      !strncmp(device_uri, "ipps:", 5) != NULL))
++    {
++     /*
++      * Statically-configured IPP shared printer.
++      */
++
++      httpSeparateURI(HTTP_URI_CODING_ALL,
++                      device_uri,
++                      scheme, sizeof(scheme), username, sizeof(username),
++		      host, hostsize, port, resource, resourcesize);
++      ippDelete(response);
++
++      return (1);
++    }
+     else if ((attr = ippFindAttribute(response, "member-uris",
+                                       IPP_TAG_URI)) != NULL)
+     {

Added: manpage-translations.patch
===================================================================
--- manpage-translations.patch	                        (rev 0)
+++ manpage-translations.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,299 @@
+Description: po4a infrastructure and translations for manpages.
+Author: Nicolas François <nicolas.francois at centraliens.net>, Helge Kreutzmann <debian at helgefjell.de>
+Bug-Debian: http://bugs.debian.org/478597
+
+--- a/man/Makefile
++++ b/man/Makefile
+@@ -67,12 +67,18 @@
+ 		lpmove.$(MAN8EXT) \
+ 		lpc.$(MAN8EXT)
+ 
++LANGUAGES=de fr
+ 
+ #
+ # Make everything...
+ #
+ 
+-all:	$(MAN1) $(MAN5) $(MAN7) $(MAN8) html
++all:	$(MAN1) $(MAN5) $(MAN7) $(MAN8) html translations
++
++translations:
++	# Update the translations and build the translated material
++	po4a --previous ../debian/manpage-po4a/cups.cfg
++	for lang in $(LANGUAGES); do $(MAKE) -C $$lang; done
+ 
+ 
+ #
+@@ -112,6 +118,11 @@
+ 	for file in $(MAN8); do \
+ 		$(RM) ../doc/help/man-`basename $$file .$(MAN8EXT)`.html; \
+ 	done
++	for lang in $(LANGUAGES); do $(MAKE) -C $$lang clean; done
++	# Make sure the PO files are updated and remove generated
++	# translations.
++	po4a --previous --rm-translations ../debian/manpage-po4a/cups.cfg
++	$(RM) ../debian/manpage-po4a/po/cups.pot
+ 
+ 
+ #
+@@ -159,6 +170,7 @@
+ 	done
+ 	$(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT)
+ 	$(LN) cupsenable.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT)
++	for lang in $(LANGUAGES); do $(MAKE) -C $$lang install; done
+ 
+ 
+ #
+@@ -207,6 +219,7 @@
+ 	$(RM) $(AMANDIR)/man$(MAN8DIR)/reject.$(MAN8EXT)
+ 	$(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT)
+ 	-$(RMDIR) $(AMANDIR)/man$(MAN8DIR)
++	for lang in $(LANGUAGES); do $(MAKE) -C $$lang uninstall; done
+ 
+ 
+ #
+--- /dev/null
++++ b/man/Makefile.l10n
+@@ -0,0 +1,210 @@
++#
++# "$Id: $"
++#
++#   Man page makefile for the Common UNIX Printing System (CUPS).
++#
++#   Copyright 2007 by Apple Inc.
++#   Copyright 1993-2006 by Easy Software Products.
++#
++#   These coded instructions, statements, and computer programs are the
++#   property of Apple Inc. and are protected by Federal copyright
++#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
++#   which should have been included with this file.  If this file is
++#   file is missing or damaged, see the license at "http://www.cups.org/".
++#
++
++include ../../Makedefs
++
++
++#
++# Man pages...
++#
++
++MAN1	=	cancel.$(MAN1EXT) \
++		cups-config.$(MAN1EXT) \
++		cupstestdsc.$(MAN1EXT) \
++		cupstestppd.$(MAN1EXT) \
++		lp.$(MAN1EXT) \
++		lpoptions.$(MAN1EXT) \
++		lppasswd.$(MAN1EXT) \
++		lpq.$(MAN1EXT) \
++		lprm.$(MAN1EXT) \
++		lpr.$(MAN1EXT) \
++		lpstat.$(MAN1EXT)
++MAN5	=	classes.conf.$(MAN5EXT) \
++		client.conf.$(MAN5EXT) \
++		cups-snmp.conf.$(MAN5EXT) \
++		cupsd.conf.$(MAN5EXT) \
++		cups-files.conf.$(MAN5EXT) \
++		mailto.conf.$(MAN5EXT) \
++		mime.convs.$(MAN5EXT) \
++		mime.types.$(MAN5EXT) \
++		printers.conf.$(MAN5EXT) \
++		subscriptions.conf.$(MAN5EXT)
++MAN7	=	backend.$(MAN7EXT) \
++		filter.$(MAN7EXT)
++MAN8	=	cupsaccept.$(MAN8EXT) \
++		cupsaddsmb.$(MAN8EXT) \
++		cupsctl.$(MAN8EXT) \
++		cupsfilter.$(MAN8EXT) \
++		cups-deviced.$(MAN8EXT) \
++		cups-driverd.$(MAN8EXT) \
++		cups-lpd.$(MAN8EXT) \
++		cups-polld.$(MAN8EXT) \
++		cupsd.$(MAN8EXT) \
++		cupsenable.$(MAN8EXT) \
++		lpadmin.$(MAN8EXT) \
++		lpinfo.$(MAN8EXT) \
++		lpmove.$(MAN8EXT) \
++		lpc.$(MAN8EXT)
++
++
++#
++# Make everything...
++#
++
++all:	manpages.gz html
++
++# Prepare all the existing manpages, and compress them.
++# But do not fail if a manpage was not generated.
++manpages.gz: manpages.gz-stamp
++manpages.gz-stamp:
++	for file in $(MAN1) $(MAN5) $(MAN7) $(MAN8); do \
++		$(MAKE) $$file || true; \
++	done
++	touch $@
++
++#
++# Clean all config and object files...
++#
++
++clean:
++	$(RM) $(MAN1) $(MAN5) $(MAN7) $(MAN8)
++	for file in $(MAN1); do \
++		$(RM) ../../doc/help/man-`basename $$file .$(MAN1EXT)`.$(LANGUAGE).html; \
++	done
++	for file in $(MAN5); do \
++		$(RM) ../../doc/help/man-`basename $$file .$(MAN5EXT)`.$(LANGUAGE).html; \
++	done
++	for file in $(MAN7); do \
++		$(RM) ../../doc/help/man-`basename $$file .$(MAN7EXT)`.$(LANGUAGE).html; \
++	done
++	for file in $(MAN8); do \
++		$(RM) ../../doc/help/man-`basename $$file .$(MAN8EXT)`.$(LANGUAGE).html; \
++	done
++	for file in *.man.in; do \
++		$(RM) `basename $$file .in`; \
++	done
++	$(RM) manpages.gz-stamp
++
++
++#
++# Dummy depend target...
++#
++
++depend:
++
++
++#
++# Install files...
++#
++
++MANDIR := $(MANDIR)/$(LANGUAGE)
++AMANDIR := $(AMANDIR)/$(LANGUAGE)
++
++install:	all
++	$(INSTALL_DIR) -m 755 $(MANDIR)/man1
++	for file in $(wildcard $(MAN1)); do \
++		echo Installing $$file in $(MANDIR)/man1...; \
++		$(INSTALL_MAN) $$file $(MANDIR)/man1; \
++	done
++	$(INSTALL_DIR) -m 755 $(MANDIR)/man5
++	for file in $(wildcard $(MAN5)); do \
++		echo Installing $$file in $(MANDIR)/man5...; \
++		$(INSTALL_MAN) $$file $(MANDIR)/man5; \
++	done
++	$(INSTALL_DIR) -m 755 $(MANDIR)/man7
++	for file in $(wildcard $(MAN7)); do \
++		echo Installing $$file in $(MANDIR)/man7...; \
++		$(INSTALL_MAN) $$file $(MANDIR)/man7; \
++	done
++	$(INSTALL_DIR) -m 755 $(AMANDIR)/man$(MAN8DIR)
++	for file in $(wildcard $(MAN8)); do \
++		echo Installing $$file in $(AMANDIR)/man$(MAN8DIR)...; \
++		$(INSTALL_MAN) $$file $(AMANDIR)/man$(MAN8DIR); \
++	done
++	if [ -f cupsreject.$(MAN8EXT) ]; then \
++		$(RM) $(AMANDIR)/man$(MAN8DIR)/cupsreject.$(MAN8EXT); \
++	fi
++	if [ -f cupsaccept.$(MAN8EXT) ]; then \
++		$(LN) cupsaccept.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/cupsreject.$(MAN8EXT); \
++	fi
++	if [ -f cupsdisable.$(MAN8EXT) ]; then \
++		$(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT); \
++	fi
++	if [ -f cupsenable.$(MAN8EXT) ]; then \
++		$(LN) cupsenable.$(MAN8EXT) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT); \
++	fi
++
++
++#
++# Uninstall files...
++#
++
++uninstall:
++	for file in $(MAN1); do \
++		$(RM) $(MANDIR)/man1/$$file; \
++	done
++	-$(RMDIR) $(MANDIR)/man1
++	for file in $(MAN5); do \
++		$(RM) $(MANDIR)/man5/$$file; \
++	done
++	-$(RMDIR) $(MANDIR)/man5
++	for file in $(MAN7); do \
++		$(RM) $(MANDIR)/man7/$$file; \
++	done
++	-$(RMDIR) $(MANDIR)/man7
++	for file in $(MAN8); do \
++		$(RM) $(AMANDIR)/man$(MAN8DIR)/$$file; \
++	done
++	$(RM) $(AMANDIR)/man$(MAN8DIR)/cupsreject.$(MAN8EXT)
++	$(RM) $(AMANDIR)/man$(MAN8DIR)/cupsdisable.$(MAN8EXT)
++	-$(RMDIR) $(AMANDIR)/man$(MAN8DIR)
++
++
++#
++# Make html versions of man pages...
++#
++
++MANTOHTML = ../mantohtml
++html:	manpages.gz $(MANTOHTML)
++	echo Converting man pages to HTML...
++	for file in $(wildcard $(MAN1)); do \
++		echo "    $$file..."; \
++		$(MANTOHTML) `basename $$file .$(MAN1EXT)`.man >../../doc/help/man-`basename $$file .$(MAN1EXT)`.$(LANGUAGE).html; \
++	done
++	for file in $(wildcard $(MAN5)); do \
++		echo "    $$file..."; \
++		$(MANTOHTML) `basename $$file .$(MAN5EXT)`.man >../../doc/help/man-`basename $$file .$(MAN5EXT)`.$(LANGUAGE).html; \
++	done
++	for file in $(wildcard $(MAN7)); do \
++		echo "    $$file..."; \
++		$(MANTOHTML) `basename $$file .$(MAN7EXT)`.man >../../doc/help/man-`basename $$file .$(MAN7EXT)`.$(LANGUAGE).html; \
++	done
++	for file in $(wildcard $(MAN8)); do \
++		echo "    $$file..."; \
++		$(MANTOHTML) `basename $$file .$(MAN8EXT)`.man >../../doc/help/man-`basename $$file .$(MAN8EXT)`.$(LANGUAGE).html; \
++	done
++
++.SUFFIXES: .man.in .man
++# Keep the generated .man because they are needed for the html rule
++.PRECIOUS: %.man
++
++.man.in.man:
++	sed -e 's:@CUPS_DATADIR@:$(DATADIR):' \
++	    -e 's:@CUPS_SERVERROOT@:$(SERVERROOT):' \
++	    -e 's:@CUPS_SERVERBIN@:$(SERVERBIN):' $< > $@
++
++#
++# End of "$Id: $".
++#
+--- /dev/null
++++ b/man/de/Makefile
+@@ -0,0 +1,13 @@
++#
++# "$Id: $"
++#
++#   Man page makefile for the Common UNIX Printing System (CUPS).
++#
++
++LANGUAGE=de
++
++include ../Makefile.l10n
++
++#
++# End of "$Id: $".
++#
+--- /dev/null
++++ b/man/fr/Makefile
+@@ -0,0 +1,13 @@
++#
++# "$Id: $"
++#
++#   Man page makefile for the Common UNIX Printing System (CUPS).
++#
++
++LANGUAGE=fr
++
++include ../Makefile.l10n
++
++#
++# End of "$Id: $".
++#

Added: ppd-poll-with-client-conf.patch
===================================================================
--- ppd-poll-with-client-conf.patch	                        (rev 0)
+++ ppd-poll-with-client-conf.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,23 @@
+Description: 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
+
+--- a/cups/util.c
++++ b/cups/util.c
+@@ -1085,11 +1085,13 @@
+     http2 = http;
+   else if ((http2 = httpConnectEncrypt(hostname, port,
+                                        cupsEncryption())) == NULL)
+-  {
+-    DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
++    if ((http2 = httpConnectEncrypt(http_hostname, http_port,
++				    cupsEncryption())) == NULL)
++    {
++      DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
+ 
+-    return (HTTP_SERVICE_UNAVAILABLE);
+-  }
++      return (HTTP_SERVICE_UNAVAILABLE);
++    }
+ 
+  /*
+   * Get a temp file...

Added: usb-backend-do-not-crash-if-usb-disabled-in-bios.patch
===================================================================
--- usb-backend-do-not-crash-if-usb-disabled-in-bios.patch	                        (rev 0)
+++ usb-backend-do-not-crash-if-usb-disabled-in-bios.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,54 @@
+Description: Add more error handling to the libusb-based USB backend,
+ especially to avoid a crash when USB is disabled in the BIOS. Also
+ discard that error when counting warning messages.
+Author: Till Kamppeter <till.kamppeter at gmail.com>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1108719
+Last-Update: 2013-05-03
+--- a/backend/usb-libusb.c
++++ b/backend/usb-libusb.c
+@@ -898,7 +898,8 @@
+ 					/* Pointer to current alternate setting */
+   const struct libusb_endpoint_descriptor *endpptr = NULL;
+ 					/* Pointer to current endpoint */
+-  ssize_t               numdevs,        /* number of connected devices */
++  ssize_t               err = 0,
++                        numdevs,        /* number of connected devices */
+                         i = 0;
+   uint8_t		conf,		/* Current configuration */
+ 			iface,		/* Current interface */
+@@ -917,7 +918,13 @@
+   * Initialize libusb...
+   */
+ 
+-  libusb_init(NULL);
++  err = libusb_init(NULL);
++  if (err)
++  {
++    fprintf(stderr, "WARNING: Unable to initialize USB access via libusb, libusb error %i\n", err);
++    return (NULL);
++  }
++
+   numdevs = libusb_get_device_list(NULL, &list);
+   fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs);
+ 
+@@ -1087,7 +1094,8 @@
+   * Clean up ....
+   */
+ 
+-  libusb_free_device_list(list, 1);
++  if (numdevs >= 0)
++    libusb_free_device_list(list, 1);
+   libusb_exit(NULL);
+ 
+   return (NULL);
+--- a/test/run-stp-tests.sh
++++ b/test/run-stp-tests.sh
+@@ -838,7 +838,7 @@
+ fi
+ 
+ # Warning log messages
+-count=`$GREP '^W ' /tmp/cups-$user/log/error_log | wc -l | awk '{print $1}'`
++count=`$GREP '^W ' /tmp/cups-$user/log/error_log | grep -v 'Unable to initialize USB access via libusb, libusb error' | wc -l | awk '{print $1}'`
+ if test $count != 9; then
+ 	echo "FAIL: $count warning messages, expected 9."
+ 	$GREP '^W ' /tmp/cups-$user/log/error_log

Added: usb-backend-more-quirk-rules.patch
===================================================================
--- usb-backend-more-quirk-rules.patch	                        (rev 0)
+++ usb-backend-more-quirk-rules.patch	2013-06-16 11:44:18 UTC (rev 188584)
@@ -0,0 +1,66 @@
+Description: USB backend quirk rule for Epson Stylus Photo 750 (and maybe others)
+Author: Didier Raboud <odyx at debian.org>
+Bugs-Debian: http://bugs.debian.org/697970
+Last-Update: 2013-03-11
+
+--- a/backend/usb-libusb.c
++++ b/backend/usb-libusb.c
+@@ -142,8 +142,12 @@
+ 	{ 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */
+ 	{ 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */
+ 	{ 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
++	{ 0x043d, 0x00f3, USBLP_QUIRK_NO_REATTACH }, /* Lexmark International,
++		       Inc. (e250d), https://bugs.launchpad.net/bugs/1084164 */
+ 	{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820,
+ 						  by zut <kernel at zut.de> */
++	{ 0x04a9, 0x1095, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP6000D
++			    Printer, https://bugs.launchpad.net/bugs/1160638 */
+ 	{ 0x04a9, 0x10a2, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4200
+ 			    Printer, http://www.cups.org/str.php?L4155 */
+ 	{ 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300
+@@ -158,6 +162,8 @@
+ 			    Printer, http://www.cups.org/str.php?L4155 */
+ 	{ 0x04a9, 0x173e, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP560
+ 			    Printer, http://www.cups.org/str.php?L4155 */
++	{ 0x04a9, 0x26a3, USBLP_QUIRK_NO_REATTACH }, /* Canon, Inc. MF4150
++		            Printer, https://bugs.launchpad.net/bugs/1160638 */
+ 	{ 0x04f9, 0x001a, USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
+ 						  HL-1430 Laser Printer,
+ 				     https://bugs.launchpad.net/bugs/1038695 */
+@@ -165,24 +171,33 @@
+ 			  USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
+ 						  HL-1440 Laser Printer,
+ 				     https://bugs.launchpad.net/bugs/1000253 */
++	{ 0x04f9, 0x000e, USBLP_QUIRK_BIDIR |
++			  USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
++						  HL-1450 Laser Printer,
++				     https://bugs.launchpad.net/bugs/1000253 */
+ 	{ 0x06bc, 0x000b, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp.
+ 						  Okipage 14ex Printer,
+ 				     https://bugs.launchpad.net/bugs/872483 */
+ 	{ 0x06bc, 0x01c7, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. B410d,
+ 				     https://bugs.launchpad.net/bugs/872483 */
+-	{ 0x04b8, 0x0001, USBLP_QUIRK_BIDIR }, /* Seiko Epson Corp. Stylus Color 740 / Photo 750,
++	{ 0x04b8, 0x0001, USBLP_QUIRK_BIDIR |
++			  USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 740 / Photo 750,
+ 				     http://bugs.debian.org/697970 */
++	{ 0x04b8, 0x0005, USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 670,
++				     https://bugs.launchpad.net/bugs/872483 */
+ 	{ 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
+ 						      Printer M129C */
+ 	{ 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
+ 			  USBLP_QUIRK_NO_REATTACH |
+ 	                  USBLP_QUIRK_RESET },
++	/* Prolific Technology, Inc. PL2305 Parallel Port
++	   (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */
+ 	{ 0x0924, 0x3ce9, USBLP_QUIRK_NO_REATTACH }, /* Xerox Phaser 3124
+ 			  https://bugzilla.redhat.com/show_bug.cgi?id=867392 */
+ 	{ 0x0924, 0x4293, USBLP_QUIRK_NO_REATTACH }, /* Xerox WorkCentre 3210
+ 				     https://bugs.launchpad.net/bugs/1102470 */
+-	/* Prolific Technology, Inc. PL2305 Parallel Port
+-	   (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */
++	{ 0x1a86, 0x7584, USBLP_QUIRK_NO_REATTACH }, /* QinHeng Electronics
++   CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253 */
+ 	{ 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices,
+ 				     https://bugs.launchpad.net/bugs/1032456 */
+ 	{ 0x0a5f, 0x0000, USBLP_QUIRK_BIDIR }, /* All Zebra devices,




More information about the arch-commits mailing list