Package: ghostscript / 9.53.3~dfsg-7

Metadata

Package Version Patches format
ghostscript 9.53.3~dfsg-7 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
020201007~c6ce09a.patch | (download)

configure.ac | 13 5 + 8 - 0 !
1 file changed, 5 insertions(+), 8 deletions(-)

 re-enable support for opvp/oprp devices
 A user got in touch to say that he maintains a printer driver "back end"
 that uses the opvp device.
 So reinstating it - at least we know it's getting tested.
020201028~41ef9a0.patch | (download)

base/fapi_ft.c | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 drop use of ft_callback_def() def
 From 2.10.3, Freetype disappeared the FT_CALLBACK_DEF() macro,
 which is what we used when defining our callbacks from Freetype.
 .
 No guidance forthcoming
 from the Freetype developer who made those changes,
 so change to explicitly declaring the callbacks file static.
 .
 Should fix the reported build failures.
020201120~bd48c43.patch | (download)

base/gdevp14.c | 57 35 + 22 - 0 !
base/gscms.h | 2 1 + 1 - 0 !
base/gsicc_cache.c | 7 1 + 6 - 0 !
base/gsicc_lcms2mt.c | 33 14 + 19 - 0 !
base/gxblend.c | 5 3 + 2 - 0 !
base/gxblend.h | 2 1 + 1 - 0 !
base/gxblend1.c | 5 4 + 1 - 0 !
base/gxi12bit.c | 8 6 + 2 - 0 !
base/gxicolor.c | 8 6 + 2 - 0 !
base/gxipixel.c | 8 6 + 2 - 0 !
base/gxiscale.c | 18 14 + 4 - 0 !
devices/vector/gdevxps.c | 4 3 + 1 - 0 !
12 files changed, 94 insertions(+), 63 deletions(-)

 fix endian issues with cmm
 The interface code to the CMM was corrected
 to indicate when a endian swap was needed on the data.
 This should only occur in the case
 when we are dealing with transparency buffers
 during the put image blending operation
 that may include a color conversion.
 The final blend bakes the data as BE
 so if we are on a LE machine,
 the CMM will need to know to swap the bytes
 (assuming the pdf14 device is using 16bit buffers).
 .
 The code was rewritten to make it clear
 that this setting is no BE vs LE
 but simply an endian swap.
 That was a source of confusion.
 .
 Revealed in this testing was
 the lack of some proper error reporting during buffer conversions,
 which were fixed.
020210130~d787dad.patch | (download)

devices/vector/gdevtxtw.c | 6 2 + 4 - 0 !
1 file changed, 2 insertions(+), 4 deletions(-)

 txtwrite - address some memory handling problems
 There are two problems here;
 firstly the textw_text_release() function
 is called *from* gs_text_release,
 and should not be calling that function.
 This was the initial cause of the seg fault.
 .
 Secondly the txtwrite custom text enumerator
 was not declaring the 'pte_fallback' text enumerator member,
 which meant that it could be relocated
 without updating the txtwrite text enumerator,
 leading to seg faults further through the processing.
 .
 This resolves the seg faults on the supplied test file for me,
 but there are still memory problems (memory leaks in fact)
 revealed by running under Memento.
 I'll address these in a later commit or commits.
020210201~41130dd.patch | (download)

