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

Andreas Radke andyrtr at nymeria.archlinux.org
Sun Jun 16 16:32:01 UTC 2013


    Date: Sunday, June 16, 2013 @ 18:32:00
  Author: andyrtr
Revision: 188587

upgpkg: cups 1.6.2-3

add a bunch of bugfixes from other distros, upstream is pretty lazy after the project server died

Added:
  cups/trunk/cups-avahi-address.patch
  cups/trunk/cups-enum-all.patch
  cups/trunk/cups-res_init.patch
Modified:
  cups/trunk/PKGBUILD
Deleted:
  cups/trunk/manpage-translations.patch

----------------------------+
 PKGBUILD                   |   38 +++--
 cups-avahi-address.patch   |   75 ++++++++++
 cups-enum-all.patch        |   17 ++
 cups-res_init.patch        |   26 +++
 manpage-translations.patch |  299 -------------------------------------------
 5 files changed, 141 insertions(+), 314 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-06-16 16:11:16 UTC (rev 188586)
+++ PKGBUILD	2013-06-16 16:32:00 UTC (rev 188587)
@@ -20,6 +20,9 @@
         # FC
         cups-systemd-socket.patch
         cups-dbus-utf8.patch
+        cups-res_init.patch
+        cups-avahi-address.patch
+        cups-enum-all.patch
         # Gentoo
         cups-1.6.0-fix-install-perms.patch
         cups-1.6.2-statedir.patch
