forked from pool/ghostscript
Compare commits
4 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 7f8b0b271c | |||
| 87a21d925d | |||
| ab0e7a372b | |||
| b01143abfc |
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:121861b6d29b2461dec6575c9f3cab665b810bd408d4ec02c86719fa708b0a49
|
|
||||||
size 89707690
|
|
||||||
63
ghostscript-10.06.0-Fix_32-bit_build.patch
Normal file
63
ghostscript-10.06.0-Fix_32-bit_build.patch
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
From 3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ken Sharp <Ken.Sharp@artifex.com>
|
||||||
|
Date: Wed, 10 Sep 2025 08:55:30 +0100
|
||||||
|
Subject: Fix 32-bit build
|
||||||
|
|
||||||
|
Bug #708824 "ghostscript 10.06.0 compilation failure on 32-bit archs"
|
||||||
|
|
||||||
|
nbytes shiouldn't be an intptr_t, it doesn't get used for pointer
|
||||||
|
arithmetic. Previously it was a uint, should be a int64_t, to fit with
|
||||||
|
all the other devices.
|
||||||
|
|
||||||
|
Checked other warnings, and found a (very minor) one in gdevdbit.c, fix
|
||||||
|
that while we're here (signed/unsigned mismatch, we don't really care).
|
||||||
|
---
|
||||||
|
base/gdevdbit.c | 2 +-
|
||||||
|
base/gdevmpla.c | 6 +++---
|
||||||
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/base/gdevdbit.c b/base/gdevdbit.c
|
||||||
|
index e07cc3f3b..1b5c69325 100644
|
||||||
|
--- a/base/gdevdbit.c
|
||||||
|
+++ b/base/gdevdbit.c
|
||||||
|
@@ -191,7 +191,7 @@ gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x,
|
||||||
|
fit_copy(dev, data, data_x, raster, id, x, y, width, height);
|
||||||
|
row_alpha = data;
|
||||||
|
out_raster = bitmap_raster(width * (size_t)byte_depth);
|
||||||
|
- if (check_64bit_multiply(out_raster, ncomps, &product) != 0)
|
||||||
|
+ if (check_64bit_multiply(out_raster, ncomps, (int64_t *) &product) != 0)
|
||||||
|
return gs_note_error(gs_error_undefinedresult);
|
||||||
|
gb_buff = gs_alloc_bytes(mem, product, "copy_alpha_hl_color(gb_buff)");
|
||||||
|
if (gb_buff == 0) {
|
||||||
|
diff --git a/base/gdevmpla.c b/base/gdevmpla.c
|
||||||
|
index 2f0d52256..ffc5ff42e 100644
|
||||||
|
--- a/base/gdevmpla.c
|
||||||
|
+++ b/base/gdevmpla.c
|
||||||
|
@@ -1954,12 +1954,12 @@ mem_planar_strip_copy_rop2(gx_device * dev,
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
intptr_t chunky_sraster;
|
||||||
|
- intptr_t nbytes;
|
||||||
|
+ int64_t nbytes;
|
||||||
|
byte **line_ptrs;
|
||||||
|
byte *sbuf, *buf;
|
||||||
|
|
||||||
|
chunky_sraster = sraster * (intptr_t)mdev->num_planar_planes;
|
||||||
|
- if (check_64bit_multiply(height, chunky_sraster, (size_t *)&nbytes) != 0)
|
||||||
|
+ if (check_64bit_multiply(height, chunky_sraster, &nbytes) != 0)
|
||||||
|
return gs_note_error(gs_error_undefinedresult);
|
||||||
|
buf = gs_alloc_bytes(mdev->memory, nbytes, "mem_planar_strip_copy_rop(buf)");
|
||||||
|
if (buf == NULL) {
|
||||||
|
@@ -2003,7 +2003,7 @@ mem_planar_strip_copy_rop2(gx_device * dev,
|
||||||
|
intptr_t i;
|
||||||
|
intptr_t chunky_t_raster;
|
||||||
|
int chunky_t_height;
|
||||||
|
- intptr_t nbytes;
|
||||||
|
+ int64_t nbytes;
|
||||||
|
byte **line_ptrs;
|
||||||
|
byte *tbuf, *buf;
|
||||||
|
gx_strip_bitmap newtex;
|
||||||
|
--
|
||||||
|
cgit v1.2.3
|
||||||
|
|
||||||
|
|
||||||
BIN
ghostscript-10.06.0.tar.gz
LFS
Normal file
BIN
ghostscript-10.06.0.tar.gz
LFS
Normal file
Binary file not shown.
@@ -1,3 +1,27 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 16 13:45:31 UTC 2025 - Johannes Meixner <jsmeix@suse.com>
|
||||||
|
|
||||||
|
- Version upgrade to 10.06.0
|
||||||
|
See 'Recent Changes in Ghostscript' at Ghostscript upstream
|
||||||
|
https://ghostscript.readthedocs.io/en/gs10.06.0/News.html
|
||||||
|
* This release addresses CVEs:
|
||||||
|
CVE-2025-59798 (bsc#1250353)
|
||||||
|
CVE-2025-59799 (bsc#1250354)
|
||||||
|
CVE-2025-59800 (bsc#1250355)
|
||||||
|
CVE-2025-59801 (belongs to GhostXPS not part of Ghostscript)
|
||||||
|
* The 10.06.0 removes the non-standard operator "selectdevice"
|
||||||
|
(cf. the entry below dated Tue Apr 1 09:56:06 UTC 2025)
|
||||||
|
- ghostscript-10.06.0-Fix_32-bit_build.patch is the upstream commit
|
||||||
|
https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/patch/?id=3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f
|
||||||
|
to fix https://bugs.ghostscript.com/show_bug.cgi?id=708824
|
||||||
|
"ghostscript 10.06.0 compilation failure on 32-bit archs"
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 16 08:15:18 UTC 2025 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
- Switch over to libalternatives for ghostscript to provide a gs
|
||||||
|
variant (bsc#1245896)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Aug 4 07:14:46 UTC 2025 - Johannes Meixner <jsmeix@suse.com>
|
Mon Aug 4 07:14:46 UTC 2025 - Johannes Meixner <jsmeix@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
# spec file for package ghostscript
|
# spec file for package ghostscript
|
||||||
#
|
#
|
||||||
# Copyright (c) 2025 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -23,15 +24,20 @@
|
|||||||
%global psuffix %{nil}
|
%global psuffix %{nil}
|
||||||
%bcond_without apparmor
|
%bcond_without apparmor
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
Name: ghostscript%{psuffix}
|
Name: ghostscript%{psuffix}
|
||||||
Version: 10.05.1
|
Version: 10.06.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The Ghostscript interpreter for PostScript and PDF
|
Summary: The Ghostscript interpreter for PostScript and PDF
|
||||||
License: AGPL-3.0-only
|
License: AGPL-3.0-only
|
||||||
Group: Productivity/Office/Other
|
Group: Productivity/Office/Other
|
||||||
URL: https://www.ghostscript.com/
|
URL: https://www.ghostscript.com/
|
||||||
# Use "osc service manualrun" to fetch Source0:
|
# Use "osc service manualrun" to fetch Source0:
|
||||||
Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10051/ghostscript-%{version}.tar.gz
|
Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10060/ghostscript-%{version}.tar.gz
|
||||||
# How to manually (i.e. without "osc service") find the Source0 URL at Ghostscript upstream
|
# How to manually (i.e. without "osc service") find the Source0 URL at Ghostscript upstream
|
||||||
# (example for the Ghostscript 10.05.1 release):
|
# (example for the Ghostscript 10.05.1 release):
|
||||||
# Go to https://www.ghostscript.com
|
# Go to https://www.ghostscript.com
|
||||||
@@ -45,6 +51,11 @@ Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/d
|
|||||||
# -> "release notes" https://ghostscript.readthedocs.io/en/gs10.05.1/News.html
|
# -> "release notes" https://ghostscript.readthedocs.io/en/gs10.05.1/News.html
|
||||||
Source10: apparmor_ghostscript
|
Source10: apparmor_ghostscript
|
||||||
# Patch0...Patch9 is for patches from upstream:
|
# Patch0...Patch9 is for patches from upstream:
|
||||||
|
# Patch1 ghostscript-10.06.0-Fix_32-bit_build.patch is the upstream commit
|
||||||
|
# https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/patch/?id=3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f
|
||||||
|
# to fix https://bugs.ghostscript.com/show_bug.cgi?id=708824
|
||||||
|
# "ghostscript 10.06.0 compilation failure on 32-bit archs":
|
||||||
|
Patch1: ghostscript-10.06.0-Fix_32-bit_build.patch
|
||||||
# Source10...Source99 is for sources from SUSE which are intended for upstream:
|
# Source10...Source99 is for sources from SUSE which are intended for upstream:
|
||||||
# Patch10...Patch99 is for patches from SUSE which are intended for upstream:
|
# Patch10...Patch99 is for patches from SUSE which are intended for upstream:
|
||||||
# Source100...Source999 is for sources from SUSE which are not intended for upstream:
|
# Source100...Source999 is for sources from SUSE which are not intended for upstream:
|
||||||
@@ -62,10 +73,15 @@ BuildRequires: libpng-devel
|
|||||||
BuildRequires: libtiff-devel
|
BuildRequires: libtiff-devel
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
|
%if %{with libalternatives}
|
||||||
|
BuildRequires: alts
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
BuildRequires: zlib-devel
|
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
|
%endif
|
||||||
|
BuildRequires: zlib-devel
|
||||||
# Provide the additional RPM Provides of the ghostscript-library package
|
# Provide the additional RPM Provides of the ghostscript-library package
|
||||||
# (ghostscript_x11 is provided by the ghostscript-x11 sub-package, see below).
|
# (ghostscript_x11 is provided by the ghostscript-x11 sub-package, see below).
|
||||||
# The "Provides: ghostscript_any" is there to support "BuildRequires: ghostscript_any"
|
# The "Provides: ghostscript_any" is there to support "BuildRequires: ghostscript_any"
|
||||||
@@ -165,7 +181,11 @@ This package contains the development files for Ghostscript.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n ghostscript-%{version}
|
%setup -q -n ghostscript-%{version}
|
||||||
|
# Patch1 ghostscript-10.06.0-Fix_32-bit_build.patch is the upstream commit
|
||||||
|
# https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/patch/?id=3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f
|
||||||
|
# to fix https://bugs.ghostscript.com/show_bug.cgi?id=708824
|
||||||
|
# "ghostscript 10.06.0 compilation failure on 32-bit archs":
|
||||||
|
%patch -P 1 -p1
|
||||||
# Patch101 ijs_exec_server_dont_use_sh.patch fixes IJS printing problem
|
# Patch101 ijs_exec_server_dont_use_sh.patch fixes IJS printing problem
|
||||||
# additionally allow exec'ing hpijs in apparmor profile was needed (bsc#1128467):
|
# additionally allow exec'ing hpijs in apparmor profile was needed (bsc#1128467):
|
||||||
%patch -P 101 -p1
|
%patch -P 101 -p1
|
||||||
@@ -342,10 +362,20 @@ install -D -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/apparmor.d/ghostscript
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Move /usr/bin/gs to /usr/bin/gs.bin to be able to use update-alternatives
|
# Move /usr/bin/gs to /usr/bin/gs.bin to be able to use update-alternatives
|
||||||
install -d %{buildroot}%{_sysconfdir}/alternatives
|
|
||||||
mv %{buildroot}%{_bindir}/gs %{buildroot}%{_bindir}/gs.bin
|
mv %{buildroot}%{_bindir}/gs %{buildroot}%{_bindir}/gs.bin
|
||||||
|
%if %{with libalternatives}
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/gs
|
||||||
|
ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/gs
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/gs/10.conf <<-EOF
|
||||||
|
binary=%{_bindir}/gs.bin
|
||||||
|
man=gs.1
|
||||||
|
group=gs
|
||||||
|
EOF
|
||||||
|
%else
|
||||||
|
install -d %{buildroot}%{_sysconfdir}/alternatives
|
||||||
ln -sf %{_bindir}/gs.bin %{buildroot}%{_sysconfdir}/alternatives/gs
|
ln -sf %{_bindir}/gs.bin %{buildroot}%{_sysconfdir}/alternatives/gs
|
||||||
ln -sf %{_sysconfdir}/alternatives/gs %{buildroot}%{_bindir}/gs
|
ln -sf %{_sysconfdir}/alternatives/gs %{buildroot}%{_bindir}/gs
|
||||||
|
%endif
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
@@ -354,20 +384,30 @@ ln -sf %{_sysconfdir}/alternatives/gs %{buildroot}%{_bindir}/gs
|
|||||||
%apparmor_reload %{_sysconfdir}/apparmor.d/ghostscript
|
%apparmor_reload %{_sysconfdir}/apparmor.d/ghostscript
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%{_sbindir}/update-alternatives \
|
%{_sbindir}/update-alternatives \
|
||||||
--install %{_bindir}/gs gs %{_bindir}/gs.bin 15
|
--install %{_bindir}/gs gs %{_bindir}/gs.bin 15
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun
|
%preun
|
||||||
if test $1 -eq 0 ; then
|
if test $1 -eq 0 ; then
|
||||||
%{_sbindir}/update-alternatives \
|
%{_sbindir}/update-alternatives \
|
||||||
--remove gs %{_bindir}/gs.bin
|
--remove gs %{_bindir}/gs.bin
|
||||||
fi
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives/
|
||||||
|
%dir %{_datadir}/libalternatives/gs/
|
||||||
|
%{_datadir}/libalternatives/gs/10.conf
|
||||||
|
%else
|
||||||
%ghost %config %{_sysconfdir}/alternatives/gs
|
%ghost %config %{_sysconfdir}/alternatives/gs
|
||||||
|
%endif
|
||||||
%{_bindir}/dvipdf
|
%{_bindir}/dvipdf
|
||||||
%{_bindir}/eps2eps
|
%{_bindir}/eps2eps
|
||||||
%{_bindir}/gs
|
%{_bindir}/gs
|
||||||
|
|||||||
Reference in New Issue
Block a user