Skip to content

Commit

Permalink
app-doc/doxygen: try to fix ghostscript compatibility
Browse files Browse the repository at this point in the history
Bug: https://bugs.gentoo.org/695710
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Matthias Maier <[email protected]>
  • Loading branch information
tamiko committed Dec 12, 2019
1 parent 2910774 commit 7e46810
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-doc/doxygen/doxygen-1.8.16.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ PATCHES=(
"${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348
"${FILESDIR}/${PN}-1.8.16-link_with_pthread.patch"
"${FILESDIR}/${PN}-1.8.15-llvm7.patch" #666692
"${FILESDIR}/${PN}-1.8.16-ghostscript-compatilibility.patch" #695710
)

DOCS=( LANGUAGE.HOWTO README.md )
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
From f08e87623368134c6541af12995b811ef9aff069 Mon Sep 17 00:00:00 2001
From: albert-github <[email protected]>
Date: Tue, 12 Nov 2019 11:42:22 +0100
Subject: [PATCH] issue #7290 error: Problem running ghostscript gs -q -g562x56
-r384x384x -sDEVICE=ppmraw -sOutputFile=_form0.pnm -dNOPAUSE -dBATCH --
_form0.ps. Check your installation!

@maehr had a talk with Robin Watts and Ken Sharp at IRC and there seem to be basically 3 different problems:
* `-r%dx%d` (the dimension for `r` shouldn't be `-r384x384x`, but `-r384x384`),
* misuse / unnecessary use of `--` and
* since 9.50 the command needs more control access (that might be worked around by either whitelisting the file via `--permit-file-read=_form0.eps` (only works from 9.50 and upwards) or generally accepting any file with `-dNOSAFER` (works since quite some time). The second option is considered to be unsafe if we would process any file, but in this case we process self produced / controlled files. I don't know if doxygen has any threat model that it assumes. ).

> Ken Sharp: Yeah the %dx is wrong, as Robin says its sheer luck that works
the -- isn't needed and is what's causing the first problem
and file control is the new bugbear

The suggestions have been implemented and test / docs works now with old and new version.
---
src/formula.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/formula.cpp b/src/formula.cpp
index 534f56ac..3d8e6ce1 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -193,8 +193,8 @@ void FormulaList::generateBitmaps(const char *path)
// used.

char gsArgs[4096];
- sprintf(gsArgs,"-q -g%dx%d -r%dx%dx -sDEVICE=ppmraw "
- "-sOutputFile=%s.pnm -dNOPAUSE -dBATCH -- %s.ps",
+ sprintf(gsArgs,"-q -g%dx%d -r%dx%d -sDEVICE=ppmraw "
+ "-sOutputFile=%s.pnm -dNOPAUSE -dBATCH -dNOSAFER %s.ps",
gx,gy,(int)(scaleFactor*72),(int)(scaleFactor*72),
formBase.data(),formBase.data()
);
--
2.24.1

0 comments on commit 7e46810

Please sign in to comment.