Date: Sunday, August 5, 2012 @ 04:30:04
  Author: andyrtr
Revision: 164781

upgpkg: cups 1.6.1-2

fix some browsing related issues solved in upstream tracker

Added:
  cups/trunk/avahi-missing-in-conditionals.patch
  cups/trunk/cupsd-conf-remove-obsolete-browse-directives.patch
  cups/trunk/recognize-remote-cups-queue-via-dnssd-uri.patch
Modified:
  cups/trunk/PKGBUILD

----------------------------------------------------+
 PKGBUILD                                           |   20 ++-
 avahi-missing-in-conditionals.patch                |  118 +++++++++++++++++++
 cupsd-conf-remove-obsolete-browse-directives.patch |   12 +
 recognize-remote-cups-queue-via-dnssd-uri.patch    |   25 ++++
 4 files changed, 172 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2012-08-04 21:55:24 UTC (rev 164780)
+++ PKGBUILD    2012-08-05 08:30:04 UTC (rev 164781)
@@ -4,7 +4,7 @@
 pkgbase="cups"
 pkgname=('libcups' 'cups')
 pkgver=1.6.1
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 license=('GPL')
 url="http://www.cups.org/";
@@ -15,7 +15,10 @@
         cups-no-gcrypt.patch
         cups-no-gzip-man.patch
         cups-systemd-socket.patch
-        cups cups.logrotate cups.pam)
+        cups cups.logrotate cups.pam
+        cupsd-conf-remove-obsolete-browse-directives.patch
+        avahi-missing-in-conditionals.patch
+        recognize-remote-cups-queue-via-dnssd-uri.patch)
 #options=('!emptydirs')
 md5sums=('87ade07e3d1efd03c9c3add949cf9c00'
          '9b8467a1e51d360096b70e2c3c081e6c'
@@ -24,7 +27,10 @@
          'a81573a429b98e16670d7fea47e528c4'
          '9657daa21760bb0b5fa3d8b51d5e01a1'
          'f861b18f4446c43918c8643dcbbd7f6d'
-         '96f82c38f3f540b53f3e5144900acf17')
+         '96f82c38f3f540b53f3e5144900acf17'
+         '6bef262b5081051e88cd2ae94fed1867'
+         '9c91b1319f4b20dc323986cb4abbe806'
+         'dcef8dd5614461166cada8a706eebb49')
 
 build() {
   cd ${srcdir}/${pkgbase}-${pkgver}
@@ -40,6 +46,14 @@
   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
+
+  # upstream bugtracker patches
+  # http://www.cups.org/str.php?L4157 - fix broken default server config
+  patch -Np1 -i ${srcdir}/cupsd-conf-remove-obsolete-browse-directives.patch
+  # http://www.cups.org/str.php?L4156 - In many DNS-SD/Bonjour conditionals 
Avahi is not considered
+  patch -Np1 -i ${srcdir}/avahi-missing-in-conditionals.patch
+  # http://www.cups.org/str.php?L4158 - DNS-SD-based print queues pointing to 
CUPS server are not considered remote printers with driver on server
+  patch -Np1 -i ${srcdir}/recognize-remote-cups-queue-via-dnssd-uri.patch
   
   # Rebuild configure script for not zipping man-pages.
   aclocal -I config-scripts

Added: avahi-missing-in-conditionals.patch
===================================================================
--- avahi-missing-in-conditionals.patch                         (rev 0)
+++ avahi-missing-in-conditionals.patch 2012-08-05 08:30:04 UTC (rev 164781)
@@ -0,0 +1,118 @@
+diff -uraN cups/scheduler/client.c cups-new/scheduler/client.c
+--- cups/scheduler/client.c    2012-05-25 15:28:49.000000000 +0200
++++ cups-new/scheduler/client.c        2012-08-04 20:13:17.082220961 +0200
+@@ -4021,7 +4021,7 @@
+           !strncmp(host, "[::1]:", 6));
+   }
+ 
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  /*
+   * Check if the hostname is something.local (Bonjour); if so, allow it.
+   */
+@@ -4040,7 +4040,7 @@
+             !_cups_strcasecmp(end, ".local.") ||
+             !_cups_strncasecmp(end, ".local.:", 8)))
+     return (1);
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+ 
+  /*
+   * Check if the hostname is an IP address...
+@@ -4101,7 +4101,7 @@
+     }
+   }
+ 
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+   for (a = (cupsd_alias_t *)cupsArrayFirst(DNSSDAlias);
+        a;
+        a = (cupsd_alias_t *)cupsArrayNext(DNSSDAlias))
+@@ -4126,7 +4126,7 @@
+         return (1);
+     }
+   }
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+ 
+  /*
+   * Check for interface hostname matches...
+diff -uraN cups/scheduler/conf.c cups-new/scheduler/conf.c
+--- cups/scheduler/conf.c      2012-05-25 15:28:49.000000000 +0200
++++ cups-new/scheduler/conf.c  2012-08-04 20:15:49.830978405 +0200
+@@ -89,9 +89,9 @@
+ {
+   { "AccessLog",              &AccessLog,             CUPSD_VARTYPE_STRING },
+   { "AutoPurgeJobs",          &JobAutoPurge,          CUPSD_VARTYPE_BOOLEAN },
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+   { "BrowseDNSSDSubTypes",    &DNSSDSubTypes,         CUPSD_VARTYPE_STRING },
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+   { "BrowseWebIF",            &BrowseWebIF,           CUPSD_VARTYPE_BOOLEAN },
+   { "Browsing",                       &Browsing,              
CUPSD_VARTYPE_BOOLEAN },
+   { "CacheDir",                       &CacheDir,              
CUPSD_VARTYPE_STRING },
+@@ -735,9 +735,9 @@
+   Browsing                 = CUPS_DEFAULT_BROWSING;
+   DefaultShared            = CUPS_DEFAULT_DEFAULT_SHARED;
+ 
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+   cupsdSetString(&DNSSDSubTypes, "_cups,_print");
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+ 
+   cupsdSetString(&LPDConfigFile, CUPS_DEFAULT_LPD_CONFIG_FILE);
+   cupsdSetString(&SMBConfigFile, CUPS_DEFAULT_SMB_CONFIG_FILE);
+diff -uraN cups/scheduler/ipp.c cups-new/scheduler/ipp.c
+--- cups/scheduler/ipp.c       2012-05-25 15:28:49.000000000 +0200
++++ cups-new/scheduler/ipp.c   2012-08-04 20:13:17.086220978 +0200
+@@ -4813,7 +4813,7 @@
+     ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time",
+                ippTimeToDate(curtime));
+ 
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+   if (!ra || cupsArrayFind(ra, "printer-dns-sd-name"))
+   {
+     if (printer->reg_name)
+@@ -4823,7 +4823,7 @@
+       ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
+                    "printer-dns-sd-name", 0);
+   }
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+ 
+   if (!ra || cupsArrayFind(ra, "printer-error-policy"))
+     ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME,
+diff -uraN cups/scheduler/main.c cups-new/scheduler/main.c
+--- cups/scheduler/main.c      2012-05-25 15:28:49.000000000 +0200
++++ cups-new/scheduler/main.c  2012-08-04 20:13:17.090221001 +0200
+@@ -781,9 +781,9 @@
+       * Got an error from select!
+       */
+ 
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+       cupsd_printer_t *p;             /* Current printer */
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+ 
+ 
+       if (errno == EINTR)             /* Just interrupted by a signal */
+@@ -824,13 +824,13 @@
+                       job->print_pipes[0], job->print_pipes[1],
+                       job->back_pipes[0], job->back_pipes[1]);
+ 
+-#ifdef HAVE_DNSSD
++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+       for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
+          p;
+          p = (cupsd_printer_t *)cupsArrayNext(Printers))
+         cupsdLogMessage(CUPSD_LOG_EMERG, "printer[%s] reg_name=\"%s\"", 
p->name,
+                       p->reg_name ? p->reg_name : "(null)");
+-#endif /* HAVE_DNSSD */
++#endif /* HAVE_DNSSD || HAVE_AVAHI */
+ 
+       break;
+     }

