Hello community, here is the log from the commit of package pstoedit for openSUSE:Factory checked in at 2015-03-16 06:55:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pstoedit (Old) and /work/SRC/openSUSE:Factory/.pstoedit.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pstoedit" Changes: -------- --- /work/SRC/openSUSE:Factory/pstoedit/pstoedit.changes 2014-06-25 06:57:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.pstoedit.new/pstoedit.changes 2015-03-16 06:55:10.000000000 +0100 @@ -1,0 +2,35 @@ +Fri Mar 13 20:24:50 CET 2015 - [email protected] + +- Fix plugin search algorithm (pstoedit-pkglibdir.patch). +- Drop patches: + * pstoedit-parallel.patch: It was apparently autotools fault. + * pstoedit-3.50-plugin-close.patch: Triggering bnc#680125 is + fixed since 12.2. + * pstoedit-3.60-libdl.patch: Patch is correct, but not needed. + +------------------------------------------------------------------- +Thu Mar 12 16:24:18 UTC 2015 - [email protected] + +- Update to version 3.70 + * some code improvement + * removed the -DBUGGYGPP compile flag since now g++ can compile the + code without it. The former work-arounds are still there but will + be removed later. + * enabled more warnings when compiling with g++ and fixed some + resulting warnings. + * changed the autoconf part to better support the inclusion of + libzip for the pptx driver. + * included a lot of documentation corrections + * using non case sensitive comparison when determining the target + format from the file suffix. + * using more STL classes instead of older private replacements + (string and vector). In this context also some hard coded limits + were removed. + * fixed an assertion violation when using -ssp and a closepath occurred. + * added the dump of the font name for the DXF format. + prototype of a "simulate fill" option for emulating filling by stroking. + This is based on fillpoly.c from the hp2xx project. This is still kind + of experimental. +- Update pstoedit-3.62-parallel.patch > pstoedit-parallel.patch + +------------------------------------------------------------------- Old: ---- pstoedit-3.50-plugin-close.patch pstoedit-3.60-libdl.patch pstoedit-3.62-parallel.patch pstoedit-3.62.tar.gz New: ---- pstoedit-3.70.tar.gz pstoedit-pkglibdir.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pstoedit.spec ++++++ --- /var/tmp/diff_new_pack.6yhCgS/_old 2015-03-16 06:55:10.000000000 +0100 +++ /var/tmp/diff_new_pack.6yhCgS/_new 2015-03-16 06:55:10.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package pstoedit # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,19 +17,15 @@ Name: pstoedit -Version: 3.62 +Version: 3.70 Release: 0 Summary: PostScript and PDF Converter License: GPL-2.0+ Group: Productivity/Publishing/PS Url: http://www.pstoedit.net/ Source: https://sourceforge.net/projects/pstoedit/files/pstoedit/%{version}/%{name}-%{version}.tar.gz -# PATCH-WORKAROUND-OPENSUSE pstoedit-3.50-plugin-close.patch bnc622977 Redhat507035 [email protected] -- Work-around crash in glibc and don't dlclose() in destructors. -Patch1: pstoedit-3.50-plugin-close.patch -# PATCH-FIX-UPSTREAM pstoedit-3.62-parallel.patch fix paralel build -Patch2: pstoedit-3.62-parallel.patch -# PATCH-FIX-UPSTREAM pstoedit-3.60-libdl.patch really link to libdl -Patch3: pstoedit-3.60-libdl.patch +# PATCH-FIX-UPSTREAM pstoedit-pkglibdir.patch [email protected] -- Fix plugin search path. +Patch: pstoedit-pkglibdir.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -94,13 +90,10 @@ %prep %setup -q -%patch1 -%patch2 -p1 -%patch3 -p1 +%patch -p1 chmod -x examples/*.ps examples/Makefile* doc/*.* copying %build -autoreconf -fvi # --without-swf: lacking libming package %configure \ --disable-static \ ++++++ pstoedit-3.62.tar.gz -> pstoedit-3.70.tar.gz ++++++ ++++ 19569 lines of diff (skipped) ++++++ pstoedit-pkglibdir.patch ++++++ Fix for pstoedit search for plugins. By default, pstoedit "make install" installs to PSTOEDITLIBDIR, so if nobody moves them to another location, then it is sufficient to search in PSTOEDITLIBDIR. But the way how pstoedit searches for plugins is broken: If pstoedit.reg does not exist or does not contain common/plugindir, then it tries $exepath/../lib/pstoedit, always sets pluginsloaded, and never tries PSTOEDITLIBDIR. If pstoedit.reg contains common/plugindir, then it tries that path, always sets pluginsloaded, and never tries PSTOEDITLIBDIR. => The default installation directory is never tried, if it is not equal to one of above. The implementation has just another problem: If pstoedit.reg contains common/plugindir, and the directory defined there is equal to $pkglibdir, but the string is not literally "{expansion_of_bindir}/../lib/pstoedit", then plugins are loaded twice. So the check as it is makes only a little sense, because nobody would create ~/.pstoedit.reg containing: common/plugindir=/usr/bin/../lib/pstoedit The new implementation does things differently: If common/plugindir is defined, it checks only that directory. It swaps the check order: First checks whether PSTOEDITLIBDIR exists. If it exists, it skips blind attempts to find plugins. As PSTOEDITLIBDIR is always defined by makefile, the blind fallback will be attempted only in obscure environments. Index: pstoedit-3.70/src/pstoedit.cpp =================================================================== --- pstoedit-3.70.orig/src/pstoedit.cpp +++ pstoedit-3.70/src/pstoedit.cpp @@ -30,6 +30,7 @@ #include I_string_h #include <assert.h> +#include <sys/stat.h> #include "pstoeditoptions.h" @@ -261,33 +262,33 @@ static void loadpstoeditplugins(const ch loadPlugInDrivers(plugindir.c_str(), errstream, verbose); // load the driver plugins pluginsloaded = true; } - // also look in the directory where the pstoedit .exe/dll was found - char szExePath[1000]; - szExePath[0] = '\0'; - const unsigned long r = P_GetPathToMyself(progname, szExePath, sizeof(szExePath)); - if (verbose) errstream << "pstoedit : path to myself:" << progname << " " << r << " " << szExePath<< endl; - char *p = 0; - if (r && (p = strrchr(szExePath, directoryDelimiter)) != 0) { - *p = '\0'; - if (!strequal(szExePath, plugindir.c_str())) { - loadPlugInDrivers(szExePath, errstream,verbose); - pluginsloaded = true; - } - } - // now try also $exepath/../lib/pstoedit - strcat_s(szExePath,1000,"/../lib/pstoedit"); - if (!strequal(szExePath, plugindir.c_str())) { - loadPlugInDrivers(szExePath, errstream,verbose); - pluginsloaded = true; - } - #ifdef PSTOEDITLIBDIR - if (!pluginsloaded) { + struct stat s; + if (!pluginsloaded && + !stat(PSTOEDITLIBDIR, &s) && + S_ISDIR(s.st_mode)) { // also try to load drivers from the PSTOEDITLIBDIR loadPlugInDrivers(PSTOEDITLIBDIR, errstream,verbose); pluginsloaded = true; } #endif + // If the above failed, also look in the directory where the pstoedit .exe/dll was found + if (!pluginsloaded) { + char szExePath[1000]; + szExePath[0] = '\0'; + const unsigned long r = P_GetPathToMyself(progname, szExePath, sizeof(szExePath)); + if (verbose) errstream << "pstoedit : path to myself:" << progname << " " << r << " " << szExePath<< endl; + char *p = 0; + if (r && (p = strrchr(szExePath, directoryDelimiter)) != 0) { + *p = '\0'; + loadPlugInDrivers(szExePath, errstream,verbose); + } + // now try also $exepath/../lib/pstoedit + strcat_s(szExePath,1000,"/../lib/pstoedit"); + if (!strequal(szExePath, plugindir.c_str())) { + loadPlugInDrivers(szExePath, errstream,verbose); + } + } // delete[]plugindir; } Index: pstoedit-3.70/doc/pstoedit.tex =================================================================== --- pstoedit-3.70.orig/doc/pstoedit.tex +++ pstoedit-3.70/doc/pstoedit.tex @@ -352,7 +352,7 @@ If the \Opt{-fontmap} option is not spe \item MS Windows: The same directory where the \Prog{pstoedit} executable is located \item Unix:\\ - $<$\emph{The directory where the pstoedit executable is located}$>$\verb+/../lib/+ + The default installation directory. If it fails, then $<$\emph{The directory where the pstoedit executable is located}$>$\verb+/../lib/+ \end{itemize} Index: pstoedit-3.70/doc/pstoedit.1 =================================================================== --- pstoedit-3.70.orig/doc/pstoedit.1 +++ pstoedit-3.70/doc/pstoedit.1 @@ -1,5 +1,5 @@ '\" t -.\" Manual page created with latex2man on Thu Jan 1 20:55:12 CET 2015 +.\" Manual page created with latex2man on Fri Mar 13 20:58:53 CET 2015 .\" NOTE: This file is generated, DO NOT EDIT. .de Vb .ft CW @@ -10,7 +10,7 @@ .fi .. -.TH "PSTOEDIT" "1" "01 January 2015" "Conversion Tools " "Conversion Tools " +.TH "PSTOEDIT" "1" "13 March 2015" "Conversion Tools " "Conversion Tools " .SH NAME pstoedit @@ -367,7 +367,7 @@ MS Windows: The same directory where the .B * Unix: .br -<\fIThe directory where the pstoedit executable is located\fP> +The default installation directory. If it fails, then <\fIThe directory where the pstoedit executable is located\fP> /../lib/ .RS .PP Index: pstoedit-3.70/doc/pstoedit.htm =================================================================== --- pstoedit-3.70.orig/doc/pstoedit.htm +++ pstoedit-3.70/doc/pstoedit.htm @@ -1,5 +1,5 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<!-- Manual page created with latex2man on Thu Jan 1 20:55:13 CET 2015 +<!-- Manual page created with latex2man on Fri Mar 13 20:58:54 CET 2015 ** Author of latex2man: [email protected] ** NOTE: This file is generated, DO NOT EDIT. --> <html> @@ -9,7 +9,7 @@ PSTOEDIT </h1> <h4 align=center>Dr. Wolfgang Glunz </h4> -<h4 align=center>01 January 2015</h4> +<h4 align=center>13 March 2015</h4> <h4 align=center>Version 3.70 </h4> <tt>pstoedit</tt> - a tool converting PostScript and PDF files into various @@ -561,7 +561,7 @@ in the installation directory and uses t </li> <li>Unix:<br> -<<em>The directory where the pstoedit executable is located</em>> +The default installation directory. If it fails, then <<em>The directory where the pstoedit executable is located</em>> <tt>/../lib/</tt> <p> </li> -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
