Compare commits

..

No commits in common. "c9s" and "c8s" have entirely different histories.
c9s ... c8s

6 changed files with 154 additions and 115 deletions

8
.gitignore vendored
View File

@ -1,8 +1,2 @@
pstoedit-3.45.tar.gz SOURCES/pstoedit-3.70.tar.gz
/pstoedit-3.60.tar.gz
/pstoedit-3.61.tar.gz
/pstoedit-3.62.tar.gz
/pstoedit-3.70.tar.gz /pstoedit-3.70.tar.gz
/pstoedit-3.71.tar.gz
/pstoedit-3.73.tar.gz
/pstoedit-3.75.tar.gz

View File

@ -1 +0,0 @@
b0fa3356efdca67bbc0c7c9145827c31384a6cc6 pstoedit-3.75.tar.gz

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: manual.sst_desktop.pstoedit.sanity}

View File

@ -1,17 +1,109 @@
--- a/config/pstoedit.pc.orig.in 2018-04-16 14:26:28.000000000 +0200 Fix for pstoedit search for plugins.
+++ b/config/pstoedit.pc.in 2020-10-05 14:37:16.750980762 +0200
@@ -1,7 +1,7 @@ By default, pstoedit "make install" installs to PSTOEDITLIBDIR, so if
prefix=@prefix@ nobody moves them to another location, then it is sufficient to search in
exec_prefix=@exec_prefix@ PSTOEDITLIBDIR.
libdir=@libdir@
-includedir=@includedir@
+includedir=@includedir@/pstoedit 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
Name: pstoedit #include <assert.h>
Description: converts PostScript(TM) and PDF files to other vector graphic formats +#include <sys/stat.h>
@@ -8,4 +8,4 @@
Version: @VERSION@.0 #include "pstoeditoptions.h"
Requires:
Libs: -L@libdir@ -lpstoedit @CXX_STD_LIB@ @CXX_RUNTIME_LIB@ @LIBLD_LDFLAGS@ @@ -261,33 +262,33 @@ static void loadpstoeditplugins(const ch
-Cflags: -I@includedir@ loadPlugInDrivers(plugindir.c_str(), errstream, verbose); // load the driver plugins
+Cflags: -I@includedir@/pstoedit 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;
}

View File

@ -1,35 +1,24 @@
%if 0%{?el7}
%global dts devtoolset-9-
%endif
Name: pstoedit Name: pstoedit
Version: 3.75 Version: 3.70
Release: 5%{?dist} Release: 9%{?dist}
Summary: Translates PostScript and PDF graphics into other vector formats Summary: Translates PostScript and PDF graphics into other vector formats
License: GPLv2+
URL: http://www.pstoedit.net
Source0: https://sourceforge.net/projects/pstoedit/files/pstoedit/%{version}/pstoedit-%{version}.tar.gz
# Fix cflags of the pkg-config file Group: Applications/Productivity
License: GPLv2+
URL: http://www.pstoedit.net/
Source0: http://downloads.sourceforge.net/pstoedit/pstoedit-%{version}.tar.gz
Patch0: pstoedit-pkglibdir.patch Patch0: pstoedit-pkglibdir.patch
BuildRequires: make Requires: ghostscript
BuildRequires: gd-devel BuildRequires: gd-devel
BuildRequires: libpng-devel
BuildRequires: dos2unix BuildRequires: dos2unix
BuildRequires: ghostscript BuildRequires: ghostscript
BuildRequires: plotutils-devel BuildRequires: plotutils-devel
BuildRequires: %{?dts}gcc-c++, %{?dts}gcc %ifnarch ia64
BuildRequires: libzip-devel
%if ! 0%{?rhel} >= 8
BuildRequires: ImageMagick-c++-devel
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: libEMF-devel BuildRequires: libEMF-devel
%endif %endif
%if 0%{?fedora}
BuildRequires: ming-devel
%endif
Requires: ghostscript%{?_isa}
%description %description
Pstoedit converts PostScript and PDF files to various vector graphic Pstoedit converts PostScript and PDF files to various vector graphic
@ -40,7 +29,9 @@ drivers
%package devel %package devel
Summary: Headers for developing programs that will use %{name} Summary: Headers for developing programs that will use %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: libpng-devel
%description devel %description devel
This package contains the header files needed for developing %{name} This package contains the header files needed for developing %{name}
@ -48,100 +39,56 @@ applications
%prep %prep
%autosetup -p1 %setup -q
# correctly load plugins (#1247187)
%patch0 -p1 -b .pkglibdir
dos2unix doc/*.htm doc/readme.txt dos2unix doc/*.htm doc/readme.txt
%build %build
%if 0%{?el7} # Buildling without ImageMagick support, to work around bug 507035
%{?dts:source /opt/rh/devtoolset-9/enable} %configure --disable-static --with-emf --without-swf --without-magick
%endif
%configure --disable-static --enable-docs=no --with-libzip-include=%{_includedir} \ # http://fedoraproject.org/wiki/Packaging/Guidelines#Removing_Rpath
%if 0%{?rhel} == 7 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
--without-emf sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%endif
make %{?_smp_mflags}
%make_build
%install %install
%make_install make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
install -pm 644 doc/pstoedit.1 $RPM_BUILD_ROOT%{_mandir}/man1/ install -m 644 doc/pstoedit.1 $RPM_BUILD_ROOT%{_mandir}/man1/
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
%if 0%{?el7}
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/pstoedit %post -p /sbin/ldconfig
%endif
%postun -p /sbin/ldconfig
%files %files
%doc doc/readme.txt doc/pstoedit.htm doc/changelog.htm doc/pstoedit.pdf %doc copying doc/readme.txt doc/pstoedit.htm
%license copying %{_datadir}/pstoedit
%{_datadir}/pstoedit/
%{_mandir}/man1/* %{_mandir}/man1/*
%{_bindir}/pstoedit %{_bindir}/pstoedit
%{_libdir}/*.so.* %{_libdir}/*.so.*
%{_libdir}/pstoedit/ %{_libdir}/pstoedit
%files devel %files devel
%doc doc/changelog.htm %doc doc/changelog.htm
%{_includedir}/pstoedit/ %{_includedir}/pstoedit
%{_libdir}/*.so %{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%{_datadir}/aclocal/*.m4 %{_datadir}/aclocal/*.m4
%changelog %changelog
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 3.75-5
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.75-4
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.75-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 07 2021 Tomas Popela <tpopela@redhat.com> - 3.75-2
- Disable ImageMagick support in ELN/RHEL 8+ as ImageMagick isn't part of it
* Mon Oct 05 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.75-1
- Rebase to 3.75
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.73-8
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.73-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.73-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.73-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.73-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jul 24 2018 Sebastian Kisela <skisela@redhat.com> - 3.73-3
- Add explicit gcc-c++ BuildRequires, as it has been removed from
the buildroot default packages set.
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.73-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 09 2018 Sebastian Kisela <skisela@redhat.com> - 3.73-1
- Rebase to 3.73
- Add automake call to regenerate Makefile, as libpstoedit.so was not generated at the right time.
* Mon Apr 16 2018 Sebastian Kisela <skisela@redhat.com> - 3.70-11
- Revert back due to unnoticed ABI changes
* Fri Apr 13 2018 Sebastian Kisela <skisela@redhat.com> - 3.70-10
- Drop unused libpng dependency
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.70-9 * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.70-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
@ -265,3 +212,4 @@ the buildroot default packages set.
* Thu Jun 8 2006 Denis Leroy <denis@poolshark.org> - 3.44-1 * Thu Jun 8 2006 Denis Leroy <denis@poolshark.org> - 3.44-1
- First version - First version

View File

@ -1 +1 @@
SHA512 (pstoedit-3.75.tar.gz) = 54b8cf7e78e52027d45e7550821476d9a9c4df4f63af83792b6a2909bc62236450ba6b619f95eede9f61a715f4937f1fbaf2ce4ae4b486daa0294c396a882a28 SHA512 (pstoedit-3.70.tar.gz) = 63668ea039fdf988ba007bafb8dc1f23f06d4eb430a92b97fb93c71b819f63e2708b99476ec9b096598db2ddd30d29a69101f078e7d4fdfec314677f50293cf9