diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2012-08-07 13:30:57 +0200 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2012-08-07 13:30:57 +0200 |
commit | 0d08f74d42cdaf01e681726225af9b7f0e65a45f (patch) | |
tree | 2e01528f6db000501ecc2df9b03cd1cc80246218 /extra/cups | |
parent | 7e625170ad4fd86bb2ee338c7be9a352bf418b00 (diff) | |
parent | 9d36fcd5638035abf19f303deebd9e861d384254 (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
extra/cups/PKGBUILD
multilib/lib32-glew/PKGBUILD
multilib/lib32-gnutls/PKGBUILD
Diffstat (limited to 'extra/cups')
-rw-r--r-- | extra/cups/PKGBUILD | 25 | ||||
-rw-r--r-- | extra/cups/avahi-missing-in-conditionals.patch | 118 | ||||
-rw-r--r-- | extra/cups/cupsd-conf-remove-obsolete-browse-directives.patch | 12 | ||||
-rw-r--r-- | extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch | 25 |
4 files changed, 176 insertions, 4 deletions
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD index 7046f07e9..5c9612235 100644 --- a/extra/cups/PKGBUILD +++ b/extra/cups/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 164328 2012-07-30 14:40:47Z andyrtr $ +# $Id: PKGBUILD 164782 2012-08-05 08:32:04Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase="cups" pkgname=('libcups' 'cups') pkgver=1.6.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') license=('GPL') url="http://www.cups.org/" @@ -15,7 +15,10 @@ source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 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 @@ md5sums=('87ade07e3d1efd03c9c3add949cf9c00' 'a81573a429b98e16670d7fea47e528c4' '9657daa21760bb0b5fa3d8b51d5e01a1' 'f861b18f4446c43918c8643dcbbd7f6d' - '96f82c38f3f540b53f3e5144900acf17') + '96f82c38f3f540b53f3e5144900acf17' + '6bef262b5081051e88cd2ae94fed1867' + '9c91b1319f4b20dc323986cb4abbe806' + 'dcef8dd5614461166cada8a706eebb49') build() { cd ${srcdir}/${pkgbase}-${pkgver} @@ -40,6 +46,14 @@ build() { 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 @@ -150,4 +164,7 @@ optdepends=('xdg-utils: xdg .desktop file support') 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:' /usr/share/cups/mime/mime.convs + + # Provide native service for arch-daemons generator + ln -s cups.service "$pkgdir/usr/lib/systemd/system/cupsd.service" } diff --git a/extra/cups/avahi-missing-in-conditionals.patch b/extra/cups/avahi-missing-in-conditionals.patch new file mode 100644 index 000000000..b261f58ae --- /dev/null +++ b/extra/cups/avahi-missing-in-conditionals.patch @@ -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; + } diff --git a/extra/cups/cupsd-conf-remove-obsolete-browse-directives.patch b/extra/cups/cupsd-conf-remove-obsolete-browse-directives.patch new file mode 100644 index 000000000..97636c7f2 --- /dev/null +++ b/extra/cups/cupsd-conf-remove-obsolete-browse-directives.patch @@ -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... diff --git a/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch b/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch new file mode 100644 index 000000000..6349bd901 --- /dev/null +++ b/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch @@ -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. |