forked from pool/ghostscript
		
	Compare commits
	
		
			197 Commits
		
	
	
		
	
	| Author | SHA256 | Date | |
|---|---|---|---|
| 87a21d925d | |||
| ab0e7a372b | |||
| b01143abfc | |||
| f8330ece25 | |||
| 3cb1ae323e | |||
| 6c77056311 | |||
| 485fab8227 | |||
| 1de035df9e | |||
| cfab868296 | |||
| 6d31b2d91c | |||
| ed0cd398de | |||
| 3c75751adb | |||
| 95fe8833c4 | |||
| 2525313e1a | |||
| dba243cc78 | |||
| 060a007833 | |||
| 4aa7577cf1 | |||
| 8d44605609 | |||
| e5567acf70 | |||
| 5914aa83dd | |||
| bf855689fe | |||
| 3d7226ee4e | |||
| 69dd483ad7 | |||
| cf52855deb | |||
| f8ae26665e | |||
| afeca6e327 | |||
| 79489dd1d6 | |||
| cafb394741 | |||
| c245dc34e0 | |||
| a4978e4b0c | |||
| be81dd3550 | |||
| 4baa99bd2e | |||
| e235e5412f | |||
| 89c2d5ac42 | |||
| ec0f9996ce | |||
| fba13b28d2 | |||
| 8770f470ee | |||
| 65224379c0 | |||
| 83a537719d | |||
| c25d25a587 | |||
| a5e7be73bb | |||
| 7d0b05a4ef | |||
| ffee26cdec | |||
| a210d6571e | |||
| f7da6853e6 | |||
| 14d22cd53e | |||
| 38e2c0319c | |||
| ff483dd254 | |||
| 064397ec60 | |||
| 7d395cc8de | |||
| 5e8edce3ca | |||
| 2ce46ad6a6 | |||
| e88f5efcbe | |||
| 9d71dde167 | |||
| 15068e1197 | |||
| 967d1b20b0 | |||
| a660ee5ba6 | |||
|  | 05bb74109c | ||
| 295bf60893 | |||
| 008b8cb457 | |||
| 44a55a5b9b | |||
| 8c4dc16072 | |||
| 331fc679d0 | |||
| a99fa23197 | |||
| d457c8966e | |||
| 3914f34250 | |||
| 112ea62c59 | |||
| 693fdde18f | |||
| f18722f7e4 | |||
| 5e3250a567 | |||
| 7cdda786d1 | |||
| 03d1d391b8 | |||
| 59356870bf | |||
| cb34c9d32b | |||
| ba9a26036c | |||
|  | 42553d6db8 | ||
| 2bfcf642e0 | |||
| 9db5869058 | |||
| d137c48cfe | |||
| ac4ca4e97e | |||
|  | a94b87d806 | ||
| ab547c5c33 | |||
| 83629d3344 | |||
| 6c621b5585 | |||
| 913dde5df3 | |||
| 00991d98dd | |||
| 555c9ea5b2 | |||
| aa21d60340 | |||
| 2a57413541 | |||
| 5fd40ec1a1 | |||
|  | 0dd7230d55 | ||
|  | 1ae8a11879 | ||
| 3d3f520cee | |||
| cb3aac83a7 | |||
| 2aa7b2e0ca | |||
| ce1ba2ad82 | |||
|  | da972996b4 | ||
| fc115660b1 | |||
| f0089d8f2b | |||
| 98164e5415 | |||
| f82c4ed7e8 | |||
| 469d0aa4b6 | |||
| 07ebe5c7a1 | |||
| c0eb0b9d23 | |||
| 5ee9ca839d | |||
| e7a40f71fe | |||
| 1829075053 | |||
| 0e79a21b88 | |||
| dc0a03b301 | |||
| 7fdc510d60 | |||
| 540378ba24 | |||
| 9ce317b75a | |||
| cf2fbcc701 | |||
| 3fe572792f | |||
| 4173b6edaa | |||
| d041b75502 | |||
| ec293cdc8d | |||
| b87a81b734 | |||
| 404156ec6d | |||
| 6b99f4643b | |||
| 30603cab46 | |||
| 1ec563fa1e | |||
| b17bc9502a | |||
| 7fb4de27c7 | |||
| 170a84ca30 | |||
| 2e708fde52 | |||
| 260ded9072 | |||
| 7572456c4d | |||
| 0a14318d2b | |||
| a4ca1a71f3 | |||
| 77c12adcd5 | |||
| 3071d3c69a | |||
| f5c3d843dc | |||
| 3502757ad9 | |||
| 5b0baf7ad9 | |||
| b1c7d2604f | |||
| 484bea015d | |||
| 28df8a335f | |||
| 825afa6f1c | |||
| 1bb98aba3f | |||
| a1523b6cd0 | |||
| 59c03fa4b8 | |||
| 15c8faebef | |||
| b723c326cd | |||
| cb339b0e86 | |||
| 796132b04a | |||
| 95202a4042 | |||
| edc9d0cc50 | |||
| 6a7f3ad3b8 | |||
| cb1a52951f | |||
|  | 28adab4a5e | ||
| 9876c3a3b9 | |||
| 8230e651e6 | |||
|  | 81598a7bd9 | ||
| e82f1f5be4 | |||
| a7af5ec2ef | |||
| 4c731fb697 | |||
| b0a79c8bdb | |||
|  | b95a1c42cb | ||
| fe002305bb | |||
|  | 9122be5b2b | ||
| 4a750395a8 | |||
|  | 96a279a4a8 | ||
| 9960deeefc | |||
| 5588774d21 | |||
| c76c978626 | |||
|  | 6be2f6dada | ||
| b8590836c3 | |||
| 41fcd31570 | |||
|  | 2733ff9949 | ||
| 7ff3b0d31a | |||
|  | 9aa0b4994b | ||
| d378086d0b | |||
|  | cf6f561a96 | ||
| 277eaa6e1b | |||
|  | 579c258043 | ||
| 1fc2760cb3 | |||
| 63d3a0e76f | |||
|  | d3beb86c73 | ||
|  | cbb707889a | ||
|  | 2faed9794d | ||
|  | 7f03799df1 | ||
| 5fdf55a3e1 | |||
|  | 0b9f00aca9 | ||
| 5c674c36d8 | |||
| 066b2609af | |||
|  | 3ff72b1e7a | ||
| 2a99778a0b | |||
| d918dcb655 | |||
| bb4d527c31 | |||
| 71c6102332 | |||
| a1b0006c5f | |||
| b686f38730 | |||
| df7a61762f | |||
| 475fd5aea9 | |||
| 12aaa39c2e | |||
| a710e15346 | 
							
								
								
									
										120
									
								
								2010_add_build_timestamp_setting.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								2010_add_build_timestamp_setting.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | |||||||