Added: cupsd-conf-remove-obsolete-browse-directives.patch
===================================================================
--- cupsd-conf-remove-obsolete-browse-directives.patch                          
(rev 0)
+++ cupsd-conf-remove-obsolete-browse-directives.patch  2012-08-05 08:30:04 UTC 
(rev 164781)
@@ -0,0 +1,12 @@
+diff -uraN cups/conf/cupsd.conf.in cups-new/conf/cupsd.conf.in
+--- cups/conf/cupsd.conf.in    2012-05-25 15:28:25.000000000 +0200
++++ cups-new/conf/cupsd.conf.in        2012-08-04 20:56:26.699062177 +0200
+@@ -19,8 +19,6 @@
+ 
+ # Show shared printers on the local network.
+ Browsing On
+-BrowseOrder allow,deny
+-BrowseAllow all
+ BrowseLocalProtocols @CUPS_BROWSE_LOCAL_PROTOCOLS@
+ 
+ # Default authentication type, when authentication is required...

Added: recognize-remote-cups-queue-via-dnssd-uri.patch
===================================================================
--- recognize-remote-cups-queue-via-dnssd-uri.patch                             
(rev 0)
+++ recognize-remote-cups-queue-via-dnssd-uri.patch     2012-08-05 08:30:04 UTC 
(rev 164781)
@@ -0,0 +1,25 @@
+diff -uraN cups/scheduler/printers.c cups-new/scheduler/printers.c
+--- cups/scheduler/printers.c  2012-05-25 15:28:49.000000000 +0200
++++ cups-new/scheduler/printers.c      2012-08-04 20:58:40.475725544 +0200
+@@ -4829,13 +4829,14 @@
+                  "printer-make-and-model", NULL,
+                  "Local System V Printer");
+     }
+-    else if (!strncmp(p->device_uri, "ipp://", 6) &&
+-           (strstr(p->device_uri, "/printers/") != NULL ||
+-            strstr(p->device_uri, "/classes/") != NULL ||
+-            ((strstr(p->device_uri, "._ipp.") != NULL ||
+-              strstr(p->device_uri, "._ipps.") != NULL) &&
+-             !strcmp(p->device_uri + strlen(p->device_uri) - 5,
+-                     "/cups"))))
++    else if ((!strncmp(p->device_uri, "ipp://", 6) &&
++            (strstr(p->device_uri, "/printers/") != NULL ||
++             strstr(p->device_uri, "/classes/") != NULL)) ||
++           (!strncmp(p->device_uri, "dnssd://", 8) &&
++            (strstr(p->device_uri, "._ipp.") != NULL ||
++             strstr(p->device_uri, "._ipps.") != NULL) &&
++            !strcmp(p->device_uri + strlen(p->device_uri) - 5,
++                    "/cups")))
+     {
+      /*
+       * Tell the client this is really a hard-wired remote printer.

Reply via email to