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 Index: config.mk.in
+++ Makefile.config.in ===================================================================
@@ -108,7 +108,7 @@ --- config.mk.in.orig
+++ config.mk.in
@@ -109,7 +109,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s
#OSF1: #OSF1:
#INSTALL = $(SRCDIR)/buildtools/installosf #INSTALL = $(SRCDIR)/buildtools/installosf
#Red Hat Linux: #Red Hat Linux:
@ -9,7 +11,7 @@
# STRIPFLAG is the option you pass to the above install program to make it # STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries. # strip unnecessary information out of binaries.
@@ -283,7 +283,7 @@ @@ -295,7 +295,7 @@ LDRELOC = NONE
CFLAGS_SHLIB = CFLAGS_SHLIB =
# Gcc: # Gcc:
#CFLAGS_SHLIB = -fpic #CFLAGS_SHLIB = -fpic
@ -18,7 +20,7 @@
# Sun compiler: # Sun compiler:
#CFLAGS_SHLIB = -Kpic #CFLAGS_SHLIB = -Kpic
#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 # The TIFF library. See above. If you want to build the tiff
# converters, you must have the tiff library already installed. # converters, you must have the tiff library already installed.
@ -27,7 +29,7 @@
TIFFHDR_DIR = TIFFHDR_DIR =
#TIFFLIB = libtiff.so #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 # JPEG stuff statically linked in, in which case you won't need
# JPEGLIB in order to build the Tiff converters. # JPEGLIB in order to build the Tiff converters.
@ -36,7 +38,7 @@
JPEGHDR_DIR = JPEGHDR_DIR =
#JPEGLIB = libjpeg.so #JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg #JPEGHDR_DIR = /usr/include/jpeg
@@ -432,7 +432,7 @@ @@ -451,7 +451,7 @@ PNGVER =
# #
# If you have 'libpng-config' (see above), these are irrelevant. # If you have 'libpng-config' (see above), these are irrelevant.
@ -45,3 +47,14 @@
ZHDR_DIR = ZHDR_DIR =
#ZLIB = libz.so #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 diff -up netpbm-10.47.05/converter/other/anytopnm.security-scripts netpbm-10.47.05/converter/other/anytopnm
+++ netpbm-10.35.64/converter/other/anytopnm --- netpbm-10.47.05/converter/other/anytopnm.security-scripts 2009-12-10 08:34:36.000000000 +0100
@@ -506,11 +506,7 @@ +++ netpbm-10.47.05/converter/other/anytopnm 2010-03-16 21:28:09.000000000 +0100
@@ -510,10 +510,7 @@ else
inputFile="-" inputFile="-"
fi fi
-tempdir="${TMPDIR-/tmp}/anytopnm.$$" -tempdir="${TMPDIR-/tmp}/anytopnm.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;} -mkdir -m 0700 $tempdir || \
-chmod 700 $tempdir - { echo "Could not create temporary file. Exiting."; exit 1;}
-
-trap 'rm -rf $tempdir' 0 -trap 'rm -rf $tempdir' 0
+tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1 +tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
# Take out all spaces # Take out all spaces
# Find the filename extension for last-ditch efforts later # 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. " \ echo "$progname: unknown file type. " \
"'file' says mime type is '$mimeType', " 1>&2 "'file' says mime type is '$mimeType', " 1>&2
echo "type description is '$typeDescription'" 1>&2 echo "type description is '$typeDescription'" 1>&2
@ -31,30 +31,34 @@
+fi +fi
+ +
exit 0 exit 0
--- netpbm-10.35.64/editor/pamstretch-gen diff -up netpbm-10.47.05/editor/pamstretch-gen.security-scripts netpbm-10.47.05/editor/pamstretch-gen
+++ netpbm-10.35.64/editor/pamstretch-gen --- netpbm-10.47.05/editor/pamstretch-gen.security-scripts 2009-12-10 08:34:32.000000000 +0100
@@ -31,10 +31,7 @@ +++ netpbm-10.47.05/editor/pamstretch-gen 2010-03-16 21:28:47.000000000 +0100
@@ -31,13 +31,9 @@ if [ "$1" = "" ]; then
exit 1 exit 1
fi fi
-tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$" -tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;} -mkdir -m 0700 $tempdir || \
-chmod 700 $tempdir - { echo "Could not create temporary file. Exiting."; exit 1;}
-tempfile=$tempdir/pnmig
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1 +tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
trap 'rm -rf $tempdir' 0 1 3 15 trap 'rm -rf $tempdir' 0 1 3 15
--- netpbm-10.35.64/editor/pnmmargin -tempfile=$tempdir/pnmig
+++ netpbm-10.35.64/editor/pnmmargin -
@@ -11,16 +11,11 @@ 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 # documentation. This software is provided "as is" without express or
# implied warranty. # implied warranty.
-tempdir="${TMPDIR-/tmp}/pnmmargin.$$" -tempdir="${TMPDIR-/tmp}/pnmmargin.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;} -mkdir -m 0700 $tempdir || \
-chmod 700 $tempdir - { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
-
-trap 'rm -rf $tempdir' 0 1 3 15 -trap 'rm -rf $tempdir' 0 1 3 15
- -
-tmp1=$tempdir/pnmm1 -tmp1=$tempdir/pnmm1
@ -68,57 +72,27 @@
+tmp4="$tmpdir/tmp4" +tmp4="$tmpdir/tmp4"
color="-gofigure" color="-gofigure"
plainopt=""
@@ -39,6 +34,9 @@ @@ -90,6 +86,7 @@ else
shift -white | -black )
if [ ! ${1-""} ] ; then pnmpad $plainopt $color \
echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2 -left=$size -right=$size -top=$size -bottom=$size $tmp1
+ if [ -d "$tmpdir" ]; then + rm -rf "$tmpdir"
+ rm -rf "$tmpdir" exit
+ fi ;;
exit 1 * )
fi @@ -102,7 +99,4 @@ else
color="$1" pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4
@@ -46,6 +44,9 @@ pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
;;
-* )
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
fi fi
size="$1" -
@@ -63,6 +67,9 @@ -
-
if [ ${2-""} ] ; then -
echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2 +rm -rf "$tmpdir"
+ if [ -d "$tmpdir" ]; then diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/ppmfade
+ rm -rf "$tmpdir" --- netpbm-10.47.05/editor/ppmfade.security-scripts 2009-12-10 08:34:32.000000000 +0100
+ fi +++ netpbm-10.47.05/editor/ppmfade 2010-03-16 21:28:09.000000000 +0100
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
@@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
# #
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@ -127,7 +101,7 @@
my $SPREAD = 1; my $SPREAD = 1;
my $SHIFT = 2; 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"); 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: # Here's what our temporary files are:
@ -181,7 +155,7 @@
my $i; # Frame number my $i; # Frame number
for ($i = 1; $i <= $nframes; $i++) { 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 ($mode eq $SPREAD) {
if ($i <= 10) { if ($i <= 10) {
my $n = $spline20[$i] * 100; my $n = $spline20[$i] * 100;
@ -382,28 +356,10 @@
+system("rm $tmpdir/junk*$$.ppm"); +system("rm $tmpdir/junk*$$.ppm");
exit(0); exit(0);
diff -up netpbm-10.47.05/editor/ppmshadow.security-scripts netpbm-10.47.05/editor/ppmshadow
--- netpbm-10.35.64/editor/ppmquantall --- netpbm-10.47.05/editor/ppmshadow.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.35.64/editor/ppmquantall +++ netpbm-10.47.05/editor/ppmshadow 2010-03-16 21:28:09.000000000 +0100
@@ -70,13 +70,8 @@ @@ -72,9 +72,10 @@ sub makeConvolutionKernel($$) {
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 @@
my $tmpdir = $ENV{TMPDIR} || "/tmp"; 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 +++ editor/pnmindex.csh
@@ -88,7 +88,7 @@ @@ -85,7 +85,7 @@ if ( $#argv == 0 ) then
goto usage goto usage
endif endif
@ -9,39 +11,53 @@
rm -f $tmpfile rm -f $tmpfile
set maxformat=PBM set maxformat=PBM
--- editor/ppmquantall.csh Index: generator/ppmrainbow
+++ editor/ppmquantall.csh ===================================================================
@@ -34,8 +34,8 @@ --- generator/ppmrainbow.orig
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
+++ generator/ppmrainbow +++ 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]; push @colorlist, $ARGV[0];
} }
-my $tmpprefix = $tmpdir . "/$myname.$$."; -my $ourtmp = "$tmpdir/ppmrainbow$$";
+my $mytmpdir; -mkdir($ourtmp, 0777) or
+chomp($mytmpdir = `mktemp -d $tmpdir/ppmrainbow.XXXXXX`); - die("Unable to create directory for temporary files '$ourtmp");
+if ($? >> 8) { -
+ die "Can't create tmpdir"; -
+} +my $ourtmp = tempdir("ppmrainbow.XXXX", DIR => $tmpdir, CLEANUP => 1);
+
+my $tmpprefix = $mytmpdir . "/file.";
my $widthRemaining; my $widthRemaining;
my $n; -my $n;
@@ -79,4 +85,5 @@ my @outlist;
END { -$n = 0;
unlink @outlist if @outlist; $widthRemaining = $Twid;
+ rmdir $mytmpdir if -d $mytmpdir; @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 Thu Aug 30 10:04:11 UTC 2012 - cfarrell@suse.com

View File

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

View File

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