From 65bcaf8c5961489d725e2b393fdb2332255c73d7 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 16 Apr 2019 18:16:20 +0000 Subject: [PATCH] extra/cups to 2.2.11-2 --- extra/cups/PKGBUILD | 11 +++++--- extra/cups/samsung-printer-workaround.patch | 30 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 extra/cups/samsung-printer-workaround.patch diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD index ea0ba2434..00ad5a3f4 100644 --- a/extra/cups/PKGBUILD +++ b/extra/cups/PKGBUILD @@ -6,7 +6,7 @@ pkgbase="cups" pkgname=('libcups' 'cups') pkgver=2.2.11 -pkgrel=1 +pkgrel=2 arch=('x86_64') license=('GPL') url="https://www.cups.org/" @@ -23,7 +23,8 @@ source=(https://github.com/apple/cups/releases/download/v${pkgver}/cups-${pkgver cups-1.6.2-statedir.patch # bugfixes cups-systemd-socket.patch - guid.patch) + guid.patch + samsung-printer-workaround.patch) sha256sums=('f58010813fd6903f690cdb0c0b91e4d1bc9e5b9570c28734229ba3ed2908b76c' 'SKIP' 'd87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9' @@ -33,7 +34,8 @@ sha256sums=('f58010813fd6903f690cdb0c0b91e4d1bc9e5b9570c28734229ba3ed2908b76c' 'b8fc2e3bc603495f0278410350ea8f0161d9d83719feb64f573b63430cb4800b' '23349c96f2f7aeb7d48e3bcd35a969f5d5ac8f55a032b0cfaa0a03d7e37ea9af' 'f909719e2595e016c320afa421cad74ccda285ac59b11749ddac58e707d4330a' - 'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d') + 'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d' + 'ae3e154b8382f3412c73d863f4db095e722eb5255e15f0684b2bb9e02e5438af') validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org " validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet " @@ -56,6 +58,9 @@ prepare() { # FS#56818 - https://github.com/apple/cups/issues/5236 patch -Np1 -i ${srcdir}/guid.patch + # FS#62360 / https://github.com/apple/cups/issues/5562 + patch -Np1 -i ${srcdir}/samsung-printer-workaround.patch + # set MaxLogSize to 0 to prevent using cups internal log rotation sed -i -e '5i\ ' conf/cupsd.conf.in sed -i -e '6i# Disable cups internal logging - use logrotate instead' conf/cupsd.conf.in diff --git a/extra/cups/samsung-printer-workaround.patch b/extra/cups/samsung-printer-workaround.patch new file mode 100644 index 000000000..f4259ff06 --- /dev/null +++ b/extra/cups/samsung-printer-workaround.patch @@ -0,0 +1,30 @@ +diff --git a/cups/ppd.c b/cups/ppd.c +index 435b992f4..29456d97a 100644 +--- a/cups/ppd.c ++++ b/cups/ppd.c +@@ -1182,6 +1182,24 @@ _ppdOpen( + else if (!strcmp(string, "Plus90")) + ppd->landscape = 90; + } ++ else if (!strcmp(keyword, "Emulators") && string && ppd->num_emulations == 0) ++ { ++ /* ++ * Issue #5562: Samsung printer drivers incorrectly use Emulators keyword ++ * to configure themselves ++ * ++ * The Emulators keyword was loaded but never used by anything in CUPS, ++ * and has no valid purpose in CUPS. The old code was removed due to a ++ * memory leak (Issue #5475), so the following (new) code supports a single ++ * name for the Emulators keyword, allowing these drivers to work until we ++ * remove PPD and driver support entirely in a future version of CUPS. ++ */ ++ ++ ppd->num_emulations = 1; ++ ppd->emulations = calloc(1, sizeof(ppd_emul_t)); ++ ++ strlcpy(ppd->emulations[0].name, string, sizeof(ppd->emulations[0].name)); ++ } + else if (!strcmp(keyword, "JobPatchFile")) + { + /* +