Accepting request 134223 from home:pgajdos:libpng15

- updated to 10.59.2:
  * transition super-stable --> advanced branch
  * builds with libpng15
  * patches summary:
    ->  dropped unneeded or upstreamed patches:
       - fixes.patch
       - libpng14.patch
       - manpages.patch
       - pamscale.patch
       - pnmtopng-CAN-2978.patch
    -> left patches
       # make.patch (suse specific)
       # no-build-time.patch (suse specific)
       # missing-file-close.patch (should be upstreamed in newer 
         versions)
       # tmpfile.patch (rewritten) 
       # security-code.patch (taken from fedora, replacement of 
         former security.patch)
       # security-scripts.patch (taken from fedora, replacement of
         former security2.patch)

OBS-URL: https://build.opensuse.org/request/show/134223
OBS-URL: https://build.opensuse.org/package/show/graphics/netpbm?expand=0&rev=39
This commit is contained in:
Petr Gajdos 2012-09-14 06:19:47 +00:00 committed by Git OBS Bridge
parent a3a8972712
commit ab3fe00e48
17 changed files with 888 additions and 1594 deletions

View File

@ -1 +1 @@
libnetpbm10
libnetpbm11

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf130302f7742cd7d794246b33bb86feb6391098ef9cb063f23df717b5f1afa9
size 573221

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ace07f24063e5d22bbeb109dca376b2494c8f4b374ea1b8adfc5a009d9b03a8
size 1618158

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:05430821e11c51ec6bf7b1b4ef5be564db51cecd45c6b669ad655d6fefd5f8e2
size 573489

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5db40b9b72218330e226b20076d5120b5f19c621e71c82c240bc43f2332c7003
size 1705720

View File