@@ -28,17 +31,26 @@
         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=('8b8e40560b67e28607b1f04dafd9a94d'
+         'f861b18f4446c43918c8643dcbbd7f6d'
+         '96f82c38f3f540b53f3e5144900acf17'
          '3ba9e3410df1dc3015463d615ef91b3b'
          'cc4101beccb5ed6deb1c92707a575925'
          '90c30380d4c8cd48a908cfdadae1ea24'
-         '16963baa22b0cd2b9aaba2d252ba96fe'
+         'b4868b83f7f2d6ec24a1be76509379f0'
+         'a2a88b3a3257c3b5fd3edcc169e6aca4'
+         '8fe27d4248cacbc02824e7937cab4088'
+         'df0c367c0022e3c7d8e01827e8a6c5e7'
+         'f30c2a161caaf27854581507cde8cac6'
+         '5117f65342fcc69c6a506529e4daca9e'
+         '9247e218eea94ebda0aebc8ee0e77db8'
          '52675e2d7a7f77005f1fc0212b86dbe3'
-         'f861b18f4446c43918c8643dcbbd7f6d'
-         '96f82c38f3f540b53f3e5144900acf17')
+         'cb58bf4e0b80eaee383712e5c84a1ab4'
+         'b578bcd17949a7203237ba1e31f78ef9'
+         '0becd6ab8782b97f19a02c1dc174c75e'
+         'f1f0ee65296d438a8c83467ff03f652d')
 
 build() {
   cd ${srcdir}/${pkgbase}-${pkgver}
@@ -72,23 +84,19 @@
   # 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
+  # fix permissions on some files - alternative: cups-0755.patch by FC
   patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
   # move /var/run -> /run for pid file
   patch -Np1 -i ${srcdir}/cups-1.6.2-statedir.patch
-
-  patch -Np1 -i ${srcdir}/
-
-  patch -Np1 -i ${srcdir}/
-
-  patch -Np1 -i ${srcdir}/
-
-  patch -Np1 -i ${srcdir}/
+  # Re-initialise the resolver on failure in httpAddrGetList() 
+  patch -Np1 -i ${srcdir}/cups-res_init.patch
+  # Use IP address when resolving DNSSD URIs
+  patch -Np1 -i ${srcdir}/cups-avahi-address.patch
+  # Return from cupsEnumDests() once all records have been returned.
+  patch -Np1 -i ${srcdir}/cups-enum-all.patch
   
   # Rebuild configure script for not zipping man-pages.
   aclocal -I config-scripts

Added: cups-avahi-address.patch
===================================================================
--- cups-avahi-address.patch	                        (rev 0)
+++ cups-avahi-address.patch	2013-06-16 16:32:00 UTC (rev 188587)
@@ -0,0 +1,75 @@
+diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-support.c
+--- cups-1.6.2/cups/http-support.c.avahi-address	2013-03-11 18:44:36.000000000 +0000
++++ cups-1.6.2/cups/http-support.c	2013-04-04 15:39:06.651847041 +0100
+@@ -2121,7 +2121,7 @@ http_resolve_cb(
+     const char             *type,	/* I - Registration type */
+     const char             *domain,	/* I - Domain (unused) */
+     const char             *hostTarget,	/* I - Hostname */
+-    const AvahiAddress     *address,	/* I - Address (unused) */
++    const AvahiAddress     *address,	/* I - Address */
+     uint16_t               port,	/* I - Port number */
+     AvahiStringList        *txt,	/* I - TXT record */
+     AvahiLookupResultFlags flags,	/* I - Lookup flags (unused) */
+@@ -2253,36 +2253,37 @@ http_resolve_cb(
+ 
+     DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
+ 
+-    snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
+-    if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL)
++    int error = getnameinfo(&(address->data),
++			    address->proto == AVAHI_PROTO_INET ?
++			    sizeof (AvahiIPv4Address) :
++			    (address->proto == AVAHI_PROTO_INET6 ?
++			     sizeof (AvahiIPv6Address) :
++			     sizeof (address->data)),
++			    fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
++
++    if (!error)
+     {
+-      for (addr = addrlist; addr; addr = addr->next)
++      DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
++
++      if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
++	  _cups_strcasecmp(hostptr, ".local"))
+       {
+-        int error = getnameinfo(&(addr->addr.addr),
+-	                        httpAddrLength(&(addr->addr)),
+-			        fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
+-
+-        if (!error)
+-	{
+-	  DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
+-
+-	  if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
+-	      _cups_strcasecmp(hostptr, ".local"))
+-	  {
+-	    hostTarget = fqdn;
+-	    break;
+-	  }
+-	}
++	hostTarget = fqdn;
++      }
++    }
+ #ifdef DEBUG
+-	else
+-	  DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
+-	                httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
+-			error));
++    else
++      DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
++		    httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
++		    error));
+ #endif /* DEBUG */
+-      }
++  } else {
++   /*
++    * Use the IP address that responded...
++    */
+ 
+-      httpAddrFreeList(addrlist);
+-    }
++   avahi_address_snprint (fqdn, sizeof (fqdn), address);
++   hostTarget = fqdn;
+   }
+ 
+  /*

Added: cups-enum-all.patch
===================================================================
--- cups-enum-all.patch	                        (rev 0)
+++ cups-enum-all.patch	2013-06-16 16:32:00 UTC (rev 188587)
@@ -0,0 +1,17 @@
+diff -up cups-1.6.2/cups/dest.c.enum-all cups-1.6.2/cups/dest.c
+--- cups-1.6.2/cups/dest.c.enum-all	2013-06-04 10:58:36.169786250 +0100
++++ cups-1.6.2/cups/dest.c	2013-06-04 10:59:02.147900811 +0100
+@@ -2724,9 +2724,12 @@ cups_dnssd_browse_cb(
+ 	break;
+ 
+     case AVAHI_BROWSER_REMOVE:
+-    case AVAHI_BROWSER_ALL_FOR_NOW:
+     case AVAHI_BROWSER_CACHE_EXHAUSTED:
+         break;
++
++    case AVAHI_BROWSER_ALL_FOR_NOW:
++	avahi_simple_poll_quit(data->simple_poll);
++        break;
+   }
+ }
+ 

Added: cups-res_init.patch
===================================================================
--- cups-res_init.patch	                        (rev 0)
+++ cups-res_init.patch	2013-06-16 16:32:00 UTC (rev 188587)
@@ -0,0 +1,26 @@
+diff -up cups-1.6b1/cups/http-addr.c.res_init cups-1.6b1/cups/http-addr.c
+--- cups-1.6b1/cups/http-addr.c.res_init	2012-05-17 00:57:03.000000000 +0200
++++ cups-1.6b1/cups/http-addr.c	2012-05-25 15:51:51.323916352 +0200
+@@ -254,7 +254,8 @@ httpAddrLookup(
+ 
+     if (error)
+     {
+-      if (error == EAI_FAIL)
++      if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
++          error == EAI_NONAME)
+         cg->need_res_init = 1;
+ 
+       return (httpAddrString(addr, name, namelen));
+diff -up cups-1.6b1/cups/http-addrlist.c.res_init cups-1.6b1/cups/http-addrlist.c
+--- cups-1.6b1/cups/http-addrlist.c.res_init	2012-04-23 19:26:57.000000000 +0200
++++ cups-1.6b1/cups/http-addrlist.c	2012-05-25 16:05:05.930377452 +0200
+@@ -540,7 +540,8 @@ httpAddrGetList(const char *hostname,	/*
+     }
+     else
+     {
+-      if (error == EAI_FAIL)
++      if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
++          error == EAI_NONAME)
+         cg->need_res_init = 1;
+ 
+       _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0);

Deleted: manpage-translations.patch
===================================================================
--- manpage-translations.patch	2013-06-16 16:11:16 UTC (rev 188586)
+++ manpage-translations.patch	2013-06-16 16:32:00 UTC (rev 188587)
@@ -1,299 +0,0 @@
-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: $".
-+#




More information about the arch-commits mailing list