generic-poky/meta/recipes-extended/ghostscript/ghostscript_9.20.bb

124 lines
4.4 KiB
BlitzBasic
Raw Normal View History

SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
a back-end to a program such as ghostview, it can display PostScript and PDF \
documents in an X11 environment. \
\
Furthermore, it can render PostScript and PDF files as graphics to be printed \
on non-PostScript printers. Supported printers include common \
dot-matrix, inkjet and laser models. \
"
HOMEPAGE = "http://www.ghostscript.com"
SECTION = "console/utils"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc"
DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng"
DEPENDS_class-native = "libpng-native"
UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/${BPN}-${PV}.tar.gz \
file://ghostscript-9.15-parallel-make.patch \
file://ghostscript-9.16-Werror-return-type.patch \
file://png_mak.patch \
file://do-not-check-local-libpng-source.patch \
"
SRC_URI = "${SRC_URI_BASE} \
file://ghostscript-9.02-prevent_recompiling.patch \
file://ghostscript-9.02-genarch.patch \
file://objarch.h \
file://cups-no-gcrypt.patch \
file://CVE-2017-7207.patch \
file://CVE-2016-10219.patch \
file://CVE-2016-10220.patch \
file://CVE-2017-5951.patch \
file://CVE-2016-8602.patch \
file://CVE-2017-7975.patch \
ghostscript: CVE-2016-7977, CVE-2016-7978, CVE-2016-7979, CVE-2017-9216 Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document. Use-after-free vulnerability in Ghostscript 9.20 might allow remote attackers to execute arbitrary code via vectors related to a reference leak in .setdevice. Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently execute arbitrary code by leveraging type confusion in .initialize_dsc_parser. libjbig2dec.a in Artifex jbig2dec 0.13, as used in MuPDF and Ghostscript, has a NULL pointer dereference in the jbig2_huffman_get function in jbig2_huffman.c. For example, the jbig2dec utility will crash (segmentation fault) when parsing an invalid file. References: https://nvd.nist.gov/vuln/detail/CVE-2016-7977 https://nvd.nist.gov/vuln/detail/CVE-2016-7978 https://nvd.nist.gov/vuln/detail/CVE-2016-7979 https://nvd.nist.gov/vuln/detail/CVE-2017-9216 Upstream patches: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8abd22010eb4db0fb1b10e430d5f5d83e015ef70 http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f749c0c44e7b9e09737b9f29edf29925a34f0cf http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=875a0095f37626a721c7ff57d606a0f95af03913 http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3ebffb1d96ba0cacec23016eccb4047dab365853 (From OE-Core rev: 584dfa2f780d5785aaff01f84fbabc18b3478d76) (From OE-Core rev: 6fed7cd6077c46ad2213226d4675fad9b10ab024) Signed-off-by: Catalin Enache <catalin.enache@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-29 11:23:08 +00:00
file://CVE-2016-7977.patch \
file://CVE-2016-7978.patch \
file://CVE-2016-7979.patch \
file://CVE-2017-9216.patch \
file://CVE-2017-9611.patch \
file://CVE-2017-9612.patch \
file://CVE-2017-9739.patch \
file://CVE-2017-9726.patch \
file://CVE-2017-9727.patch \
file://CVE-2017-9835.patch \
file://CVE-2017-11714.patch \
"
SRC_URI_class-native = "${SRC_URI_BASE} \
file://ghostscript-native-fix-disable-system-libtiff.patch \
ghostscript: upgrade to 9.14 - The LICENSE added AGPL for the font files (in Resource/Font); - Rebase ghostscript-9.02-parallel-make.patch to 9.14 - Rebase ghostscript-native-fix-disable-system-libtiff.patch since base/configure.ac has been moved to configure.ac. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f1488c5aff54f37ee67759827d4298592af5dbc8 - Obsolete ghostscript-9.05-NOT-check-endian.patch, and add option '--enable-little-endian'/'--enable-big-endian' conditionally to intead. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e76dc46756e89a14a3348bce12a633d32e4fa831 - Add base-genht.c-add-a-preprocessor-define-to-allow-fope.patch for native, since the upstream replace all fopen calls with gp_fopen and add a preprocessor define so that any unintential calls directly to fopen will cause an error. This patch add a preprocessor define to allow fopen calling in base/genht.c as exceptions. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=773c69e46e70bdd5482676437dafd2ca83397643 - Remove package ghostscript-cups, since CUPS filters gstoraster and gstopxl has been moved to cups-filters which is a free software package hosted by OpenPrinting. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9304a21699a6c17579fae32f44f5c92a37c13e2d http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters (From OE-Core rev: 44ad25519b8e290f9a98b88eeec52ba199e76431) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-17 11:03:02 +00:00
file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
"
SRC_URI[md5sum] = "93c5987cd3ab341108be1ebbaadc24fe"
SRC_URI[sha256sum] = "949b64b46ecf8906db54a94ecf83ab97534ebf946f770d3c3f283cb469cb6e14"
EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec \
ghostscript: upgrade to 9.14 - The LICENSE added AGPL for the font files (in Resource/Font); - Rebase ghostscript-9.02-parallel-make.patch to 9.14 - Rebase ghostscript-native-fix-disable-system-libtiff.patch since base/configure.ac has been moved to configure.ac. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f1488c5aff54f37ee67759827d4298592af5dbc8 - Obsolete ghostscript-9.05-NOT-check-endian.patch, and add option '--enable-little-endian'/'--enable-big-endian' conditionally to intead. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e76dc46756e89a14a3348bce12a633d32e4fa831 - Add base-genht.c-add-a-preprocessor-define-to-allow-fope.patch for native, since the upstream replace all fopen calls with gp_fopen and add a preprocessor define so that any unintential calls directly to fopen will cause an error. This patch add a preprocessor define to allow fopen calling in base/genht.c as exceptions. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=773c69e46e70bdd5482676437dafd2ca83397643 - Remove package ghostscript-cups, since CUPS filters gstoraster and gstopxl has been moved to cups-filters which is a free software package hosted by OpenPrinting. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9304a21699a6c17579fae32f44f5c92a37c13e2d http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters (From OE-Core rev: 44ad25519b8e290f9a98b88eeec52ba199e76431) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-17 11:03:02 +00:00
--with-fontpath=${datadir}/fonts \
--without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \
--with-cups-datadir=${datadir}/cups \
"
EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0"
# Explicity disable libtiff, fontconfig,
# freetype, cups for ghostscript-native
EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \
--without-jbig2dec \
--with-fontpath=${datadir}/fonts \
--without-libidn --disable-fontconfig \
--disable-freetype --disable-cups"
# This has been fixed upstream but for now we need to subvert the check for time.h
# http://bugs.ghostscript.com/show_bug.cgi?id=692443
# http://bugs.ghostscript.com/show_bug.cgi?id=692426
CFLAGS += "-DHAVE_SYS_TIME_H=1"
BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1"
inherit autotools
do_configure_prepend () {
mkdir -p obj
mkdir -p soobj
if [ -e ${WORKDIR}/objarch.h ]; then
cp ${WORKDIR}/objarch.h obj/arch.h
fi
}
do_configure_append () {
# copy tools from the native ghostscript build
if [ "${PN}" != "ghostscript-native" ]; then
mkdir -p obj/aux soobj
for i in genarch genconf mkromfs echogs gendev genht; do
cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
done
fi
}
do_install_append () {
mkdir -p ${D}${datadir}/ghostscript/${PV}/
cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
}
do_compile_class-native () {
mkdir -p obj
for i in genarch genconf mkromfs echogs gendev genht; do
oe_runmake obj/aux/$i
done
}
do_install_class-native () {
install -d ${D}${bindir}/ghostscript-${PV}
for i in genarch genconf mkromfs echogs gendev genht; do
install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i
done
}
BBCLASSEXTEND = "native"