​​Hello guys! :)

Initial NOTE: I have made some bigger changes in Ghostscript package during the cleanup, which should be self-contained. In my opinion those changes are not so significant to create "self-contained change" wiki page for it (for F28), but if the consensus of people here will be the opposite, then I will create it additionally...

----------------

I would like to inform you that Ghostscript package has received proper cleanup in accordance to Fedora Packaging Guidelines (FPG), and comments from upstream were also incorporated into the changes.

The aim was to simplify the package maintenance, to bring the Fedora's Ghostscript package as close as possible to upstream's vanilla build, to completely debundle the Ghostscript package of software/resources that we already have available (packaged) in Fedora, and to transform the layout of subpackages to be more sane and granular...

The changes are described more in detail below:

* libijs -- the IJS library has been debundled and is now provided as a separate package: https://src.fedoraproject.org/rpms/libijs

* libgs -- new separate package, created from Ghostscript's shared library. It contains all necessary files for other software/packages that are build upon Ghostscript's functionality.
* libgs-devel -- new separate subpackage, for development purposes or Fedora's build process. The 'ghostscript-devel' is still provided for now as a virtual subpackage.

->> This particular change will allow packages depending on Ghostscript functionality (like evince for example) to only require 'libgs', instead of requiring almost the whole Ghostscript (and thus pulling in files that many users don't want/need or might even never use).

* ghostscript -- is no longer a metapackage. It's a regular package instead, and it contains Ghostscript's binaries as well as some typical conversion scripts people are used to (and expect to have
  installed together with Ghostscript by default).

* ghostscript-tools-fonts -- new subpackage that contains 3 scripts that are useful only for people who are working with AFM, PFB or PFA files (conversions usually).
* ghostscript-tools-printing -- new subpackage that contains only utilities for formatting and printing text files using either Ghostscript, or BubbleJet, DeskJet, DeskJet 500, & LaserJet printers.

->> These subpackages contain files that only a small amount of people will ever need. Having them in a separate subpackages will avoid polluting users' filesystem after fresh F28+ installations.

* ghostscript-core -- has became an empty metapackage for upgrade purposes. It will be removed once Fedora 28 is EOL, and all other packages has updated their specfiles to require correct subpackages.

->> This metapackage makes sure that upgrade from old package layout to new package layout should be smooth (tested in F27).

* LPR setup scripts are no longer being shipped. In case people still need those, then 'ghostscript-tools-lpr' will be created for it.
* examples/ from 'ghostscript-doc' are no longer shipped.
* Documentation and resources paths no longer contain version string inside of them.

* Support for /usr/share/ghostscript/conf.d/ folder was dropped to use Ghostscript's default choice for rendering of CJK glyphs, which is Google Droid Sans Fallback font. In case this proves insufficient, the conf.d/ folder support will be re-established.

->> This change is still being discussed with Peng Wu and Akira Tagoh. So far, we have agreed to this change, but I will be ready to revert it in case people depending on printing CJK-based texts will have any problems. In case the Ghostscript's default functionality would prove to be sufficent and work OK, then the 'ghostscript-chinese' package could be retired as a result.
->> For now, we are also waiting for rebase of 'google-droid-fonts' for Ghostscript to have the latest version of Droid Sans Fallback font and thus the latest CJK glyphs coverage.

* Symbolic links for direct resources locations have been added to speedup Ghostscript's startup time.
* Ghostscript's search path was updated to include only fonts locations, which will be used only as a backup (in case of broken symbolic links).

->> This change is a preferred method (advised) from upstream.

* Ghostscript itself (as a whole) has been completely debundled (to a
  point where it still makes sense). It newly requires these packages:

  https://src.fedoraproject.org/rpms/adobe-mappings-cmap
  https://src.fedoraproject.org/rpms/adobe-mappings-pdf
  https://src.fedoraproject.org/rpms/libijs
  https://src.fedoraproject.org/rpms/urw-base35-fonts

->> I will send additional separate e-mails to this mailing list tomorrow to inform others of availability of some of these packages.

* As a result of debundling, 'poppler-data' is no longer a requirement for Ghostscript, and it is no longer necessary to do a rebuild of 'poppler-data' when Ghostscript is rebased.

----------------------

These changes shouldn't influence most of the users in any significant way. Some of Fedora developers might need to update their specfiles to require correct new (sub)package names. For that I will create a new tracking BZ for all related packages, and I will create necessary pull-requests on Pagure, or open corresponding BZs if pull-requests are disabled.

The new Ghostscript should be available for trying/testing in Rawhide in a few hours. I will follow up with additional information (e.g. tracking BZ link) here in this thread.

Best regards,

David Kaspar [Dee'Kej]
Associate Software Engineer

Brno, Czech Republic


RED HAT | TRIED. TESTED. TRUSTED.
Every airline in the Fortune 500 relies on Red Hat.
Find out why at Trusted | Red Hat.