Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libspectre for openSUSE:Factory checked in at 2022-03-23 20:15:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libspectre (Old) and /work/SRC/openSUSE:Factory/.libspectre.new.25692 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libspectre" Wed Mar 23 20:15:19 2022 rev:27 rq:963347 version:0.2.10 Changes: -------- --- /work/SRC/openSUSE:Factory/libspectre/libspectre.changes 2020-09-01 20:00:59.200413338 +0200 +++ /work/SRC/openSUSE:Factory/.libspectre.new.25692/libspectre.changes 2022-03-23 20:15:20.954360623 +0100 @@ -1,0 +2,10 @@ +Sun Mar 20 19:41:55 UTC 2022 - Dirk M??ller <[email protected]> + +- update to 0.2.10: + * Fix display of some EPS files + * Fixed memory leak in in case spectre_presize is called multiple + times + * Use the new api to pass the callbacks to libgs. Needs + ghostscript >= 9.53 + +------------------------------------------------------------------- Old: ---- libspectre-0.2.9.tar.gz New: ---- libspectre-0.2.10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libspectre.spec ++++++ --- /var/tmp/diff_new_pack.9BXXox/_old 2022-03-23 20:15:21.530360922 +0100 +++ /var/tmp/diff_new_pack.9BXXox/_new 2022-03-23 20:15:21.534360924 +0100 @@ -1,7 +1,7 @@ # # spec file for package libspectre # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,16 +18,16 @@ %define debug_package_requires libspectre1 = %{version}-%{release} Name: libspectre -Version: 0.2.9 +Version: 0.2.10 Release: 0 Summary: Library for Rendering PostScript Documents License: GPL-2.0-or-later Group: Development/Libraries/C and C++ URL: https://libspectre.freedesktop.org/ -Source0: http://libspectre.freedesktop.org/releases/%{name}-%{version}.tar.gz +Source0: https://libspectre.freedesktop.org/releases/%{name}-%{version}.tar.gz # PATCH-FIX-UPSTREAM fix-bsc975503.diff bsc#975503 fdo#97091 -- Parse ps files ignoring EOF comments which would stop parsing too soon in documents with embedded EPS files. Patch0: fix-bsc975503.diff -BuildRequires: ghostscript-devel +BuildRequires: ghostscript-devel >= 9.53.0 BuildRequires: ghostscript-library BuildRequires: pkgconfig ++++++ libspectre-0.2.9.tar.gz -> libspectre-0.2.10.tar.gz ++++++ ++++ 15140 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/ChangeLog new/libspectre-0.2.10/ChangeLog --- old/libspectre-0.2.9/ChangeLog 2020-05-06 22:10:47.000000000 +0200 +++ new/libspectre-0.2.10/ChangeLog 2022-02-12 11:38:50.000000000 +0100 @@ -1,3 +1,63 @@ +commit 8d0515492504f5e4cf3dd9ddf3e89360f0a67e91 +Author: Albert Astals Cid <[email protected]> +Date: Sat Feb 12 11:37:35 2022 +0100 + + release: 0.2.10 + + NEWS | 11 +++++++++++ + configure.ac | 4 ++-- + 2 files changed, 13 insertions(+), 2 deletions(-) + +commit 66299f05ed419b5b6ee5495f8ee5e8d670bfd1c4 +Author: Albert Astals Cid <[email protected]> +Date: Fri Sep 25 01:47:29 2020 +0200 + + Use the new api to pass the callbacks + + Needs ghostscript >= 9.53 + + .gitlab-ci.yml | 6 +++--- + configure.ac | 4 ++-- + libspectre/spectre-device.c | 47 +++++++++++++++++++++++++++------------------ + libspectre/spectre-gs.c | 20 ++++--------------- + libspectre/spectre-gs.h | 6 ++++-- + 5 files changed, 41 insertions(+), 42 deletions(-) + +commit 4d34d6cfe9bd8fc7b8355a39502374d9d6426ed0 +Author: Marek Kasik <[email protected]> +Date: Mon Nov 29 16:27:57 2021 +0100 + + Set alignment for rendering to default + + Previous aligning to 32 bytes rendered EPS in wrong way (not always but often). + Setting default alignment which aligns to size of pointer fixes this issue. + + The commit which set it to the 32 was talking about alignment of 4 bytes so I guess + that there were bits interchanged with bytes. + + Fixes #44 + + libspectre/spectre-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6928e8933e8b6c98c0590985866cc12e7321f491 +Author: Albert Astals Cid <[email protected]> +Date: Sat Dec 26 12:21:22 2020 +0100 + + Free the previous user_image in case spectre_presize is called multiple times + + libspectre/spectre-device.c | 1 + + 1 file changed, 1 insertion(+) + +commit 155777e316aa1bbc0f3be9ed7a6e7a9b76b58968 +Author: Randy <[email protected]> +Date: Thu May 14 08:52:41 2020 +0200 + + remove version suffix from ghostscript directory + + test/ossfuzz.sh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + commit 5e1a10e97c29c06756e65a97c7f9e23117eb3646 Author: Albert Astals Cid <[email protected]> Date: Wed May 6 22:07:40 2020 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/NEWS new/libspectre-0.2.10/NEWS --- old/libspectre-0.2.9/NEWS 2020-05-06 22:05:44.000000000 +0200 +++ new/libspectre-0.2.10/NEWS 2022-02-12 11:37:11.000000000 +0100 @@ -1,3 +1,14 @@ +libspectre 0.2.10 (12 February 2022) +=============================== + +This is another bugfix only release in the libspectre's 0.2 series. + +Fix display of some EPS files (Marek Kasik) + +Fixed memory leak in in case spectre_presize is called multiple times (Albert Astals Cid) + +Use the new api to pass the callbacks to libgs. Needs ghostscript >= 9.53 (Albert Astals Cid) + libspectre 0.2.9 (06 May 2020) =============================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/compile new/libspectre-0.2.10/compile --- old/libspectre-0.2.9/compile 2020-03-22 12:23:30.000000000 +0100 +++ new/libspectre-0.2.10/compile 2021-10-04 21:45:02.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/config.h.in new/libspectre-0.2.10/config.h.in --- old/libspectre-0.2.9/config.h.in 2018-10-20 00:44:16.000000000 +0200 +++ new/libspectre-0.2.10/config.h.in 2021-12-08 12:21:13.000000000 +0100 @@ -9,12 +9,12 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -78,7 +78,9 @@ /* 'va_lists' cannot be copies as values */ #undef SPECTRE_VA_COPY_AS_ARRAY -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Version number of package */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/configure.ac new/libspectre-0.2.10/configure.ac --- old/libspectre-0.2.9/configure.ac 2020-05-06 22:00:29.000000000 +0200 +++ new/libspectre-0.2.10/configure.ac 2022-02-12 11:34:17.000000000 +0100 @@ -2,7 +2,7 @@ m4_define([spectre_major_version], [0]) m4_define([spectre_minor_version], [2]) -m4_define([spectre_micro_version], [9]) +m4_define([spectre_micro_version], [10]) m4_define([spectre_version], [spectre_major_version.spectre_minor_version.spectre_micro_version]) @@ -25,7 +25,7 @@ ## increment any time the source changes; set to ## 0 if you increment CURRENT -LT_REVISION=9 +LT_REVISION=10 ## increment if any interfaces have been added; set to 0 ## if any interfaces have been changed or removed. removal has @@ -63,7 +63,7 @@ AC_CHECK_FUNC(_vscprintf, [ AC_DEFINE(HAVE__VSCPRINTF, 1, [Define if the '_vscprintf' function is available.]) ]) -LIBGS_REQUIRED="9.24" +LIBGS_REQUIRED="9.53.0" AC_CHECK_LIB(gs, gsapi_new_instance, have_libgs=yes, have_libgs=no) if test "x$have_libgs" = "xyes"; then @@ -81,7 +81,7 @@ if (gsapi_revision (&gsrev, sizeof (gsrev)) != 0) return 1; - if (gsrev.revision < `echo "$LIBGS_REQUIRED" | sed -e 's/\.//'`) + if (gsrev.revision < `echo "$LIBGS_REQUIRED" | sed -e 's/\.//g'`) return 1; ]])], [have_libgs=yes], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/libspectre/spectre-device.c new/libspectre-0.2.10/libspectre/spectre-device.c --- old/libspectre-0.2.9/libspectre/spectre-device.c 2020-04-08 23:39:13.000000000 +0200 +++ new/libspectre-0.2.10/libspectre/spectre-device.c 2022-02-12 11:32:45.000000000 +0100 @@ -72,6 +72,7 @@ sd->height = height; sd->row_length = raster; sd->gs_image = NULL; + free(sd->user_image); sd->user_image = malloc (sd->row_length * sd->height); return 0; @@ -105,7 +106,7 @@ if (!handle) return 0; - + sd = (SpectreDevice *)handle; sd->page_called = TRUE; memcpy (sd->user_image, sd->gs_image, sd->row_length * sd->height); @@ -134,7 +135,7 @@ return 0; } -static const display_callback spectre_device = { +static display_callback spectre_device = { sizeof (display_callback), DISPLAY_VERSION_MAJOR, DISPLAY_VERSION_MINOR, @@ -261,6 +262,27 @@ } } +static int spectre_callout_handler(void *instance, void *callout_handle, const char *device_name, int id, int size, void *data) +{ + /* On entry, callout_handle == the value of state passed in + * to gsapi_register_callout. */ + /* We are only interested in callouts from the display device. */ + if (device_name == NULL || strcmp(device_name, "display")) + return -1; + + if (id == DISPLAY_CALLOUT_GET_CALLBACK) + { + /* Fill in the supplied block with the details of our callback + * handler, and the handle to use. In this instance, the handle + * is the pointer to our test structure. */ + gs_display_get_callback_t *cb = (gs_display_get_callback_t *)data; + cb->callback = &spectre_device; + cb->caller_handle = callout_handle; + return 0; + } + return -1; +} + SpectreStatus spectre_device_render (SpectreDevice *device, unsigned int page, @@ -274,14 +296,13 @@ { SpectreGS *gs; char **args; - int n_args = 13; + int n_args = 12; int arg = 0; int success; - char *fmt; char *text_alpha, *graph_alpha; char *size = NULL; char *resolution, *set; - char *dsp_format, *dsp_handle; + char *dsp_format; char *width_points = NULL; char *height_points = NULL; @@ -296,10 +317,10 @@ return SPECTRE_STATUS_RENDER_ERROR; } - if (!spectre_gs_set_display_callback (gs, (display_callback *)&spectre_device)) { + if (!spectre_gs_register_callout(gs, spectre_callout_handler, device)) { spectre_gs_cleanup (gs, CLEANUP_DELETE_INSTANCE); spectre_gs_free (gs); - + return SPECTRE_STATUS_RENDER_ERROR; } @@ -330,7 +351,7 @@ args[arg++] = dsp_format = _spectre_strdup_printf ("-dDisplayFormat=%d", DISPLAY_COLORS_RGB | DISPLAY_DEPTH_8 | - DISPLAY_ROW_ALIGN_32 | + DISPLAY_ROW_ALIGN_DEFAULT | #ifdef WORDS_BIGENDIAN DISPLAY_UNUSED_FIRST | DISPLAY_BIGENDIAN | @@ -339,16 +360,6 @@ DISPLAY_LITTLEENDIAN | #endif DISPLAY_TOPFIRST); -#ifdef WIN32 -#define FMT64 "I64" -#else -#define FMT64 "ll" -#endif - fmt = _spectre_strdup_printf ("-sDisplayHandle=16#%s", - sizeof (device) == 4 ? "%lx" : "%"FMT64"x"); - args[arg++] = dsp_handle = _spectre_strdup_printf (fmt, device); - free (fmt); -#undef FMT64 if (rc->use_platform_fonts == FALSE) args[arg++] = "-dNOPLATFONTS"; @@ -368,7 +379,6 @@ free (height_points); free (resolution); free (dsp_format); - free (dsp_handle); free (args); if (!success) { free (device->user_image); @@ -395,7 +405,7 @@ *page_data = device->user_image; *row_length = device->row_length; - rotate_image_to_orientation (page_data, row_length, width, height, rc->orientation); + rotate_image_to_orientation (page_data, row_length, width, height, rc->orientation); spectre_gs_free (gs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/libspectre/spectre-gs.c new/libspectre-0.2.10/libspectre/spectre-gs.c --- old/libspectre-0.2.9/libspectre/spectre-gs.c 2020-04-08 23:39:13.000000000 +0200 +++ new/libspectre-0.2.10/libspectre/spectre-gs.c 2022-02-12 11:32:45.000000000 +0100 @@ -26,14 +26,8 @@ #include "spectre-utils.h" /* ghostscript stuff */ -#include <ghostscript/iapi.h> #include <ghostscript/ierrors.h> -/* Ghostscript before version 9.24 has a critial vulnerability - * where -dSAFER could be escaped from. - */ -#define GS_MIN_VERSION (924) - #define BUFFER_SIZE 32768 struct SpectreGS { @@ -160,13 +154,8 @@ spectre_gs_create_instance (SpectreGS *gs, void *caller_handle) { - int version; int error; - version = spectre_gs_get_version (); - if (version < GS_MIN_VERSION) - return FALSE; - error = gsapi_new_instance (&gs->ghostscript_instance, caller_handle); if (!critic_error_code (error)) { gsapi_set_stdio (gs->ghostscript_instance, @@ -180,13 +169,12 @@ } int -spectre_gs_set_display_callback (SpectreGS *gs, - void *callback) +spectre_gs_register_callout (SpectreGS *gs, + gs_callout callout,void *caller_handle) { int error; - - error = gsapi_set_display_callback (gs->ghostscript_instance, - callback); + + error = gsapi_register_callout(gs->ghostscript_instance, callout, caller_handle); return !critic_error_code (error); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/libspectre/spectre-gs.h new/libspectre-0.2.10/libspectre/spectre-gs.h --- old/libspectre-0.2.9/libspectre/spectre-gs.h 2018-10-13 00:04:38.000000000 +0200 +++ new/libspectre-0.2.10/libspectre/spectre-gs.h 2022-02-12 11:32:45.000000000 +0100 @@ -25,6 +25,8 @@ #include "ps.h" +#include <ghostscript/iapi.h> + SPECTRE_BEGIN_DECLS typedef enum { @@ -37,8 +39,8 @@ SpectreGS *spectre_gs_new (void); int spectre_gs_create_instance (SpectreGS *gs, void *caller_handle); -int spectre_gs_set_display_callback (SpectreGS *gs, - void *callback); +int spectre_gs_register_callout (SpectreGS *gs, + gs_callout callout, void *caller_handle); int spectre_gs_run (SpectreGS *gs, int n_args, char **args); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/libspectre/spectre-version.h new/libspectre-0.2.10/libspectre/spectre-version.h --- old/libspectre-0.2.9/libspectre/spectre-version.h 2020-05-06 22:10:26.000000000 +0200 +++ new/libspectre-0.2.10/libspectre/spectre-version.h 2022-02-12 11:38:48.000000000 +0100 @@ -27,11 +27,11 @@ #define SPECTRE_MAJOR_VERSION 0 #define SPECTRE_MINOR_VERSION 2 -#define SPECTRE_MICRO_VERSION 9 +#define SPECTRE_MICRO_VERSION 10 -#define SPECTRE_VERSION_STRING "0.2.9" +#define SPECTRE_VERSION_STRING "0.2.10" -#define SPECTRE_VERSION ((0 << 16) | (2 << 8) | (9)) +#define SPECTRE_VERSION ((0 << 16) | (2 << 8) | (10)) SPECTRE_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libspectre-0.2.9/missing new/libspectre-0.2.10/missing --- old/libspectre-0.2.9/missing 2020-03-22 12:23:30.000000000 +0100 +++ new/libspectre-0.2.10/missing 2021-10-04 21:45:02.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify
