From 7fdc510d60bc3f73480d31397eadad5f92de19084f7bb4aac73e6bf60903a96a Mon Sep 17 00:00:00 2001 From: Johannes Meixner Date: Fri, 16 Mar 2018 13:33:21 +0000 Subject: [PATCH] Accepting request 587895 from home:jsmeix:branches:Printing Ghostscript 9.23rc1 uses lcms2 from SUSE and does no longer require any fonts packages (boo#1082896) OBS-URL: https://build.opensuse.org/request/show/587895 OBS-URL: https://build.opensuse.org/package/show/Printing/ghostscript?expand=0&rev=88 --- ghostscript-mini.changes | 31 +++++++++++++++++++++++ ghostscript-mini.spec | 54 ++++++++++++++++++++++------------------ ghostscript.changes | 31 +++++++++++++++++++++++ ghostscript.spec | 54 ++++++++++++++++++++++------------------ ppc64le-support.patch | 10 -------- 5 files changed, 122 insertions(+), 58 deletions(-) delete mode 100644 ppc64le-support.patch diff --git a/ghostscript-mini.changes b/ghostscript-mini.changes index d99cb9d..a5608b5 100644 --- a/ghostscript-mini.changes +++ b/ghostscript-mini.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Mar 16 12:39:36 CET 2018 - jsmeix@suse.de + +- For now use lcms2 from SUSE because that is what currently + Ghostscript upstream recommends according to + https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html + because since Ghostscript 9.23rc1 there is no longer lcms2 + in Ghostscript but now it is lcms2art which is the beginning + of a lcms2 fork, see News.htm that reads in particular + "LCMS2 is not thread safe ... Our fork will be thread safe ... + We will maintain compatibility between Ghostscript and LCMS2 + for a time, but not in perpetuity", see also + https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c14 +- On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5 + which is too old so that configure fails there with + configure: error: lcms2 not found, or too old + but there is no configure option to build it without lcms2 + so that for SLE11 and SLE12-SP1 it is built with + the lcms2art in Ghostscript. +- ppc64le-support.patch is no longer needed because it only + contained a fix for lcms2art/include/lcms2art.h in Ghostscript + but currently lcms2 from SUSE is used instead (see above). +- Do no longer require any fonts packages in particular + neither require ghostscript-fonts-std because the PostScript + Base35 fonts are provided by Ghostscript (in 'Resource') + nor require ghostscript-fonts-other (provides Bitream Charter, + Adobe Utopia, URW Antiqua, URW Grotesq and Hershey fonts where + all but the last are also provided by texlive--fonts) and + those fonts are not required for PostScript compliance, see + https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c13 + ------------------------------------------------------------------- Thu Mar 15 11:19:33 CET 2018 - jsmeix@suse.de diff --git a/ghostscript-mini.spec b/ghostscript-mini.spec index c512905..b55f0d7 100644 --- a/ghostscript-mini.spec +++ b/ghostscript-mini.spec @@ -19,6 +19,7 @@ Name: ghostscript-mini BuildRequires: freetype2-devel BuildRequires: libjpeg-devel +BuildRequires: liblcms2-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel BuildRequires: libtool @@ -68,13 +69,7 @@ Source0: ghostscript-%{tarball_version}.tar.gz # Patch0...Patch9 is for patches from upstream: # Source10...Source99 is for sources from SUSE which are intended for upstream: # Patch10...Patch99 is for patches from SUSE which are intended for upstream: -# Patch11 ppc64le-support.patch is a remainder of the previous patch -# now the hunk for LCMS (lcms/include/lcms.h) is removed -# because LCMS 1.x is removed since Ghostscript 9.16 -# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed -# see http://bugs.ghostscript.com/show_bug.cgi?id=695544 -Patch11: ppc64le-support.patch -# Fix for +# Avoid # ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc # ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory # base/unixinst.mak:162: recipe for target 'install-doc' failed @@ -85,20 +80,11 @@ Patch12: fix_ln_docdir_gsdatadir.patch # Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h # in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball: Patch100: remove-zlib-h-dependency.patch - # RPM dependencies: Conflicts: ghostscript Conflicts: ghostscript-x11 Conflicts: ghostscript-devel Conflicts: ghostscript-library -# Require Ghostscript's fonts because the Ghostscript package provides the -# "Fontmap" file /usr/share/ghostscript//Resource/Init/Fontmap.GS -# which lists Ghostscript's fonts but the fonts itself are provided in the -# separated packages ghostscript-fonts-std and ghostscript-fonts-other -# (regarding separated packages see /usr/share/ghostscript//doc/Fonts.htm) -# so that a RPM requirement is needed to make sure that Ghostscript has its fonts: -Requires: ghostscript-fonts-other -Requires: ghostscript-fonts-std # Install into this non-root directory (required when norootforbuild is used): BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -152,20 +138,17 @@ This package contains the development files for Minimal Ghostscript. # Be quiet when unpacking and # use a directory name matching Source0 to make it work also for ghostscript-mini: %setup -q -n ghostscript-%{tarball_version} -# Patch11 ppc64le-support.patch is a remainder of the previous patch -# now the hunk for LCMS (lcms/include/lcms.h) is removed -# because LCMS 1.x is removed since Ghostscript 9.16 -# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed -# see http://bugs.ghostscript.com/show_bug.cgi?id=695544 -%patch11 -p1 -b .ppc64le-support.orig -# Fix for +# Avoid # ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc # ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory # base/unixinst.mak:162: recipe for target 'install-doc' failed # make[1]: *** [install-doc] Error 1 %patch12 # Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h -# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball: +# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball. +# Again use the zlib sources from Ghostscript upstream +# and disable remove-zlib-h-dependency.patch because +# Ghostscript 9.21 does no longer build this way: #patch100 -p1 -b remove-zlib-h-dependency.orig # Remove patch backup files to avoid packaging # cf. https://build.opensuse.org/request/show/581052 @@ -176,7 +159,30 @@ rm -f Resource/Init/*.ps.orig # In contrast we use e.g. lcms2 from the Ghostscript upstream tarball because this one # is specially modified to work with Ghostscript so that we cannot use lcms2 from SUSE: #rm -rf freetype jpeg libpng tiff zlib +# Again use the zlib sources from Ghostscript upstream +# and disable remove-zlib-h-dependency.patch because +# Ghostscript 9.21 does no longer build this way: rm -rf freetype jpeg libpng tiff +# In contrast to the above we use lcms2 from SUSE since Ghostscript 9.23rc1 +# because that is what Ghostscript upstream recommends according to +# https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html +# because singe Ghostscript 9.23rc1 there is no longer lcms2 in Ghostscript +# but now it is lcms2art (the beginning of a lcms2 fork - see News.htm). +# On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5 +# which is too old so that configure fails there with +# checking for local lcms2 library source... no +# checking for system lcms2 library... checking for _cmsCreateMutex in -llcms2... no +# configure: error: lcms2 not found, or too old +# (on SLE12-SP2 there is liblcms2-2-2.7 which is not too old) +# but there is no configure option to build it without lcms2 +# so that for SLE11 and SLE12-SP1 it is built with lcms2art in Ghostscript +# i.e. lcms2art in Ghostscript is only removed when not SLE11 or SLE12-SP1 +# cf. https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto +%if 0%{?suse_version} == 1110 || 0%{?sle_version} == 120100 +echo "Building it with lcms2art in Ghostscript" +%else +rm -rf lcms2art +%endif %build # Derive build timestamp from latest changelog entry diff --git a/ghostscript.changes b/ghostscript.changes index 72e11d3..39bcb9a 100644 --- a/ghostscript.changes +++ b/ghostscript.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Mar 16 12:39:36 CET 2018 - jsmeix@suse.de + +- For now use lcms2 from SUSE because that is what currently + Ghostscript upstream recommends according to + https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html + because since Ghostscript 9.23rc1 there is no longer lcms2 + in Ghostscript but now it is lcms2art which is the beginning + of a lcms2 fork, see News.htm that reads in particular + "LCMS2 is not thread safe ... Our fork will be thread safe ... + We will maintain compatibility between Ghostscript and LCMS2 + for a time, but not in perpetuity", see also + https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c14 +- On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5 + which is too old so that configure fails there with + configure: error: lcms2 not found, or too old + but there is no configure option to build it without lcms2 + so that for SLE11 and SLE12-SP1 it is built with + the lcms2art in Ghostscript. +- ppc64le-support.patch is no longer needed because it only + contained a fix for lcms2art/include/lcms2art.h in Ghostscript + but currently lcms2 from SUSE is used instead (see above). +- Do no longer require any fonts packages in particular + neither require ghostscript-fonts-std because the PostScript + Base35 fonts are provided by Ghostscript (in 'Resource') + nor require ghostscript-fonts-other (provides Bitream Charter, + Adobe Utopia, URW Antiqua, URW Grotesq and Hershey fonts where + all but the last are also provided by texlive--fonts) and + those fonts are not required for PostScript compliance, see + https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c13 + ------------------------------------------------------------------- Thu Mar 15 11:19:33 CET 2018 - jsmeix@suse.de diff --git a/ghostscript.spec b/ghostscript.spec index fd4e402..c6a08e7 100644 --- a/ghostscript.spec +++ b/ghostscript.spec @@ -37,6 +37,7 @@ BuildRequires: dbus-1-devel BuildRequires: freetype2-devel BuildRequires: libexpat-devel BuildRequires: libjpeg-devel +BuildRequires: liblcms2-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel BuildRequires: libtool @@ -88,13 +89,7 @@ Source0: ghostscript-%{tarball_version}.tar.gz # Patch0...Patch9 is for patches from upstream: # Source10...Source99 is for sources from SUSE which are intended for upstream: # Patch10...Patch99 is for patches from SUSE which are intended for upstream: -# Patch11 ppc64le-support.patch is a remainder of the previous patch -# now the hunk for LCMS (lcms/include/lcms.h) is removed -# because LCMS 1.x is removed since Ghostscript 9.16 -# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed -# see http://bugs.ghostscript.com/show_bug.cgi?id=695544 -Patch11: ppc64le-support.patch -# Fix for +# Avoid # ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc # ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory # base/unixinst.mak:162: recipe for target 'install-doc' failed @@ -105,7 +100,6 @@ Patch12: fix_ln_docdir_gsdatadir.patch # Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h # in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball: Patch100: remove-zlib-h-dependency.patch - # RPM dependencies: # Additional RPM Provides of the ghostscript-library packages in openSUSE 11.4 from # "rpm -q --provides ghostscript-library" and "rpm -q --provides ghostscript-x11": @@ -193,14 +187,6 @@ Recommends: ghostscript-x11 = %{version}-%{release} %if 0%{?suse_version} > 1210 Recommends: cups-filters-ghostscript %endif -# Require Ghostscript's fonts because the Ghostscript package provides the -# "Fontmap" file /usr/share/ghostscript//Resource/Init/Fontmap.GS -# which lists Ghostscript's fonts but the fonts itself are provided in the -# separated packages ghostscript-fonts-std and ghostscript-fonts-other -# (regarding separated packages see /usr/share/ghostscript//doc/Fonts.htm) -# so that a RPM requirement is needed to make sure that Ghostscript has its fonts: -Requires: ghostscript-fonts-other -Requires: ghostscript-fonts-std # Install into this non-root directory (required when norootforbuild is used): BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -288,20 +274,17 @@ This package contains the development files for Ghostscript. # Be quiet when unpacking and # use a directory name matching Source0 to make it work also for ghostscript-mini: %setup -q -n ghostscript-%{tarball_version} -# Patch11 ppc64le-support.patch is a remainder of the previous patch -# now the hunk for LCMS (lcms/include/lcms.h) is removed -# because LCMS 1.x is removed since Ghostscript 9.16 -# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed -# see http://bugs.ghostscript.com/show_bug.cgi?id=695544 -%patch11 -p1 -b .ppc64le-support.orig -# Fix for +# Avoid # ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc # ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory # base/unixinst.mak:162: recipe for target 'install-doc' failed # make[1]: *** [install-doc] Error 1 %patch12 # Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h -# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball: +# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball. +# Again use the zlib sources from Ghostscript upstream +# and disable remove-zlib-h-dependency.patch because +# Ghostscript 9.21 does no longer build this way: #patch100 -p1 -b remove-zlib-h-dependency.orig # Remove patch backup files to avoid packaging # cf. https://build.opensuse.org/request/show/581052 @@ -312,7 +295,30 @@ rm -f Resource/Init/*.ps.orig # In contrast we use e.g. lcms2 from the Ghostscript upstream tarball because this one # is specially modified to work with Ghostscript so that we cannot use lcms2 from SUSE: #rm -rf freetype jpeg libpng tiff zlib +# Again use the zlib sources from Ghostscript upstream +# and disable remove-zlib-h-dependency.patch because +# Ghostscript 9.21 does no longer build this way: rm -rf freetype jpeg libpng tiff +# In contrast to the above we use lcms2 from SUSE since Ghostscript 9.23rc1 +# because that is what Ghostscript upstream recommends according to +# https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html +# because singe Ghostscript 9.23rc1 there is no longer lcms2 in Ghostscript +# but now it is lcms2art (the beginning of a lcms2 fork - see News.htm). +# On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5 +# which is too old so that configure fails there with +# checking for local lcms2 library source... no +# checking for system lcms2 library... checking for _cmsCreateMutex in -llcms2... no +# configure: error: lcms2 not found, or too old +# (on SLE12-SP2 there is liblcms2-2-2.7 which is not too old) +# but there is no configure option to build it without lcms2 +# so that for SLE11 and SLE12-SP1 it is built with lcms2art in Ghostscript +# i.e. lcms2art in Ghostscript is only removed when not SLE11 or SLE12-SP1 +# cf. https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto +%if 0%{?suse_version} == 1110 || 0%{?sle_version} == 120100 +echo "Building it with lcms2art in Ghostscript" +%else +rm -rf lcms2art +%endif %build # Derive build timestamp from latest changelog entry diff --git a/ppc64le-support.patch b/ppc64le-support.patch deleted file mode 100644 index f1b2046..0000000 --- a/ppc64le-support.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ghostscript-9.23rc1/lcms2art/include/lcms2art.h -+++ ghostscript-9.23rc1/lcms2art/include/lcms2art.h -@@ -67,6 +67,7 @@ - #include - #include - #include -+#include - - #ifndef CMS_USE_CPP_API - # ifdef __cplusplus