summaryrefslogtreecommitdiff
path: root/testing/cups
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-09-05 00:02:31 +0000
committerroot <root@rshg054.dnsready.net>2012-09-05 00:02:31 +0000
commitb915a21821423232052e2e48ea14f288b3098c32 (patch)
tree36efd4baf3e66f689f2c7d58d05d0a64fbfcc6e9 /testing/cups
parent8b7b4f2e5a808cb0c1226c23469fa57751eba190 (diff)
Wed Sep 5 00:02:30 UTC 2012
Diffstat (limited to 'testing/cups')
-rw-r--r--testing/cups/PKGBUILD35
-rw-r--r--testing/cups/avahi-missing-in-conditionals.patch118
-rw-r--r--testing/cups/cups-systemd-socket.patch135
-rw-r--r--testing/cups/cups.install5
-rw-r--r--testing/cups/cupsd-conf-remove-obsolete-browse-directives.patch12
-rw-r--r--testing/cups/recognize-remote-cups-queue-via-dnssd-uri.patch25
-rw-r--r--testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch74
7 files changed, 328 insertions, 76 deletions
diff --git a/testing/cups/PKGBUILD b/testing/cups/PKGBUILD
index d4ba2d8d7..12273883e 100644
--- a/testing/cups/PKGBUILD
+++ b/testing/cups/PKGBUILD
@@ -1,30 +1,38 @@
-# $Id: PKGBUILD 164245 2012-07-28 09:29:14Z andyrtr $
+# $Id: PKGBUILD 165915 2012-09-03 20:05:26Z heftig $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups')
pkgver=1.6.1
-pkgrel=1
+pkgrel=6
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
-makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc'
+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
cups-no-export-ssllibs.patch
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
+ usb-backend-reset-after-job-only-for-specific-devices.patch)
#options=('!emptydirs')
md5sums=('87ade07e3d1efd03c9c3add949cf9c00'
'9b8467a1e51d360096b70e2c3c081e6c'
'3733c23e77eb503bd94cc368e02830dc'
'90c30380d4c8cd48a908cfdadae1ea24'
- 'a81573a429b98e16670d7fea47e528c4'
+ 'b4868b83f7f2d6ec24a1be76509379f0'
'9657daa21760bb0b5fa3d8b51d5e01a1'
'f861b18f4446c43918c8643dcbbd7f6d'
- '96f82c38f3f540b53f3e5144900acf17')
+ '96f82c38f3f540b53f3e5144900acf17'
+ '6bef262b5081051e88cd2ae94fed1867'
+ '9c91b1319f4b20dc323986cb4abbe806'
+ 'dcef8dd5614461166cada8a706eebb49'
+ '0779ef8ba1d724ebb3b9bf360deba52b')
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -40,6 +48,16 @@ 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
+ # http://cups.org/str.php?L4155 / https://bugs.archlinux.org/task/30965
+ patch -Np0 -i ${srcdir}/usb-backend-reset-after-job-only-for-specific-devices.patch
# Rebuild configure script for not zipping man-pages.
aclocal -I config-scripts
@@ -105,7 +123,7 @@ backup=(etc/cups/cupsd.conf
etc/logrotate.d/cups
etc/pam.d/cups
etc/xinetd.d/cups-lpd)
-depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme')
+depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme')
optdepends=('xdg-utils: xdg .desktop file support')
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -150,4 +168,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/testing/cups/avahi-missing-in-conditionals.patch b/testing/cups/avahi-missing-in-conditionals.patch
new file mode 100644
index 000000000..b261f58ae
--- /dev/null
+++ b/testing/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/testing/cups/cups-systemd-socket.patch b/testing/cups/cups-systemd-socket.patch
index f699b9eda..83fabdb4f 100644
--- a/testing/cups/cups-systemd-socket.patch
+++ b/testing/cups/cups-systemd-socket.patch
@@ -1,7 +1,7 @@
-diff -up cups-1.5.0/config.h.in.systemd-socket cups-1.5.0/config.h.in
---- cups-1.5.0/config.h.in.systemd-socket 2011-10-18 15:32:40.741672460 +0100
-+++ cups-1.5.0/config.h.in 2011-10-18 15:32:40.843670530 +0100
-@@ -503,6 +503,13 @@
+diff -up cups-1.6b1/config.h.in.systemd-socket cups-1.6b1/config.h.in
+--- cups-1.6b1/config.h.in.systemd-socket 2012-05-17 00:57:03.000000000 +0200
++++ cups-1.6b1/config.h.in 2012-05-28 11:16:35.657250584 +0200
+@@ -506,6 +506,13 @@
/*
@@ -15,9 +15,9 @@ diff -up cups-1.5.0/config.h.in.systemd-socket cups-1.5.0/config.h.in
* Various scripting languages...
*/
-diff -up cups-1.5.0/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.0/config-scripts/cups-systemd.m4
---- cups-1.5.0/config-scripts/cups-systemd.m4.systemd-socket 2011-10-18 15:32:40.844670511 +0100
-+++ cups-1.5.0/config-scripts/cups-systemd.m4 2011-10-18 15:33:16.861989058 +0100
+diff -up cups-1.6b1/config-scripts/cups-systemd.m4.systemd-socket cups-1.6b1/config-scripts/cups-systemd.m4
+--- cups-1.6b1/config-scripts/cups-systemd.m4.systemd-socket 2012-05-28 11:16:35.658250577 +0200
++++ cups-1.6b1/config-scripts/cups-systemd.m4 2012-05-28 11:16:35.658250577 +0200
@@ -0,0 +1,36 @@
+dnl
+dnl "$Id$"
@@ -55,18 +55,18 @@ diff -up cups-1.5.0/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.0/con
+dnl
+dnl "$Id$"
+dnl
-diff -up cups-1.5.0/configure.in.systemd-socket cups-1.5.0/configure.in
---- cups-1.5.0/configure.in.systemd-socket 2010-11-20 01:03:46.000000000 +0000
-+++ cups-1.5.0/configure.in 2011-10-18 15:32:40.844670511 +0100
-@@ -37,6 +37,7 @@ sinclude(config-scripts/cups-pam.m4)
+diff -up cups-1.6b1/configure.in.systemd-socket cups-1.6b1/configure.in
+--- cups-1.6b1/configure.in.systemd-socket 2012-04-23 19:26:57.000000000 +0200
++++ cups-1.6b1/configure.in 2012-05-28 11:16:35.658250577 +0200
+@@ -33,6 +33,7 @@ sinclude(config-scripts/cups-pam.m4)
sinclude(config-scripts/cups-largefile.m4)
sinclude(config-scripts/cups-dnssd.m4)
sinclude(config-scripts/cups-launchd.m4)
+sinclude(config-scripts/cups-systemd.m4)
sinclude(config-scripts/cups-defaults.m4)
- sinclude(config-scripts/cups-pdf.m4)
sinclude(config-scripts/cups-scripting.m4)
-@@ -71,6 +72,9 @@ AC_OUTPUT(Makedefs
+
+@@ -66,6 +67,9 @@ AC_OUTPUT(Makedefs
conf/snmp.conf
cups-config
data/testprint
@@ -76,10 +76,10 @@ diff -up cups-1.5.0/configure.in.systemd-socket cups-1.5.0/configure.in
desktop/cups.desktop
doc/help/ref-cupsd-conf.html
doc/help/standard.html
-diff -up cups-1.5.0/cups/usersys.c.systemd-socket cups-1.5.0/cups/usersys.c
---- cups-1.5.0/cups/usersys.c.systemd-socket 2011-10-18 15:32:40.645674277 +0100
-+++ cups-1.5.0/cups/usersys.c 2011-10-18 15:32:40.845670492 +0100
-@@ -770,7 +770,7 @@ cups_read_client_conf(
+diff -up cups-1.6b1/cups/usersys.c.systemd-socket cups-1.6b1/cups/usersys.c
+--- cups-1.6b1/cups/usersys.c.systemd-socket 2012-04-23 19:26:57.000000000 +0200
++++ cups-1.6b1/cups/usersys.c 2012-05-28 11:16:35.659250570 +0200
+@@ -975,7 +975,7 @@ cups_read_client_conf(
struct stat sockinfo; /* Domain socket information */
if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) &&
@@ -88,9 +88,9 @@ diff -up cups-1.5.0/cups/usersys.c.systemd-socket cups-1.5.0/cups/usersys.c
cups_server = CUPS_DEFAULT_DOMAINSOCKET;
else
#endif /* CUPS_DEFAULT_DOMAINSOCKET */
-diff -up cups-1.5.0/data/cups.path.in.systemd-socket cups-1.5.0/data/cups.path.in
---- cups-1.5.0/data/cups.path.in.systemd-socket 2011-10-18 15:32:40.846670473 +0100
-+++ cups-1.5.0/data/cups.path.in 2011-10-18 15:32:40.846670473 +0100
+diff -up cups-1.6b1/data/cups.path.in.systemd-socket cups-1.6b1/data/cups.path.in
+--- cups-1.6b1/data/cups.path.in.systemd-socket 2012-05-28 11:16:35.659250570 +0200
++++ cups-1.6b1/data/cups.path.in 2012-05-28 11:16:35.659250570 +0200
@@ -0,0 +1,8 @@
+[Unit]
+Description=CUPS Printer Service Spool
@@ -100,10 +100,10 @@ diff -up cups-1.5.0/data/cups.path.in.systemd-socket cups-1.5.0/data/cups.path.i
+
+[Install]
+WantedBy=multi-user.target
-diff -up cups-1.5.0/data/cups.service.in.systemd-socket cups-1.5.0/data/cups.service.in
---- cups-1.5.0/data/cups.service.in.systemd-socket 2011-10-18 15:32:40.846670473 +0100
-+++ cups-1.5.0/data/cups.service.in 2011-10-18 15:32:40.846670473 +0100
-@@ -0,0 +1,9 @@
+diff -up cups-1.6b1/data/cups.service.in.systemd-socket cups-1.6b1/data/cups.service.in
+--- cups-1.6b1/data/cups.service.in.systemd-socket 2012-05-28 11:16:35.659250570 +0200
++++ cups-1.6b1/data/cups.service.in 2012-05-28 11:16:35.659250570 +0200
+@@ -0,0 +1,10 @@
+[Unit]
+Description=CUPS Printing Service
+
@@ -114,25 +114,22 @@ diff -up cups-1.5.0/data/cups.service.in.systemd-socket cups-1.5.0/data/cups.ser
+[Install]
+Also=cups.socket cups.path
+WantedBy=printer.target
-diff -up cups-1.5.0/data/cups.socket.in.systemd-socket cups-1.5.0/data/cups.socket.in
---- cups-1.5.0/data/cups.socket.in.systemd-socket 2011-10-18 15:32:40.847670454 +0100
-+++ cups-1.5.0/data/cups.socket.in 2011-10-18 15:32:40.847670454 +0100
-@@ -0,0 +1,10 @@
+diff -up cups-1.6b1/data/cups.socket.in.systemd-socket cups-1.6b1/data/cups.socket.in
+--- cups-1.6b1/data/cups.socket.in.systemd-socket 2012-05-28 11:16:35.660250563 +0200
++++ cups-1.6b1/data/cups.socket.in 2012-05-28 11:16:35.660250563 +0200
+@@ -0,0 +1,8 @@
+[Unit]
+Description=CUPS Printing Service Sockets
+
+[Socket]
+ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@
-+ListenStream=631
-+ListenDatagram=0.0.0.0:631
-+BindIPv6Only=ipv6-only
+
+[Install]
+WantedBy=sockets.target
-diff -up cups-1.5.0/data/Makefile.systemd-socket cups-1.5.0/data/Makefile
---- cups-1.5.0/data/Makefile.systemd-socket 2011-05-12 06:21:56.000000000 +0100
-+++ cups-1.5.0/data/Makefile 2011-10-18 15:32:40.847670454 +0100
-@@ -112,6 +112,12 @@ install-data:
+diff -up cups-1.6b1/data/Makefile.systemd-socket cups-1.6b1/data/Makefile
+--- cups-1.6b1/data/Makefile.systemd-socket 2011-08-27 11:23:01.000000000 +0200
++++ cups-1.6b1/data/Makefile 2012-05-28 11:16:35.660250563 +0200
+@@ -100,6 +100,12 @@ install-data:
$(INSTALL_DATA) $$file $(DATADIR)/ppdc; \
done
$(INSTALL_DIR) -m 755 $(DATADIR)/profiles
@@ -145,8 +142,8 @@ diff -up cups-1.5.0/data/Makefile.systemd-socket cups-1.5.0/data/Makefile
#
-@@ -159,6 +165,9 @@ uninstall:
- -$(RMDIR) $(DATADIR)/charsets
+@@ -143,6 +149,9 @@ uninstall:
+ -$(RMDIR) $(DATADIR)/data
-$(RMDIR) $(DATADIR)/banners
-$(RMDIR) $(DATADIR)
+ for file in $(SYSTEMD_UNITS); do \
@@ -155,10 +152,10 @@ diff -up cups-1.5.0/data/Makefile.systemd-socket cups-1.5.0/data/Makefile
#
-diff -up cups-1.5.0/Makedefs.in.systemd-socket cups-1.5.0/Makedefs.in
---- cups-1.5.0/Makedefs.in.systemd-socket 2011-10-18 15:32:40.719672876 +0100
-+++ cups-1.5.0/Makedefs.in 2011-10-18 15:32:40.848670435 +0100
-@@ -143,6 +143,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@
+diff -up cups-1.6b1/Makedefs.in.systemd-socket cups-1.6b1/Makedefs.in
+--- cups-1.6b1/Makedefs.in.systemd-socket 2012-05-28 11:16:35.648250647 +0200
++++ cups-1.6b1/Makedefs.in 2012-05-28 11:16:35.660250563 +0200
+@@ -134,11 +134,13 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@
CXXLIBS = @CXXLIBS@
DBUS_NOTIFIER = @DBUS_NOTIFIER@
DBUS_NOTIFIERLIBS = @DBUS_NOTIFIERLIBS@
@@ -166,15 +163,13 @@ diff -up cups-1.5.0/Makedefs.in.systemd-socket cups-1.5.0/Makedefs.in
DNSSD_BACKEND = @DNSSD_BACKEND@
DSOFLAGS = -L../cups @DSOFLAGS@
DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
-@@ -151,6 +152,7 @@ FONTS = @FONTS@
- IMGLIBS = @IMGLIBS@
- IMGFILTERS = @IMGFILTERS@
+ DNSSDLIBS = @DNSSDLIBS@
LAUNCHDLIBS = @LAUNCHDLIBS@
+SDLIBS = @SDLIBS@
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
-L../scheduler @LDARCHFLAGS@ \
@LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
-@@ -267,6 +269,7 @@ PAMFILE = @PAMFILE@
+@@ -229,6 +231,7 @@ PAMFILE = @PAMFILE@
DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@
DBUSDIR = @DBUSDIR@
@@ -182,10 +177,10 @@ diff -up cups-1.5.0/Makedefs.in.systemd-socket cups-1.5.0/Makedefs.in
#
-diff -up cups-1.5.0/scheduler/client.h.systemd-socket cups-1.5.0/scheduler/client.h
---- cups-1.5.0/scheduler/client.h.systemd-socket 2011-03-25 21:25:38.000000000 +0000
-+++ cups-1.5.0/scheduler/client.h 2011-10-18 15:32:40.848670435 +0100
-@@ -75,6 +75,9 @@ typedef struct
+diff -up cups-1.6b1/scheduler/client.h.systemd-socket cups-1.6b1/scheduler/client.h
+--- cups-1.6b1/scheduler/client.h.systemd-socket 2012-03-22 21:30:20.000000000 +0100
++++ cups-1.6b1/scheduler/client.h 2012-05-28 11:16:35.661250556 +0200
+@@ -77,6 +77,9 @@ typedef struct
int fd; /* File descriptor for this server */
http_addr_t address; /* Bind address of socket */
http_encryption_t encryption; /* To encrypt or not to encrypt... */
@@ -195,9 +190,9 @@ diff -up cups-1.5.0/scheduler/client.h.systemd-socket cups-1.5.0/scheduler/clien
} cupsd_listener_t;
-diff -up cups-1.5.0/scheduler/listen.c.systemd-socket cups-1.5.0/scheduler/listen.c
---- cups-1.5.0/scheduler/listen.c.systemd-socket 2011-04-16 00:38:13.000000000 +0100
-+++ cups-1.5.0/scheduler/listen.c 2011-10-18 15:32:40.849670416 +0100
+diff -up cups-1.6b1/scheduler/listen.c.systemd-socket cups-1.6b1/scheduler/listen.c
+--- cups-1.6b1/scheduler/listen.c.systemd-socket 2011-04-16 01:38:13.000000000 +0200
++++ cups-1.6b1/scheduler/listen.c 2012-05-28 11:16:35.661250556 +0200
@@ -401,7 +401,11 @@ cupsdStopListening(void)
lis;
lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
@@ -211,9 +206,9 @@ diff -up cups-1.5.0/scheduler/listen.c.systemd-socket cups-1.5.0/scheduler/liste
{
#ifdef WIN32
closesocket(lis->fd);
-diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
---- cups-1.5.0/scheduler/main.c.systemd-socket 2011-10-18 15:32:40.802671306 +0100
-+++ cups-1.5.0/scheduler/main.c 2011-10-18 15:32:40.851670379 +0100
+diff -up cups-1.6b1/scheduler/main.c.systemd-socket cups-1.6b1/scheduler/main.c
+--- cups-1.6b1/scheduler/main.c.systemd-socket 2012-05-28 11:16:35.612250897 +0200
++++ cups-1.6b1/scheduler/main.c 2012-05-28 12:49:32.698375139 +0200
@@ -26,6 +26,8 @@
* launchd_checkin() - Check-in with launchd and collect the listening
* fds.
@@ -244,7 +239,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
static void parent_handler(int sig);
static void process_children(void);
static void sigchld_handler(int sig);
-@@ -537,6 +546,13 @@ main(int argc, /* I - Number of comm
+@@ -528,6 +537,13 @@ main(int argc, /* I - Number of comm
}
#endif /* HAVE_LAUNCHD */
@@ -258,7 +253,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
/*
* Startup the server...
*/
-@@ -759,6 +775,15 @@ main(int argc, /* I - Number of comm
+@@ -738,6 +754,15 @@ main(int argc, /* I - Number of comm
}
#endif /* HAVE_LAUNCHD */
@@ -274,7 +269,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
/*
* Startup the server...
*/
-@@ -1584,6 +1609,100 @@ launchd_checkout(void)
+@@ -1516,6 +1541,102 @@ launchd_checkout(void)
}
#endif /* HAVE_LAUNCHD */
@@ -306,14 +301,16 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
+ char s[256];
+
+ r = sd_is_socket(fd, AF_UNSPEC, SOCK_STREAM, 1);
-+ if (r < 0) {
++ if (r < 0)
++ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "systemd_checkin: Unable to verify socket type - %s",
+ strerror(-r));
+ continue;
+ }
+
-+ if (!r) {
++ if (!r)
++ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "systemd_checkin: Socket not of the right type");
+ continue;
@@ -327,7 +324,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
+ continue;
+ }
+
-+ /*
++ /*
+ * Try to match the systemd socket address to one of the listeners...
+ */
+
@@ -335,7 +332,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
+ lis;
+ lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
+ if (httpAddrEqual(&lis->address, &addr))
-+ break;
++ break;
+
+ if (lis)
+ {
@@ -375,10 +372,10 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c
/*
* 'parent_handler()' - Catch USR1/CHLD signals...
-diff -up cups-1.5.0/scheduler/Makefile.systemd-socket cups-1.5.0/scheduler/Makefile
---- cups-1.5.0/scheduler/Makefile.systemd-socket 2011-10-18 15:32:40.817671022 +0100
-+++ cups-1.5.0/scheduler/Makefile 2011-10-18 15:32:40.852670360 +0100
-@@ -382,7 +382,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu
+diff -up cups-1.6b1/scheduler/Makefile.systemd-socket cups-1.6b1/scheduler/Makefile
+--- cups-1.6b1/scheduler/Makefile.systemd-socket 2012-05-21 19:40:22.000000000 +0200
++++ cups-1.6b1/scheduler/Makefile 2012-05-28 11:16:35.663250542 +0200
+@@ -371,7 +371,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu
$(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
$(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
$(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBS) \
@@ -387,12 +384,12 @@ diff -up cups-1.5.0/scheduler/Makefile.systemd-socket cups-1.5.0/scheduler/Makef
cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
echo Linking $@...
-@@ -390,7 +390,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a
+@@ -379,7 +379,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a
$(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
$(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
- $(LIBWRAP)
-+ $(LIBWRAP) $(SDLIBS)
++ $(LIBWRAP) $(SDLIBS)
+ tls.o: tls-darwin.c tls-gnutls.c tls-openssl.c
- #
diff --git a/testing/cups/cups.install b/testing/cups/cups.install
index cea52282e..fc015f951 100644
--- a/testing/cups/cups.install
+++ b/testing/cups/cups.install
@@ -24,6 +24,11 @@ post_upgrade() {
echo "* check your config with cupsd -t"
echo " and fix all Browsing related settings"
fi
+ if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then
+ # important upgrade notice
+ echo "> It's now safe to load usblp kernel module."
+ echo "> There's no more need to blacklist it."
+ fi
}
post_remove() {
diff --git a/testing/cups/cupsd-conf-remove-obsolete-browse-directives.patch b/testing/cups/cupsd-conf-remove-obsolete-browse-directives.patch
new file mode 100644
index 000000000..97636c7f2
--- /dev/null
+++ b/testing/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/testing/cups/recognize-remote-cups-queue-via-dnssd-uri.patch b/testing/cups/recognize-remote-cups-queue-via-dnssd-uri.patch
new file mode 100644
index 000000000..6349bd901
--- /dev/null
+++ b/testing/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.
diff --git a/testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch b/testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
new file mode 100644
index 000000000..dcf91c833
--- /dev/null
+++ b/testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
@@ -0,0 +1,74 @@
+--- backend/usb-libusb.c.orig 2012-07-16 19:10:55.000000000 +0200
++++ backend/usb-libusb.c 2012-08-06 11:01:58.034150159 +0200
+@@ -70,7 +70,7 @@
+ read_endp, /* Read endpoint */
+ protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
+ usblp_attached, /* "usblp" kernel module attached? */
+- opened_for_job; /* Set to 1 by print_device() */
++ reset_after_job; /* Set to 1 by print_device() */
+ unsigned int quirks; /* Quirks flags */
+ struct libusb_device_handle *handle; /* Open handle to device */
+ } usb_printer_t;
+@@ -122,6 +122,8 @@
+ #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
+ #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
+ Class or SubClass */
++#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
++ for clean-up */
+ #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
+ the usblp kernel module */
+
+@@ -147,9 +149,11 @@
+ { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
+ Printer M129C */
+ { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
+- USBLP_QUIRK_NO_REATTACH },
++ USBLP_QUIRK_NO_REATTACH |
++ USBLP_QUIRK_RESET },
+ /* Prolific Technology, Inc. PL2305 Parallel Port
+ (USB -> Parallel adapter) */
++ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */
+ { 0, 0 }
+ };
+
+@@ -256,7 +260,12 @@
+ }
+
+ g.print_fd = print_fd;
+- g.printer->opened_for_job = 1;
++
++ /*
++ * Some devices need a reset after finishing a job, these devices are
++ * marked with the USBLP_QUIRK_RESET quirk.
++ */
++ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
+
+ /*
+ * If we are printing data from a print driver on stdin, ignore SIGTERM
+@@ -772,7 +781,7 @@
+ * Reset the device to clean up after the job
+ */
+
+- if (printer->opened_for_job == 1)
++ if (printer->reset_after_job == 1)
+ {
+ if ((errcode = libusb_reset_device(printer->handle)) < 0)
+ fprintf(stderr,
+@@ -1288,7 +1297,7 @@
+ }
+
+ printer->usblp_attached = 0;
+- printer->opened_for_job = 0;
++ printer->reset_after_job = 0;
+
+ if (verbose)
+ fputs("STATE: +connecting-to-device\n", stderr);
+@@ -1586,7 +1595,7 @@
+ for (i = 0; quirk_printers[i].vendorId; i++)
+ {
+ if (vendor == quirk_printers[i].vendorId &&
+- product == quirk_printers[i].productId)
++ (product == 0x0000 || product == quirk_printers[i].productId))
+ return quirk_printers[i].quirks;
+ }
+ return 0;