[Bug 1082896] New: Ghostscript package contains lots of duplicated resources
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896 Bug ID: 1082896 Summary: Ghostscript package contains lots of duplicated resources Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Printing Assignee: jsmeix@suse.com Reporter: stefan.bruens@rwth-aachen.de QA Contact: jsmeix@suse.com Found By: --- Blocker: --- The ghostscript package is much heavier than necessary, due to a number of reasons: 1) it is compiled with COMPILE-INITS/--enable-compile-inits (default), so all resources are compiled into the binaries 2) the resources contain an (old) version of the Droid Sans Fallback font, which is also provided by the google-droid-fonts package 3) the resources contain the standard Postscript fonts by URW, but the ghostscript package Requires the ghostscript-std-fonts package 4) the compiled resources are included *twice*, as the "gs" binary links to the ghostscript library statically. For 4), it should be possible to use/symlink the (already included) gsc binary, which is a wrapper around libgs.so, and accepts the same parameters. For 3), remove the URW fonts from the bundled resources and use the fonts from https://github.com/ArtifexSoftware/urw-base35-fonts instead (see 1074266 and 1074267). For 2), symlink DroidSansFullFallback to Resource/CIDFSubst/DroidSansFallback.ttf. This also requires compiling with --disable-compile-inits, as otherwise the fallback font is only looked up in the %rom% resource. The total size reduction would be about: - 27 MByte /usr/bin/gs - 4 MByte URW fonts from /usr/lib*/libgs.so* - 4 MByte fallback front from /usr/lib*/ligs.so* -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
Stefan Brüns
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
Stefan Brüns
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c1
Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c2
--- Comment #2 from Stefan Brüns
All I could do is to close this issue as WONTFIX regardless that this issue is of course perfectly valid, cf. https://bugzilla.opensuse.org/page.cgi?id=status_resolution_matrix.html
Thanks for not closing it ;-) I already have started doing some changes to the package to address the issues, but having you as a reviewer would be very welcome. As addressing all the issues would create quite some churn in the package, would you prefer a series of smaller SRs preferably addressing only one issue each, or just one/a few larger SRs? One problem for me would be testing with real hardware, i.e. ghostscript as printer driver. I only have one ink jet printer and one (PS) laser printer, so I could hardly test it. So for IJS, I could probably make it compile, but not test it. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c3
--- Comment #3 from Stefan Brüns
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c4
--- Comment #4 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c5
--- Comment #5 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c6
--- Comment #6 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c7
Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c8
--- Comment #8 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c9
--- Comment #9 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c10
Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c11
--- Comment #11 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c13
--- Comment #13 from Stefan Brüns
No objections from others means it is o.k. for everybody so that I did; ---------------------------------------------------------------------------- $ osc request accept 581052 --message="ok for me, see boo#1082896 in particular http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c9" Result of change request state: ok openSUSE:Factory Forward this submit to it? ([y]/n)n ----------------------------------------------------------------------------
Thanks for the review and so on ...
Stefan Brüns, when you consider this issue to be sufficiently solved by your https://build.opensuse.org/request/show/581052 I would like to close it as fixed.
The package is an a better state now, but there are still some things to improve: 1. ghostscript-fonts-std is not required, the Base35 fonts are part of the Resource in the tarball (trivial) 2. ghostscript-fonts-other contain Bitream Charter, Adobe Utopia, URW Antiqua, URW Grotesq and Hershey fonts, all but the last are also provided by texlive-<name>-fonts. Anyway, it is not required for PS compliance, so should probably reduced to Recommends or even Suggests. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c14
--- Comment #14 from Stefan Brüns
No negative feedback because of https://build.opensuse.org/request/show/581052 so that it seems this issue can be closed as fixed.
Only FYI:
Right now I submitted Ghostscript 9.23rc1 to OBS Printing: ---------------------------------------------------------------------------- $ osc submitrequest -m 'Ghostscript version upgrade to 9.23rc1 \ (first release candidate for 9.23)' \ home:jsmeix:branches:Printing ghostscript Printing ghostscript created request id 587502
$ osc request accept ... 587502 Result of change request state: ok openSUSE:Factory Forward this submit to it? ([y]/n)n ----------------------------------------------------------------------------
Since Ghostscript 9.23rc1 there is a compilation error only on the 's390x' architecture (on SLES12) where it had built before, cf. https://ghostscript.com/pipermail/gs-devel/2018-March/010060.html
The compile error is in lcms2art, the Artifex fork of lcms2. AFAICS it *should* provide a thread safe color transform cache (currently thread safety is achieved by creating transforms per thread), although a few days ago this was still a noop. One possible way to deal with this is deleting the lcms2art directory, it falls back to the system lcms2. BTW, for the version you can use "9.23~rc1", which is available since RPM 4.10. (tilde sorts below everything else, i.e. also below "9.23") -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c15
--- Comment #15 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c16
--- Comment #16 from Johannes Meixner
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896
http://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c18
--- Comment #18 from Johannes Meixner
On older systems I cannot build Ghostscript with SUSE's lcms2 because 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".
Well, that seems reasonable, to be honest.....
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 ...
If you were to build without lcms2(art) you'd not be building a spec compliant PDF reader, hence we don't offer that option. -------------------------------------------------------------------------- b) regarding our dropped ppc64le-support.patch see the same mail that reads (excerpts): --------------------------------------------------------------------------
This is what I had in ppc64le-support.patch
--- 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
...
I don't know if that is still needed to make things work on the ppc64le architecture.
We now use the autconf endian test in the configure script, and I'm given to understand that test is now functional (it was broken for a long time), so I'd *hope* that patch is no longer required. I don't have a suitable system to test out ppc64le. -------------------------------------------------------------------------- -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com