extra/cups to 2.2.11-2

This commit is contained in:
Kevin Mihelich 2019-04-16 18:16:20 +00:00
parent a605e20fe8
commit 65bcaf8c59
2 changed files with 38 additions and 3 deletions

View file

@ -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) <security@cups.org>
validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org <security@cups.org>"
validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet <michael.r.sweet@gmail.com>"
@ -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

View file

@ -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"))
{
/*