ghostscript/ghostscript-9.22-002-restore-flushpage-operator.patch

58 lines
3.0 KiB
Diff
Raw Normal View History

specfile: complete cleanup (according to FPG) & package layout update The specfile has been completely rewritten from the ground up, to comply with Fedora Packaging Guidelines, and to incorporate comments from upstream. The subpackage layout was also updated into more sane and more granular scheme. The changes are described more in detail below: (Justifications for them can be found in the specfile's comments.) * 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. * 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. * 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. * 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. * 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 insufficent, the conf.d/ folder support will be re-established. * 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). * Documentation and resources paths no longer contain version string inside of them. * 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 * 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.
2018-01-09 22:05:45 +00:00
From 19ebb5f1f497b6f2d50fe13d17d3e627dfb6c868 Mon Sep 17 00:00:00 2001
From: Ken Sharp <ken.sharp@artifex.com>
Date: Tue, 21 Nov 2017 16:46:18 +0000
Subject: [PATCH] PS interpreter - restore the flushpage operator
Michael Katzmann, working at the Library of Congress, is using
Ghostscript in a custom application, which also involves a barcode
reader and an SQL database.
Currently this resides in an RPM at:
http://engineering.nlsbph.org/repo/fedora/fedora/updates/27/SRPMS/AddressCard-3.17-LoC.fc27.src.rpm
but its not usable without the barcode reader and SQL database....
For reasons which are not completely clear to me, he wants to use
flushpage to update the display part way through the operation.
We suspect that it would be possible to avoid this, but it would
probably require some programming effort on the users part, and since
flushpage doesn't look like a likely candidate for abuse, we've decided
just to restore it.
---
Resource/Init/gs_init.ps | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
index 491f0ea..eb4db02 100644
--- a/Resource/Init/gs_init.ps
+++ b/Resource/Init/gs_init.ps
@@ -2162,7 +2162,7 @@ SAFER { .setsafeglobal } if
/.type1execchar /.type2execchar /.type42execchar /.setweightvector /.getuseciecolor /processcolors /.includecolorspace
/.execn /.instopped /.stop /.stopped /.setcolorrendering /.setdevicecolorrendering /.buildcolorrendering1 /.builddevicecolorrendering1
/.TransformPQR_scale_WB0 /.TransformPQR_scale_WB1 /.TransformPQR_scale_WB2 /.currentoverprintmode /.copydevice2
-/.devicename /.doneshowpage /flushpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
+/.devicename /.doneshowpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
/makewordimagedevice /.outputpage /.putdeviceparams /.setdevice /.currentshowpagecount
/.setpagedevice /.currentpagedevice /.knownundef /.setmaxlength /.rectappend /.initialize_dsc_parser /.parse_dsc_comments
/.fillCIDMap /.fillIdentityCIDMap /.buildcmap /.filenamelistseparator /.libfile /.getfilename
specfile: complete cleanup (according to FPG) & package layout update The specfile has been completely rewritten from the ground up, to comply with Fedora Packaging Guidelines, and to incorporate comments from upstream. The subpackage layout was also updated into more sane and more granular scheme. The changes are described more in detail below: (Justifications for them can be found in the specfile's comments.) * 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. * 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. * 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. * 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. * 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 insufficent, the conf.d/ folder support will be re-established. * 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). * Documentation and resources paths no longer contain version string inside of them. * 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 * 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.
2018-01-09 22:05:45 +00:00
@@ -2180,6 +2180,15 @@ SAFER { .setsafeglobal } if
/.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams
/.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath
+% Used by a free user in the Library of Congress. Apparently this is used to
+% draw a partial page, which is then filled in by the results of a barcode
+% scanner and SQL database lookup. Its not clear to us exactly why this needs to be
+% done as a partial page, but its easiest to restore the operator, and it seems like
+% its a reasonably safe operator to restore, for the *very* few devices on which
+% it will have any effect. Currently this uses the 'sync_outptu' device method
+% to transfer the partial page, in future we may use a spec_op instead.
+%/flushpage
+
% Used by our own test suite files
%/.fileposition %image-qa.ps
%/.makeoperator /.setCPSImode % gs_cet.ps
specfile: complete cleanup (according to FPG) & package layout update The specfile has been completely rewritten from the ground up, to comply with Fedora Packaging Guidelines, and to incorporate comments from upstream. The subpackage layout was also updated into more sane and more granular scheme. The changes are described more in detail below: (Justifications for them can be found in the specfile's comments.) * 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. * 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. * 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. * 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. * 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 insufficent, the conf.d/ folder support will be re-established. * 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). * Documentation and resources paths no longer contain version string inside of them. * 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 * 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.
2018-01-09 22:05:45 +00:00
--
2.9.5