From 6d180b23f44c2ce3f229b376c8685b306b770d94 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Fri, 23 Nov 2007 10:11:06 +0000 Subject: [PATCH] - 8.61. --- .cvsignore | 1 + ghostscript-8.57-ijs-krgb.patch | 88 ++++++++--------- ghostscript-CVE-2007-2721.patch | 48 --------- ghostscript-mkstemp64.patch | 166 -------------------------------- ghostscript-multilib.patch | 19 +--- ghostscript.spec | 22 ++--- sources | 2 +- 7 files changed, 60 insertions(+), 286 deletions(-) delete mode 100644 ghostscript-CVE-2007-2721.patch delete mode 100644 ghostscript-mkstemp64.patch diff --git a/.cvsignore b/.cvsignore index e50392c..357a799 100644 --- a/.cvsignore +++ b/.cvsignore @@ -20,3 +20,4 @@ espgs-8.15.3-source.tar.bz2 espgs-8.15.4-source.tar.bz2 ghostscript-8.60-r8117.tar.bz2 ghostscript-8.60.tar.bz2 +ghostscript-8.61.tar.bz2 diff --git a/ghostscript-8.57-ijs-krgb.patch b/ghostscript-8.57-ijs-krgb.patch index 2f1e5f1..b676e8d 100644 --- a/ghostscript-8.57-ijs-krgb.patch +++ b/ghostscript-8.57-ijs-krgb.patch @@ -1,6 +1,6 @@ -diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c ---- gs-orig/src/gdevijs.c 2007-04-24 13:00:22.000000000 +0100 -+++ gs-krgb/src/gdevijs.c 2007-04-27 14:44:05.000000000 +0100 +diff -up ghostscript-8.61/src/gdevijs.c.ijs-krgb ghostscript-8.61/src/gdevijs.c +--- ghostscript-8.61/src/gdevijs.c.ijs-krgb 2007-09-25 14:31:24.000000000 +0100 ++++ ghostscript-8.61/src/gdevijs.c 2007-11-23 09:23:00.000000000 +0000 @@ -23,15 +23,50 @@ * which is a security risk, since any program can be run. * You should use -dSAFER which sets .LockSafetyParams to true @@ -52,22 +52,22 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c /* This should go into gdevprn.h, or, better yet, gdevprn should acquire an API for changing resolution. */ int gdev_prn_maybe_realloc_memory(gx_device_printer *pdev, -@@ -49,6 +84,14 @@ - private dev_proc_put_params(gsijs_put_params); - private dev_proc_finish_copydevice(gsijs_finish_copydevice); +@@ -49,6 +84,14 @@ static dev_proc_get_params(gsijs_get_par + static dev_proc_put_params(gsijs_put_params); + static dev_proc_finish_copydevice(gsijs_finish_copydevice); +/* Following definitions are for krgb support. */ -+private dev_proc_create_buf_device(gsijs_create_buf_device); -+private dev_proc_fill_rectangle(gsijs_fill_rectangle); -+private dev_proc_copy_mono(gsijs_copy_mono); -+private dev_proc_fill_mask(gsijs_fill_mask); -+private dev_proc_fill_path(gsijs_fill_path); -+private dev_proc_stroke_path(gsijs_stroke_path); ++static dev_proc_create_buf_device(gsijs_create_buf_device); ++static dev_proc_fill_rectangle(gsijs_fill_rectangle); ++static dev_proc_copy_mono(gsijs_copy_mono); ++static dev_proc_fill_mask(gsijs_fill_mask); ++static dev_proc_fill_path(gsijs_fill_path); ++static dev_proc_stroke_path(gsijs_stroke_path); + - private const gx_device_procs gsijs_procs = { + static const gx_device_procs gsijs_procs = { gsijs_open, NULL, /* get_initial_matrix */ -@@ -123,6 +166,15 @@ +@@ -123,6 +166,15 @@ struct gx_device_ijs_s { IjsClientCtx *ctx; int ijs_version; @@ -83,7 +83,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c }; #define DEFAULT_DPI 74 /* See gsijs_set_resolution() below. */ -@@ -150,7 +202,13 @@ +@@ -150,7 +202,13 @@ gx_device_ijs gs_ijs_device = FALSE, /* Tumble_set */ NULL, /* IjsClient *ctx */ @@ -98,7 +98,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c }; -@@ -166,12 +224,299 @@ +@@ -166,12 +224,299 @@ static int gsijs_read_string(gs_param_li /**************************************************************************/ @@ -117,7 +117,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + 0x01 /* 7 */ +}; + -+private int gsijs_fill_rectangle(gx_device * dev, int x, int y, int w, int h, ++static int gsijs_fill_rectangle(gx_device * dev, int x, int y, int w, int h, + gx_color_index color) +{ + gx_device_ijs *ijsdev = (gx_device_ijs *)((gx_device_forward *)dev)->target; @@ -179,7 +179,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + return (*ijsdev->prn_procs.fill_rectangle)(dev, x, y, w, h, color); +} + -+private int gsijs_copy_mono(gx_device * dev, const byte * data, ++static int gsijs_copy_mono(gx_device * dev, const byte * data, + int dx, int draster, gx_bitmap_id id, + int x, int y, int w, int height, gx_color_index zero, gx_color_index one) +{ @@ -256,7 +256,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + +/* ---------------- High-level graphic procedures ---------------- */ + -+private int gsijs_fill_mask(gx_device * dev, ++static int gsijs_fill_mask(gx_device * dev, + const byte * data, int dx, int raster, gx_bitmap_id id, + int x, int y, int w, int h, + const gx_drawing_color * pdcolor, int depth, @@ -278,7 +278,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + return code; +} + -+private int gsijs_fill_path(gx_device * dev, const gs_imager_state * pis, ++static int gsijs_fill_path(gx_device * dev, const gs_imager_state * pis, + gx_path * ppath, const gx_fill_params * params, + const gx_drawing_color * pdcolor, + const gx_clip_path * pcpath) @@ -295,7 +295,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + return 0; +} + -+private int gsijs_stroke_path(gx_device * dev, const gs_imager_state * pis, ++static int gsijs_stroke_path(gx_device * dev, const gs_imager_state * pis, + gx_path * ppath, const gx_stroke_params * params, + const gx_drawing_color * pdcolor, + const gx_clip_path * pcpath) @@ -314,7 +314,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + +/* ---------------- krgb banding playback procedures ---------------- */ + -+private int gsijs_get_bits(gx_device_printer * pdev, int y, byte * str, byte ** actual_data) ++static int gsijs_get_bits(gx_device_printer * pdev, int y, byte * str, byte ** actual_data) +{ + gx_device_ijs *ijsdev = (gx_device_ijs *)pdev; + gx_device_clist_common *cdev = (gx_device_clist_common *)pdev; @@ -332,7 +332,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + return gdev_prn_get_bits(pdev, y, str, actual_data); /* get raster from regular band */ +} + -+private int gsijs_k_get_bits(gx_device_printer * pdev, int y, byte ** actual_data) ++static int gsijs_k_get_bits(gx_device_printer * pdev, int y, byte ** actual_data) +{ + gx_device_ijs *ijsdev = (gx_device_ijs *)pdev; + gx_device_clist_common *cdev = (gx_device_clist_common *)pdev; @@ -346,7 +346,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + return 0; +} + -+private int gsijs_create_buf_device(gx_device **pbdev, gx_device *target, ++static int gsijs_create_buf_device(gx_device **pbdev, gx_device *target, + const gx_render_plane_t *render_plane, gs_memory_t *mem, gx_band_complexity_t *band_complexity) +{ + gx_device_ijs *ijsdev = (gx_device_ijs *)target; @@ -369,7 +369,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c +} + +/* See if IJS server supports krgb. */ -+private int ++static int +gsijs_set_krgb_mode(gx_device_ijs *ijsdev) +{ + char buf[256]; @@ -401,9 +401,9 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c + +/* ------ Private definitions ------ */ - private int + static int gsijs_parse_wxh (const char *val, int size, double *pw, double *ph) -@@ -209,34 +554,6 @@ +@@ -209,34 +554,6 @@ gsijs_parse_wxh (const char *val, int si } /** @@ -412,7 +412,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c - * This version is specialized for hpijs 1.0 through 1.0.2, and - * accommodates a number of quirks. - **/ --private int +-static int -gsijs_set_generic_params_hpijs(gx_device_ijs *ijsdev) -{ - char buf[256]; @@ -437,8 +437,8 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c -/** * gsijs_set_generic_params: Set generic IJS parameters. **/ - private int -@@ -247,9 +564,6 @@ + static int +@@ -247,9 +564,6 @@ gsijs_set_generic_params(gx_device_ijs * int i, j; char *value; @@ -448,7 +448,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c /* Split IjsParams into separate parameters and send to ijs server */ value = NULL; for (i=0, j=0; (j < ijsdev->IjsParams_size) && (i < sizeof(buf)-1); j++) { -@@ -290,68 +604,6 @@ +@@ -290,68 +604,6 @@ gsijs_set_generic_params(gx_device_ijs * } /** @@ -457,7 +457,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c - * This version is specialized for hpijs 1.0 through 1.0.2, and - * accommodates a number of quirks. - **/ --private int +-static int -gsijs_set_margin_params_hpijs(gx_device_ijs *ijsdev) -{ - char buf[256]; @@ -516,8 +516,8 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c -/** * gsijs_set_margin_params: Do margin negotiation with IJS server. **/ - private int -@@ -362,9 +614,6 @@ + static int +@@ -362,9 +614,6 @@ gsijs_set_margin_params(gx_device_ijs *i int i, j; char *value; @@ -527,7 +527,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c /* Split IjsParams into separate parameters and send to ijs server */ value = NULL; for (i=0, j=0; (j < ijsdev->IjsParams_size) && (i < sizeof(buf)-1); j++) { -@@ -531,12 +780,18 @@ +@@ -531,12 +780,18 @@ gsijs_open(gx_device *dev) char buf[256]; bool use_outputfd; int fd = -1; @@ -546,7 +546,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c /* Decide whether to use OutputFile or OutputFD. Note: how to determine this is a tricky question, so we just allow the user to set it. -@@ -551,6 +806,8 @@ +@@ -551,6 +806,8 @@ gsijs_open(gx_device *dev) if (code < 0) return code; @@ -555,7 +555,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c if (use_outputfd) { /* Note: dup() may not be portable to all interesting IJS platforms. In that case, this branch should be #ifdef'ed out. -@@ -610,6 +867,9 @@ +@@ -610,6 +867,9 @@ gsijs_open(gx_device *dev) if (code >= 0) code = gsijs_set_margin_params(ijsdev); @@ -565,11 +565,11 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c return code; } -@@ -690,21 +950,6 @@ +@@ -690,21 +950,6 @@ gsijs_raster_width(gx_device *pdev) return min(width, end); } --private int ijs_all_white(unsigned char *data, int size) +-static int ijs_all_white(unsigned char *data, int size) -{ - int clean = 1; - int i; @@ -587,7 +587,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c /* Print a page. Don't use normal printer gdev_prn_output_page * because it opens the output file. */ -@@ -715,8 +960,10 @@ +@@ -715,8 +960,10 @@ gsijs_output_page(gx_device *dev, int nu gx_device_printer *pdev = (gx_device_printer *)dev; int raster = gdev_prn_raster(pdev); int ijs_width, ijs_height; @@ -599,7 +599,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c unsigned char *data; char buf[256]; double xres = pdev->HWResolution[0]; -@@ -732,13 +979,23 @@ +@@ -732,13 +979,23 @@ gsijs_output_page(gx_device *dev, int nu /* Determine bitmap width and height */ ijs_height = gdev_prn_print_scan_lines(dev); @@ -627,7 +627,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c /* Required page parameters */ sprintf(buf, "%d", n_chan); gsijs_client_set_param(ijsdev, "NumChan", buf); -@@ -747,44 +1004,71 @@ +@@ -747,44 +1004,71 @@ gsijs_output_page(gx_device *dev, int nu /* This needs to become more sophisticated for DeviceN. */ strcpy(buf, (n_chan == 4) ? "DeviceCMYK" : @@ -719,11 +719,11 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c gs_free_object(pdev->memory, data, "gsijs_output_page"); endcode = (pdev->buffer_space && !pdev->is_async_renderer ? -@@ -1090,7 +1374,6 @@ +@@ -1090,7 +1374,6 @@ gsijs_client_set_param(gx_device_ijs *ij dprintf2("ijs: Can't set parameter %s=%s\n", key, value); return code; } - - private int + static int gsijs_set_color_format(gx_device_ijs *ijsdev) diff --git a/ghostscript-CVE-2007-2721.patch b/ghostscript-CVE-2007-2721.patch deleted file mode 100644 index aa59ce3..0000000 --- a/ghostscript-CVE-2007-2721.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c.CVE-2007-2721 ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c ---- ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c.CVE-2007-2721 2006-02-08 06:21:28.000000000 +0000 -+++ ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c 2007-10-23 14:15:01.000000000 +0100 -@@ -247,7 +247,7 @@ jp2_box_t *jp2_box_get(jas_stream_t *in) - box = 0; - tmpstream = 0; - -- if (!(box = jas_malloc(sizeof(jp2_box_t)))) { -+ if (!(box = jas_calloc(1, sizeof(jp2_box_t)))) { - goto error; - } - box->ops = &jp2_boxinfo_unk.ops; -diff -up ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c.CVE-2007-2721 ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c ---- ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c.CVE-2007-2721 2006-02-08 06:21:28.000000000 +0000 -+++ ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c 2007-10-23 14:15:01.000000000 +0100 -@@ -991,7 +991,10 @@ static int jpc_qcx_getcompparms(jpc_qcxc - compparms->numstepsizes = (len - n) / 2; - break; - } --if (compparms->numstepsizes > 0) { -+if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) { -+ jpc_qcx_destroycompparms(compparms); -+ return -1; -+ } else if (compparms->numstepsizes > 0) { - compparms->stepsizes = jas_malloc(compparms->numstepsizes * - sizeof(uint_fast32_t)); - assert(compparms->stepsizes); -diff -up ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c.CVE-2007-2721 ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c ---- ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c.CVE-2007-2721 2006-12-06 22:25:01.000000000 +0000 -+++ ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c 2007-10-23 14:15:01.000000000 +0100 -@@ -1219,7 +1219,7 @@ static int jpc_dec_process_siz(jpc_dec_t - dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth); - dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, dec->tileheight); - dec->numtiles = dec->numhtiles * dec->numvtiles; -- if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) { -+ if (!(dec->tiles = jas_calloc(dec->numtiles, sizeof(jpc_dec_tile_t)))) { - return -1; - } - -@@ -1243,7 +1243,7 @@ static int jpc_dec_process_siz(jpc_dec_t - tile->pkthdrstreampos = 0; - tile->pptstab = 0; - tile->cp = 0; -- if (!(tile->tcomps = jas_malloc(dec->numcomps * -+ if (!(tile->tcomps = jas_calloc(dec->numcomps, - sizeof(jpc_dec_tcomp_t)))) { - return -1; - } diff --git a/ghostscript-mkstemp64.patch b/ghostscript-mkstemp64.patch deleted file mode 100644 index 40b609c..0000000 --- a/ghostscript-mkstemp64.patch +++ /dev/null @@ -1,166 +0,0 @@ -From: alexcher -Date: Sat, 8 Sep 2007 22:31:20 +0000 (+0000) -Subject: Declare Ghostscript as _LARGEFILE64_SOURCE program, i.e. request transitional -X-Git-Url: http://git.infradead.org/?p=ghostscript.git;a=commitdiff_plain;h=0513d1b9542d37e7134d36e49222b12ef469b722 - -Declare Ghostscript as _LARGEFILE64_SOURCE program, i.e. request transitional -interface to large file support. Check for mkstemp64() availability specially. - - -git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs@8232 a1074d23-0009-0410-80fe-cf8c14f379e6 ---- - -diff --git a/src/Makefile.in b/src/Makefile.in -index c1e3c3b..5590f9a 100644 ---- a/src/Makefile.in -+++ b/src/Makefile.in -@@ -120,8 +120,11 @@ GENOPT= - # - # -DHAVE_FILE64 - # use marked versions of the stdio FILE calls, fopen64() et al. -+# -+# -DHAVE_MKSTEMP64 -+# use non-standard function mkstemp64() - --CAPOPT= @HAVE_MKSTEMP@ @HAVE_HYPOT@ @HAVE_FILE64@ @HAVE_FONTCONFIG@ -+CAPOPT= @HAVE_MKSTEMP@ @HAVE_HYPOT@ @HAVE_FILE64@ @HAVE_MKSTEMP64@ @HAVE_FONTCONFIG@ - - # Define the name of the executable file. - -diff --git a/src/configure.ac b/src/configure.ac -index 10658c5..ffde250 100644 ---- a/src/configure.ac -+++ b/src/configure.ac -@@ -924,6 +924,9 @@ AC_SUBST(HAVE_HYPOT) - AC_CHECK_FUNCS([fopen64], [HAVE_FILE64=-DHAVE_FILE64]) - AC_SUBST(HAVE_FILE64) - -+AC_CHECK_FUNCS([mkstemp64], [HAVE_MKSTEMP64=-DHAVE_MKSTEMP64]) -+AC_SUBST(HAVE_MKSTEMP64) -+ - AC_PROG_GCC_TRADITIONAL - - dnl NB: We don't actually provide autoconf-switched fallbacks for any -diff --git a/src/gp_unifs.c b/src/gp_unifs.c -index 6b6a85c..ac555b5 100644 ---- a/src/gp_unifs.c -+++ b/src/gp_unifs.c -@@ -88,18 +88,22 @@ gp_open_scratch_file_generic(const char *prefix, char fname[gp_file_name_sizeof] - - /* save the old filename template in case mkstemp fails */ - memcpy(ofname, fname, gp_file_name_sizeof); --#if defined(HAVE_FILE64) && !defined(_LARGEFILE64_SOURCE) -- if (b64) -- file = mkstemp64(fname); -- else -+#ifdef HAVE_MKSTEMP64 -+ file = (b64 ? mkstemp64 : mkstemp)(fname); -+#else -+ file = mkstemp(fname); - #endif -- file = mkstemp(fname); -- -- /* Fixme : what to do with b64 and 32-bit mkstemp? Unimplemented. */ - if (file < -1) { - eprintf1("**** Could not open temporary file %s\n", ofname); - return NULL; - } -+#if defined(O_LARGEFILE) && defined(__hpux) -+ if (b64) -+ fcntl(file, F_SETFD, fcntl(file, F_GETFD) | O_LARGEFILE); -+#else -+ /* Fixme : what to do with b64 and 32-bit mkstemp? Unimplemented. */ -+#endif -+ - fp = fdopen(file, mode); - if (fp == NULL) - close(file); -@@ -479,10 +483,10 @@ gp_enumerate_files_close(file_enum * pfen) - - FILE *gp_fopen_64(const char *filename, const char *mode) - { --#if defined(_LARGEFILE64_SOURCE) || !defined(HAVE_FILE64) -- return fopen(filename, mode); --#else -+#if defined(HAVE_FILE64) - return fopen64(filename, mode); -+#else -+ return fopen(filename, mode); - #endif - } - -@@ -497,22 +501,22 @@ FILE *gp_open_scratch_file_64(const char *prefix, - - int64_t gp_ftell_64(FILE *strm) - { --#if defined(_LARGEFILE64_SOURCE) || !defined(HAVE_FILE64) -- return ftello(strm); --#else -+#if defined(HAVE_FILE64) - return ftello64(strm); -+#else -+ return ftello(strm); - #endif - } - - int gp_fseek_64(FILE *strm, int64_t offset, int origin) - { --#if defined(_LARGEFILE64_SOURCE) || !defined(HAVE_FILE64) -+#if defined(HAVE_FILE64) -+ return fseeko64(strm, offset, origin); -+#else - off_t offset1 = (off_t)offset; - - if (offset != offset1) - return -1; - return fseeko(strm, offset1, origin); --#else -- return fseeko64(strm, offset, origin); - #endif - } -diff --git a/src/stdpre.h b/src/stdpre.h -index acb61c1..c17cdbf 100644 ---- a/src/stdpre.h -+++ b/src/stdpre.h -@@ -17,6 +17,9 @@ - #ifndef stdpre_INCLUDED - # define stdpre_INCLUDED - -+/* Ghostscript uses transitional LFS functions. */ -+#define _LARGEFILE64_SOURCE 1 -+ - /* - * Here we deal with the vagaries of various C compilers. We assume that: - * ANSI-standard Unix compilers define __STDC__. -From: alexcher -Date: Wed, 5 Sep 2007 19:21:05 +0000 (+0000) -Subject: Replace non-standard function call fdopen64() with fdopen(). The former -X-Git-Url: http://git.infradead.org/?p=ghostscript.git;a=commitdiff_plain;h=dc01761c07d210974d829c35c33a8886c33b0488 - -Replace non-standard function call fdopen64() with fdopen(). The former -is not available on most platforms and not needed anyway because O_LARGEFILE -flag is set earlier in the code. Bug 689175. - -DIFFERENCES: -None - - -git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs@8229 a1074d23-0009-0410-80fe-cf8c14f379e6 ---- - -diff --git a/src/gpmisc.c b/src/gpmisc.c -index f963d82..303fac2 100644 ---- a/src/gpmisc.c -+++ b/src/gpmisc.c -@@ -93,11 +93,7 @@ gp_fopentemp_generic(const char *fname, const char *mode, bool b64) - * fdopen as (char *), rather than following the POSIX.1 standard, - * which defines it as (const char *). Patch this here. - */ --#if defined (O_LARGEFILE) -- file = (b64 ? fdopen64 : fdopen)(fildes, (char *)mode); /* still really const */ --#else - file = fdopen(fildes, (char *)mode); /* still really const */ --#endif - if (file == 0) - close(fildes); - return file; diff --git a/ghostscript-multilib.patch b/ghostscript-multilib.patch index 4549cb9..27bf5e6 100644 --- a/ghostscript-multilib.patch +++ b/ghostscript-multilib.patch @@ -1,6 +1,8 @@ ---- ghostscript-8.60-r8112/ijs/ijs-config.in.multilib 2002-01-31 19:09:46.000000000 +0000 -+++ ghostscript-8.60-r8112/ijs/ijs-config.in 2007-07-10 17:46:44.000000000 +0100 -@@ -43,8 +43,7 @@ +diff -up ghostscript-8.61/ijs/Makefile.am.multilib ghostscript-8.61/ijs/Makefile.am +diff -up ghostscript-8.61/ijs/ijs-config.in.multilib ghostscript-8.61/ijs/ijs-config.in +--- ghostscript-8.61/ijs/ijs-config.in.multilib 2002-01-31 19:09:46.000000000 +0000 ++++ ghostscript-8.61/ijs/ijs-config.in 2007-11-23 09:19:18.000000000 +0000 +@@ -43,8 +43,7 @@ while test $# -gt 0; do echo $includes ;; --libs) @@ -10,14 +12,3 @@ ;; *) echo "${usage}" 1>&2 ---- ghostscript-8.60-r8112/ijs/Makefile.am.multilib 2007-07-10 18:00:36.000000000 +0100 -+++ ghostscript-8.60-r8112/ijs/Makefile.am 2007-07-10 18:00:39.000000000 +0100 -@@ -34,7 +34,7 @@ - - pkgincludedir=$(includedir)/ijs - m4datadir = $(datadir)/aclocal --pkgconfigdatadir = $(prefix)/lib/pkgconfig -+pkgconfigdatadir = $(libdir)/pkgconfig - - lib_LTLIBRARIES = libijs.la - diff --git a/ghostscript.spec b/ghostscript.spec index b2d9a53..9b01e80 100644 --- a/ghostscript.spec +++ b/ghostscript.spec @@ -1,11 +1,11 @@ -%define gs_ver 8.60 -%define gs_dot_ver 8.60 +%define gs_ver 8.61 +%define gs_dot_ver 8.61 %{expand: %%define build_with_freetype %{?_with_freetype:1}%{!?_with_freetype:0}} Summary: A PostScript(TM) interpreter and renderer. Name: ghostscript Version: %{gs_ver} -Release: 5%{?dist} +Release: 1%{?dist} License: GPLv2 URL: http://www.ghostscript.com/ @@ -20,8 +20,6 @@ Patch2: ghostscript-scripts.patch Patch3: ghostscript-noopt.patch Patch4: ghostscript-fPIC.patch Patch5: http://www.openprinting.org/download/printing/esp-gpl-ghostscript-merge/ghostscript-8.57-ijs-krgb.patch -Patch6: ghostscript-mkstemp64.patch -Patch7: ghostscript-CVE-2007-2721.patch Requires: urw-fonts >= 1.1, ghostscript-fonts BuildRequires: libjpeg-devel, libXt-devel @@ -90,12 +88,6 @@ A GTK-enabled version of Ghostscript, called 'gsx'. # IJS KRGB patch. %patch5 -p1 -b .ijs-krgb -# From upstream. -%patch6 -p1 -b .mkstemp64 - -# Applied patch from upstream to fix CVE-2007-2721 (bug #346511). -%patch7 -p1 -b .CVE-2007-2721 - # Convert manual pages to UTF-8 from8859_1() { iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_" @@ -156,14 +148,15 @@ make install soinstall \ prefix=$RPM_BUILD_ROOT%{_prefix} \ mandir=$RPM_BUILD_ROOT%{_mandir} \ datadir=$RPM_BUILD_ROOT%{_datadir} \ + gsincludedir=$RPM_BUILD_ROOT%{_includedir}/ghostscript \ bindir=$RPM_BUILD_ROOT%{_bindir} \ libdir=$RPM_BUILD_ROOT%{_libdir} \ docdir=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver} \ gsdir=$RPM_BUILD_ROOT%{_datadir}/%{name} \ gsdatadir=$RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver} \ gssharedir=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{gs_dot_ver} \ - CUPSSERVER=$RPM_BUILD_ROOT`cups-config --serverbin` \ - CUPSCONFIG=$RPM_BUILD_ROOT`cups-config --serverroot` \ + CUPSSERVERROOT=$RPM_BUILD_ROOT`cups-config --serverroot` \ + CUPSSERVERBIN=$RPM_BUILD_ROOT`cups-config --serverbin` \ CUPSDATA=$RPM_BUILD_ROOT`cups-config --datadir` mv -f $RPM_BUILD_ROOT%{_bindir}/gsc $RPM_BUILD_ROOT%{_bindir}/gs @@ -274,6 +267,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libgs.so %changelog +* Fri Nov 23 2007 Tim Waugh 8.61-1 +- 8.61. + * Tue Oct 23 2007 Tim Waugh 8.60-5 - Applied patch from upstream to fix CVE-2007-2721 (bug #346511). diff --git a/sources b/sources index eca6682..1511318 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ 2fbae60417d42779f6488ab897dcaaf6 acro5-cmaps-2001.tar.gz dfc93dd2aaaf2b86d2fd55f654c13261 adobe-cmaps-200406.tar.gz -89fc0a90e67caf151a9d6855200c68ca ghostscript-8.60.tar.bz2 +abff0506cd249cba3ad862d8fe4f6474 ghostscript-8.61.tar.bz2