[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#712045: ghostscript-cups: colord icc profile not applied



Package: ghostscript-cups
Version: 9.05~dfsg-7
Severity: normal
Tags: upstream patch

Dear Maintainer,

Printing from cups via gstoraster while printer ICC profile is added to colord
results in the following error:

Calling FindDeviceById(<printername>)
Failed to send: org.freedesktop.ColorManager.Failed:device id '<printername>'
does not exists
Failed to get profile filename!

The problem was caused by misspelled printer name. When adding printers to
colord, cups uses names like cups-$PRINTER, while ghostscript-cups just takes
the environment variable $PRINTER. The attached patch fixes the issue.

It is likely that the foomatic-filters package has exactly the same problem but
I'm not using foomatic-filters yet.

Regards,
Alex



-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-rt-amd64 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages ghostscript-cups depends on:
ii  ghostscript       9.05~dfsg-6.3
ii  libc6             2.17-3
ii  libcomerr2        1.42.5-1.1
ii  libcups2          1.6.2-8.1
ii  libcupsimage2     1.6.2-8.1
ii  libdbus-1-3       1.6.10-1
ii  libgcrypt11       1.5.0-5
ii  libgnutls26       2.12.23-5
ii  libgssapi-krb5-2  1.10.1+dfsg-5
ii  libk5crypto3      1.10.1+dfsg-5
ii  libkrb5-3         1.10.1+dfsg-5
ii  zlib1g            1:1.2.8.dfsg-1

Versions of packages ghostscript-cups recommends:
ii  colord       0.1.31-1
ii  cups         1.6.2-8.1
ii  cups-client  1.6.2-8.1

ghostscript-cups suggests no packages.

-- no debconf information
--- ghostscript-9.05~dfsg.orig/cups/gstoraster.c	2012-02-08 14:48:50.000000000 +0600
+++ ghostscript-9.05~dfsg/cups/gstoraster.c	2013-06-11 22:15:36.000000000 +0600
@@ -600,7 +600,9 @@
 
     fprintf(stderr, "DEBUG: PPD uses qualifier '%s.%s.%s'\n",
             qualifier[0], qualifier[1], qualifier[2]);
-    icc_profile = colord_get_profile_for_device_id (getenv("PRINTER"),
+
+    snprintf (tmpstr, sizeof(tmpstr), "cups-%s", getenv("PRINTER"));
+    icc_profile = colord_get_profile_for_device_id (tmpstr,
                                                     (const char**) qualifier);
 
     /* fall back to the PPD */

Reply to: