Date: Tuesday, September 20, 2016 @ 17:17:36 Author: andyrtr Revision: 276774
archrelease: copy trunk to testing-i686, testing-x86_64 Added: cups-filters/repos/testing-i686/ cups-filters/repos/testing-i686/PKGBUILD (from rev 276773, cups-filters/trunk/PKGBUILD) cups-filters/repos/testing-i686/bazaar_rev7537.diff (from rev 276773, cups-filters/trunk/bazaar_rev7537.diff) cups-filters/repos/testing-x86_64/ cups-filters/repos/testing-x86_64/PKGBUILD (from rev 276773, cups-filters/trunk/PKGBUILD) cups-filters/repos/testing-x86_64/bazaar_rev7537.diff (from rev 276773, cups-filters/trunk/bazaar_rev7537.diff) ------------------------------------+ testing-i686/PKGBUILD | 67 ++++++++++++++ testing-i686/bazaar_rev7537.diff | 166 +++++++++++++++++++++++++++++++++++ testing-x86_64/PKGBUILD | 67 ++++++++++++++ testing-x86_64/bazaar_rev7537.diff | 166 +++++++++++++++++++++++++++++++++++ 4 files changed, 466 insertions(+) Copied: cups-filters/repos/testing-i686/PKGBUILD (from rev 276773, cups-filters/trunk/PKGBUILD) =================================================================== --- testing-i686/PKGBUILD (rev 0) +++ testing-i686/PKGBUILD 2016-09-20 17:17:36 UTC (rev 276774) @@ -0,0 +1,67 @@ +# $Id$ +# Maintainer: Andreas Radke <andy...@archlinux.org> + +pkgname=cups-filters +pkgver=1.11.3 +pkgrel=2 +pkgdesc="OpenPrinting CUPS Filters" +arch=('i686' 'x86_64') +url="https://wiki.linuxfoundation.org/openprinting/cups-filters" +license=('custom') +depends=('lcms2' 'poppler' 'qpdf' 'imagemagick' 'liblouis' 'ijs' 'libcups') +makedepends=('ghostscript' 'ttf-dejavu' 'python') # ttf-dejavu for make check +optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images' + 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-nonfree: drivers use Ghostscript to convert PostScript to a printable form directly' + 'antiword: needed to convert MS Word documents (requires also docx2txt (AUR)') +backup=(etc/fonts/conf.d/99pdftoopvp.conf + etc/cups/cups-browsed.conf) +source=(http://www.openprinting.org/download/cups-filters/$pkgname-$pkgver.tar.xz + bazaar_rev7537.diff) +provides=('foomatic-filters') +replaces=('foomatic-filters') +conflicts=('foomatic-filters') +md5sums=('3e7ec44dc9b977f1beb64df49041004f' + '3c917d4d0091edfb89f34f8a37df91ef') + +prepare() { + cd $pkgname-$pkgver + # avoid unneeded calls of handle_cups_queues() and even infinite loops + patch -Np0 -i ../bazaar_rev7537.diff +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --with-rcdir=no \ + --enable-avahi \ + --with-browseremoteprotocols=DNSSD,CUPS \ + --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # add upstream systemd support file + install -Dm644 utils/cups-browsed.service ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + sed -i "s|/usr/sbin/cups-browsed|/usr/bin/cups-browsed|" ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + sed -i "s|cups.service|org.cups.cupsd.service|g" ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + + # use lp group from cups pkg FS#36769 + chgrp -R lp ${pkgdir}/etc/cups + + # license + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/${pkgname}-${pkgver}/COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/ +} Copied: cups-filters/repos/testing-i686/bazaar_rev7537.diff (from rev 276773, cups-filters/trunk/bazaar_rev7537.diff) =================================================================== --- testing-i686/bazaar_rev7537.diff (rev 0) +++ testing-i686/bazaar_rev7537.diff 2016-09-20 17:17:36 UTC (rev 276774) @@ -0,0 +1,166 @@ +=== modified file 'NEWS' +--- NEWS 2016-09-15 18:00:07 +0000 ++++ NEWS 2016-09-20 02:30:28 +0000 +@@ -1,6 +1,13 @@ + NEWS - OpenPrinting CUPS Filters v1.11.3 - 2016-09-15 + ----------------------------------------------------- + ++CHANGES IN V1.11.4 ++ ++ - cups-browsed: Fixes to avoid unneeded calls of ++ handle_cups_queues() and even infinite loops (Possible fix ++ for bug #1376). Also make sure that queues left over from ++ the previous cups-browsed session are integrated correctly. ++ + CHANGES IN V1.11.3 + + - cups-browsed: If a queue is not only discovered via Bonjour + +=== modified file 'utils/cups-browsed.c' +--- utils/cups-browsed.c 2016-09-14 15:48:33 +0000 ++++ utils/cups-browsed.c 2016-09-20 02:30:28 +0000 +@@ -585,11 +585,15 @@ + static http_t * + http_connect_local (void) + { +- debug_printf("cups-browsed: Creating http connection to local CUPS daemon: %s:%d\n", cupsServer(), ippPort()); +- if (!local_conn) ++ if (!local_conn) { ++ debug_printf("cups-browsed: Creating http connection to local CUPS daemon: %s:%d\n", cupsServer(), ippPort()); + local_conn = httpConnectEncryptShortTimeout(cupsServer(), ippPort(), + cupsEncryption()); +- httpSetTimeout(local_conn, 3, http_timeout_cb, NULL); ++ } ++ if (local_conn) ++ httpSetTimeout(local_conn, 3, http_timeout_cb, NULL); ++ else ++ debug_printf("cups-browsed: Failed creating http connection to local CUPS daemon: %s:%d\n", cupsServer(), ippPort()); + + return local_conn; + } +@@ -3946,24 +3950,18 @@ + break; + + case STATUS_CONFIRMED: +- if (p->is_legacy && p->timeout > current_time) { ++ /* Only act if the timeout has passed */ ++ if (p->timeout > current_time) ++ break; ++ ++ if (p->is_legacy) { + /* Remove a queue based on a legacy CUPS broadcast when the + broadcast timeout expires without a new broadcast of this + queue from the server */ + p->status = STATUS_DISAPPEARED; + p->timeout = time(NULL) + TIMEOUT_IMMEDIATELY; +- } else { +- /* If this queue was the default printer in its previous life, make +- it the default printer again. */ +- queue_creation_handle_default(p->name); +- +- /* If this queue is disabled, re-enable it. */ +- enable_printer(p->name); +- +- /* Record the options, to record any changes which happened +- while cups-browsed was not running */ +- record_printer_options(p->name); +- } ++ } else ++ p->timeout = (time_t) -1; + + break; + +@@ -4002,11 +4000,11 @@ + g_source_remove (queues_timer_id); + + if (timeout != (time_t) -1) { ++ debug_printf("checking queues in %ds\n", timeout); + queues_timer_id = g_timeout_add_seconds (timeout, handle_cups_queues, NULL); +- debug_printf("checking queues in %ds\n", timeout); + } else { ++ debug_printf("listening\n"); + queues_timer_id = 0; +- debug_printf("listening\n"); + } + } + +@@ -4403,6 +4401,8 @@ + } + + if (p) { ++ debug_printf("Entry for %s (URI: %s) already exists.\n", ++ p->name, p->uri); + /* We have already created a local queue, check whether the + discovered service allows us to upgrade the queue to IPPS + or whether the URI part after ipp(s):// has changed, or +@@ -4453,26 +4453,31 @@ + p->type = strdup(type); + p->domain = strdup(domain); + +- } else { ++ } + +- /* Nothing to do, mark queue entry as confirmed if the entry +- is unconfirmed */ +- debug_printf("Entry for %s (URI: %s) already exists.\n", ++ /* Mark queue entry as confirmed if the entry ++ is unconfirmed */ ++ if (p->status == STATUS_UNCONFIRMED || ++ p->status == STATUS_DISAPPEARED) { ++ debug_printf("Marking entry for %s (URI: %s) as confirmed.\n", + p->name, p->uri); +- if (p->status == STATUS_UNCONFIRMED || +- p->status == STATUS_DISAPPEARED) { +- p->status = STATUS_CONFIRMED; +- if (p->is_legacy) { +- p->timeout = time(NULL) + BrowseTimeout; +- debug_printf("starting BrowseTimeout timer for %s (%ds)\n", +- p->name, BrowseTimeout); +- } else +- p->timeout = (time_t) -1; +- debug_printf("Marking entry for %s (URI: %s) as confirmed.\n", +- p->name, p->uri); +- } ++ p->status = STATUS_CONFIRMED; ++ if (p->is_legacy) { ++ p->timeout = time(NULL) + BrowseTimeout; ++ debug_printf("starting BrowseTimeout timer for %s (%ds)\n", ++ p->name, BrowseTimeout); ++ } else ++ p->timeout = (time_t) -1; ++ /* If this queue was the default printer in its previous life, make ++ it the default printer again. */ ++ queue_creation_handle_default(p->name); ++ /* If this queue is disabled, re-enable it. */ ++ enable_printer(p->name); ++ /* Record the options, to record any changes which happened ++ while cups-browsed was not running */ ++ record_printer_options(p->name); ++ } + +- } + if (p->host[0] == '\0') { + free (p->host); + p->host = strdup(remote_host); +@@ -5526,8 +5531,6 @@ + + g_list_free_full (context->printers, browsepoll_printer_free); + context->printers = printers; +- if (in_shutdown == 0) +- recheck_timer (); + + fail: + if (response) +@@ -5785,7 +5788,10 @@ + + inhibit_local_printers_update = FALSE; + +-fail: ++ if (in_shutdown == 0) ++ recheck_timer (); ++ ++ fail: + + if (conn) + httpClose (conn); + Copied: cups-filters/repos/testing-x86_64/PKGBUILD (from rev 276773, cups-filters/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2016-09-20 17:17:36 UTC (rev 276774) @@ -0,0 +1,67 @@ +# $Id$ +# Maintainer: Andreas Radke <andy...@archlinux.org> + +pkgname=cups-filters +pkgver=1.11.3 +pkgrel=2 +pkgdesc="OpenPrinting CUPS Filters" +arch=('i686' 'x86_64') +url="https://wiki.linuxfoundation.org/openprinting/cups-filters" +license=('custom') +depends=('lcms2' 'poppler' 'qpdf' 'imagemagick' 'liblouis' 'ijs' 'libcups') +makedepends=('ghostscript' 'ttf-dejavu' 'python') # ttf-dejavu for make check +optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images' + 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-nonfree: drivers use Ghostscript to convert PostScript to a printable form directly' + 'antiword: needed to convert MS Word documents (requires also docx2txt (AUR)') +backup=(etc/fonts/conf.d/99pdftoopvp.conf + etc/cups/cups-browsed.conf) +source=(http://www.openprinting.org/download/cups-filters/$pkgname-$pkgver.tar.xz + bazaar_rev7537.diff) +provides=('foomatic-filters') +replaces=('foomatic-filters') +conflicts=('foomatic-filters') +md5sums=('3e7ec44dc9b977f1beb64df49041004f' + '3c917d4d0091edfb89f34f8a37df91ef') + +prepare() { + cd $pkgname-$pkgver + # avoid unneeded calls of handle_cups_queues() and even infinite loops + patch -Np0 -i ../bazaar_rev7537.diff +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --with-rcdir=no \ + --enable-avahi \ + --with-browseremoteprotocols=DNSSD,CUPS \ + --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # add upstream systemd support file + install -Dm644 utils/cups-browsed.service ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + sed -i "s|/usr/sbin/cups-browsed|/usr/bin/cups-browsed|" ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + sed -i "s|cups.service|org.cups.cupsd.service|g" ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + + # use lp group from cups pkg FS#36769 + chgrp -R lp ${pkgdir}/etc/cups + + # license + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/${pkgname}-${pkgver}/COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/ +} Copied: cups-filters/repos/testing-x86_64/bazaar_rev7537.diff (from rev 276773, cups-filters/trunk/bazaar_rev7537.diff) =================================================================== --- testing-x86_64/bazaar_rev7537.diff (rev 0) +++ testing-x86_64/bazaar_rev7537.diff 2016-09-20 17:17:36 UTC (rev 276774) @@ -0,0 +1,166 @@ +=== modified file 'NEWS' +--- NEWS 2016-09-15 18:00:07 +0000 ++++ NEWS 2016-09-20 02:30:28 +0000 +@@ -1,6 +1,13 @@ + NEWS - OpenPrinting CUPS Filters v1.11.3 - 2016-09-15 + ----------------------------------------------------- + ++CHANGES IN V1.11.4 ++ ++ - cups-browsed: Fixes to avoid unneeded calls of ++ handle_cups_queues() and even infinite loops (Possible fix ++ for bug #1376). Also make sure that queues left over from ++ the previous cups-browsed session are integrated correctly. ++ + CHANGES IN V1.11.3 + + - cups-browsed: If a queue is not only discovered via Bonjour + +=== modified file 'utils/cups-browsed.c' +--- utils/cups-browsed.c 2016-09-14 15:48:33 +0000 ++++ utils/cups-browsed.c 2016-09-20 02:30:28 +0000 +@@ -585,11 +585,15 @@ + static http_t * + http_connect_local (void) + { +- debug_printf("cups-browsed: Creating http connection to local CUPS daemon: %s:%d\n", cupsServer(), ippPort()); +- if (!local_conn) ++ if (!local_conn) { ++ debug_printf("cups-browsed: Creating http connection to local CUPS daemon: %s:%d\n", cupsServer(), ippPort()); + local_conn = httpConnectEncryptShortTimeout(cupsServer(), ippPort(), + cupsEncryption()); +- httpSetTimeout(local_conn, 3, http_timeout_cb, NULL); ++ } ++ if (local_conn) ++ httpSetTimeout(local_conn, 3, http_timeout_cb, NULL); ++ else ++ debug_printf("cups-browsed: Failed creating http connection to local CUPS daemon: %s:%d\n", cupsServer(), ippPort()); + + return local_conn; + } +@@ -3946,24 +3950,18 @@ + break; + + case STATUS_CONFIRMED: +- if (p->is_legacy && p->timeout > current_time) { ++ /* Only act if the timeout has passed */ ++ if (p->timeout > current_time) ++ break; ++ ++ if (p->is_legacy) { + /* Remove a queue based on a legacy CUPS broadcast when the + broadcast timeout expires without a new broadcast of this + queue from the server */ + p->status = STATUS_DISAPPEARED; + p->timeout = time(NULL) + TIMEOUT_IMMEDIATELY; +- } else { +- /* If this queue was the default printer in its previous life, make +- it the default printer again. */ +- queue_creation_handle_default(p->name); +- +- /* If this queue is disabled, re-enable it. */ +- enable_printer(p->name); +- +- /* Record the options, to record any changes which happened +- while cups-browsed was not running */ +- record_printer_options(p->name); +- } ++ } else ++ p->timeout = (time_t) -1; + + break; + +@@ -4002,11 +4000,11 @@ + g_source_remove (queues_timer_id); + + if (timeout != (time_t) -1) { ++ debug_printf("checking queues in %ds\n", timeout); + queues_timer_id = g_timeout_add_seconds (timeout, handle_cups_queues, NULL); +- debug_printf("checking queues in %ds\n", timeout); + } else { ++ debug_printf("listening\n"); + queues_timer_id = 0; +- debug_printf("listening\n"); + } + } + +@@ -4403,6 +4401,8 @@ + } + + if (p) { ++ debug_printf("Entry for %s (URI: %s) already exists.\n", ++ p->name, p->uri); + /* We have already created a local queue, check whether the + discovered service allows us to upgrade the queue to IPPS + or whether the URI part after ipp(s):// has changed, or +@@ -4453,26 +4453,31 @@ + p->type = strdup(type); + p->domain = strdup(domain); + +- } else { ++ } + +- /* Nothing to do, mark queue entry as confirmed if the entry +- is unconfirmed */ +- debug_printf("Entry for %s (URI: %s) already exists.\n", ++ /* Mark queue entry as confirmed if the entry ++ is unconfirmed */ ++ if (p->status == STATUS_UNCONFIRMED || ++ p->status == STATUS_DISAPPEARED) { ++ debug_printf("Marking entry for %s (URI: %s) as confirmed.\n", + p->name, p->uri); +- if (p->status == STATUS_UNCONFIRMED || +- p->status == STATUS_DISAPPEARED) { +- p->status = STATUS_CONFIRMED; +- if (p->is_legacy) { +- p->timeout = time(NULL) + BrowseTimeout; +- debug_printf("starting BrowseTimeout timer for %s (%ds)\n", +- p->name, BrowseTimeout); +- } else +- p->timeout = (time_t) -1; +- debug_printf("Marking entry for %s (URI: %s) as confirmed.\n", +- p->name, p->uri); +- } ++ p->status = STATUS_CONFIRMED; ++ if (p->is_legacy) { ++ p->timeout = time(NULL) + BrowseTimeout; ++ debug_printf("starting BrowseTimeout timer for %s (%ds)\n", ++ p->name, BrowseTimeout); ++ } else ++ p->timeout = (time_t) -1; ++ /* If this queue was the default printer in its previous life, make ++ it the default printer again. */ ++ queue_creation_handle_default(p->name); ++ /* If this queue is disabled, re-enable it. */ ++ enable_printer(p->name); ++ /* Record the options, to record any changes which happened ++ while cups-browsed was not running */ ++ record_printer_options(p->name); ++ } + +- } + if (p->host[0] == '\0') { + free (p->host); + p->host = strdup(remote_host); +@@ -5526,8 +5531,6 @@ + + g_list_free_full (context->printers, browsepoll_printer_free); + context->printers = printers; +- if (in_shutdown == 0) +- recheck_timer (); + + fail: + if (response) +@@ -5785,7 +5788,10 @@ + + inhibit_local_printers_update = FALSE; + +-fail: ++ if (in_shutdown == 0) ++ recheck_timer (); ++ ++ fail: + + if (conn) + httpClose (conn); +