diff options
Diffstat (limited to 'extra/cups')
-rw-r--r-- | extra/cups/PKGBUILD | 33 | ||||
-rw-r--r-- | extra/cups/cups-dbus-utf8.patch | 106 | ||||
-rw-r--r-- | extra/cups/cups-systemd-socket.patch | 3 |
3 files changed, 17 insertions, 125 deletions
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD index 60395b68d..92e111d3f 100644 --- a/extra/cups/PKGBUILD +++ b/extra/cups/PKGBUILD @@ -1,15 +1,16 @@ -# $Id: PKGBUILD 199750 2013-11-15 15:38:18Z andyrtr $ +# $Id: PKGBUILD 204552 2014-01-22 13:21:08Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase="cups" pkgname=('libcups' 'cups') -pkgver=1.7.0 -pkgrel=2 +pkgver=1.7.1 +pkgrel=3 arch=('i686' 'x86_64' 'mips64el') license=('GPL') url="http://www.cups.org/" -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') +makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'openssl' + 'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus' + 'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind') source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2 cups.logrotate cups.pam @@ -19,7 +20,6 @@ source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.b cups-no-gzip-man.patch # FC cups-systemd-socket.patch - cups-dbus-utf8.patch cups-res_init.patch cups-avahi-address.patch cups-enum-all.patch @@ -31,14 +31,13 @@ source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.b cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch get-ppd-file-for-statically-configured-ipp-shared-queues.patch ppd-poll-with-client-conf.patch) -md5sums=('5ab496a2ce27017fcdb3d7ec4818a75a' +md5sums=('55277c40fd4b7183dc3671d39c5c42b7' 'f861b18f4446c43918c8643dcbbd7f6d' '96f82c38f3f540b53f3e5144900acf17' '3ba9e3410df1dc3015463d615ef91b3b' 'cc4101beccb5ed6deb1c92707a575925' '90c30380d4c8cd48a908cfdadae1ea24' - '555a1c71151ce990e176315b46e3de2f' - 'a2a88b3a3257c3b5fd3edcc169e6aca4' + 'be0ce5a9bcf5079af1a260fef395e146' '8fe27d4248cacbc02824e7937cab4088' 'df0c367c0022e3c7d8e01827e8a6c5e7' 'f30c2a161caaf27854581507cde8cac6' @@ -69,9 +68,6 @@ prepare() { # various bugfixes (upstream reports/SVN or Fedora/Debian - # Ensure attributes are valid UTF-8 in dbus notifier - patch -Np1 -i ${srcdir}/cups-dbus-utf8.patch - # Fixed crash which sometimes happens on shutdown of the CUPS daemon, caused by a wrong shutdown sequence for shutting down the Avahi threaded poll. # patch -Np1 -i ${srcdir}/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch # Applications could not get the PPD file for statically-configured IPP-shared print queues @@ -112,9 +108,10 @@ build() { --enable-pam=yes \ --enable-raw-printing \ --enable-dbus --with-dbusdir=/etc/dbus-1 \ - --enable-ssl=yes --enable-gnutls \ + --enable-ssl=yes --enable-openssl \ --enable-threads \ --enable-avahi\ + --enable-libpaper \ --with-php=/usr/bin/php-cgi \ --with-optim="$CFLAGS" make @@ -122,15 +119,14 @@ build() { check() { cd ${pkgbase}-${pkgver} - #httpAddrGetList(workstation64): FAIL - #1 TESTS FAILED! - #make[1]: *** [testhttp] Error 1 +#./run-stp-tests.sh: line 782: 6307 Aborted (core dumped) $VALGRIND ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f > /tmp/cups-$user/log/debug_log 2>&1 +#FAIL: 87 error messages, expected 33. make -k check || /bin/true } package_libcups() { pkgdesc="The CUPS Printing System - client libraries and headers" -depends=('gnutls>=2.8.3' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi') +depends=('openssl' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi') backup=(etc/cups/client.conf) cd ${pkgbase}-${pkgver} @@ -162,7 +158,8 @@ backup=(etc/cups/cupsd.conf etc/logrotate.d/cups etc/pam.d/cups etc/xinetd.d/cups-lpd) -depends=('acl' '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' 'systemd' 'libpaper' 'hicolor-icon-theme') optdepends=('xdg-utils: xdg .desktop file support') cd ${pkgbase}-${pkgver} diff --git a/extra/cups/cups-dbus-utf8.patch b/extra/cups/cups-dbus-utf8.patch deleted file mode 100644 index 0bcd4a163..000000000 --- a/extra/cups/cups-dbus-utf8.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff -up cups-1.6.1/notifier/dbus.c.dbus-utf8 cups-1.6.1/notifier/dbus.c ---- cups-1.6.1/notifier/dbus.c.dbus-utf8 2012-01-20 19:00:32.000000000 +0000 -+++ cups-1.6.1/notifier/dbus.c 2012-10-31 11:04:47.686973616 +0000 -@@ -31,6 +31,9 @@ - #include <sys/stat.h> - #include <sys/types.h> - #include <unistd.h> -+#include <assert.h> -+#include <locale.h> -+#include <wchar.h> - - #ifdef HAVE_DBUS - # include <dbus/dbus.h> -@@ -157,10 +160,82 @@ enum - * Local functions... - */ - --static int acquire_lock(int *fd, char *lockfile, size_t locksize); -+static int acquire_lock(int *fd, char *lockfile, size_t locksize); -+static const char *validate_utf8(const char *str); - - - /* -+ * 'validate_utf8()' - Convert to valid UTF-8 -+ */ -+ -+static const char * -+validate_utf8 (const char *str) -+{ -+ static char *buffer = NULL; -+ static size_t buflen = 0; -+ char *p; -+ size_t str_len; -+ unsigned int i; -+ mbstate_t instate, outstate; -+ -+ if (str == NULL) -+ { -+ free (buffer); -+ return (NULL); -+ } -+ -+ /* Is it already valid? */ -+ if (mbstowcs (NULL, str, 0) != (size_t) -1) -+ return str; -+ -+ /* Make sure our buffer is at least as large as the input string */ -+ str_len = strlen (str); -+ if (str_len > buflen) -+ { -+ if (buffer == NULL) -+ /* Set encoding type to UTF-8 the first time we need to */ -+ setlocale (LC_CTYPE, "en_US.UTF-8"); -+ -+ buflen = str_len + 1; -+ buffer = realloc (buffer, buflen); -+ } -+ -+ memset (&instate, '\0', sizeof (mbstate_t)); -+ memset (&outstate, '\0', sizeof (mbstate_t)); -+ p = buffer; -+ i = 0; -+ while (i < str_len) -+ { -+ wchar_t wc; -+ size_t used, written; -+ mbstate_t orig_instate = instate; -+ used = mbrtowc (&wc, str + i, str_len - i, &instate); -+ switch (used) -+ { -+ case (size_t) -2: -+ case (size_t) -1: -+ wc = L'?'; /* so replacement is never longer than original char */ -+ instate = orig_instate; -+ /* fallthru */ -+ case 0: -+ used = 1; -+ } -+ -+ written = wcrtomb (p, wc, &outstate); -+ if (written != -1) -+ { -+ p += written; -+ assert (p - buffer < buflen); -+ } -+ -+ i += used; -+ } -+ -+ *p = '\0'; -+ return buffer; -+} -+ -+/* - * 'main()' - Read events and send DBUS notifications. - */ - -@@ -366,7 +441,7 @@ main(int argc, /* I - Number of comm - attr = ippFindAttribute(msg, "notify-text", IPP_TAG_TEXT); - if (attr) - { -- const char *val = ippGetString(attr, 0, NULL); -+ const char *val = validate_utf8 (ippGetString(attr, 0, NULL)); - if (!dbus_message_iter_append_string(&iter, &val)) - goto bail; - } diff --git a/extra/cups/cups-systemd-socket.patch b/extra/cups/cups-systemd-socket.patch index cfbe93354..4c3de1188 100644 --- a/extra/cups/cups-systemd-socket.patch +++ b/extra/cups/cups-systemd-socket.patch @@ -117,12 +117,13 @@ diff -up cups-1.7rc1/data/cups.service.in.systemd-socket cups-1.7rc1/data/cups.s diff -up cups-1.7rc1/data/cups.socket.in.systemd-socket cups-1.7rc1/data/cups.socket.in --- cups-1.7rc1/data/cups.socket.in.systemd-socket 2013-07-12 11:16:53.259546235 +0200 +++ cups-1.7rc1/data/cups.socket.in 2013-07-12 11:16:53.259546235 +0200 -@@ -0,0 +1,8 @@ +@@ -0,0 +1,9 @@ +[Unit] +Description=CUPS Printing Service Sockets + +[Socket] +ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@ ++ListenStream=@DEFAULT_IPP_PORT@ + +[Install] +WantedBy=sockets.target |