|  | Description: 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. | ||||||
|  | Author: Eduard Sanou <dhole@openmailbox.org> | ||||||
|  | Author: Peter De Wachter <pdewacht@gmail.com> | ||||||
|  | Bug-Debian: https://bugs.debian.org/794004 | ||||||
|  | Forwarded: not-needed | ||||||
|  | Last-Update: 2023-09-13 | ||||||
|  | --- | ||||||
|  | This patch header follows DEP-3: https://dep.debian.net/deps/dep3/ | ||||||
|  | --- a/base/gp_unix.c | ||||||
|  | +++ b/base/gp_unix.c | ||||||
|  | @@ -19,6 +19,7 @@ | ||||||
|  |  #ifdef __MINGW32__ | ||||||
|  |  #  include "windows_.h" | ||||||
|  |  #endif | ||||||
|  | +#include "errno_.h" | ||||||
|  |  #include "pipe_.h" | ||||||
|  |  #include "string_.h" | ||||||
|  |  #include "time_.h" | ||||||
|  | @@ -149,6 +150,7 @@ | ||||||
|  |  gp_get_realtime(long *pdt) | ||||||
|  |  { | ||||||
|  |      struct timeval tp; | ||||||
|  | +    const char *env; | ||||||
|  |   | ||||||
|  |  #if gettimeofday_no_timezone    /* older versions of SVR4 */ | ||||||
|  |      { | ||||||
|  | @@ -168,6 +170,26 @@ | ||||||
|  |      } | ||||||
|  |  #endif | ||||||
|  |   | ||||||
|  | +    env = getenv("SOURCE_DATE_EPOCH"); | ||||||
|  | +    if (env) { | ||||||
|  | +        char *end; | ||||||
|  | +        long timestamp; | ||||||
|  | + | ||||||
|  | +        errno = 0; | ||||||
|  | +        timestamp = strtol(env, &end, 10); | ||||||
|  | +        if (env == end || *end || errno != 0) { | ||||||
|  | +            lprintf("Ghostscript: SOURCE_DATE_EPOCH is not a number!\n"); | ||||||
|  | +            timestamp = 0; | ||||||
|  | +        } | ||||||
|  | + | ||||||
|  | +        tp.tv_sec = timestamp; | ||||||
|  | +        tp.tv_usec = 0; | ||||||
|  | + | ||||||
|  | +        /* We need to fix the environment timezone to get reproducible */ | ||||||
|  | +        /* results when parsing the result of gp_get_realtime. */ | ||||||
|  | +        setenv("TZ", "UTC", 1); | ||||||
|  | +    } | ||||||
|  | + | ||||||
|  |      /* tp.tv_sec is #secs since Jan 1, 1970 */ | ||||||
|  |      pdt[0] = tp.tv_sec; | ||||||
|  |   | ||||||
|  | --- a/devices/vector/gdevpdf.c | ||||||
|  | +++ b/devices/vector/gdevpdf.c | ||||||
|  | @@ -437,6 +437,7 @@ | ||||||
|  |      if (!pdev->OmitInfoDate) | ||||||
|  |      { | ||||||
|  |          struct tm tms; | ||||||
|  | +        long secs_ns[2]; | ||||||
|  |          time_t t; | ||||||
|  |          char buf[1+2+4+2+2+2+2+2+1+2+1+2+1+1+1]; /* (D:yyyymmddhhmmssZhh'mm')\0 */ | ||||||
|  |          int timeoffset; | ||||||
|  | @@ -448,7 +449,8 @@ | ||||||
|  |          timesign = 'Z'; | ||||||
|  |          timeoffset = 0; | ||||||
|  |  #else | ||||||
|  | -        time(&t); | ||||||
|  | +        gp_get_realtime(secs_ns); | ||||||
|  | +        t = secs_ns[0]; | ||||||
|  |          tms = *gmtime(&t); | ||||||
|  |          tms.tm_isdst = -1; | ||||||
|  |          timeoffset = (int)difftime(t, mktime(&tms)); /* tz+dst in seconds */ | ||||||
|  | --- a/devices/vector/gdevpdfe.c | ||||||
|  | +++ b/devices/vector/gdevpdfe.c | ||||||
|  | @@ -216,6 +216,7 @@ | ||||||
|  |  { | ||||||
|  |      /* We don't write a day time because we don't have a time zone. */ | ||||||
|  |      struct tm tms; | ||||||
|  | +    long secs_ns[2]; | ||||||
|  |      time_t t; | ||||||
|  |      char buf1[4+1+2+1+2+1]; /* yyyy-mm-dd\0 */ | ||||||
|  |   | ||||||
|  | @@ -223,7 +224,8 @@ | ||||||
|  |      memset(&t, 0, sizeof(t)); | ||||||
|  |      memset(&tms, 0, sizeof(tms)); | ||||||
|  |  #else | ||||||
|  | -    time(&t); | ||||||
|  | +    gp_get_realtime(secs_ns); | ||||||
|  | +    t = secs_ns[0]; | ||||||
|  |      tms = *localtime(&t); | ||||||
|  |  #endif | ||||||
|  |      gs_snprintf(buf1, sizeof(buf1), | ||||||
|  | --- a/devices/vector/gdevpsu.c | ||||||
|  | +++ b/devices/vector/gdevpsu.c | ||||||
|  | @@ -187,6 +187,7 @@ | ||||||
|  |              dev->dname); | ||||||
|  |  #endif | ||||||
|  |      { | ||||||
|  | +        long secs_ns[2]; | ||||||
|  |          time_t t; | ||||||
|  |          struct tm tms; | ||||||
|  |   | ||||||
|  | @@ -194,7 +195,8 @@ | ||||||
|  |          memset(&t, 0, sizeof(t)); | ||||||
|  |          memset(&tms, 0, sizeof(tms)); | ||||||
|  |  #else | ||||||
|  | -        time(&t); | ||||||
|  | +        gp_get_realtime(secs_ns); | ||||||
|  | +        t = secs_ns[0]; | ||||||
|  |          tms = *localtime(&t); | ||||||
|  |  #endif | ||||||
|  |          fprintf(f, "%%%%CreationDate: %d/%02d/%02d %02d:%02d:%02d\n", | ||||||
							
								
								
									
										
											BIN
										
									
								
								ghostscript-10.03.1.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ghostscript-10.03.1.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										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
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ghostscript-10.06.0.tar.gz
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,3 +1,127 @@ | |||||||
|  | ------------------------------------------------------------------- | ||||||
|  | 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: TBC | ||||||
|  |   * 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> | ||||||
|  |  | ||||||
|  | - Version upgrade to 10.05.1 | ||||||
|  |   See 'Recent Changes in Ghostscript' at Ghostscript upstream | ||||||
|  |   https://ghostscript.readthedocs.io/en/gs10.05.1/News.html | ||||||
|  |   * This release addresses CVEs: | ||||||
|  |     + CVE-2025-46646 | ||||||
|  |     + CVE-2025-48708 (bsc#1243701) | ||||||
|  |   * The 10.05.1 patch release addresses: | ||||||
|  |     + An overflow issue in Freetype on platforms | ||||||
|  |       where long is a 4 byte (rather than 8 byte) type | ||||||
|  |       (Microsoft Windows, for example) causing corrupted | ||||||
|  |       glyph rendering at higher resolutions | ||||||
|  |     + An issue with embedded files, affecting Zugferd | ||||||
|  |       format PDF creation. | ||||||
|  |     + Broken logic in PDF Optional Content processing | ||||||
|  |     + Potential slow down due to searching for identifiable | ||||||
|  |       font files | ||||||
|  |     + A small number of extreme edge case segmentation faults. | ||||||
|  |  | ||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Thu Apr 10 19:39:55 UTC 2025 - Friedrich Haubensak <hsk17@mail.de> | ||||||
|  |  | ||||||
|  | - add -std=gnu11 to CFLAGS to fix gcc15 compile time error, and to | ||||||
|  |   still allow build on Leap 15.6 | ||||||
|  |  | ||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Tue Apr  1 09:56:06 UTC 2025 - Johannes Meixner <jsmeix@suse.com> | ||||||
|  |  | ||||||
|  | - Version upgrade to 10.05.0 | ||||||
|  |   See 'Recent Changes in Ghostscript' at Ghostscript upstream | ||||||
|  |   https://ghostscript.readthedocs.io/en/gs10.05.0/News.html | ||||||
|  |   * This release addresses: | ||||||
|  |     + CVE-2025-27830 (bsc#1240074) | ||||||
|  |     + CVE-2025-27831 (bsc#1240075) | ||||||
|  |     + CVE-2025-27832 (bsc#1240077) | ||||||
|  |     + CVE-2025-27833 (bsc#1240078) | ||||||
|  |     + CVE-2025-27834 (bsc#1240079) | ||||||
|  |     + CVE-2025-27835 (bsc#1240080) | ||||||
|  |     + CVE-2025-27836 (bsc#1240081) | ||||||
|  |     + CVE-2025-27837 (bsc#1240082 - affects only Windows) | ||||||
|  |   * The 10.05.0 release deprecates the non-standard operator | ||||||
|  |     "selectdevice", all code should now be using the standard | ||||||
|  |     "setpagedevice" operator. "selectdevice" will be removed | ||||||
|  |     in the 10.06.0 release. | ||||||
|  |   * We now support production of PDF/X-1a and PDF/X-4a | ||||||
|  |     in addition to the existing support for PDF/X-3 | ||||||
|  |   * The usual round of bug fixes, compatibility changes, | ||||||
|  |     and incremental improvements.  | ||||||
|  | - In Ghostscript 10.05.0 the pdf2dsc utility is removed because | ||||||
|  |   its PostScript program pdf2dsc.ps uses chunks of the old PDF | ||||||
|  |   interpreter which is replaced with a new implementation | ||||||
|  |   (in C instead of PostScript) in the 10.x series of Ghostscript | ||||||
|  |   so pdf2dsc can no longer work as intended. For details see the | ||||||
|  |   "Please restore PDF2DSC for preview-latex" mail thread e.g. on | ||||||
|  |   https://mail.gnu.org/archive/html/auctex-devel/2025-03/threads.html | ||||||
|  |  | ||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Tue Feb  4 09:42:47 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com> | ||||||
|  |  | ||||||
|  | - Add reproducible.patch to not embed timestamp in .h file | ||||||
|  | - Add 2010_add_build_timestamp_setting.patch to allow overriding | ||||||
|  |   timestamp in generated pdf (boo#1236773) | ||||||
|  |  | ||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Wed Oct 30 12:27:04 UTC 2024 - Johannes Meixner <jsmeix@suse.com> | ||||||
|  |  | ||||||
|  | - Enhanced entry below dated "Wed Oct 23 08:54:59 UTC 2024" | ||||||
|  |   by adding the individual "bsc" numbers for each CVE, see | ||||||
|  |   https://bugzilla.suse.com/show_bug.cgi?id=1232173#c4 | ||||||
|  |   and by adding the "IMPORTANT" change in Ghostscript 10.04.0 | ||||||
|  | - spec file cleanup: removed the special cases for SLE12 | ||||||
|  |   i.e. rely on "suse_version >= 1500" as given precondition | ||||||
|  |   (recent Ghostscript versions fail to build in SLE12 anyway) | ||||||
|  |  | ||||||
|  | ------------------------------------------------------------------- | ||||||
|  | Wed Oct 23 08:54:59 UTC 2024 - Dirk Müller <dmueller@suse.com> | ||||||
|  |  | ||||||
|  | - Version upgrade to 10.04.0 (bsc#1232173): | ||||||
|  |   Highlights in this release include: | ||||||
|  |   See 'Recent Changes in Ghostscript' at Ghostscript upstream | ||||||
|  |   https://ghostscript.readthedocs.io/en/gs10.04.0/News.html | ||||||
|  |   * This release addresses: | ||||||
|  |     + CVE-2024-46951 (bsc#1232265) | ||||||
|  |     + CVE-2024-46952 (bsc#1232266) | ||||||
|  |     + CVE-2024-46953 (bsc#1232267) | ||||||
|  |     + CVE-2024-46954 (bsc#1232268) | ||||||
|  |     + CVE-2024-46955 (bsc#1232269) | ||||||
|  |     + CVE-2024-46956 (bsc#1232270) | ||||||
|  |   * IMPORTANT: In this release (10.04.0) | ||||||
|  |     we (i.e. Ghostscript upstream) have be added | ||||||
|  |     protection for device selection from PostScript input. | ||||||
|  |     This will mean that, by default, only the device specified | ||||||
|  |     on the command line will be permitted. Similar to the file | ||||||
|  |     permissions, there will be a "--permit-devices=" allowing | ||||||
|  |     a comma separation list of allowed devices. This will also | ||||||
|  |     take a single wildcard "*" allowing any device. | ||||||
|  |     Any application which relies on allowing PostScript | ||||||
|  |     to change devices during a job will have to be aware, | ||||||
|  |     and take action to deal with this change. | ||||||
|  |     The exception is "nulldevice", switching to that requires | ||||||
|  |     no special action.  | ||||||
|  |  | ||||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ||||||
| Mon Jul  1 11:56:34 UTC 2024 - Johannes Meixner <jsmeix@suse.com> | Mon Jul  1 11:56:34 UTC 2024 - Johannes Meixner <jsmeix@suse.com> | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										112
									
								
								ghostscript.spec
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								ghostscript.spec
									
									
									
									
									
								
							| @@ -1,7 +1,8 @@ | |||||||
| # | # | ||||||
| # spec file | # spec file for package ghostscript | ||||||
| # | # | ||||||
| # Copyright (c) 2024 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,22 +24,38 @@ | |||||||
| %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.03.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/ | ||||||
| # How to manually get Source0: | # Use "osc service manualrun" to fetch Source0: | ||||||
|  | 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 | ||||||
|  | # (example for the Ghostscript 10.05.1 release): | ||||||
| # Go to https://www.ghostscript.com | # Go to https://www.ghostscript.com | ||||||
| # -> "The current Ghostscript release 10.03.1 can be downloaded here" https://www.ghostscript.com/releases/index.html | # -> [Download] or "Releases" https://ghostscript.com/releases/index.html | ||||||
| # -> "Ghostscript" https://www.ghostscript.com/releases/gsdnld.html | # -> "Ghostscript" https://ghostscript.com/releases/gsdnld.htm | ||||||
| # -> "Ghostscript 10.03.1 Source for all platforms / GNU Affero General Public License" = "Ghostscript AGPL Release" | # -> "Ghostscript 10.05.1 Source for all platforms / Ghostscript AGPL Release" | ||||||
| # https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10031/ghostscript-10.03.1.tar.gz | # https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10051/ghostscript-10.05.1.tar.gz | ||||||
| Source0:        https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10031/ghostscript-10.03.1.tar.gz | # and "MD5 Checksums" | ||||||
|  | # https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10051/MD5SUMS | ||||||
|  | # and on https://ghostscript.com/releases/index.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: | ||||||
| @@ -46,6 +63,8 @@ Source10:       apparmor_ghostscript | |||||||
| # 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): | ||||||
| Patch101:       ijs_exec_server_dont_use_sh.patch | Patch101:       ijs_exec_server_dont_use_sh.patch | ||||||
|  | Patch102:       reproducible.patch | ||||||
|  | Patch103:       2010_add_build_timestamp_setting.patch | ||||||
| # Build Requirements: | # Build Requirements: | ||||||
| BuildRequires:  freetype2-devel | BuildRequires:  freetype2-devel | ||||||
| BuildRequires:  libjpeg-devel | BuildRequires:  libjpeg-devel | ||||||
| @@ -54,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" | ||||||
| @@ -71,6 +95,7 @@ Requires(preun):update-alternatives | |||||||
| # in openSUSE products, cf. https://build.opensuse.org/request/show/877083 | # in openSUSE products, cf. https://build.opensuse.org/request/show/877083 | ||||||
| Provides:       ghostscript_any = %{version} | Provides:       ghostscript_any = %{version} | ||||||
| %if "%{flavor}" != "mini" | %if "%{flavor}" != "mini" | ||||||
|  | BuildRequires:  cups-devel | ||||||
| BuildRequires:  dbus-1-devel | BuildRequires:  dbus-1-devel | ||||||
| BuildRequires:  libexpat-devel | BuildRequires:  libexpat-devel | ||||||
| BuildRequires:  xorg-x11-fonts | BuildRequires:  xorg-x11-fonts | ||||||
| @@ -80,18 +105,11 @@ BuildRequires:  pkgconfig(x11) | |||||||
| BuildRequires:  pkgconfig(xext) | BuildRequires:  pkgconfig(xext) | ||||||
| BuildRequires:  pkgconfig(xproto) | BuildRequires:  pkgconfig(xproto) | ||||||
| BuildRequires:  pkgconfig(xt) | BuildRequires:  pkgconfig(xt) | ||||||
| %if 0%{?suse_version} == 1315 |  | ||||||
| BuildRequires:  cups154-devel |  | ||||||
| %else |  | ||||||
| BuildRequires:  cups-devel |  | ||||||
| %endif |  | ||||||
| %if %{with apparmor} | %if %{with apparmor} | ||||||
| %if 0%{?suse_version} >= 1500 |  | ||||||
| BuildRequires:  apparmor-abstractions | BuildRequires:  apparmor-abstractions | ||||||
| BuildRequires:  apparmor-rpm-macros | BuildRequires:  apparmor-rpm-macros | ||||||
| %endif | %endif | ||||||
| %endif | %endif | ||||||
| %endif |  | ||||||
| # Always check if latest version of openjpeg becomes compatible with ghostscript | # Always check if latest version of openjpeg becomes compatible with ghostscript | ||||||
| %if 0%{?suse_version} >= 1550 | %if 0%{?suse_version} >= 1550 | ||||||
| BuildRequires:  pkgconfig(libopenjp2) >= 2.3.1 | BuildRequires:  pkgconfig(libopenjp2) >= 2.3.1 | ||||||
| @@ -113,10 +131,8 @@ Obsoletes:      ghostscript-library < %{version} | |||||||
| # The "Obsoletes: ghostscript-mini" is intentionally unversioned because | # The "Obsoletes: ghostscript-mini" is intentionally unversioned because | ||||||
| # this package ghostscript should replace any version of ghostscript-mini. | # this package ghostscript should replace any version of ghostscript-mini. | ||||||
| Obsoletes:      ghostscript-mini | Obsoletes:      ghostscript-mini | ||||||
| %if 0%{?suse_version} > 1210 |  | ||||||
| Recommends:     (cups-filters-ghostscript if cups) | Recommends:     (cups-filters-ghostscript if cups) | ||||||
| %endif | %endif | ||||||
| %endif |  | ||||||
|  |  | ||||||
| %description | %description | ||||||
| Ghostscript is a package of software that provides: | Ghostscript is a package of software that provides: | ||||||
| @@ -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 | ||||||
| @@ -176,12 +196,14 @@ rm -rf freetype jpeg libpng lcms2art zlib tiff | |||||||
| %if 0%{?suse_version} >= 1550 | %if 0%{?suse_version} >= 1550 | ||||||
| rm -rf openjpeg | rm -rf openjpeg | ||||||
| %endif | %endif | ||||||
|  | %patch -P102 -p1 | ||||||
|  | %patch -P103 -p1 | ||||||
|  |  | ||||||
| %build | %build | ||||||
| # Derive build timestamp from latest changelog entry | # Derive build timestamp from latest changelog entry | ||||||
| export SOURCE_DATE_EPOCH=$(date -d "$(head -n 2 %{_sourcedir}/%{name}.changes | tail -n 1 | cut -d- -f1 )" +%{s}) | export SOURCE_DATE_EPOCH=$(date -d "$(head -n 2 %{_sourcedir}/%{name}.changes | tail -n 1 | cut -d- -f1 )" +%{s}) | ||||||
| # Set our preferred architecture-specific flags for the compiler and linker: | # Set our preferred architecture-specific flags for the compiler and linker: | ||||||
| export CFLAGS="%{optflags} -fno-strict-aliasing -fPIC" | export CFLAGS="%{optflags} -fno-strict-aliasing -fPIC -std=gnu11" | ||||||
| export CXXFLAGS="%{optflags} -fno-strict-aliasing -fPIC" | export CXXFLAGS="%{optflags} -fno-strict-aliasing -fPIC" | ||||||
| export LDFLAGS="-pie" | export LDFLAGS="-pie" | ||||||
| autoreconf -fi | autoreconf -fi | ||||||
| @@ -269,6 +291,25 @@ popd | |||||||
| rm %{buildroot}%{_bindir}/ijs_client_example | rm %{buildroot}%{_bindir}/ijs_client_example | ||||||
| rm %{buildroot}%{_bindir}/ijs_server_example | rm %{buildroot}%{_bindir}/ijs_server_example | ||||||
| rm %{buildroot}%{_libdir}/libijs.la | rm %{buildroot}%{_libdir}/libijs.la | ||||||
|  | # Remove pdf2dsc which was removed in Ghostscript 10.05.0 | ||||||
|  | # because in Ghostscript 10.x pdf2dsc can no longer work as intended | ||||||
|  | # see https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=2c315570de78df902f8f15312728d9e1b00cac44 | ||||||
|  | # but in Ghostscript 10.05.1 pdf2dsc was put back | ||||||
|  | # see https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=528d324a7968ad89401ebb60dfdb22f9fdfeeb6b | ||||||
|  | # and https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=0e23e5009c7e2a65a2f707146f2dffe8a362ab86 | ||||||
|  | # regardless that pdf2dsc can still no longer work as intended | ||||||
|  | # according to the git commit 528d324a7968ad89401ebb60dfdb22f9fdfeeb6b message | ||||||
|  | # which reads (excerpts) | ||||||
|  | # > After feedback from users (AUCTeX and gv) put back the pdf2dsc utility | ||||||
|  | # > but note in the comments that this is now unsupported code (in truth | ||||||
|  | # > I think it always was, but this makes it explicit). | ||||||
|  | # > Because the PostScript program uses undocumented parts of the old | ||||||
|  | # > 'written in PostScript' PDF interpreter portions of it probably don't | ||||||
|  | # > work and it may fail altogether at some point. | ||||||
|  | # Because openSUSE cannot support software which is not supported by upstream | ||||||
|  | # the unsupported pdf2dsc is kept removed from Ghostscript: | ||||||
|  | rm %{buildroot}%{_datadir}/ghostscript/%{version}/lib/pdf2dsc.ps | ||||||
|  | rm %{buildroot}%{_bindir}/pdf2dsc | ||||||
| # Install examples: | # Install examples: | ||||||
| EXAMPLESDIR=%{buildroot}%{_datadir}/ghostscript/%{version}/examples | EXAMPLESDIR=%{buildroot}%{_datadir}/ghostscript/%{version}/examples | ||||||
| test -d $EXAMPLESDIR || install -d $EXAMPLESDIR | test -d $EXAMPLESDIR || install -d $EXAMPLESDIR | ||||||
| @@ -321,34 +362,52 @@ 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 | ||||||
| %if %{with apparmor} | %if %{with apparmor} | ||||||
| %if "%{flavor}" != "mini" | %if "%{flavor}" != "mini" | ||||||
| %if 0%{?suse_version} >= 1500 |  | ||||||
| %apparmor_reload %{_sysconfdir}/apparmor.d/ghostscript | %apparmor_reload %{_sysconfdir}/apparmor.d/ghostscript | ||||||
| %endif | %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 | ||||||
| @@ -360,7 +419,6 @@ fi | |||||||
| %{_bindir}/gslp | %{_bindir}/gslp | ||||||
| %{_bindir}/gsnd | %{_bindir}/gsnd | ||||||
| %{_bindir}/lprsetup.sh | %{_bindir}/lprsetup.sh | ||||||
| %{_bindir}/pdf2dsc |  | ||||||
| %{_bindir}/pdf2ps | %{_bindir}/pdf2ps | ||||||
| %{_bindir}/pf2afm | %{_bindir}/pf2afm | ||||||
| %{_bindir}/pfbtopfa | %{_bindir}/pfbtopfa | ||||||
| @@ -385,7 +443,6 @@ fi | |||||||
| %{_mandir}/man1/gslj.1%{?ext_man} | %{_mandir}/man1/gslj.1%{?ext_man} | ||||||
| %{_mandir}/man1/gslp.1%{?ext_man} | %{_mandir}/man1/gslp.1%{?ext_man} | ||||||
| %{_mandir}/man1/gsnd.1%{?ext_man} | %{_mandir}/man1/gsnd.1%{?ext_man} | ||||||
| %{_mandir}/man1/pdf2dsc.1%{?ext_man} |  | ||||||
| %{_mandir}/man1/pdf2ps.1%{?ext_man} | %{_mandir}/man1/pdf2ps.1%{?ext_man} | ||||||
| %{_mandir}/man1/pf2afm.1%{?ext_man} | %{_mandir}/man1/pf2afm.1%{?ext_man} | ||||||
| %{_mandir}/man1/pfbtopfa.1%{?ext_man} | %{_mandir}/man1/pfbtopfa.1%{?ext_man} | ||||||
| @@ -413,9 +470,6 @@ fi | |||||||
| %if "%{flavor}" != "mini" | %if "%{flavor}" != "mini" | ||||||
| %exclude %{_libdir}/ghostscript/%{version}/X11.so | %exclude %{_libdir}/ghostscript/%{version}/X11.so | ||||||
| %if %{with apparmor} | %if %{with apparmor} | ||||||
| %if 0%{?suse_version} < 1500 |  | ||||||
| %dir %{_sysconfdir}/apparmor.d |  | ||||||
| %endif |  | ||||||
| %{_sysconfdir}/apparmor.d/ghostscript | %{_sysconfdir}/apparmor.d/ghostscript | ||||||
| %endif | %endif | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								reproducible.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								reproducible.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | Date: 2024-09-20 | ||||||
|  | Author: Bernhard M. Wiedemann <bwiedemann suse de> | ||||||
|  |  | ||||||
|  | Drop build date from generated .h file | ||||||
|  | so that openSUSE's ghostscript-debugsource package | ||||||
|  | does not vary between builds. | ||||||
|  |  | ||||||
|  | Index: ghostscript-10.03.1/base/pack_ps.c | ||||||
|  | =================================================================== | ||||||
|  | --- ghostscript-10.03.1.orig/base/pack_ps.c | ||||||
|  | +++ ghostscript-10.03.1/base/pack_ps.c | ||||||
|  | @@ -344,7 +344,7 @@ main(int argc, char *argv[]) | ||||||
|  |      if (!buildtime) { | ||||||
|  |          buildtime = time(NULL); | ||||||
|  |      } | ||||||
|  | -    fprintf(outfile,"/* Auto-generated from PostScript file \"%s\" at time %ld */\n", infilename, (long)buildtime); | ||||||
|  | +    fprintf(outfile,"/* Auto-generated from PostScript file \"%s\" */\n", infilename); | ||||||
|  |   | ||||||
|  |      while (readline(infile, inputline, INPUT_LINE_LENGTH_MAX)) { | ||||||
|  |   | ||||||
		Reference in New Issue
	
	Block a user