[gutenprint/f16] Avoid the libgutenprint soname bump
Jiří Popelka
jpopelka at fedoraproject.org
Tue Jun 12 13:21:42 UTC 2012
commit fcb0077fe79db3eebca409bebbf3540e981d4b59
Author: Jiri Popelka <jpopelka at redhat.com>
Date: Tue Jun 12 13:37:46 2012 +0200
Avoid the libgutenprint soname bump
so we can update gutenprint in F16 & 17.
gutenprint-5.2.8-soname.patch | 225 +++++++++++++++++++++++++++++++++++++++++
gutenprint.spec | 15 +++-
2 files changed, 239 insertions(+), 1 deletions(-)
---
diff --git a/gutenprint-5.2.8-soname.patch b/gutenprint-5.2.8-soname.patch
new file mode 100644
index 0000000..5ce3cdb
--- /dev/null
+++ b/gutenprint-5.2.8-soname.patch
@@ -0,0 +1,225 @@
+diff -up gutenprint-5.2.8/configure.ac.soname gutenprint-5.2.8/configure.ac
+--- gutenprint-5.2.8/configure.ac.soname 2012-06-12 13:21:46.683739168 +0200
++++ gutenprint-5.2.8/configure.ac 2012-06-12 13:21:46.685739141 +0200
+@@ -39,8 +39,8 @@ pushdef([GUTENPRINT_MAJOR_VERSION],
+ pushdef([GUTENPRINT_MINOR_VERSION], [2])
+ pushdef([GUTENPRINT_MICRO_VERSION], [8])
+ pushdef([GUTENPRINT_EXTRA_VERSION], [])
+-pushdef([GUTENPRINT_CURRENT_INTERFACE], [3])
+-pushdef([GUTENPRINT_INTERFACE_AGE], [0])
++pushdef([GUTENPRINT_CURRENT_INTERFACE], [2])
++pushdef([GUTENPRINT_INTERFACE_AGE], [9])
+ pushdef([GUTENPRINT_BINARY_AGE], [0])
+ pushdef([GUTENPRINTUI2_CURRENT_INTERFACE], [1])
+ pushdef([GUTENPRINTUI2_INTERFACE_AGE], [0])
+diff -up gutenprint-5.2.8/include/gutenprint/vars.h.soname gutenprint-5.2.8/include/gutenprint/vars.h
+--- gutenprint-5.2.8/include/gutenprint/vars.h.soname 2012-06-12 13:24:04.387834146 +0200
++++ gutenprint-5.2.8/include/gutenprint/vars.h 2012-06-12 13:24:04.403833925 +0200
+@@ -438,14 +438,6 @@ extern void *stp_get_errdata(const stp_v
+ */
+ extern void stp_merge_printvars(stp_vars_t *user, const stp_vars_t *print);
+
+-/**
+- * Copy settings from one vars object to another, not modifying anything
+- * unset in the source.
+- * @param to the destination vars.
+- * @param from the vars to merge into user.
+- */
+-extern void stp_copy_vars_from(stp_vars_t *to, const stp_vars_t *from);
+-
+
+ /****************************************************************
+ * *
+diff -up gutenprint-5.2.8/src/cups/rastertoprinter.c.soname gutenprint-5.2.8/src/cups/rastertoprinter.c
+--- gutenprint-5.2.8/src/cups/rastertoprinter.c.soname 2012-06-12 13:17:29.971291187 +0200
++++ gutenprint-5.2.8/src/cups/rastertoprinter.c 2012-06-12 13:23:05.687646188 +0200
+@@ -134,7 +134,7 @@ static const char *save_file_name = NULL
+ static const char *load_file_name = NULL;
+ #endif /* ENABLE_CUPS_LOAD_SAVE_OPTIONS */
+
+-extern void stpi_vars_print_error(const stp_vars_t *v, const char *prefix);
++extern void stpi_vars_print_error(const stp_vars_t *v);
+
+ static void
+ set_string_parameter(stp_vars_t *v, const char *name, const char *val)
+@@ -248,7 +248,6 @@ print_debug_block(const stp_vars_t *v, c
+ fprintf(stderr, "DEBUG: Gutenprint: cupsRowFeed = %d\n", cups->header.cupsRowFeed);
+ fprintf(stderr, "DEBUG: Gutenprint: cupsRowStep = %d\n", cups->header.cupsRowStep);
+ fprintf(stderr, "DEBUG: Gutenprint: shrink page to fit %d\n", cups->shrink_to_fit);
+- stpi_vars_print_error(v, "DEBUG");
+ fprintf(stderr, "DEBUG: Gutenprint: End page data\n");
+ }
+
+@@ -1048,8 +1047,6 @@ load_options(const char *load_name)
+ if (! suppress_messages)
+ fprintf(stderr, "DEBUG: Gutenprint: loading options from %s\n",
+ load_file_name);
+- if (! suppress_messages)
+- stpi_vars_print_error(settings, "DEBUG");
+ }
+ }
+ else
+@@ -1343,11 +1340,6 @@ main(int argc, /* I - Number of comm
+ save_file_name = NULL;
+ }
+ #endif /* ENABLE_CUPS_LOAD_SAVE_OPTIONS */
+- if (! suppress_messages)
+- {
+- fprintf(stderr, "DEBUG: Gutenprint: Interim page settings:\n");
+- stpi_vars_print_error(v, "DEBUG");
+- }
+ stp_merge_printvars(v, stp_printer_get_defaults(printer));
+ stp_set_int_parameter(v, "PageNumber", cups.page);
+ cups.row = 0;
+diff -up gutenprint-5.2.8/src/main/gutenprint-internal.h.soname gutenprint-5.2.8/src/main/gutenprint-internal.h
+--- gutenprint-5.2.8/src/main/gutenprint-internal.h.soname 2012-06-12 13:06:53.000000000 +0200
++++ gutenprint-5.2.8/src/main/gutenprint-internal.h 2012-06-12 13:10:45.127894676 +0200
+@@ -53,7 +53,7 @@ extern "C" {
+ extern void stpi_init_paper(void);
+ extern void stpi_init_dither(void);
+ extern void stpi_init_printer(void);
+-extern void stpi_vars_print_error(const stp_vars_t *v, const char *prefix);
++extern void stpi_vars_print_error(const stp_vars_t *v);
+ #define BUFFER_FLAG_FLIP_X 0x1
+ #define BUFFER_FLAG_FLIP_Y 0x2
+ extern stp_image_t* stpi_buffer_image(stp_image_t* image, unsigned int flags);
+@@ -71,7 +71,7 @@ do \
+ stp_erprintf("\nERROR: ***Gutenprint %s assertion %s failed!" \
+ " file %s, line %d. %s\n", PACKAGE_VERSION, \
+ #x, __FILE__, __LINE__, "Please report this bug!"); \
+- if ((v)) stpi_vars_print_error((v), "ERROR"); \
++ if ((v)) stpi_vars_print_error((v)); \
+ stp_abort(); \
+ } \
+ } while (0)
+diff -up gutenprint-5.2.8/src/main/print-vars.c.soname gutenprint-5.2.8/src/main/print-vars.c
+--- gutenprint-5.2.8/src/main/print-vars.c.soname 2012-02-04 20:17:29.000000000 +0100
++++ gutenprint-5.2.8/src/main/print-vars.c 2012-06-12 13:22:34.965071211 +0200
+@@ -1454,7 +1454,7 @@ stp_vars_copy(stp_vars_t *vd, const stp_
+ }
+
+ void
+-stpi_vars_print_error(const stp_vars_t *v, const char *prefix)
++stpi_vars_print_error(const stp_vars_t *v)
+ {
+ int i;
+ char *cptr;
+@@ -1470,13 +1470,13 @@ stpi_vars_print_error(const stp_vars_t *
+ "Dimension",
+ "(Inactive)"
+ };
+- stp_erprintf("%s: Gutenprint: === BEGIN GUTENPRINT SETTINGS ===\n", prefix);
+- stp_erprintf("%s: Gutenprint: Driver: %s\n", prefix, stp_get_driver(v));
+- stp_erprintf("%s: Gutenprint: L: %d T: %d W: %d H: %d\n", prefix, stp_get_left(v),
++ stp_erprintf("ERROR: Gutenprint: === BEGIN GUTENPRINT SETTINGS ===\n");
++ stp_erprintf("ERROR: Gutenprint: Driver: %s\n", stp_get_driver(v));
++ stp_erprintf("ERROR: Gutenprint: L: %d T: %d W: %d H: %d\n", stp_get_left(v),
+ stp_get_top(v), stp_get_width(v), stp_get_height(v));
+- stp_erprintf("%s: Gutenprint: Page: %dx%d\n", prefix, stp_get_page_width(v),
++ stp_erprintf("ERROR: Gutenprint: Page: %dx%d\n", stp_get_page_width(v),
+ stp_get_page_height(v));
+- stp_erprintf("%s: Gutenprint: Conversion: %s\n", prefix, stp_get_color_conversion(v));
++ stp_erprintf("ERROR: Gutenprint: Conversion: %s\n", stp_get_color_conversion(v));
+ for (i = 0; i < STP_PARAMETER_TYPE_INVALID; i++)
+ {
+ const stp_list_item_t *item =
+@@ -1496,7 +1496,7 @@ stpi_vars_print_error(const stp_vars_t *
+ *cptr = ' ';
+ cptr++;
+ }
+- stp_erprintf("%s: Gutenprint: (%s) (%i) (%s) [%s]\n", prefix,
++ stp_erprintf("ERROR: Gutenprint: (%s) (%i) (%s) [%s]\n",
+ val->name, val->active, data_types[val->typ],
+ crep ? crep : "NULL");
+ if (crep)
+@@ -1508,7 +1508,7 @@ stpi_vars_print_error(const stp_vars_t *
+ case STP_PARAMETER_TYPE_FILE:
+ case STP_PARAMETER_TYPE_RAW:
+ crep = stp_rawtoxmlstr(&(val->value.rval));
+- stp_erprintf("%s: Gutenprint: (%s) (%i) (%s) [%s]\n", prefix,
++ stp_erprintf("ERROR: Gutenprint: (%s) (%i) (%s) [%s]\n",
+ val->name, val->active, data_types[val->typ],
+ crep ? crep : "NULL");
+ if (crep)
+@@ -1517,12 +1517,12 @@ stpi_vars_print_error(const stp_vars_t *
+ case STP_PARAMETER_TYPE_INT:
+ case STP_PARAMETER_TYPE_DIMENSION:
+ case STP_PARAMETER_TYPE_BOOLEAN:
+- stp_erprintf("%s: Gutenprint: (%s) (%i) (%s) [%d]\n", prefix,
++ stp_erprintf("ERROR: Gutenprint: (%s) (%i) (%s) [%d]\n",
+ val->name, val->active, data_types[val->typ],
+ val->value.ival);
+ break;
+ case STP_PARAMETER_TYPE_DOUBLE:
+- stp_erprintf("%s: Gutenprint: (%s) (%i) (%s) [%f]\n", prefix,
++ stp_erprintf("ERROR: Gutenprint: (%s) (%i) (%s) [%f]\n",
+ val->name, val->active, data_types[val->typ],
+ val->value.dval);
+ break;
+@@ -1532,7 +1532,7 @@ stpi_vars_print_error(const stp_vars_t *
+ item = stp_list_item_next(item);
+ }
+ }
+- stp_erprintf("%s: Gutenprint: === END GUTENPRINT SETTINGS ===\n", prefix);
++ stp_erprintf("ERROR: Gutenprint: === END GUTENPRINT SETTINGS ===\n");
+ }
+
+ void
+@@ -1882,57 +1882,6 @@ stp_parameter_list_append(stp_parameter_
+ }
+ }
+
+-void
+-stp_copy_vars_from(stp_vars_t *to, const stp_vars_t *from)
+-{
+- int i;
+- if (!from || !to)
+- return;
+- for (i = 0; i < STP_PARAMETER_TYPE_INVALID; i++)
+- {
+- const stp_list_item_t *item =
+- stp_list_get_start((const stp_list_t *) from->params[i]);
+- while (item)
+- {
+- const value_t *val = (const value_t *) stp_list_item_get_data(item);
+- switch (val->typ)
+- {
+- case STP_PARAMETER_TYPE_CURVE:
+- stp_set_curve_parameter(to, val->name, val->value.cval);
+- break;
+- case STP_PARAMETER_TYPE_ARRAY:
+- stp_set_array_parameter(to, val->name, val->value.aval);
+- break;
+- case STP_PARAMETER_TYPE_STRING_LIST:
+- stp_set_string_parameter(to, val->name, val->value.rval.data);
+- break;
+- case STP_PARAMETER_TYPE_FILE:
+- stp_set_file_parameter(to, val->name, val->value.rval.data);
+- break;
+- case STP_PARAMETER_TYPE_RAW:
+- stp_set_raw_parameter(to, val->name, val->value.rval.data,
+- val->value.rval.bytes);
+- break;
+- case STP_PARAMETER_TYPE_INT:
+- stp_set_int_parameter(to, val->name, val->value.ival);
+- break;
+- case STP_PARAMETER_TYPE_DIMENSION:
+- stp_set_dimension_parameter(to, val->name, val->value.ival);
+- break;
+- case STP_PARAMETER_TYPE_BOOLEAN:
+- stp_set_boolean_parameter(to, val->name, val->value.bval);
+- break;
+- case STP_PARAMETER_TYPE_DOUBLE:
+- stp_set_float_parameter(to, val->name, val->value.dval);
+- break;
+- default:
+- break;
+- }
+- item = stp_list_item_next(item);
+- }
+- }
+-}
+-
+ static void
+ fill_vars_from_xmltree(stp_mxml_node_t *prop, stp_mxml_node_t *root,
+ stp_vars_t *v)
diff --git a/gutenprint.spec b/gutenprint.spec
index 5de2640..65bd013 100644
--- a/gutenprint.spec
+++ b/gutenprint.spec
@@ -3,7 +3,7 @@
Name: gutenprint
Summary: Printer Drivers Package
Version: 5.2.8
-Release: 1%{?dist}
+Release: 2%{?dist}
Group: System Environment/Base
URL: http://gimp-print.sourceforge.net/
Source0: http://downloads.sourceforge.net/sourceforge/gimp-print/gutenprint-%{version}.tar.bz2
@@ -16,6 +16,7 @@ Patch1: gutenprint-O6.patch
Patch2: gutenprint-selinux.patch
Patch3: gutenprint-postscriptdriver.patch
Patch4: gutenprint-device-ids.patch
+Patch5: gutenprint-5.2.8-soname.patch
License: GPLv2+
BuildRequires: cups-libs >= 1.1.22-0.rc1.9.10, cups >= 1.1.22-0.rc1.9.10
@@ -33,6 +34,11 @@ Provides: gimp-print-utils = 4.2.7-25
# Make sure we get postscriptdriver tags.
BuildRequires: python-cups, cups
+# Due to gutenprint-5.2.8-soname.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+
## NOTE ##
# The README file in this package contains suggestions from upstream
# on how to package this software. I'd be inclined to follow those
@@ -174,9 +180,13 @@ Epson, HP and compatible printers.
%patch4 -p1 -b .device-ids
# Fix build against new versions of gcc.
+# Avoid the libgutenprint soname bump so we can update gutenprint in F16 & 17.
+%patch5 -p1 -b .soname
+
cp %{SOURCE2} src/cups/cups-genppdupdate.in
%build
+./autogen.sh
%configure --disable-static --disable-dependency-tracking \
--with-foomatic --with-ghostscript \
--enable-samples --enable-escputil \
@@ -292,6 +302,9 @@ fi
/bin/rm -f /var/cache/foomatic/*
%changelog
+* Tue Jun 12 2012 Jiri Popelka <jpopelka at redhat.com> 5.2.8-2
+- Avoid the libgutenprint soname bump so we can update gutenprint in F16 & 17.
+
* Tue Jun 12 2012 Jiri Popelka <jpopelka at redhat.com> 5.2.8-1
- 5.2.8
More information about the scm-commits
mailing list