Resource/Init/pdf_base.ps | 25 14 + 11 - 0 !
Resource/Init/pdf_main.ps | 72 68 + 4 - 0 !
2 files changed, 82 insertions(+), 15 deletions(-)

 pdf interpreter - work around broken objstms (again)
 Ghostscript can't read files
 that poppler, mupdf and Firefox and others can read
 .
 The problem is in an OObjStm,
 a compressed representation of various PDF objects.
 In the example file
 the ObjStm returns a lone 'mark' object
 for one of the compressed objects,
 which is not legal.
 .
 This appears to be the font T1_2 on page 87.
 .
 The mark confuses our counting of the returned objects
 and that leads to the interpreter falling in a heap.
 .
 There's no trivial way to address this,
 so I've chosen to use the approach
 used for error handling in other places;
 push a specific name onto the stack,
 and then use that instead of a mark
 to delimit the portion of the stack of interest.
 .
 Obviously nothing is going to rescue the broken font;
 but since this is a PDF file which has been OCR'ed
 I don't think this is a problem
 as we will not to try to use it for rendering
 as the text is all 'drawn' in text rendering mode 3
 (neither fill nor stroke).
 .
 Because we keep using this
 I've also added a couple of utility procedures
 CountToKey and ClearToKey,
 which work similarly to countomark and cleartomark.
 Because I wanted to be able to detect a missing key on the stack
 CountToKey returns a boolean, not just a number.
 .
 I've also used that approach around the verify_page_tree call
 so that we don't end up with a pile of junk on the stack
 if it should fall over similar errors in future.
 .
 Finally I tested with the customer supplied file
 which originally inspired the changes in resolveobjectstream
 to detect the last kind of broken ObjStm
 and that file continues to work.
1001_cross.patch | (download)

autogen.sh | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 allow skipping configure during bootstrap to support cross build
 ghostscript fails to cross build from source,
 because it configures for the build architecture
 when invoked from autogen.sh.
 Cross building configures for the host architecture
 as a separate call after initial bootstrapping.
 .
 This patch allows telling autogen.sh not to call configure.
1002 Update lcms2 non mt code for buff_desc endian_swap.patch | (download)

base/gsicc_lcms2.c | 17 5 + 12 - 0 !
1 file changed, 5 insertions(+), 12 deletions(-)

 update lcms2 (non-mt) code for buff_desc->endian_swap
 Forgotten in bd48c43be5f736393372dffbad627ed6fc486238
1003_fix_gdevdsp_size_check.patch | (download)

devices/gdevdsp.c | 3 0 + 3 - 0 !
1 file changed, 3 deletions(-)

 fix size check in gdevdsp
2001_docdir_fix_for_debian.patch | (download)

Makefile.in | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 set docdir appropriately for debian
2002_gs_man_fix_debian.patch | (download)

man/gs.1 | 15 8 + 7 - 0 !
1 file changed, 8 insertions(+), 7 deletions(-)

 fixes for gs.1 (debian specific path adjustments)
2003_support_multiarch.patch | (download)

base/unix-aux.mak | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 check multiarch paths
2004_remove_non Debian_paths_from_docs.patch | (download)

man/gs.1 | 22 6 + 16 - 0 !
1 file changed, 6 insertions(+), 16 deletions(-)

 remove non-debian paths from documentation
2005_fix_Debian_paths_in_docs.patch | (download)

man/gs.1 | 26 13 + 13 - 0 !
1 file changed, 13 insertions(+), 13 deletions(-)

 fix debian paths in documentation
2006_suggest_install_ghostscript doc_in_docs.patch | (download)

man/gs.1 | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 suggest install of ghostscript-doc in documentation
2007_suggest_install_ghostscript doc_in_code.patch | (download)

psi/imainarg.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 suggest install of ghostscript-doc in code
2008_mention_ghostscript x_in_docs.patch | (download)

man/gs.1 | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 mention ghostscipt-x affect on default device in docs
2009_use_system_javascript.patch | (download)

