Package init
This commit is contained in:
commit
c65c33446a
49
CVE-2019-10216.patch
Normal file
49
CVE-2019-10216.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 5b85ddd19a8420a1bd2d5529325be35d78e94234 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Liddell <chris.liddell@artifex.com>
|
||||
Date: Fri, 2 Aug 2019 15:18:26 +0100
|
||||
Subject: [PATCH] Bug 701394: protect use of .forceput with executeonly
|
||||
|
||||
---
|
||||
Resource/Init/gs_type1.ps | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/Resource/Init/gs_type1.ps b/Resource/Init/gs_type1.ps
|
||||
index 6c7735b..a039cce 100644
|
||||
--- a/Resource/Init/gs_type1.ps
|
||||
+++ b/Resource/Init/gs_type1.ps
|
||||
@@ -118,25 +118,25 @@
|
||||
( to be the same as glyph: ) print 1 index //== exec } if
|
||||
3 index exch 3 index .forceput
|
||||
% scratch(string) RAGL(dict) AGL(dict) CharStrings(dict) cstring gname
|
||||
- }
|
||||
+ }executeonly
|
||||
{pop} ifelse
|
||||
- } forall
|
||||
+ } executeonly forall
|
||||
pop pop
|
||||
- }
|
||||
+ } executeonly
|
||||
{
|
||||
pop pop pop
|
||||
} ifelse
|
||||
- }
|
||||
+ } executeonly
|
||||
{
|
||||
% scratch(string) RAGL(dict) AGL(dict) CharStrings(dict) cstring gname
|
||||
pop pop
|
||||
} ifelse
|
||||
- } forall
|
||||
+ } executeonly forall
|
||||
3 1 roll pop pop
|
||||
- } if
|
||||
+ } executeonly if
|
||||
pop
|
||||
dup /.AGLprocessed~GS //true .forceput
|
||||
- } if
|
||||
+ } executeonly if
|
||||
|
||||
%% We need to excute the C .buildfont1 in a stopped context so that, if there
|
||||
%% are errors we can put the stack back sanely and exit. Otherwise callers won't
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
22
ghostscript-9.23-100-run-dvipdf-securely.patch
Normal file
22
ghostscript-9.23-100-run-dvipdf-securely.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From 91c9c6d17d445781ee572c281b8b9d75d96f9df8 Mon Sep 17 00:00:00 2001
|
||||
From: "David Kaspar [Dee'Kej]" <dkaspar@redhat.com>
|
||||
Date: Fri, 7 Oct 2016 13:57:01 +0200
|
||||
Subject: [PATCH] Make sure 'dvipdf' is being run securely
|
||||
|
||||
---
|
||||
lib/dvipdf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/dvipdf b/lib/dvipdf
|
||||
index 802aeab..c92dfb0 100755
|
||||
--- a/lib/dvipdf
|
||||
+++ b/lib/dvipdf
|
||||
@@ -43,4 +43,4 @@ fi
|
||||
|
||||
# We have to include the options twice because -I only takes effect if it
|
||||
# appears before other options.
|
||||
-exec dvips -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite -
|
||||
+exec dvips -R -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite -
|
||||
--
|
||||
2.14.3
|
||||
|
||||
BIN
ghostscript-9.27.tar.xz
Normal file
BIN
ghostscript-9.27.tar.xz
Normal file
Binary file not shown.
190
ghostscript.spec
Normal file
190
ghostscript.spec
Normal file
@ -0,0 +1,190 @@
|
||||
%global _hardened_build 1
|
||||
# override the default location of documentation or license files
|
||||
# in 'ghostscript' instead of in 'libgs'
|
||||
%global _docdir_fmt %{name}
|
||||
# download version
|
||||
%global version_short %(echo "%{version}" | tr -d '.')
|
||||
# Obtain the location of Google Droid fonts directory
|
||||
%global google_droid_fontpath %%(dirname $(fc-list : file | grep "DroidSansFallback"))
|
||||
|
||||
Name: ghostscript
|
||||
Version: 9.27
|
||||
Release: 3
|
||||
Summary: An interpreter for PostScript and PDF files
|
||||
License: AGPLv3+
|
||||
URL: https://ghostscript.com/
|
||||
Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%{version_short}/ghostscript-%{version}.tar.xz
|
||||
|
||||
# Downstream patches
|
||||
Patch100: ghostscript-9.23-100-run-dvipdf-securely.patch
|
||||
|
||||
# Patch6000 from http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b85ddd19
|
||||
Patch6000: CVE-2019-10216.patch
|
||||
|
||||
BuildRequires: automake gcc
|
||||
BuildRequires: adobe-mappings-cmap-devel adobe-mappings-pdf-devel
|
||||
BuildRequires: google-droid-sans-fonts urw-base35-fonts-devel
|
||||
BuildRequires: cups-devel dbus-devel fontconfig-devel
|
||||
BuildRequires: lcms2-devel libidn-devel libijs-devel libjpeg-turbo-devel
|
||||
BuildRequires: libpng-devel libpaper-devel libtiff-devel openjpeg2-devel
|
||||
BuildRequires: zlib-devel gtk3-devel libXt-devel
|
||||
BuildRequires: jbig2dec-devel >= 0.16
|
||||
|
||||
Requires: adobe-mappings-cmap
|
||||
Requires: adobe-mappings-cmap-lang
|
||||
Requires: adobe-mappings-pdf
|
||||
Requires: google-droid-sans-fonts
|
||||
Requires: urw-base35-fonts
|
||||
|
||||
Obsoletes: %{name}-doc < %{version}-%{release}
|
||||
Obsoletes: %{name}-x11 < %{version}-%{release}
|
||||
Obsoletes: %{name}-gtk < %{version}-%{release}
|
||||
Obsoletes: %{name}-tools-printing < %{version}-%{release}
|
||||
Obsoletes: %{name}-tools-fonts < %{version}-%{release}
|
||||
Obsoletes: libgs < %{version}-%{release}
|
||||
Provides: %{name}-doc
|
||||
Provides: %{name}-x11
|
||||
Provides: %{name}-gtk
|
||||
Provides: %{name}-tools-printing
|
||||
Provides: %{name}-tools-fonts
|
||||
Provides: libgs
|
||||
Provides: %{name}-core
|
||||
|
||||
%description
|
||||
Ghostscript is an interpreter for PostScript™ and Portable Document Format (PDF) files.
|
||||
Ghostscript consists of a PostScript interpreter layer, and a graphics library.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for Ghostscript's library
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
Obsoletes: libgs-devel < %{version}-%{release}
|
||||
Provides: libgs-devel
|
||||
|
||||
%description devel
|
||||
This package contains development files for %{name}.
|
||||
|
||||
%package help
|
||||
Summary: Documents for %{name}
|
||||
Buildarch: noarch
|
||||
Requires: man info
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
Obsoletes: %{name}-doc < %{version}-%{release}
|
||||
Provides: %{name}-doc
|
||||
|
||||
%description help
|
||||
Man pages and other related documents for %{name}.
|
||||
|
||||
%package tools-dvipdf
|
||||
Summary: Ghostscript's 'dvipdf' utility
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: texlive-dvips
|
||||
|
||||
%description tools-dvipdf
|
||||
This package provides the utility 'dvipdf' for converting of TeX DVI files into
|
||||
PDF files using Ghostscript and dvips
|
||||
|
||||
%prep
|
||||
%autosetup -N -p1
|
||||
|
||||
# Libraries that we already have packaged(see Build Requirements):
|
||||
rm -rf cups/libs freetype ijs jbig2dec jpeg lcms2* libpng openjpeg tiff zlib
|
||||
rm -rf windows
|
||||
|
||||
%build
|
||||
%configure --enable-dynamic --disable-compile-inits --without-versioned-path \
|
||||
--with-fontpath="%{urw_base35_fontpath}:%{google_droid_fontpath}:%{_datadir}/%{name}/conf.d/"
|
||||
%make_build so
|
||||
|
||||
%install
|
||||
# to install necessary files without 'make_install'
|
||||
make DESTDIR=%{buildroot} soinstall
|
||||
|
||||
# rename to 'gs' binary.
|
||||
mv -f %{buildroot}%{_bindir}/{gsc,gs}
|
||||
|
||||
# remove files
|
||||
rm -f %{buildroot}%{_bindir}/{lprsetup.sh,unix-lpr.sh}
|
||||
rm -f %{buildroot}%{_docdir}/%{name}/{AUTHORS,COPYING,*.tex,*.hlp,*.txt}
|
||||
rm -f %{buildroot}%{_datadir}/%{name}/doc
|
||||
|
||||
# move some files into html/
|
||||
install -m 0755 -d %{buildroot}%{_docdir}/%{name}/html
|
||||
cp doc/gsdoc.el %{buildroot}%{_docdir}/%{name}/
|
||||
mv -f %{buildroot}%{_docdir}/%{name}/{*.htm*,*.el,html}
|
||||
|
||||
# create symlink
|
||||
ln -s %{_bindir}/gs %{buildroot}%{_bindir}/ghostscript
|
||||
ln -s %{_mandir}/man1/gs.1 %{buildroot}%{_mandir}/man1/ghostscript.1
|
||||
|
||||
# use the symlinks where possible.
|
||||
ln -fs %{google_droid_fontpath}/DroidSansFallback.ttf %{buildroot}%{_datadir}/%{name}/Resource/CIDFSubst/DroidSansFallback.ttf
|
||||
|
||||
for font in $(basename --multiple %{buildroot}%{_datadir}/%{name}/Resource/Font/*); do
|
||||
ln -fs %{urw_base35_fontpath}/${font}.t1 %{buildroot}%{_datadir}/%{name}/Resource/Font/${font}
|
||||
done
|
||||
|
||||
# create symlink for each of the CMap files in Ghostscript's Resources/CMap folder.
|
||||
for file in $(basename --multiple %{buildroot}%{_datadir}/%{name}/Resource/CMap/*); do
|
||||
find %{adobe_mappings_rootpath} -type f -name ${file} -exec ln -fs {} %{buildroot}%{_datadir}/%{name}/Resource/CMap/${file} \;
|
||||
done
|
||||
|
||||
install -m 0755 -d %{buildroot}%{_datadir}/%{name}/conf.d/
|
||||
|
||||
%check
|
||||
make check
|
||||
|
||||
%pre
|
||||
|
||||
%preun
|
||||
|
||||
%post
|
||||
|
||||
%postun
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE doc/COPYING
|
||||
%{_datadir}/%{name}/
|
||||
%dir %{_datadir}/%{name}/conf.d/
|
||||
%{_bindir}/gs
|
||||
%{_bindir}/gsnd
|
||||
%{_bindir}/ghostscript
|
||||
%{_bindir}/eps2*
|
||||
%{_bindir}/pdf2*
|
||||
%{_bindir}/ps2*
|
||||
%{_bindir}/gsx
|
||||
%{_bindir}/gsbj
|
||||
%{_bindir}/gsdj
|
||||
%{_bindir}/gsdj500
|
||||
%{_bindir}/gslj
|
||||
%{_bindir}/gslp
|
||||
%{_bindir}/pphs
|
||||
%{_bindir}/pf2afm
|
||||
%{_bindir}/pfbtopfa
|
||||
%{_bindir}/printafm
|
||||
%{_libdir}/libgs.so.*
|
||||
%{_libdir}/%{name}/
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libgs.so
|
||||
%{_includedir}/%{name}/
|
||||
|
||||
%files help
|
||||
%{_mandir}/man1/*
|
||||
%lang(de) %{_mandir}/de/man1/*
|
||||
%doc %{_docdir}/%{name}/
|
||||
|
||||
%files tools-dvipdf
|
||||
%{_bindir}/dvipdf
|
||||
|
||||
%changelog
|
||||
* Mon Sep 23 2019 openEuler Buildteam <buildteam@openeuler.org> - 9.27-3
|
||||
- fix CVE-2019-10216 and modify requires
|
||||
|
||||
* Mon Sep 23 2019 openEuler Buildteam <buildteam@openeuler.org> - 9.27-2
|
||||
- Add subpackage tools-dvipdf
|
||||
|
||||
* Thu Sep 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 9.27-1
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user