Date: Tuesday, April 16, 2019 @ 05:27:16 Author: andyrtr Revision: 350799
upgpkg: cups 2.2.11-2 apply upstream fix to make samsung printer working again FS#62360 Added: cups/trunk/samsung-printer-workaround.patch Modified: cups/trunk/PKGBUILD ----------------------------------+ PKGBUILD | 11 ++++++++--- samsung-printer-workaround.patch | 30 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-04-16 04:53:52 UTC (rev 350798) +++ PKGBUILD 2019-04-16 05:27:16 UTC (rev 350799) @@ -3,7 +3,7 @@ pkgbase="cups" pkgname=('libcups' 'cups') pkgver=2.2.11 -pkgrel=1 +pkgrel=2 arch=('x86_64') license=('GPL') url="https://www.cups.org/" @@ -20,7 +20,8 @@ cups-1.6.2-statedir.patch # bugfixes cups-systemd-socket.patch - guid.patch) + guid.patch + samsung-printer-workaround.patch) sha256sums=('f58010813fd6903f690cdb0c0b91e4d1bc9e5b9570c28734229ba3ed2908b76c' 'SKIP' 'd87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9' @@ -30,7 +31,8 @@ 'b8fc2e3bc603495f0278410350ea8f0161d9d83719feb64f573b63430cb4800b' '23349c96f2f7aeb7d48e3bcd35a969f5d5ac8f55a032b0cfaa0a03d7e37ea9af' 'f909719e2595e016c320afa421cad74ccda285ac59b11749ddac58e707d4330a' - 'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d') + 'd4537526c1e075866ae22ad263da000fc2a592d36c26b79a459a1cfdade2bb2d' + 'ae3e154b8382f3412c73d863f4db095e722eb5255e15f0684b2bb9e02e5438af') validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <secur...@cups.org> validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org <secur...@cups.org>" validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet <michael.r.sw...@gmail.com>" @@ -54,6 +56,9 @@ # 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 Added: samsung-printer-workaround.patch =================================================================== --- samsung-printer-workaround.patch (rev 0) +++ samsung-printer-workaround.patch 2019-04-16 05:27:16 UTC (rev 350799) @@ -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")) + { + /* +