@ -1,294 +0,0 @@
Index: buildtools/Makefile
===================================================================
--- buildtools/Makefile.orig
+++ buildtools/Makefile
@@ -34,10 +34,10 @@ libopt.o: libopt.c
-o $@ $<
typegen.o endiangen.o:%.o:%.c
- $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $<
+ $(CC_FOR_BUILD) $(CFLAGS) -c $(CFLAGS_FOR_BUILD) -o $@ $<
$(PROGS):%:%.o
- $(LD_FOR_BUILD) -o $@ $<
+ $(LD_FOR_BUILD) $(LDFLAGS) -o $@ $<
distclean clean: cleanlocal
.PHONY: cleanlocal
Index: converter/other/fiasco/codec/dfiasco.c
===================================================================
--- converter/other/fiasco/codec/dfiasco.c.orig
+++ converter/other/fiasco/codec/dfiasco.c
@@ -15,6 +15,7 @@
*/
#include <string.h>
+#include <stdlib.h>
#include "config.h"
Index: converter/other/fiasco/input/basis.c
===================================================================
--- converter/other/fiasco/input/basis.c.orig
+++ converter/other/fiasco/input/basis.c
@@ -14,6 +14,7 @@
* $State: Exp $
*/
+#include <string.h>
#include "config.h"
#include "types.h"
Index: converter/other/fitstopnm.c
===================================================================
--- converter/other/fitstopnm.c.orig
+++ converter/other/fitstopnm.c
@@ -444,7 +444,7 @@ read_val (fp, bitpix, vp)
c[i] = ich;
}
swapbytes(c, 4);
- *vp = *( (float *) c);
+ memcpy(vp, c, 4);
break;
case -64:
@@ -455,7 +455,7 @@ read_val (fp, bitpix, vp)
c[i] = ich;
}
swapbytes(c, 8);
- *vp = *( (double *) c);
+ memcpy(vp, c, 8);
break;
default:
Index: converter/other/jpegtopnm.c
===================================================================
--- converter/other/jpegtopnm.c.orig
+++ converter/other/jpegtopnm.c
@@ -511,6 +511,7 @@ set_color_spaces(const J_COLOR_SPACE jpe
pm_error("Input JPEG image has 'unknown' color space "
"(JCS_UNKNOWN).\n"
"We cannot interpret this image.");
+ *output_type_p = PPM_TYPE; /* not reached */
break;
case JCS_GRAYSCALE:
*output_type_p = PGM_TYPE;
@@ -538,6 +539,7 @@ set_color_spaces(const J_COLOR_SPACE jpe
default:
pm_error("Internal error: unknown color space code %d passed "
"to set_color_spaces().", jpeg_color_space);
+ *output_type_p = PPM_TYPE; /* not reached */
}
pm_message("WRITING %s FILE",
*output_type_p == PPM_TYPE ? "PPM" : "PGM");
Index: converter/other/pamtopfm.c
===================================================================
--- converter/other/pamtopfm.c.orig
+++ converter/other/pamtopfm.c
@@ -149,12 +149,12 @@ floatToPfmSample(float const input
Type converter
-----------------------------------------------------------------------------*/
if (machineEndianness == pfmEndianness) {
- *(float *)outputP->bytes = input;
+ memcpy(outputP->bytes, &input, sizeof(float));
} else {
unsigned char reversed[sizeof(pfmSample)];
unsigned int i, j;
- *(float *)reversed = input;
+ memcpy(reversed, &input, sizeof(float));
for (i = 0, j = sizeof(pfmSample)-1;
i < sizeof(pfmSample);
@@ -239,6 +239,7 @@ makePfmHeader(const struct pam * const p
enum endian const endian) {
struct pfmHeader pfmHeader;
+ memset(&pfmHeader, 0, sizeof(pfmHeader));
pfmHeader.width = pamP->width;
pfmHeader.height = pamP->height;
Index: converter/other/pamtosvg/curve.c
===================================================================
--- converter/other/pamtosvg/curve.c.orig
+++ converter/other/pamtosvg/curve.c
@@ -222,9 +222,7 @@ curve_list_type
new_curve_list (void)
{
curve_list_type curve_list;
-
- curve_list.length = 0;
- curve_list.data = NULL;
+ memset(&curve_list, 0, sizeof(curve_list));
return curve_list;
}
Index: converter/other/pamtosvg/pxl-outline.c
===================================================================
--- converter/other/pamtosvg/pxl-outline.c.orig
+++ converter/other/pamtosvg/pxl-outline.c
@@ -262,6 +262,9 @@ find_one_centerline(bitmap_type const
outline.open = false;
outline.color = getBitmapColor(bitmap, original_row, original_col);
+ search_dir = original_dir; /* initial value */
+ row = original_row; /* initial value */
+ col = original_col; /* initial values */
/* Add the starting pixel to the output list, changing from bitmap
to Cartesian coordinates and specifying the left edge so that
the coordinates won't be adjusted.
@@ -272,9 +275,6 @@ find_one_centerline(bitmap_type const
LOG2(" (%d,%d)", pos.col, pos.row);
append_outline_pixel(&outline, pos);
}
- search_dir = original_dir; /* initial value */
- row = original_row; /* initial value */
- col = original_col; /* initial values */
for ( ; ; ) {
unsigned int const prev_row = row;
@@ -527,6 +527,7 @@ new_pixel_outline (void)
{
pixel_outline_type pixel_outline;
+ memset(&pixel_outline, 0, sizeof(pixel_outline));
O_LENGTH (pixel_outline) = 0;
pixel_outline.data = NULL;
pixel_outline.open = false;
Index: converter/other/pamtosvg/spline.c
===================================================================
--- converter/other/pamtosvg/spline.c.orig
+++ converter/other/pamtosvg/spline.c
@@ -80,6 +80,7 @@ spline_list_type
empty_spline_list (void)
{
spline_list_type answer;
+ memset(&answer, 0, sizeof(answer));
SPLINE_LIST_DATA (answer) = NULL;
SPLINE_LIST_LENGTH (answer) = 0;
return answer;
@@ -153,6 +154,7 @@ spline_list_array_type
new_spline_list_array (void)
{
spline_list_array_type answer;
+ memset(&answer, 0, sizeof(answer));
SPLINE_LIST_ARRAY_DATA (answer) = NULL;
SPLINE_LIST_ARRAY_LENGTH (answer) = 0;
Index: converter/other/pamtouil.c
===================================================================
--- converter/other/pamtouil.c.orig
+++ converter/other/pamtouil.c
@@ -376,11 +376,15 @@ freeCmap(cixel_map cmap[], unsigned int
int i;
for (i = 0; i < ncolors; ++i) {
- cixel_map const cmapEntry = cmap[i];
- if (cmapEntry.uilname)
+ cixel_map cmapEntry = cmap[i];
+ if (cmapEntry.uilname) {
freeString(cmapEntry.uilname);
- if (cmapEntry.rgbname)
+ cmapEntry.uilname = NULL;
+ }
+ if (cmapEntry.rgbname) {
freeString(cmapEntry.rgbname);
+ cmapEntry.rgbname = NULL;
+ }
}
}
Index: converter/other/pgmtopbm.c
===================================================================
--- converter/other/pgmtopbm.c.orig
+++ converter/other/pgmtopbm.c
@@ -549,6 +549,8 @@ createDither8Converter(unsigned int cons
converter.cols = cols;
converter.convertRow = &dither8ConvertRow;
converter.destroy = NULL;
+ converter.stateP = NULL;
+ converter.maxval = 0;
/* Scale dither matrix. */
for (row = 0; row < 16; ++row) {
@@ -622,6 +624,7 @@ createClusterConverter(unsigned int cons
converter.cols = cols;
converter.convertRow = &clusterConvertRow;
converter.destroy = &clusterDestroy;
+ converter.maxval = 0;
MALLOCVAR_NOFAIL(stateP);
Index: converter/other/pnmtopng.c
===================================================================
--- converter/other/pnmtopng.c.orig
+++ converter/other/pnmtopng.c
@@ -513,6 +513,7 @@ xelToPngColor_16(xel const input,
retval.green = PPM_GETG(scaled);
retval.blue = PPM_GETB(scaled);
retval.gray = PNM_GET1(scaled);
+ retval.index = 0;
return retval;
}
Index: converter/other/rletopnm.c
===================================================================
--- converter/other/rletopnm.c.orig
+++ converter/other/rletopnm.c
@@ -101,7 +101,7 @@ parseCommandLine(int argc, char ** argv,
optStruct3 opt;
unsigned int option_def_index;
- unsigned int alphaoutSpec;
+ unsigned int alphaoutSpec = 0;
MALLOCARRAY(option_def, 100);
Index: converter/ppm/ximtoppm.c
===================================================================
--- converter/ppm/ximtoppm.c.orig
+++ converter/ppm/ximtoppm.c
@@ -44,7 +44,7 @@ parseCommandLine(int argc, char ** argv,
unsigned int option_def_index;
- unsigned int alphaoutSpec;
+ unsigned int alphaoutSpec = 0;
option_def_index = 0; /* incremented by OPTENT3 */
OPTENT3(0, "alphaout", OPT_STRING,
Index: lib/pm.h
===================================================================
--- lib/pm.h.orig
+++ lib/pm.h
@@ -21,6 +21,7 @@
#include <errno.h>
#include <setjmp.h>
#include <sys/stat.h>
+#include <string.h>
#ifdef VMS
#include <perror.h>
Index: lib/util/wordaccess_64_le.h
===================================================================
--- lib/util/wordaccess_64_le.h.orig
+++ lib/util/wordaccess_64_le.h
@@ -49,4 +49,5 @@ wordintClz(wordint const x){
return (__builtin_clzll((long long int)x << (s - 8) * 8));
else
pm_error("Long long int is less than 64 bits on this machine");
+ return 0; /* unreached */
}
Index: converter/other/fiasco/lib/image.c
===================================================================
--- converter/other/fiasco/lib/image.c.orig
+++ converter/other/fiasco/lib/image.c
@@ -239,7 +239,7 @@ alloc_image (unsigned width, unsigned he
image->format = format;
image->reference_count = 1;
- strcpy (image->id, "IFIASCO");
+ strncpy (image->id, "IFIASCO", 7);
for (band = first_band (color); band <= last_band (color); band++)
if (format == FORMAT_4_2_0 && band != Y)

View File

@ -1,115 +0,0 @@
Index: netpbm-10.35.80/converter/other/pngtopnm.c
===================================================================
--- netpbm-10.35.80.orig/converter/other/pngtopnm.c
+++ netpbm-10.35.80/converter/other/pngtopnm.c
@@ -44,12 +44,6 @@
#include "nstring.h"
#include "shhopt.h"
-#if PNG_LIBPNG_VER >= 10400
-#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
-#error You need either an older PNG library (older than 1.4)
-#error newer Netpbm source code (at least 10.48)
-#endif
-
typedef struct _jmpbuf_wrapper {
jmp_buf jmpbuf;
} jmpbuf_wrapper;
@@ -482,7 +476,7 @@ isTransparentColor(pngcolor const colo
bool retval;
if (info_ptr->valid & PNG_INFO_tRNS) {
- const png_color_16 * const transColorP = &info_ptr->trans_values;
+ const png_color_16 * const transColorP = &info_ptr->trans_color;
/* There seems to be a problem here: you can't compare real
@@ -575,8 +569,8 @@ paletteHasPartialTransparency(png_info *
for (i = 0, foundGray = FALSE;
i < info_ptr->num_trans && !foundGray;
++i) {
- if (info_ptr->trans[i] != 0 &&
- info_ptr->trans[i] != maxval) {
+ if (info_ptr->trans_alpha[i] != 0 &&
+ info_ptr->trans_alpha[i] != maxval) {
foundGray = TRUE;
}
}
@@ -647,7 +641,7 @@ setupSignificantBits(png_struct *
unsigned int i;
trans_mix = TRUE;
for (i = 0; i < info_ptr->num_trans; ++i)
- if (info_ptr->trans[i] != 0 && info_ptr->trans[i] != 255) {
+ if (info_ptr->trans_alpha[i] != 0 && info_ptr->trans_alpha[i] != 255) {
trans_mix = FALSE;
break;
}
@@ -885,7 +879,7 @@ writePnm(FILE * const ofP,
setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
((info_ptr->valid & PNG_INFO_tRNS) &&
(fgColor.r ==
- gamma_correct(info_ptr->trans_values.gray,
+ gamma_correct(info_ptr->trans_color.gray,
totalgamma))) ?
0 : maxval);
}
@@ -914,7 +908,7 @@ writePnm(FILE * const ofP,
setXel(&xelrow[col], fgColor, bgColor, alpha_handling,
(info_ptr->valid & PNG_INFO_tRNS) &&
index < info_ptr->num_trans ?
- info_ptr->trans[index] : maxval);
+ info_ptr->trans_alpha[index] : maxval);
}
break;
Index: netpbm-10.35.80/converter/other/pnmtopng.c
===================================================================
--- netpbm-10.35.80.orig/converter/other/pnmtopng.c
+++ netpbm-10.35.80/converter/other/pnmtopng.c
@@ -69,13 +69,6 @@
#include "nstring.h"
#include "version.h"
-#if PNG_LIBPNG_VER >= 10400
-#error Your PNG library (<png.h>) is incompatible with this Netpbm source code.
-#error You need either an older PNG library (older than 1.4)
-#error newer Netpbm source code (at least 10.47.04)
-#endif
-
-
struct zlibCompression {
/* These are parameters that describe a form of zlib compression.
Values have the same meaning as the similarly named arguments to
@@ -2612,7 +2605,7 @@ convertpnm(struct cmdlineInfo const cmdl
info_ptr->num_palette = palette_size;
if (trans_size > 0) {
info_ptr->valid |= PNG_INFO_tRNS;
- info_ptr->trans = trans;
+ info_ptr->trans_alpha = trans;
info_ptr->num_trans = trans_size; /* omit opaque values */
}
/* creating hIST chunk */
@@ -2649,7 +2642,7 @@ convertpnm(struct cmdlineInfo const cmdl
info_ptr->color_type == PNG_COLOR_TYPE_RGB) {
if (transparent > 0) {
info_ptr->valid |= PNG_INFO_tRNS;
- info_ptr->trans_values =
+ info_ptr->trans_color =
xelToPngColor_16(transcolor, maxval, png_maxval);
}
} else {
@@ -2661,10 +2654,10 @@ convertpnm(struct cmdlineInfo const cmdl
if (info_ptr->valid && PNG_INFO_tRNS)
pm_message("Transparent color {gray, red, green, blue} = "
"{%d, %d, %d, %d}",
- info_ptr->trans_values.gray,
- info_ptr->trans_values.red,
- info_ptr->trans_values.green,
- info_ptr->trans_values.blue);
+ info_ptr->trans_color.gray,
+ info_ptr->trans_color.red,
+ info_ptr->trans_color.green,
+ info_ptr->trans_color.blue);
else
pm_message("No transparent color");
}

View File

@ -1,6 +1,8 @@
--- Makefile.config.in
+++ Makefile.config.in
@@ -108,7 +108,7 @@
Index: config.mk.in
===================================================================
--- config.mk.in.orig
+++ config.mk.in
@@ -109,7 +109,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s
#OSF1:
#INSTALL = $(SRCDIR)/buildtools/installosf
#Red Hat Linux:
@ -9,7 +11,7 @@
# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
@@ -283,7 +283,7 @@
@@ -295,7 +295,7 @@ LDRELOC = NONE
CFLAGS_SHLIB =
# Gcc:
#CFLAGS_SHLIB = -fpic
@ -18,7 +20,7 @@
# Sun compiler:
#CFLAGS_SHLIB = -Kpic
#CFLAGS_SHLIB = -KPIC
@@ -350,7 +350,7 @@
@@ -362,7 +362,7 @@ NETPBMLIB_RUNTIME_PATH =
# The TIFF library. See above. If you want to build the tiff
# converters, you must have the tiff library already installed.
@ -27,7 +29,7 @@
TIFFHDR_DIR =
#TIFFLIB = libtiff.so
@@ -382,7 +382,7 @@
@@ -393,7 +393,7 @@ TIFFLIB_NEEDS_Z = Y
# JPEG stuff statically linked in, in which case you won't need
# JPEGLIB in order to build the Tiff converters.
@ -36,7 +38,7 @@
JPEGHDR_DIR =
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
@@ -432,7 +432,7 @@
@@ -451,7 +451,7 @@ PNGVER =
#
# If you have 'libpng-config' (see above), these are irrelevant.
@ -45,3 +47,14 @@
ZHDR_DIR =
#ZLIB = libz.so
@@ -461,8 +461,8 @@ JBIGLIB = $(BUILDDIR)/converter/other/jb
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
# The Jasper JPEG-2000 image compression library (aka JasPer):
-JASPERLIB = $(INTERNAL_JASPERLIB)
-JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
+JASPERLIB = -ljasper
+JASPERHDR_DIR = /usr/include/jasper
# JASPERDEPLIBS is the libraries (-l options or file names) on which
# The Jasper library depends -- i.e. what you have to link into any
# executable that links in the Jasper library.

View File

@ -1,80 +0,0 @@
--- buildtools/makeman
+++ buildtools/makeman
@@ -1,4 +1,4 @@
-#!/bin/env python
+#!/usr/bin/python
#
# makeman -- compile netpbm's stereotyped HTML to troff markup
#
@@ -95,6 +95,8 @@
indoc = re.sub("(?i)\n *</PRE>", "\n.fi", indoc)
indoc = re.sub("(?i)\n *<BLOCKQUOTE>", "\n.nf", indoc)
indoc = re.sub("(?i)\n *</BLOCKQUOTE>", "\n.fi", indoc)
+ indoc = re.sub("(?i)\n *<code>", "\n.nf", indoc)
+ indoc = re.sub("(?i)\n *</code>", "\n.fi", indoc)
# Highlight processing
indoc = re.sub("(?i)<B>", r"\\fB", indoc)
indoc = re.sub("(?i)</B>", r"\\fP", indoc)
@@ -114,7 +116,10 @@
indoc = re.sub("(?i)</SUP>", r"\\d", indoc)
# Paragraph handling
indoc = re.sub("(?i)\n*<P>\n*", r"\n.PP\n", indoc)
+ indoc = re.sub("(?i)<br */>", r"\n.PP\n", indoc)
indoc = re.sub("(?i)</P>", "", indoc)
+ indoc = re.sub("(?i)<!--[^>]*-->", "", indoc)
+ indoc = re.sub("(?i)<meta[^>]*>", "", indoc)
lines = indoc.split("\n")
listdepth = 0
for i in range(len(lines)):
@@ -131,13 +136,14 @@
indoc = re.sub('(?i)<A[ \n]+HREF="mailto:[^>]+">([^<]+)</A>', r'\\fI\1\\fP', indoc)
# Format manual crossreferences
def xrefmatch(match):
- xrefto = match.group(1)
- xrefsection = sectmap.get(xrefto, 1)
+ xrefto = match.group(2)
+ xrefurl = match.group(1)
+ xrefsection = sectmap.get(xrefurl, 1)
if xrefsection == 0:
return "\n.I " + xrefto
else:
- return "\n.BR %s (%d)" % (xrefto, xrefsection)
- indoc = re.sub(r'(?i)\n* *(?:\\fB)?<A[ \n]+HREF="[^>]+.html">([^<]+)</A>(?:\\fP)?',
+ return "\n.BR %s (%d)\n" % (xrefto, xrefsection)
+ indoc = re.sub(r'(?i)\n* *(?:\\fB)?<A[ \n]+HREF="?([^>]+.html)"?>([^<]+)</A>(?:\\fP)?',
xrefmatch, indoc)
# Format URLs
def urlmatch(match):
@@ -151,7 +157,7 @@
indoc = indoc.replace("&#215;", r"\(mu")
indoc = indoc.replace("&#174;", r"\*R")
# Turn anchors into .UN tags
- indoc = re.sub('(?i)<A NAME *= *"#?([a-zA-Z][a-zA-Z0-9.-]+)">(?:&nbsp;)*</A>\s*', ".UN \\1\n", indoc)
+ indoc = re.sub('(?i)<A NAME *= *"#?([a-zA-Z_][a-zA-Z_0-9.-]+)">(?:&nbsp;)*</A>\s*', ".UN \\1\n", indoc)
# Strip off the index trailer
trailer = re.compile('<HR */*>.*', re.DOTALL | re.IGNORECASE)
indoc = re.sub(trailer, "", indoc)
@@ -159,17 +165,17 @@
indoc = indoc.replace("</BODY>", "").replace("</HTML>", "")
indoc = indoc.replace("</body>", "").replace("</html>", "")
# Recognize sections with IDs
- indoc = re.sub('(?i)<H2><A (?:ID|NAME)="([a-zA-Z]+)">([^><]*)</A></H2>',
+ indoc = re.sub('(?i)<H2><A (?:ID|NAME)="([a-zA-Z_0-9]+)">([^><]*)</A></H2>',
".UN \\1\n.SH \\2", indoc)
- indoc = re.sub('(?i)<H3><A (?:ID|NAME)="([a-zA-Z]+)">([^><]*)</A></H3>',
+ indoc = re.sub('(?i)<H3><A (?:ID|NAME)="([a-zA-Z_0-9]+)">([^><]*)</A></H3>',
".UN \\1\n.SS \\2", indoc)
- indoc = re.sub('(?i)<H4><A (?:ID|NAME)="([a-zA-Z]+)">([^><]*)</A></H4>',
+ indoc = re.sub('(?i)<H4><A (?:ID|NAME)="([a-zA-Z_0-9]+)">([^><]*)</A></H4>',
".UN \\1\n.B \\2", indoc)
- indoc = re.sub('(?i)<H2 (?:ID|NAME)="([a-zA-Z]+)">([^><]*)</H2>',
+ indoc = re.sub('(?i)<H2 (?:ID|NAME)="([a-zA-Z_0-9]+)">([^><]*)</H2>',
".UN \\1\n.SH \\2", indoc)
- indoc = re.sub('(?i)<H3 (?:ID|NAME)="([a-zA-Z]+)">([^><]*)</H3>',
+ indoc = re.sub('(?i)<H3 (?:ID|NAME)="([a-zA-Z_0-9]+)">([^><]*)</H3>',
".UN \\1\n.SS \\2", indoc)
- indoc = re.sub('(?i)<H4 (?:ID|NAME)="([a-zA-Z]+)">([^><]*)</H4>',
+ indoc = re.sub('(?i)<H4 (?:ID|NAME)="([a-zA-Z_0-9]+)">([^><]*)</H4>',
".UN \\1\n.B \\2", indoc)
# Sections without IDs
indoc = re.sub('(?i)<H2>([^><]*)</H2>', ".SH \\1", indoc)

View File

@ -1,11 +0,0 @@
--- editor/pamscale.c
+++ editor/pamscale.c
@@ -595,6 +595,8 @@
const char *filterOpt, *window;
unsigned int filterSpec, windowSpec;
+ memset(cmdlineP, 0, sizeof(struct cmdlineInfo));
+
MALLOCARRAY_NOFAIL(option_def, 100);
option_def_index = 0; /* incremented by OPTENT3 */

View File

@ -1,20 +0,0 @@
--- converter/other/pnmtopng.c
+++ converter/other/pnmtopng.c
@@ -521,7 +521,7 @@
unsigned int * const bestMatchP) {
unsigned int paletteIndex;
- unsigned int bestIndex;
+ unsigned int bestIndex = 0;
unsigned int bestMatch;
assert(paletteSize > 0);
@@ -2342,7 +2342,7 @@
/* The color part of the color/alpha palette passed to the PNG
compressor
*/
- unsigned int palette_size;
+ unsigned int palette_size = MAXCOLORS;
gray trans_pnm[MAXCOLORS];
png_byte trans[MAXCOLORS];

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +1,19 @@
--- netpbm-10.35.64/converter/other/anytopnm
+++ netpbm-10.35.64/converter/other/anytopnm
@@ -506,11 +506,7 @@
diff -up netpbm-10.47.05/converter/other/anytopnm.security-scripts netpbm-10.47.05/converter/other/anytopnm
--- netpbm-10.47.05/converter/other/anytopnm.security-scripts 2009-12-10 08:34:36.000000000 +0100
+++ netpbm-10.47.05/converter/other/anytopnm 2010-03-16 21:28:09.000000000 +0100
@@ -510,10 +510,7 @@ else
inputFile="-"
fi
-tempdir="${TMPDIR-/tmp}/anytopnm.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
-chmod 700 $tempdir
-
-mkdir -m 0700 $tempdir || \
- { echo "Could not create temporary file. Exiting."; exit 1;}
-trap 'rm -rf $tempdir' 0
+tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
# Take out all spaces
# Find the filename extension for last-ditch efforts later
@@ -536,9 +532,17 @@
@@ -539,9 +536,17 @@ if [ "$filetype" = "unknown" ]; then
echo "$progname: unknown file type. " \
"'file' says mime type is '$mimeType', " 1>&2
echo "type description is '$typeDescription'" 1>&2
@ -31,30 +31,34 @@
+fi
+
exit 0
--- netpbm-10.35.64/editor/pamstretch-gen
+++ netpbm-10.35.64/editor/pamstretch-gen
@@ -31,10 +31,7 @@
diff -up netpbm-10.47.05/editor/pamstretch-gen.security-scripts netpbm-10.47.05/editor/pamstretch-gen
--- netpbm-10.47.05/editor/pamstretch-gen.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/pamstretch-gen 2010-03-16 21:28:47.000000000 +0100
@@ -31,13 +31,9 @@ if [ "$1" = "" ]; then
exit 1
fi
-tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
-chmod 700 $tempdir
-tempfile=$tempdir/pnmig
-mkdir -m 0700 $tempdir || \
- { echo "Could not create temporary file. Exiting."; exit 1;}
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
trap 'rm -rf $tempdir' 0 1 3 15
--- netpbm-10.35.64/editor/pnmmargin
+++ netpbm-10.35.64/editor/pnmmargin
@@ -11,16 +11,11 @@
-tempfile=$tempdir/pnmig
-
if ! cat $2 >$tempfile 2>/dev/null; then
echo 'pamstretch-gen: error reading file' 1>&2
exit 1
diff -up netpbm-10.47.05/editor/pnmmargin.security-scripts netpbm-10.47.05/editor/pnmmargin
--- netpbm-10.47.05/editor/pnmmargin.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/pnmmargin 2010-03-16 21:28:09.000000000 +0100
@@ -11,15 +11,11 @@
# documentation. This software is provided "as is" without express or
# implied warranty.
-tempdir="${TMPDIR-/tmp}/pnmmargin.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
-chmod 700 $tempdir
-
-mkdir -m 0700 $tempdir || \
- { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
-trap 'rm -rf $tempdir' 0 1 3 15
-
-tmp1=$tempdir/pnmm1
@ -68,57 +72,27 @@
+tmp4="$tmpdir/tmp4"
color="-gofigure"
@@ -39,6 +34,9 @@
shift
if [ ! ${1-""} ] ; then
echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
+ if [ -d "$tmpdir" ]; then
+ rm -rf "$tmpdir"
+ fi
exit 1
fi
color="$1"
@@ -46,6 +44,9 @@
;;
-* )
echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
+ if [ -d "$tmpdir" ]; then
+ rm -rf "$tmpdir"
+ fi
exit 1
;;
* )
@@ -56,6 +57,9 @@
if [ ! ${1-""} ] ; then
echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
+ if [ -d "$tmpdir" ]; then
+ rm -rf "$tmpdir"
+ fi
exit 1
plainopt=""
@@ -90,6 +86,7 @@ else
-white | -black )
pnmpad $plainopt $color \
-left=$size -right=$size -top=$size -bottom=$size $tmp1
+ rm -rf "$tmpdir"
exit
;;
* )
@@ -102,7 +99,4 @@ else
pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4
pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
fi
size="$1"
@@ -63,6 +67,9 @@
if [ ${2-""} ] ; then
echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
+ if [ -d "$tmpdir" ]; then
+ rm -rf "$tmpdir"
+ fi
exit 1
fi
@@ -86,3 +93,7 @@
# Cat things together.
pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4
pnmcat -tb $tmp3 $tmp4 $tmp3
+
+if [ -d "$tmpdir" ]; then
+ rm -rf "$tmpdir"
+fi
--- netpbm-10.35.64/editor/ppmfade
+++ netpbm-10.35.64/editor/ppmfade
-
-
-
-
+rm -rf "$tmpdir"
diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/ppmfade
--- netpbm-10.47.05/editor/ppmfade.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/ppmfade 2010-03-16 21:28:09.000000000 +0100
@@ -14,6 +14,7 @@
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@ -127,7 +101,7 @@
my $SPREAD = 1;
my $SHIFT = 2;
@@ -118,20 +119,26 @@
@@ -111,20 +112,26 @@ if ($first_file ne "undefined") {
print("Frames are " . $width . "W x " . $height . "H\n");
@ -158,7 +132,7 @@
}
#
@@ -139,14 +146,14 @@
@@ -132,14 +139,14 @@ if ($last_file eq "undefined") {
#
# Here's what our temporary files are:
@ -181,7 +155,7 @@
my $i; # Frame number
for ($i = 1; $i <= $nframes; $i++) {
@@ -154,148 +161,148 @@
@@ -147,147 +154,147 @@ for ($i = 1; $i <= $nframes; $i++) {
if ($mode eq $SPREAD) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
@ -382,28 +356,10 @@
+system("rm $tmpdir/junk*$$.ppm");
exit(0);
--- netpbm-10.35.64/editor/ppmquantall
+++ netpbm-10.35.64/editor/ppmquantall
@@ -70,13 +70,8 @@
heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`)
done
-tempdir="${TMPDIR-/tmp}/ppmquantall.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
-chmod 700 $tempdir
-
-trap 'rm -rf $tempdir' 0 1 3 15
-
-all=$tempdir/pqa.all.$$
+all=$(mktemp -t pqa.all.XXXXXXXXXX) || exit 1
+rm -f $all
pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all
if [ $? != 0 ]; then
--- netpbm-10.35.64/editor/ppmshadow
+++ netpbm-10.35.64/editor/ppmshadow
@@ -72,9 +72,10 @@
diff -up netpbm-10.47.05/editor/ppmshadow.security-scripts netpbm-10.47.05/editor/ppmshadow
--- netpbm-10.47.05/editor/ppmshadow.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/ppmshadow 2010-03-16 21:28:09.000000000 +0100
@@ -72,9 +72,10 @@ sub makeConvolutionKernel($$) {
my $tmpdir = $ENV{TMPDIR} || "/tmp";

View File

@ -1,6 +1,8 @@
--- editor/pnmindex.csh
Index: editor/pnmindex.csh
===================================================================
--- editor/pnmindex.csh.orig
+++ editor/pnmindex.csh
@@ -88,7 +88,7 @@
@@ -85,7 +85,7 @@ if ( $#argv == 0 ) then
goto usage
endif
@ -9,39 +11,53 @@
rm -f $tmpfile
set maxformat=PBM
--- editor/ppmquantall.csh
+++ editor/ppmquantall.csh
@@ -34,8 +34,8 @@
set heights=( $heights `sed '1d; s/.* //; 2q' $i` )
end
-set all=/tmp/pqa.all.$$
-rm -f $all
+set all=.pqa.all.$$
+
pnmcat -topbottom -jleft -white $files | ppmquant -quiet $newcolors > $all
if ( $status != 0 ) exit $status
--- generator/ppmrainbow
Index: generator/ppmrainbow
===================================================================
--- generator/ppmrainbow.orig
+++ generator/ppmrainbow
@@ -47,7 +47,13 @@
@@ -1,6 +1,7 @@
#!/usr/bin/perl -wl
use strict;
use Getopt::Long;
+use File::Temp qw{tempfile tempdir};
my ($FALSE, $TRUE) = (0,1);
@@ -47,31 +48,25 @@ if (!$norepeat) {
push @colorlist, $ARGV[0];
}
-my $tmpprefix = $tmpdir . "/$myname.$$.";
+my $mytmpdir;
+chomp($mytmpdir = `mktemp -d $tmpdir/ppmrainbow.XXXXXX`);
+if ($? >> 8) {
+ die "Can't create tmpdir";
+}
+
+my $tmpprefix = $mytmpdir . "/file.";
-my $ourtmp = "$tmpdir/ppmrainbow$$";
-mkdir($ourtmp, 0777) or
- die("Unable to create directory for temporary files '$ourtmp");
-
-
+my $ourtmp = tempdir("ppmrainbow.XXXX", DIR => $tmpdir, CLEANUP => 1);
my $widthRemaining;
my $n;
@@ -79,4 +85,5 @@
-my $n;
my @outlist;
END {
unlink @outlist if @outlist;
+ rmdir $mytmpdir if -d $mytmpdir;
-$n = 0;
$widthRemaining = $Twid;
@outlist = ();
while (@colorlist >= 2) {
- my $outfile = sprintf("%s/file.%03u.ppm", $ourtmp, $n);
+ (my $tmpfh, my $outfile) = tempfile("file.XXXXXXXX", DIR => "$ourtmp", SUFFIX => '.ppm');
push(@outlist, $outfile);
my $w = int(($widthRemaining-1)/(@colorlist-1))+1;
- my $rc = system("$verboseCommand pgmramp -lr $w $Thgt | " .
- "pgmtoppm \"$colorlist[0]-$colorlist[1]\" >$outfile");
- if ($rc != 0) {
+ my $content = qx{$verboseCommand pgmramp -lr $w $Thgt |
+ pgmtoppm "$colorlist[0]-$colorlist[1]"};
+ if (! "$content") {
fatal("pgmramp|pgmtoppm failed.");
}
+ print $tmpfh $content;
$widthRemaining -= $w;
- $n++;
shift @colorlist;
}

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Thu Sep 6 15:16:56 UTC 2012 - pgajdos@suse.com
- updated to 10.59.2:
* transition super-stable --> advanced branch
* builds with libpng15
* patches summary:
-> dropped unneeded or upstreamed patches:
- fixes.patch
- libpng14.patch
- manpages.patch
- pamscale.patch
- pnmtopng-CAN-2978.patch
-> left patches
# make.patch (suse specific)
# no-build-time.patch (suse specific)
# missing-file-close.patch (should be upstreamed in newer
versions)
# tmpfile.patch (rewritten)
# security-code.patch (taken from fedora, replacement of
former security.patch)
# security-scripts.patch (taken from fedora, replacement of
former security2.patch)
-------------------------------------------------------------------
Thu Aug 30 10:04:11 UTC 2012 - cfarrell@suse.com

View File

@ -17,7 +17,6 @@
Name: netpbm
# regarding to libpng: netpbm is compatible with libpng14 from version 10.48
BuildRequires: flex
BuildRequires: libjasper-devel
BuildRequires: libpng-devel
@ -29,41 +28,29 @@ Provides: pbmplus
Obsoletes: netpbm-64bit
%endif
#
Version: 10.35.86
%define libmaj 11
%define libmin 59
%define libver %{libmaj}.%{libmin}
Version: 10.59.2
Release: 0
Summary: A Powerful Graphics Conversion Package
License: BSD-3-Clause and GPL-2.0+ and SUSE-IJG and MIT and SUSE-Public-Domain
Group: Productivity/Graphics/Convertors
Source: netpbm-%{version}-nohpcdtoppm-nojbig.tar.bz2
Source: netpbm-%{version}-nohpcdtoppm-noppmtompeg.tar.bz2
Source1: netpbm-%{version}-documentation.tar.bz2
Source2: baselibs.conf
Source3: prepare-src-tarball
# SUSE specific
Patch0: %{name}-make.patch
# partially upstreamed in development version
Patch1: %{name}-manpages.patch
# refused by upstream
Patch2: %{name}-security.patch
# refused by upstream
Patch3: %{name}-security2.patch
# refused by upstream
Patch4: %{name}-pnmtopng-CAN-2978.patch
# don't know what it does so far
Patch5: %{name}-tmpfile.patch
# SUSE specific: no build date
Patch1: %{name}-no-build-date.patch
# upstreamed in development version
Patch6: %{name}-fixes.patch
# upstreamed in development version (another way)
Patch7: %{name}-pamscale.patch
# upstreamed in development version
Patch8: %{name}-missing-file-close.patch
# no build date
Patch9: netpbm-no-build-date.patch
# new versions build against libpng14
Patch10: %{name}-libpng14.patch
Url: http://netpbm.sourceforge.net
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Patch2: %{name}-missing-file-close.patch
Patch3: %{name}-tmpfile.patch
Patch4: %{name}-security-code.patch
Patch5: %{name}-security-scripts.patch
%package -n libnetpbm10
%package -n libnetpbm%{libmaj}
Summary: Libraries for the NetPBM (NetPortableBitmap) Graphic Formats
Group: System/Libraries
# bug437293
@ -82,7 +69,7 @@ Group: Development/Libraries/C and C++
Obsoletes: libnetpbm-devel-64bit
%endif
#
Requires: libnetpbm10 = %{version}
Requires: libnetpbm%{libmaj} = %{version}
Provides: libnetpbm:/usr/include/pbm.h
%description
@ -96,7 +83,7 @@ Paintjet file, QRT raytracer, AUTOCAD slide, Atari Spectrum (compressed
and uncompressed), Andrew Toolkit raster object, and many more. On top
of that, man pages are included for all tools.
%description -n libnetpbm10
%description -n libnetpbm%{libmaj}
These are the libs for the netpbm graphic formats. The tools can be
found in the netpbm package. The sources are contained in the netpbm
source package.
@ -109,36 +96,20 @@ source package.
%prep
%setup
%setup -D -q -a 1
rm -rf libtiff
%patch0
%patch1
%patch2 -p1
%patch3 -p1
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10 -p1
rm -rf converter/other/jpeg2000/libjasper/include #make sure the internal libjasper is not used
mkdir -p pnmtopalm
cd pnmtopalm
cp -v ../converter/other/pnmtopalm/LICENSE .
cp -v ../converter/other/pnmtopalm/README .
%patch2
%patch3
%patch4 -p1
%patch5 -p1
mkdir pnmtopalm # for %doc pnmtopalm
cp -p converter/other/pnmtopalm/{LICENSE,README} pnmtopalm
%build
# fix build with newer glibc
sed "s:getline:getline_nonlibc:" -i converter/ppm/xvminitoppm.c
#
cp Makefile.config.in Makefile.config
CFLAGS="$RPM_OPT_FLAGS"
%if %suse_version > 1030
CFLAGS="$CFLAGS -flax-vector-conversions"
%endif
make CFLAGS="$CFLAGS" \
JASPERLIB=-ljasper \
JASPERHDR_DIR=/usr/include/jasper
# netpbm has _interactive_ configure perl script
cp config.mk.in config.mk # recomended by upstream, see doc/INSTALL
export CFLAGS="$RPM_OPT_FLAGS -flax-vector-conversions"
make CFLAGS="$CFLAGS"
rm doc/INSTALL
#
# convert html to man pages
@ -150,29 +121,27 @@ for i in 1 3 5 ; do
done
%install
mkdir -p $RPM_BUILD_ROOT/usr/{bin,include,%_lib,share/man}
# netpbm has _interactive_ install perl script, see doc/INSTALL
make pkgdir=`pwd`/package package STRIPFLAG=
cp -prd package/bin $RPM_BUILD_ROOT/usr
cp -pd package/{lib,link}/* $RPM_BUILD_ROOT/usr/%_lib
ln -sf libnetpbm.so.10.35 $RPM_BUILD_ROOT/usr/%_lib/libnetpbm.so
ln -sf libnetpbm.so $RPM_BUILD_ROOT/usr/%_lib/libpbm.so
ln -sf libnetpbm.so $RPM_BUILD_ROOT/usr/%_lib/libpgm.so
ln -sf libnetpbm.so $RPM_BUILD_ROOT/usr/%_lib/libpnm.so
ln -sf libnetpbm.so $RPM_BUILD_ROOT/usr/%_lib/libppm.so
cp -pd package/include/* $RPM_BUILD_ROOT/usr/include
cp -prd man/* $RPM_BUILD_ROOT/usr/share/man
rm $RPM_BUILD_ROOT/usr/%_lib/*.a
mkdir -p $RPM_BUILD_ROOT/usr/share/netpbm
install -m 644 converter/other/pnmtopalm/*.map $RPM_BUILD_ROOT/usr/share/netpbm
rm $RPM_BUILD_ROOT/usr/bin/doc.url
rm $RPM_BUILD_ROOT/usr/bin/g3topbm #conflict with g3utils
rm package/bin/doc.url
rm package/bin/g3topbm #conflict with g3utils
#
mkdir -p $RPM_BUILD_ROOT%{_prefix}/{bin,include,%_lib,share/man,share/%{name}}
cp -pd package/bin/* $RPM_BUILD_ROOT%{_bindir}
cp -pd package/lib/*.so* $RPM_BUILD_ROOT%{_libdir}
ln -s libnetpbm.so.%{libver} $RPM_BUILD_ROOT%{_libdir}/libnetpbm.so
ln -s libnetpbm.so $RPM_BUILD_ROOT%{_libdir}/libpbm.so
ln -s libnetpbm.so $RPM_BUILD_ROOT%{_libdir}/libpgm.so
ln -s libnetpbm.so $RPM_BUILD_ROOT%{_libdir}/libpnm.so
ln -s libnetpbm.so $RPM_BUILD_ROOT%{_libdir}/libppm.so
cp -prd package/include/netpbm $RPM_BUILD_ROOT%{_includedir}
cp -prd man/* $RPM_BUILD_ROOT%{_mandir}
install -m 644 converter/other/pnmtopalm/*.map \
$RPM_BUILD_ROOT%{_datadir}/%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post -n libnetpbm%{libmaj} -p /sbin/ldconfig
%post -n libnetpbm10 -p /sbin/ldconfig
%postun -n libnetpbm10 -p /sbin/ldconfig
%postun -n libnetpbm%{libmaj} -p /sbin/ldconfig
%files
%defattr(-,root,root)
@ -181,16 +150,16 @@ rm -rf $RPM_BUILD_ROOT
%doc %{_mandir}/man1/*.gz
%doc %{_mandir}/man3/*.gz
%doc %{_mandir}/man5/*.gz
/usr/bin/*
/usr/share/netpbm
%{_bindir}/*
%{_datadir}/%{name}
%files -n libnetpbm10
%files -n libnetpbm%{libmaj}
%defattr(-,root,root)
%{_libdir}/lib*.so.*
%files -n libnetpbm-devel
%defattr(-,root,root)
/usr/include/*
%{_includedir}/%{name}
%{_libdir}/lib*.so
%changelog

View File

@ -7,8 +7,8 @@
rm -rf REMOVE
mkdir REMOVE
cd REMOVE
svn checkout http://netpbm.svn.sourceforge.net/svnroot/netpbm/super_stable netpbm
VER=`echo \`cut -f2 -d= netpbm*/Makefile.version \`|sed -e "s| |.|g"`
svn checkout http://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced netpbm
VER=`echo \`cut -f2 -d= netpbm*/version.mk \`|sed -e "s| |.|g"`
mv netpbm* netpbm-$VER
find . -name ".svn" -exec rm -rf {} \;
@ -22,15 +22,6 @@ echo install.data: >> Makefile
echo clean: >> Makefile
cd ../../../..
cd netpbm*/converter/other/jbig || exit 1
rm -rf *
echo all: >> Makefile
echo install.bin: >> Makefile
echo install.man: >> Makefile
echo install.data: >> Makefile
echo clean: >> Makefile
cd ../../../..
cd netpbm*/converter/ppm/ppmtompeg || exit 1
rm -rf *
echo all: >> Makefile
@ -40,9 +31,8 @@ echo install.data: >> Makefile
echo clean: >> Makefile
cd ../../../..
tar cjf ../netpbm-$VER-nohpcdtoppm-nojbig.tar.bz2 *
tar cjf ../netpbm-$VER-nohpcdtoppm-noppmtompeg.tar.bz2 *
wget -m netpbm.sourceforge.net
rm netpbm.sourceforge.net/bdffont.tgz
tar cjf ../netpbm-$VER-documentation.tar.bz2 netpbm.sourceforge.net