doc/API.htm | 2 1 + 1 - 0 !
doc/C-style.htm | 2 1 + 1 - 0 !
doc/Commprod.htm | 2 1 + 1 - 0 !
doc/DLL.htm | 2 1 + 1 - 0 !
doc/Deprecated.htm | 2 1 + 1 - 0 !
doc/Develop.htm | 2 1 + 1 - 0 !
doc/Devices.htm | 2 1 + 1 - 0 !
doc/Drivers.htm | 2 1 + 1 - 0 !
doc/Fonts.htm | 2 1 + 1 - 0 !
doc/History9.htm | 2 1 + 1 - 0 !
doc/Install.htm | 2 1 + 1 - 0 !
doc/Internal.htm | 2 1 + 1 - 0 !
doc/Language.htm | 2 1 + 1 - 0 !
doc/Lib.htm | 2 1 + 1 - 0 !
doc/Make.htm | 2 1 + 1 - 0 !
doc/News.htm | 2 1 + 1 - 0 !
doc/Ps-style.htm | 2 1 + 1 - 0 !
doc/Ps2epsi.htm | 2 1 + 1 - 0 !
doc/Psfiles.htm | 2 1 + 1 - 0 !
doc/Readme.htm | 2 1 + 1 - 0 !
doc/Release.htm | 2 1 + 1 - 0 !
doc/SavedPages.htm | 2 1 + 1 - 0 !
doc/Source.htm | 2 1 + 1 - 0 !
doc/Unix-lpr.htm | 2 1 + 1 - 0 !
doc/Use.htm | 2 1 + 1 - 0 !
doc/VectorDevices.htm | 2 1 + 1 - 0 !
doc/WhatIsGS.htm | 2 1 + 1 - 0 !
doc/sample_downscale_device.htm | 2 1 + 1 - 0 !
doc/subclass.htm | 2 1 + 1 - 0 !
doc/thirdparty.htm | 2 1 + 1 - 0 !
30 files changed, 30 insertions(+), 30 deletions(-)

 use locally served jquery to avoid privacy breach
2010_add_build_timestamp_setting.patch | (download)

base/gp_unix.c | 22 22 + 0 - 0 !
devices/vector/gdevpdf.c | 4 3 + 1 - 0 !
devices/vector/gdevpdfe.c | 4 3 + 1 - 0 !
devices/vector/gdevpsu.c | 4 3 + 1 - 0 !
4 files changed, 31 insertions(+), 3 deletions(-)

 allow the build timestamp to be externally set
 In order to make Ghostscript output reproducible, we need a way to
 set the build timestamp to other values than the current time.
 We now consistently use gp_get_realtime() instead of directly calling
 time() or gp_get_usertime() and make gp_get_realtime() use the value
 found in the SOURCE_DATE_EPOCH environment variable if set. Also,
 environment timezone is fixed to UTC if SOURCE_DATE_EPOCH is used to
 avoid variations.
2011_avoid_remote_font.patch | (download)

doc/API.htm | 2 1 + 1 - 0 !
doc/C-style.htm | 2 1 + 1 - 0 !
doc/Commprod.htm | 2 1 + 1 - 0 !
doc/DLL.htm | 2 1 + 1 - 0 !
doc/Deprecated.htm | 2 1 + 1 - 0 !
doc/Develop.htm | 2 1 + 1 - 0 !
doc/Devices.htm | 2 1 + 1 - 0 !
doc/Drivers.htm | 2 1 + 1 - 0 !
doc/Fonts.htm | 2 1 + 1 - 0 !
doc/History9.htm | 2 1 + 1 - 0 !
doc/Install.htm | 2 1 + 1 - 0 !
doc/Language.htm | 2 1 + 1 - 0 !
doc/Lib.htm | 2 1 + 1 - 0 !
doc/Make.htm | 2 1 + 1 - 0 !
doc/News.htm | 2 1 + 1 - 0 !
doc/Ps-style.htm | 2 1 + 1 - 0 !
doc/Ps2epsi.htm | 2 1 + 1 - 0 !
doc/Psfiles.htm | 2 1 + 1 - 0 !
doc/Readme.htm | 2 1 + 1 - 0 !
doc/Release.htm | 2 1 + 1 - 0 !
doc/SavedPages.htm | 2 1 + 1 - 0 !
doc/Source.htm | 2 1 + 1 - 0 !
doc/Unix-lpr.htm | 2 1 + 1 - 0 !
doc/Use.htm | 2 1 + 1 - 0 !
doc/VectorDevices.htm | 2 1 + 1 - 0 !
doc/WhatIsGS.htm | 2 1 + 1 - 0 !
doc/sample_downscale_device.htm | 2 1 + 1 - 0 !
doc/subclass.htm | 2 1 + 1 - 0 !
doc/thirdparty.htm | 2 1 + 1 - 0 !
29 files changed, 29 insertions(+), 29 deletions(-)

 avoid remote fonts to avoid privacy breach
 Simply avoid custom fonts for now...