Updated colord patch against 1.5 upstream and fixes from Tim Waugh.
This commit is contained in:
parent
770e272bad
commit
889eca67a1
@ -1,16 +1,38 @@
|
|||||||
|
From f8907dde0b21af7e78ed208bd850119715af4bfc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Hughes <richard@hughsie.com>
|
||||||
|
Date: Tue, 1 Mar 2011 16:05:48 +0000
|
||||||
|
Subject: [PATCH] Add colord support to CUPS which allows Linux printers to be
|
||||||
|
color managed
|
||||||
|
|
||||||
|
---
|
||||||
|
scheduler/Makefile | 1 +
|
||||||
|
scheduler/colord.c | 678 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
scheduler/colord.h | 22 ++
|
||||||
|
scheduler/ipp.c | 18 ++-
|
||||||
|
scheduler/printers.c | 69 +++++
|
||||||
|
scheduler/printers.h | 4 +
|
||||||
|
6 files changed, 789 insertions(+), 3 deletions(-)
|
||||||
|
create mode 100644 scheduler/colord.c
|
||||||
|
create mode 100644 scheduler/colord.h
|
||||||
|
|
||||||
|
diff --git a/scheduler/Makefile b/scheduler/Makefile
|
||||||
|
index 3c7da8e..b9c47d3 100644
|
||||||
--- a/scheduler/Makefile
|
--- a/scheduler/Makefile
|
||||||
+++ b/scheduler/Makefile
|
+++ b/scheduler/Makefile
|
||||||
@@ -26,6 +26,7 @@ CUPSDOBJS = \
|
@@ -27,6 +27,7 @@ CUPSDOBJS = \
|
||||||
env.o \
|
file.o \
|
||||||
main.o \
|
main.o \
|
||||||
ipp.o \
|
ipp.o \
|
||||||
+ colord.o \
|
+ colord.o \
|
||||||
listen.o \
|
listen.o \
|
||||||
job.o \
|
job.o \
|
||||||
log.o \
|
log.o \
|
||||||
--- b/scheduler/colord.c
|
diff --git a/scheduler/colord.c b/scheduler/colord.c
|
||||||
+++ cups-1.4.6/scheduler/colord.c 2011-05-24 12:47:19.698093377 +0100
|
new file mode 100644
|
||||||
@@ -0,0 +1,684 @@
|
index 0000000..6c60237
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/scheduler/colord.c
|
||||||
|
@@ -0,0 +1,678 @@
|
||||||
+/*
|
+/*
|
||||||
+ * "$Id$"
|
+ * "$Id$"
|
||||||
+ *
|
+ *
|
||||||
@ -507,7 +529,6 @@
|
|||||||
+ char ppdfile[1024], /* PPD filename */
|
+ char ppdfile[1024], /* PPD filename */
|
||||||
+ iccfile[1024]; /* ICC filename */
|
+ iccfile[1024]; /* ICC filename */
|
||||||
+ ppd_file_t *ppd; /* PPD file */
|
+ ppd_file_t *ppd; /* PPD file */
|
||||||
+ char *profile_path; /* Profile path */
|
|
||||||
+ cups_array_t *profiles; /* Profile paths array */
|
+ cups_array_t *profiles; /* Profile paths array */
|
||||||
+ const char *profile_key; /* Profile keyword */
|
+ const char *profile_key; /* Profile keyword */
|
||||||
+ ppd_attr_t *attr; /* Profile attributes */
|
+ ppd_attr_t *attr; /* Profile attributes */
|
||||||
@ -552,8 +573,8 @@
|
|||||||
+ * See if we have any embedded profiles...
|
+ * See if we have any embedded profiles...
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+ /* old CUPS has no cupsArrayNew3... */
|
+ profiles = cupsArrayNew3 (NULL, NULL, NULL, 0, NULL,
|
||||||
+ profiles = cupsArrayNew (NULL, NULL);
|
+ (cups_afree_func_t) free);
|
||||||
+ profile_key = "cupsICCProfile";
|
+ profile_key = "cupsICCProfile";
|
||||||
+ attr = ppdFindAttr(ppd, profile_key, NULL);
|
+ attr = ppdFindAttr(ppd, profile_key, NULL);
|
||||||
+ for (; attr; attr = ppdFindNextAttr(ppd, profile_key, NULL))
|
+ for (; attr; attr = ppdFindNextAttr(ppd, profile_key, NULL))
|
||||||
@ -654,11 +675,6 @@
|
|||||||
+ * Free any memory we used...
|
+ * Free any memory we used...
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+ for (profile_path = cupsArrayFirst(profiles);
|
|
||||||
+ profile_path != NULL;
|
|
||||||
+ profile_path = cupsArrayNext(profiles)) {
|
|
||||||
+ free(profile_path);
|
|
||||||
+ }
|
|
||||||
+ cupsArrayDelete(profiles);
|
+ cupsArrayDelete(profiles);
|
||||||
+ for (i=0; i<3; i++)
|
+ for (i=0; i<3; i++)
|
||||||
+ free(format[i]);
|
+ free(format[i]);
|
||||||
@ -695,6 +711,9 @@
|
|||||||
+/*
|
+/*
|
||||||
+ * End of "$Id$".
|
+ * End of "$Id$".
|
||||||
+ */
|
+ */
|
||||||
|
diff --git a/scheduler/colord.h b/scheduler/colord.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..262b695
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/scheduler/colord.h
|
+++ b/scheduler/colord.h
|
||||||
@@ -0,0 +1,22 @@
|
@@ -0,0 +1,22 @@
|
||||||
@ -720,9 +739,11 @@
|
|||||||
+/*
|
+/*
|
||||||
+ * End of "$Id$".
|
+ * End of "$Id$".
|
||||||
+ */
|
+ */
|
||||||
|
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
|
||||||
|
index 2b91319..e470c32 100644
|
||||||
--- a/scheduler/ipp.c
|
--- a/scheduler/ipp.c
|
||||||
+++ b/scheduler/ipp.c
|
+++ b/scheduler/ipp.c
|
||||||
@@ -2962,17 +2962,23 @@ add_printer(cupsd_client_t *con, /* I - Client connection */
|
@@ -2925,17 +2925,23 @@ add_printer(cupsd_client_t *con, /* I - Client connection */
|
||||||
|
|
||||||
cupsdSetPrinterReasons(printer, "none");
|
cupsdSetPrinterReasons(printer, "none");
|
||||||
|
|
||||||
@ -748,8 +769,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -7052,11 +7058,17 @@ delete_printer(cupsd_client_t *con, /* I - Client connection */
|
@@ -7032,11 +7038,17 @@ delete_printer(cupsd_client_t *con, /* I - Client connection */
|
||||||
snprintf(filename, sizeof(filename), "%s/%s.pwg3", CacheDir, printer->name);
|
snprintf(filename, sizeof(filename), "%s/%s.data", CacheDir, printer->name);
|
||||||
unlink(filename);
|
unlink(filename);
|
||||||
|
|
||||||
-#ifdef __APPLE__
|
-#ifdef __APPLE__
|
||||||
@ -767,9 +788,11 @@
|
|||||||
apple_unregister_profiles(printer);
|
apple_unregister_profiles(printer);
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
|
||||||
|
diff --git a/scheduler/printers.c b/scheduler/printers.c
|
||||||
|
index 9b876e3..cfb0db3 100644
|
||||||
--- a/scheduler/printers.c
|
--- a/scheduler/printers.c
|
||||||
+++ b/scheduler/printers.c
|
+++ b/scheduler/printers.c
|
||||||
@@ -80,6 +80,9 @@
|
@@ -77,6 +77,9 @@
|
||||||
# include <sys/vfs.h>
|
# include <sys/vfs.h>
|
||||||
#endif /* HAVE_SYS_VFS_H */
|
#endif /* HAVE_SYS_VFS_H */
|
||||||
|
|
||||||
@ -779,7 +802,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Local functions...
|
* Local functions...
|
||||||
@@ -740,6 +743,53 @@ cupsdDeleteAllPrinters(void)
|
@@ -708,6 +711,53 @@ cupsdDeleteAllPrinters(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -833,7 +856,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 'cupsdDeletePrinter()' - Delete a printer from the system.
|
* 'cupsdDeletePrinter()' - Delete a printer from the system.
|
||||||
@@ -780,6 +830,12 @@ cupsdDeletePrinter(
|
@@ -748,6 +798,12 @@ cupsdDeletePrinter(
|
||||||
"Job stopped.");
|
"Job stopped.");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -846,8 +869,8 @@
|
|||||||
* If this printer is the next for browsing, point to the next one...
|
* If this printer is the next for browsing, point to the next one...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -1488,6 +1544,12 @@ cupsdRenamePrinter(
|
@@ -1414,6 +1470,12 @@ cupsdRenamePrinter(
|
||||||
p->prefiltertype = mimeAddType(MimeDatabase, "prefilter", name);
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
+ * Unregister profiles...
|
+ * Unregister profiles...
|
||||||
@ -859,7 +882,7 @@
|
|||||||
* Rename the printer...
|
* Rename the printer...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -2700,6 +2762,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
@@ -2640,6 +2702,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
||||||
#endif /* __sgi */
|
#endif /* __sgi */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -873,9 +896,11 @@
|
|||||||
* Let the browse protocols reflect the change
|
* Let the browse protocols reflect the change
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
diff --git a/scheduler/printers.h b/scheduler/printers.h
|
||||||
|
index 1751578..3820428 100644
|
||||||
--- a/scheduler/printers.h
|
--- a/scheduler/printers.h
|
||||||
+++ b/scheduler/printers.h
|
+++ b/scheduler/printers.h
|
||||||
@@ -175,6 +175,10 @@ extern const char *cupsdValidateDest(const char *uri,
|
@@ -170,6 +170,10 @@ extern const char *cupsdValidateDest(const char *uri,
|
||||||
cups_ptype_t *dtype,
|
cups_ptype_t *dtype,
|
||||||
cupsd_printer_t **printer);
|
cupsd_printer_t **printer);
|
||||||
extern void cupsdWritePrintcap(void);
|
extern void cupsdWritePrintcap(void);
|
||||||
@ -886,3 +911,6 @@
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
--
|
||||||
|
1.7.5.2
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
%global php_apiver %((echo 0; php -i 2>/dev/null | sed -n 's/^PHP API => //p') | tail -1)
|
%global php_apiver %((echo 0; php -i 2>/dev/null | sed -n 's/^PHP API => //p') | tail -1)
|
||||||
|
|
||||||
%global use_alternatives 1
|
%global use_alternatives 1
|
||||||
%global lspp 1
|
%global lspp 0
|
||||||
|
|
||||||
# {_exec_prefix}/lib/cups is correct, even on x86_64.
|
# {_exec_prefix}/lib/cups is correct, even on x86_64.
|
||||||
# It is not used for shared objects but for executables.
|
# It is not used for shared objects but for executables.
|
||||||
@ -15,7 +15,7 @@
|
|||||||
Summary: Common Unix Printing System
|
Summary: Common Unix Printing System
|
||||||
Name: cups
|
Name: cups
|
||||||
Version: 1.5
|
Version: 1.5
|
||||||
Release: 0.3.%{alphatag}%{?dist}
|
Release: 0.4.%{alphatag}%{?dist}
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
Source: http://ftp.easysw.com/pub/cups/%{version}%{alphatag}/cups-%{version}%{alphatag}-source.tar.bz2
|
Source: http://ftp.easysw.com/pub/cups/%{version}%{alphatag}/cups-%{version}%{alphatag}-source.tar.bz2
|
||||||
@ -277,7 +277,7 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
|
|||||||
# Avahi support in the dnssd backend.
|
# Avahi support in the dnssd backend.
|
||||||
#%patch31 -p1 -b .avahi
|
#%patch31 -p1 -b .avahi
|
||||||
# ICC colord support.
|
# ICC colord support.
|
||||||
#%patch32 -p1 -b .icc
|
%patch32 -p1 -b .icc
|
||||||
|
|
||||||
%patch33 -p1 -b .15b-workaround
|
%patch33 -p1 -b .15b-workaround
|
||||||
|
|
||||||
@ -613,6 +613,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/man1/ipptool.1.gz
|
%{_mandir}/man1/ipptool.1.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue May 31 2011 Richard Hughes <rhughes@redhat.com> 1:1.5-0.4.b2
|
||||||
|
- Updated colord patch against 1.5 upstream and fixes from Tim Waugh.
|
||||||
|
|
||||||
* Tue May 31 2011 Jiri Popelka <jpopelka@redhat.com> 1:1.5-0.3.b2
|
* Tue May 31 2011 Jiri Popelka <jpopelka@redhat.com> 1:1.5-0.3.b2
|
||||||
- fix lspp.patch to not include "config.h" in cups/cups.h (#709384)
|
- fix lspp.patch to not include "config.h" in cups/cups.h (#709384)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user