diff options
author | root <root@rshg054.dnsready.net> | 2012-08-01 00:01:57 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-08-01 00:01:57 +0000 |
commit | a71961a43ef48f47d3575915f63099308a18a263 (patch) | |
tree | 7cff98e17a13de6beae6d0a56c0d1bf75a74fb5a /extra/cups | |
parent | 5b3474881a154216b47c6e154552ee5f9c68c509 (diff) |
Wed Aug 1 00:01:57 UTC 2012
Diffstat (limited to 'extra/cups')
-rw-r--r-- | extra/cups/PKGBUILD | 51 | ||||
-rw-r--r-- | extra/cups/cups-no-gzip-man.patch | 2 | ||||
-rw-r--r-- | extra/cups/cups-systemd-socket.patch | 223 | ||||
-rw-r--r-- | extra/cups/cups.install | 7 |
4 files changed, 70 insertions, 213 deletions
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD index 9d5563efa..a1f8b2b04 100644 --- a/extra/cups/PKGBUILD +++ b/extra/cups/PKGBUILD @@ -1,52 +1,37 @@ -# $Id: PKGBUILD 164175 2012-07-26 17:37:45Z andyrtr $ +# $Id: PKGBUILD 164328 2012-07-30 14:40:47Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase="cups" pkgname=('libcups' 'cups') -pkgver=1.5.4 +pkgver=1.6.1 pkgrel=1 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' - 'xinetd' 'gzip' 'autoconf' 'php' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme' 'systemd') + '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-avahi-1-config.patch - cups-avahi-2-backend.patch - cups-avahi-3-timeouts.patch - cups-avahi-4-poll.patch - cups-avahi-5-services.patch cups-no-export-ssllibs.patch cups-no-gcrypt.patch cups-no-gzip-man.patch cups-systemd-socket.patch cups cups.logrotate cups.pam) #options=('!emptydirs') -md5sums=('de3006e5cf1ee78a9c6145ce62c4e982' - '12c8af5bcd3b8f84240280b3dfaf9e89' - 'cdc1322c8014297ae349e2db78a03c5a' - '1a5112f63958643f2888abc9418dbcac' - 'c37d1bf1bb76acc3fe93362c80d91b7c' - '5d302860559960042f3b47a91b97c5fe' +md5sums=('87ade07e3d1efd03c9c3add949cf9c00' '9b8467a1e51d360096b70e2c3c081e6c' '3733c23e77eb503bd94cc368e02830dc' - 'c9159ba1233902ba6ddbbe6885a46b72' - '4505b8b2c57a7c28ea79e08388bbbbb9' + '90c30380d4c8cd48a908cfdadae1ea24' + 'a81573a429b98e16670d7fea47e528c4' '9657daa21760bb0b5fa3d8b51d5e01a1' 'f861b18f4446c43918c8643dcbbd7f6d' '96f82c38f3f540b53f3e5144900acf17') build() { cd ${srcdir}/${pkgbase}-${pkgver} - # http://www.cups.org/str.php?L3066 - # Avahi support in the dnssd backend. patches from upstream/FC RawHide - patch -Np1 -i ${srcdir}/cups-avahi-1-config.patch - patch -Np1 -i ${srcdir}/cups-avahi-2-backend.patch - patch -Np1 -i ${srcdir}/cups-avahi-3-timeouts.patch - patch -Np1 -i ${srcdir}/cups-avahi-4-poll.patch - patch -Np1 -i ${srcdir}/cups-avahi-5-services.patch # add systemd socket support - Fedora patch, also used in Gentoo + # modified now to the changes done by Gentoo in their svn ebuild + # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-1.5.0-systemd-socket.patch?revision=1.1 patch -Np1 -i ${srcdir}/cups-systemd-socket.patch # Do not export SSL libs in cups-config @@ -56,7 +41,7 @@ build() { # don't zip man pages in make install, let makepkg do that / Fedora patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch - # Rebuild configure script for --enable-avahi. + # Rebuild configure script for not zipping man-pages. aclocal -I config-scripts autoconf -I config-scripts @@ -68,14 +53,12 @@ build() { --with-cups-user=daemon \ --with-cups-group=lp \ --enable-pam=yes \ - --disable-ldap \ --enable-raw-printing \ --enable-dbus --with-dbusdir=/etc/dbus-1 \ --enable-ssl=yes --enable-gnutls \ --enable-threads \ --enable-avahi\ --with-php=/usr/bin/php-cgi \ - --with-pdftops=pdftops \ --with-optim="$CFLAGS" make } @@ -122,9 +105,8 @@ 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' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme') -optdepends=('php: for included phpcups.so module' - 'xdg-utils: xdg .desktop file support') +depends=('acl' 'openslp' '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} make BUILDROOT=${pkgdir} install-data install-exec @@ -142,7 +124,7 @@ optdepends=('php: for included phpcups.so module' # fix perms on /var/spool and /etc chmod 755 ${pkgdir}/var/spool chmod 755 ${pkgdir}/etc - + # install ssl directory where to store the certs, solves some samba issues install -dm700 -g lp ${pkgdir}/etc/cups/ssl # remove directory from package, we create it in cups rc.d file @@ -163,12 +145,9 @@ optdepends=('php: for included phpcups.so module' # remove client.conf man page rm -f ${pkgdir}/usr/share/man/man5/client.conf.5 - # remove files now part of cups-filters - check cups-filters INSTALL for packagers instructions - rm -v ${pkgdir}/usr/lib/cups/backend/{parallel,serial} - rm -v ${pkgdir}/usr/lib/cups/filter/{bannertops,commandtoescpx,commandtopclx,imagetops,imagetoraster,pdftops,rastertoescpx,rastertopclx,texttops} + # remove files now part of cups-filters rm -v ${pkgdir}/usr/share/cups/banners/* - rm -v ${pkgdir}/usr/share/cups/data/{testprint,psglyphs} - rm -v ${pkgdir}/usr/share/cups/fonts/* + 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+(pdftops|texttops|imagetops|bannertops|imagetoraster)\s*)$:#\1:' ${pkgdir}/usr/share/cups/mime/mime.convs + perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs } diff --git a/extra/cups/cups-no-gzip-man.patch b/extra/cups/cups-no-gzip-man.patch index 6786c4430..69899b9cb 100644 --- a/extra/cups/cups-no-gzip-man.patch +++ b/extra/cups/cups-no-gzip-man.patch @@ -4,7 +4,7 @@ diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/confi @@ -69,10 +69,10 @@ case "$uname" in ;; Linux* | GNU* | Darwin*) - # Linux, GNU Hurd, and Mac OS X + # Linux, GNU Hurd, and OS X - MAN1EXT=1.gz - MAN5EXT=5.gz - MAN7EXT=7.gz diff --git a/extra/cups/cups-systemd-socket.patch b/extra/cups/cups-systemd-socket.patch index 09d17d415..f699b9eda 100644 --- a/extra/cups/cups-systemd-socket.patch +++ b/extra/cups/cups-systemd-socket.patch @@ -1,6 +1,6 @@ -diff -up cups-1.5.2/config.h.in.systemd-socket cups-1.5.2/config.h.in ---- cups-1.5.2/config.h.in.systemd-socket 2012-03-16 14:50:57.089449755 +0000 -+++ cups-1.5.2/config.h.in 2012-03-16 14:50:57.146449787 +0000 +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 @@ @@ -15,9 +15,9 @@ diff -up cups-1.5.2/config.h.in.systemd-socket cups-1.5.2/config.h.in * Various scripting languages... */ -diff -up cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.2/config-scripts/cups-systemd.m4 ---- cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket 2012-03-16 14:50:57.146449787 +0000 -+++ cups-1.5.2/config-scripts/cups-systemd.m4 2012-03-16 14:50:57.146449787 +0000 +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 @@ -0,0 +1,36 @@ +dnl +dnl "$Id$" @@ -55,9 +55,9 @@ diff -up cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.2/con +dnl +dnl "$Id$" +dnl -diff -up cups-1.5.2/configure.in.systemd-socket cups-1.5.2/configure.in ---- cups-1.5.2/configure.in.systemd-socket 2011-08-31 02:36:33.000000000 +0100 -+++ cups-1.5.2/configure.in 2012-03-16 14:50:57.146449787 +0000 +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) sinclude(config-scripts/cups-largefile.m4) sinclude(config-scripts/cups-dnssd.m4) @@ -76,10 +76,10 @@ diff -up cups-1.5.2/configure.in.systemd-socket cups-1.5.2/configure.in desktop/cups.desktop doc/help/ref-cupsd-conf.html doc/help/standard.html -diff -up cups-1.5.2/cups/usersys.c.systemd-socket cups-1.5.2/cups/usersys.c ---- cups-1.5.2/cups/usersys.c.systemd-socket 2012-03-16 14:50:57.054449734 +0000 -+++ cups-1.5.2/cups/usersys.c 2012-03-16 14:50:57.148449788 +0000 -@@ -778,7 +778,7 @@ cups_read_client_conf( +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( struct stat sockinfo; /* Domain socket information */ if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) && @@ -88,9 +88,9 @@ diff -up cups-1.5.2/cups/usersys.c.systemd-socket cups-1.5.2/cups/usersys.c cups_server = CUPS_DEFAULT_DOMAINSOCKET; else #endif /* CUPS_DEFAULT_DOMAINSOCKET */ -diff -up cups-1.5.2/data/cups.path.in.systemd-socket cups-1.5.2/data/cups.path.in ---- cups-1.5.2/data/cups.path.in.systemd-socket 2012-03-16 14:50:57.148449788 +0000 -+++ cups-1.5.2/data/cups.path.in 2012-03-16 14:50:57.148449788 +0000 +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 @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printer Service Spool @@ -100,10 +100,10 @@ diff -up cups-1.5.2/data/cups.path.in.systemd-socket cups-1.5.2/data/cups.path.i + +[Install] +WantedBy=multi-user.target -diff -up cups-1.5.2/data/cups.service.in.systemd-socket cups-1.5.2/data/cups.service.in ---- cups-1.5.2/data/cups.service.in.systemd-socket 2012-03-16 14:50:57.149449788 +0000 -+++ cups-1.5.2/data/cups.service.in 2012-03-16 14:50:57.149449788 +0000 -@@ -0,0 +1,10 @@ +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 @@ +[Unit] +Description=CUPS Printing Service + @@ -114,10 +114,10 @@ diff -up cups-1.5.2/data/cups.service.in.systemd-socket cups-1.5.2/data/cups.ser +[Install] +Also=cups.socket cups.path +WantedBy=printer.target -diff -up cups-1.5.2/data/cups.socket.in.systemd-socket cups-1.5.2/data/cups.socket.in ---- cups-1.5.2/data/cups.socket.in.systemd-socket 2012-03-16 14:50:57.150449788 +0000 -+++ cups-1.5.2/data/cups.socket.in 2012-03-16 14:50:57.150449788 +0000 -@@ -0,0 +1,11 @@ +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 @@ +[Unit] +Description=CUPS Printing Service Sockets + @@ -129,9 +129,9 @@ diff -up cups-1.5.2/data/cups.socket.in.systemd-socket cups-1.5.2/data/cups.sock + +[Install] +WantedBy=sockets.target -diff -up cups-1.5.2/data/Makefile.systemd-socket cups-1.5.2/data/Makefile ---- cups-1.5.2/data/Makefile.systemd-socket 2011-05-12 06:21:56.000000000 +0100 -+++ cups-1.5.2/data/Makefile 2012-03-16 14:50:57.151449789 +0000 +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: $(INSTALL_DATA) $$file $(DATADIR)/ppdc; \ done @@ -155,9 +155,9 @@ diff -up cups-1.5.2/data/Makefile.systemd-socket cups-1.5.2/data/Makefile # -diff -up cups-1.5.2/Makedefs.in.systemd-socket cups-1.5.2/Makedefs.in ---- cups-1.5.2/Makedefs.in.systemd-socket 2012-03-16 14:50:57.081449751 +0000 -+++ cups-1.5.2/Makedefs.in 2012-03-16 14:50:57.152449790 +0000 +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@ CXXLIBS = @CXXLIBS@ DBUS_NOTIFIER = @DBUS_NOTIFIER@ @@ -182,9 +182,9 @@ diff -up cups-1.5.2/Makedefs.in.systemd-socket cups-1.5.2/Makedefs.in # -diff -up cups-1.5.2/scheduler/client.h.systemd-socket cups-1.5.2/scheduler/client.h ---- cups-1.5.2/scheduler/client.h.systemd-socket 2011-03-25 21:25:38.000000000 +0000 -+++ cups-1.5.2/scheduler/client.h 2012-03-16 14:50:57.153449791 +0000 +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 int fd; /* File descriptor for this server */ http_addr_t address; /* Bind address of socket */ @@ -195,99 +195,9 @@ diff -up cups-1.5.2/scheduler/client.h.systemd-socket cups-1.5.2/scheduler/clien } cupsd_listener_t; -diff -up cups-1.5.2/scheduler/dirsvc.c.systemd-socket cups-1.5.2/scheduler/dirsvc.c ---- cups-1.5.2/scheduler/dirsvc.c.systemd-socket 2012-03-16 14:50:57.112449768 +0000 -+++ cups-1.5.2/scheduler/dirsvc.c 2012-03-16 14:50:57.155449792 +0000 -@@ -1512,7 +1512,7 @@ cupsdStartBrowsing(void) - } - } - -- if (BrowseSocket >= 0) -+ if (BrowseSocket >= 0 && !BrowseSocketIsSystemd) - { - /* - * Bind the socket to browse port... -@@ -1556,13 +1556,17 @@ cupsdStartBrowsing(void) - cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to set broadcast mode - %s.", - strerror(errno)); - -+ if (!BrowseSocketIsSystemd) -+ { - #ifdef WIN32 -- closesocket(BrowseSocket); -+ closesocket(BrowseSocket); - #else -- close(BrowseSocket); -+ close(BrowseSocket); - #endif /* WIN32 */ - -- BrowseSocket = -1; -+ BrowseSocket = -1; -+ } -+ - BrowseLocalProtocols &= ~BROWSE_CUPS; - BrowseRemoteProtocols &= ~BROWSE_CUPS; - -@@ -1885,15 +1889,22 @@ cupsdStopBrowsing(void) - if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS) && - BrowseSocket >= 0) - { -- /* -- * Close the socket and remove it from the input selection set. -- */ -+ if (!BrowseSocketIsSystemd) -+ { -+ /* -+ * Close the socket. -+ */ - - #ifdef WIN32 -- closesocket(BrowseSocket); -+ closesocket(BrowseSocket); - #else -- close(BrowseSocket); -+ close(BrowseSocket); - #endif /* WIN32 */ -+ } -+ -+ /* -+ * Remove it from the input selection set. -+ */ - - cupsdRemoveSelect(BrowseSocket); - BrowseSocket = -1; -@@ -5693,11 +5704,14 @@ update_cups_browse(void) - strerror(errno)); - cupsdLogMessage(CUPSD_LOG_ERROR, "CUPS browsing turned off."); - -+ if (!BrowseSocketIsSystemd) -+ { - #ifdef WIN32 -- closesocket(BrowseSocket); -+ closesocket(BrowseSocket); - #else -- close(BrowseSocket); -+ close(BrowseSocket); - #endif /* WIN32 */ -+ } - - cupsdRemoveSelect(BrowseSocket); - BrowseSocket = -1; -diff -up cups-1.5.2/scheduler/dirsvc.h.systemd-socket cups-1.5.2/scheduler/dirsvc.h ---- cups-1.5.2/scheduler/dirsvc.h.systemd-socket 2012-03-16 14:50:57.113449769 +0000 -+++ cups-1.5.2/scheduler/dirsvc.h 2012-03-16 14:50:57.157449792 +0000 -@@ -100,6 +100,8 @@ VAR int Browsing VALUE(TRUE), - /* Short names for remote printers? */ - BrowseSocket VALUE(-1), - /* Socket for browsing */ -+ BrowseSocketIsSystemd VALUE(0), -+ /* BrowseSocket is systemd-provided? */ - BrowsePort VALUE(IPP_PORT), - /* Port number for broadcasts */ - BrowseInterval VALUE(DEFAULT_INTERVAL), -diff -up cups-1.5.2/scheduler/listen.c.systemd-socket cups-1.5.2/scheduler/listen.c ---- cups-1.5.2/scheduler/listen.c.systemd-socket 2011-04-16 00:38:13.000000000 +0100 -+++ cups-1.5.2/scheduler/listen.c 2012-03-16 14:50:57.158449792 +0000 +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 @@ -401,7 +401,11 @@ cupsdStopListening(void) lis; lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) @@ -301,9 +211,9 @@ diff -up cups-1.5.2/scheduler/listen.c.systemd-socket cups-1.5.2/scheduler/liste { #ifdef WIN32 closesocket(lis->fd); -diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.systemd-socket 2012-03-16 14:50:57.121449773 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-16 14:51:55.409483636 +0000 +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 @@ -26,6 +26,8 @@ * launchd_checkin() - Check-in with launchd and collect the listening * fds. @@ -364,7 +274,7 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c /* * Startup the server... */ -@@ -1584,6 +1609,139 @@ launchd_checkout(void) +@@ -1584,6 +1609,100 @@ launchd_checkout(void) } #endif /* HAVE_LAUNCHD */ @@ -396,53 +306,14 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/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 (Browsing && -+ ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS)) -+ { -+ r = sd_is_socket(fd, AF_UNSPEC, SOCK_DGRAM, 0); -+ if (r < 0) -+ { -+ cupsdLogMessage(CUPSD_LOG_ERROR, -+ "systemd_checkin: Unable to verify socket type - %s", -+ strerror(-r)); -+ continue; -+ } -+ -+ if (r) -+ { -+ /* -+ * This is the browse socket. -+ */ -+ -+ char addrstr[256]; -+ if (getsockname(fd, (struct sockaddr*) &addr, &addrlen)) -+ { -+ cupsdLogMessage(CUPSD_LOG_ERROR, -+ "systemd_checkin: Unable to get local address - %s", -+ strerror(errno)); -+ continue; -+ } -+ -+ httpAddrString (&addr, addrstr, sizeof (addrstr)); -+ BrowseSocket = fd; -+ BrowseSocketIsSystemd = 1; -+ cupsdLogMessage(CUPSD_LOG_DEBUG, -+ "systemd_checkin: Matched browse (port %d) with fd %d:%s...", -+ BrowsePort, fd, addrstr); -+ continue; -+ } -+ -+ } ++ if (!r) { + cupsdLogMessage(CUPSD_LOG_ERROR, + "systemd_checkin: Socket not of the right type"); + continue; @@ -456,7 +327,7 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c + continue; + } + -+ /* ++ /* + * Try to match the systemd socket address to one of the listeners... + */ + @@ -464,7 +335,7 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c + lis; + lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) + if (httpAddrEqual(&lis->address, &addr)) -+ break; ++ break; + + if (lis) + { @@ -504,9 +375,9 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c /* * 'parent_handler()' - Catch USR1/CHLD signals... -diff -up cups-1.5.2/scheduler/Makefile.systemd-socket cups-1.5.2/scheduler/Makefile ---- cups-1.5.2/scheduler/Makefile.systemd-socket 2012-03-16 14:50:57.130449778 +0000 -+++ cups-1.5.2/scheduler/Makefile 2012-03-16 14:50:57.160449794 +0000 +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 $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \ $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ diff --git a/extra/cups/cups.install b/extra/cups/cups.install index 47c3d9b82..cea52282e 100644 --- a/extra/cups/cups.install +++ b/extra/cups/cups.install @@ -17,6 +17,13 @@ post_upgrade() { echo "daemon script has been renamed to /etc/rc.d/cupsd" echo "change your entry in /etc/rc.conf" fi + if [ "`vercmp $2 1.6.0`" -lt 0 ]; then + # important upgrade notice + echo "* avahi-daemon should now run before you start cupsd for" + echo " printer Browsing support" + echo "* check your config with cupsd -t" + echo " and fix all Browsing related settings" + fi } post_remove() { |