update to 10.61.02 [release 10.61.02-1mamba;Fri Jul 26 2013]

This commit is contained in:
Automatic Build System 2024-01-06 07:35:53 +01:00
parent 77dc9ec278
commit 31c2edcaa1
12 changed files with 3892 additions and 0 deletions

View File

@ -1,2 +1,15 @@
# netpbm
Netpbm is a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats.
There are over 220 separate tools in the package including converters for about 100 graphics formats.
Examples of the sort of image manipulation we're talking about are:
* Shrinking an image by 10%
* Cutting the top half off of an image
* Making a mirror image
* Creating a sequence of images that fade from one image to another
The goal of Netpbm is to be a single source for all the primitive graphics utilities, especially converters, one might need.
So if you know of some freely redistributable software in this vein which is not in the package yet, you should bring it to the attention of the Netpbm maintainer so it can be included in the next release.
Netpbm does not contain interactive tools and doesn't have a graphical interface.

12
netpbm-10.15-make.patch Normal file
View File

@ -0,0 +1,12 @@
--- netpbm-10.15/lib/Makefile.orig 2003-01-19 20:49:07.000000000 +0100
+++ netpbm-10.15/lib/Makefile 2003-05-17 23:06:16.000000000 +0200
@@ -186,7 +186,8 @@
libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/
cd $(PKGDIR)/lib/ ; \
rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ); \
- $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(SONAME)
+ $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(SONAME); \
+ $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) libnetpbm.$(NETPBMLIBSUFFIX)
endif
ifeq ($(NETPBMLIBTYPE),dll)
#install a Windows DLL shared library

View File

@ -0,0 +1,20 @@
--- netpbm-10.20/converter/other/pnmtopng.c.orig 2005-10-19 13:41:17.000000000 +0200
+++ netpbm-10.20/converter/other/pnmtopng.c 2005-10-19 13:42:13.000000000 +0200
@@ -152,7 +152,7 @@ closestColorInPalette(pixel con
unsigned int * const bestMatchP) {
unsigned int paletteIndex;
- unsigned int bestIndex;
+ unsigned int bestIndex = 0;
unsigned int bestMatch;
bestMatch = UINT_MAX;
@@ -1359,7 +1359,7 @@ convertpnm(FILE * const ifp,
/* 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];

View File

@ -0,0 +1,419 @@
--- netpbm-10.28/converter/other/anytopnm.security2 2005-05-27 00:10:39.000000000 +0200
+++ netpbm-10.28/converter/other/anytopnm 2005-06-10 09:42:48.609492080 +0200
@@ -522,11 +522,7 @@ else
inputFile="-"
fi
-tempdir="${TMPDIR-/tmp}/anytopnm.$$"
-mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
-chmod 700 $tempdir
-
-trap 'rm -rf $tempdir' 0
+tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
findAwk;
@@ -549,9 +545,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
+ if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+ fi
+
exit 1
fi
convertIt $file $filetype
+if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+fi
+
exit 0
--- netpbm-10.28/editor/ppmfade.security2 2005-03-16 22:10:39.000000000 +0100
+++ netpbm-10.28/editor/ppmfade 2005-06-10 09:02:04.545046352 +0200
@@ -14,6 +14,7 @@
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
use strict;
+use File::Temp "tempdir";
my $SPREAD = 1;
my $SHIFT = 2;
@@ -116,20 +117,26 @@ if ($first_file ne "undefined") {
print("Frames are " . $width . "W x " . $height . "H\n");
+#
+# We create a tmp-directory right here
+#
+my $tmpdir = tempdir("ppmfade.XXXXXX", CLEANUP => 1);
+
+
if ($first_file eq "undefined") {
print "Fading from black to ";
- system("ppmmake \\#000 $width $height >junk1$$.ppm");
+ system("ppmmake \\#000 $width $height >$tmpdir/junk1$$.ppm");
} else {
print "Fading from $first_file to ";
- system("cp", $first_file, "junk1$$.ppm");
+ system("cp", $first_file, "$tmpdir/junk1$$.ppm");
}
if ($last_file eq "undefined") {
print "black.\n";
- system("ppmmake \\#000 $width $height >junk2$$.ppm");
+ system("ppmmake \\#000 $width $height >$tmpdir/junk2$$.ppm");
} else {
print "$last_file\n";
- system("cp", $last_file, "junk2$$.ppm");
+ system("cp", $last_file, "$tmpdir/junk2$$.ppm");
}
#
@@ -137,14 +144,14 @@ if ($last_file eq "undefined") {
#
# Here's what our temporary files are:
-# junk1$$.ppm: The original (fade-from) image
-# junk2$$.ppm: The target (fade-from) image
-# junk3$$.ppm: The frame of the fade for the current iteration of the
-# the for loop.
-# junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate
-# image to another, this is the first frame of that
-# sequence.
-# junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence
+# $tmpdir/junk1$$.ppm: The original (fade-from) image
+# $tmpdir/junk2$$.ppm: The target (fade-from) image
+# $tmpdir/junk3$$.ppm: The frame of the fade for the current iteration of the
+# the for loop.
+# $tmpdir/junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate
+# image to another, this is the first frame of that
+# sequence.
+# $tmpdir/junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence
my $i; # Frame number
for ($i = 1; $i <= $nframes; $i++) {
@@ -152,148 +159,148 @@ for ($i = 1; $i <= $nframes; $i++) {
if ($mode eq $SPREAD) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
- system("ppmspread $n junk1$$.ppm >junk3$$.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n;
$n = $spline20[$i] * 100;
- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10]) * 100;
- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = (1-$spline20[$i-10])*100;
- system("ppmspread $n junk2$$.ppm >junk3$$.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
} elsif ($mode eq $SHIFT) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
- system("ppmshift $n junk1$$.ppm >junk3$$.ppm");
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n;
$n = $spline20[$i] * 100;
- system("ppmshift $n junk1$$.ppm >junk1a$$.ppm");
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10])*100;
- system("ppmshift $n junk2$$.ppm >junk2a$$.ppm");
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = (1-$spline20[$i-10]) * 100;
- system("ppmshift $n junk2$$.ppm >junk3$$.ppm");
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
} elsif ($mode eq $RELIEF) {
if ($i == 1) {
- system("ppmrelief junk1$$.ppm >junk1r$$.ppm");
+ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmrelief junk2$$.ppm >junk2r$$.ppm");
+ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm");
}
} elsif ($mode eq $OIL) {
if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $EDGE) {
if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $BENTLEY) {
if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $BLOCK) {
if ($i <= 10) {
my $n = 1 - 1.9*$spline20[$i];
- system("pamscale $n junk1$$.ppm | " .
- "pamscale -width $width -height $height >junk3$$.ppm");
+ system("pamscale $n $tmpdir/junk1$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = 1 - 1.9*$spline20[31-$i];
- system("pamscale $n junk2$$.ppm | " .
- "pamscale -width $width -height $height >junk3$$.ppm");
+ system("pamscale $n $tmpdir/junk2$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("cp", "junk3$$.ppm", "junk1a$$.ppm");
- system("pamscale $n junk2$$.ppm | " .
- "pamscale -width $width -height $height >junk2a$$.ppm");
+ system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm");
+ system("pamscale $n $tmpdir/junk2$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm");
}
} elsif ($mode eq $MIX) {
my $fade_factor = sqrt(1/($nframes-$i+1));
- system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
} else {
print("Internal error: impossible mode value '$mode'\n");
}
my $outfile = sprintf("%s.%04d.ppm", $base_name, $i);
- system("cp", "junk3$$.ppm", $outfile);
+ system("cp", "$tmpdir/junk3$$.ppm", $outfile);
}
#
# Clean up shop.
#
-system("rm junk*$$.ppm");
+system("rm $tmpdir/junk*$$.ppm");
exit(0);
--- netpbm-10.28/editor/ppmquantall.security2 2005-03-17 00:44:03.000000000 +0100
+++ netpbm-10.28/editor/ppmquantall 2005-06-10 09:02:04.547046048 +0200
@@ -63,13 +63,8 @@ for i in ${files[@]}; do
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.28/editor/pnmmargin.security2 2003-12-31 05:01:26.000000000 +0100
+++ netpbm-10.28/editor/pnmmargin 2005-06-10 09:02:04.549045744 +0200
@@ -11,16 +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
-
-trap 'rm -rf $tempdir' 0 1 3 15
-
-tmp1=$tempdir/pnmm1
-tmp2=$tempdir/pnmm2
-tmp3=$tempdir/pnmm3
-tmp4=$tempdir/pnmm4
+tmpdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
+tmp1="$tmpdir/tmp1"
+tmp2="$tmpdir/tmp2"
+tmp3="$tmpdir/tmp3"
+tmp4="$tmpdir/tmp4"
color="-gofigure"
@@ -39,6 +34,9 @@ while true ; do
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 @@ while true ; do
;;
-* )
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 @@ done
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
size="$1"
@@ -63,6 +67,9 @@ shift
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 @@ pamflip -rotate90 $tmp2 > $tmp3
# Cat things together.
pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4
pnmcat -tb $tmp3 $tmp4 $tmp3
+
+if [ -d "$tmpdir" ]; then
+ rm -rf "$tmpdir"
+fi
--- netpbm-10.28/editor/pamstretch-gen.security2 2004-07-25 02:01:24.000000000 +0200
+++ netpbm-10.28/editor/pamstretch-gen 2005-06-10 09:02:04.550045592 +0200
@@ -31,10 +31,7 @@ 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
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
trap 'rm -rf $tempdir' 0 1 3 15
--- netpbm-10.28/editor/ppmshadow.security2 2005-04-23 23:16:16.000000000 +0200
+++ netpbm-10.28/editor/ppmshadow 2005-06-10 09:37:19.253561792 +0200
@@ -72,9 +72,10 @@ sub makeConvolutionKernel($$) {
my $tmpdir = $ENV{TMPDIR} || "/tmp";
-my $ourtmp = "$tmpdir/ppmshadow$$";
-mkdir($ourtmp, 0777) or
- die("Unable to create directory for temporary files '$ourtmp");
+chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
+if ($? >> 8) {
+ die "Can't create directory for temporary files";
+}
# Process command line options

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
--- netpbm-10.27/converter/other/bmptopnm.c.bmptopnm 2005-05-09 10:06:05.707795976 +0200
+++ netpbm-10.27/converter/other/bmptopnm.c 2005-05-09 10:29:30.498235368 +0200
@@ -932,7 +932,7 @@ readBmp(FILE * const ifP,
xel ** const colormapP,
bool const verbose) {
- xel * colormap; /* malloc'ed */
+ xel * colormap = NULL; /* malloc'ed */
unsigned int pos;
/* The following are all information from the BMP headers */
@@ -1106,7 +1106,7 @@ main(int argc, char ** argv) {
writeRaster(BMPraster, cols, rows, outputType, cBitCount, pixelformat,
colormap);
- free(colormap);
+ if (colormap) free(colormap);
free(BMPraster);
exit(0);

View File

@ -0,0 +1,16 @@
--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200
+++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200
@@ -711,11 +711,11 @@
"'%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'",
ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, "-q", "-dNOPAUSE",
- "-dSAFER", "-");
+ "-dPARANOIDSAFER", "-");
}
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, "-q",
- "-dNOPAUSE", "-dSAFER", "-", NULL);
+ "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
ghostscriptProg, errno, strerror(errno));

20
netpbm-10.28-gcc4.patch Normal file
View File

@ -0,0 +1,20 @@
--- netpbm-10.30/lib/pm.h.gcc4 2005-10-21 12:19:56.000000000 +0200
+++ netpbm-10.30/lib/pm.h 2005-10-21 12:20:03.000000000 +0200
@@ -18,6 +18,7 @@
#include <sys/types.h>
#include <ctype.h>
#include <stdio.h>
+#include <string.h>
#include <errno.h>
#include <setjmp.h>
#include <sys/stat.h>
--- netpbm-10.30/urt/rle.h.gcc4 2005-10-21 12:19:56.000000000 +0200
+++ netpbm-10.30/urt/rle.h 2005-10-21 12:21:31.000000000 +0200
@@ -36,6 +36,7 @@
#include "rle_config.h" /* Configuration parameters. */
#include <stdio.h> /* Declare FILE. */
+#include <string.h>
#ifdef c_plusplus
#define USE_PROTOTYPES

View File

@ -0,0 +1,11 @@
--- netpbm-10.30/Makefile.common 2005-10-08 04:36:12.000000000 +0200
+++ netpbm-10.30-fix/Makefile.common 2005-10-19 14:41:41.000000000 +0200
@@ -383,7 +383,7 @@
MANUALS1 = $(BINARIES) $(SCRIPTS)
-PKGMANDIR = man
+PKGMANDIR = share/man
install.man1: $(PKGDIR)/$(PKGMANDIR)/man1 $(MANUALS1:%=%_installman1)

View File

@ -0,0 +1,21 @@
--- netpbm-10.33/converter/other/pamtofits.c.21444 2006-05-26 15:51:05.000000000 +0200
+++ netpbm-10.33/converter/other/pamtofits.c 2006-05-26 15:51:34.000000000 +0200
@@ -58,13 +58,13 @@ writeFitsHeader(int const bitpix,
sprintf(card, "%-20.20s%10d%-50.50s", "NAXIS3 =", 3, "");
writeCard(card); ++cardsWritten;
}
- sprintf(card, "%-18.18s%E%-51.51s", "BSCALE =", bscale, "");
+ sprintf(card, "%-18.18s%E%-50.50s", "BSCALE =", bscale, "");
writeCard(card); ++cardsWritten;
- sprintf(card, "%-18.18s%E%-51.51s", "BZERO =", fitsBzero, "");
+ sprintf(card, "%-18.18s%E%-50.50s", "BZERO =", fitsBzero, "");
writeCard(card); ++cardsWritten;
- sprintf(card, "%-18.18s%E%-51.51s", "DATAMAX =", datamax, "");
+ sprintf(card, "%-18.18s%E%-50.50s", "DATAMAX =", datamax, "");
writeCard(card); ++cardsWritten;
- sprintf(card, "%-18.18s%E%-51.51s", "DATAMIN =", datamin, "");
+ sprintf(card, "%-18.18s%E%-50.50s", "DATAMIN =", datamin, "");
writeCard(card); ++cardsWritten;
sprintf(card, "%-80.80s", "HISTORY Created by pnmtofits.");
writeCard(card); ++cardsWritten;

657
netpbm-10.51.00-config.mk Normal file
View File

@ -0,0 +1,657 @@
####This file was automatically created by 'configure.'
####Many variables are set twice -- a generic setting, then
####a system-specific override at the bottom of the file.
####
# This is a make file inclusion, to be included in all the Netpbm make
# files.
# This file is meant to contain variable settings that customize the
# build for a particular target system configuration.
# The distribution contains the file config.mk.in. You edit
# config.mk.in in ways relevant to your particular environment
# to create config.mk. The "configure" program will do this
# for you in simple cases.
# Some of the variables that the including make file must set for this
# file to work:
#
# SRCDIR: The directory at the top of the Netpbm source tree. Note that
# this is typically a relative directory, and it must be relative to the
# make file that includes this file.
DEFAULT_TARGET = nonmerge
#DEFAULT_TARGET = merge
# Fiasco has some special requirements that make it fail to compile on
# some systems, and since it isn't very important, just set this to "N"
# and skip it on those systems unless you want to debug it and fix it.
# OpenBSD:
#BUILD_FIASCO = N
BUILD_FIASCO = Y
# The following are commands for the build process to use. These values
# do not get built into anything.
# The C compiler (including macro preprocessor)
#CC = gcc
# Note that 'cc' is usually an alias for whatever is the main compiler
# on a system, e.g. the GNU Compiler on Linux.
CC = cc
# The linker.
LD = $(CC)
#LD = ld
#Tru64:
#LD = cc
#LD = gcc
#If the linker identified above is a compiler that invokes a linker
#(as in 'cc foo.o -o foo'), set LINKERISCOMPILER. The main difference is
#that we expect a compiler to take linker options in the '-Wl,-opt1,val1'
#syntax whereas the actual linker would take '-opt1 val1'.
LINKERISCOMPILER=Y
#If $(LD) is 'ld':
#LINKERISCOMPILER=N
#LINKER_CAN_DO_EXPLICIT_LIBRARY means the linker specified above can
#take a library as just another link object argument, as in 'ld
#pnmtojpeg.o /usr/local/lib/libjpeg.so ...' as opposed to requiring a
#-l option as in 'ld pnmtojpeg.o -L/usr/local/lib -l jpeg'.
#This variable controls how 'libopt' gets built. Note that with some
#linkers, you can specify a shared library explicitly, but then it has
#to live in that exact place at run time. That's not good enough for us.
LINKER_CAN_DO_EXPLICIT_LIBRARY=N
#GNU:
#LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
# This is the name of the header file that declares the types
# uint32_t, etc. This name is used as #include $(INTTYPES_H) .
# Set to null if the types come automatically without including anything.
# We have a report (2005.09.17) that on IRIX 5.3 with the native IDO
# cc, inttypes.h and sys/types.h conflict (and Netpbm programs include
# sys/types for other things), so for that environment, <inttypes.h>
# won't work, but "inttypes_netpbm.h" might.
INTTYPES_H = <inttypes.h>
# Linux libc5:
#INTTYPES_H = <types.h>
# Solaris:
# Solaris has <sys/inttypes.h>, but it doesn't define int_fast2_t, etc.
#INTTYPES_H = "inttypes_netpbm.h"
# Others:
#INTTYPES_H = <sys/stdint.h>
#INTTYPES_H = <sys/types.h>
# The automatically generated Netpbm version:
#INTTYPES_H = "inttypes_netpbm.h"
# HAVE_INT64 tells whether, assuming you include the header indicated by
# INTTYPES_H, you have the int64_t type and related stuff. (If you don't
# the build will omit certain code that does 64 bit computations).
HAVE_INT64 = Y
#HAVE_INT64 = N
# CC and LD are for building the Netpbm programs, which are not necessarily
# intended to run on the same system on which Make is running. But when we
# build a build tool such as Libopt, it is meant to run only on the same
# system on which the Make is running. The variables below define programs
# to use to compile and link build tools.
CC_FOR_BUILD = $(CC)
LD_FOR_BUILD = $(LD)
CFLAGS_FOR_BUILD = $(CFLAGS)
LDFLAGS_FOR_BUILD = $(LDFLAGS)
# MAKE is set automatically by Make to what was used to invoke Make.
INSTALL = $(SRCDIR)/buildtools/install.sh
#Solaris:
#INSTALL = /usr/ucb/install
#Tru64:
#INSTALL = installbsd
#OSF1:
#INSTALL = $(SRCDIR)/buildtools/installosf
#Red Hat Linux:
#INSTALL = install
# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
STRIPFLAG = -s
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG =
SYMLINK = ln -s
# At least some Windows environments don't have any concept of symbolic
# links, but direct copies are usually a passable alternative.
#SYMLINK = cp
#MANPAGE_FORMAT is "nroff" or "cat". It determines in what format the
#pointer man pages are installed (ready to nroff, or ready to cat).
#A pointer man pages is just a single-paragraph pages that tells you there is
#no man page for the program, to look at the HTML documentation instead.
MANPAGE_FORMAT = nroff
#MANPAGE_FORMAT = cat
AR = ar
RANLIB = ranlib
# IRIX, SCO don't have Ranlib:
#RANLIB = true
# LEX is the beginning of a shell command that runs a Lex-like
# pattern matcher generator. Null string means there isn't any such
# command. That means the build will skip parts that need one.
LEX = flex
# Solaris:
# LEX = flex -e
# Windows Mingw:
# LEX =
#
# LEX = lex
# C compiler options
# gcc:
# -ansi and -Werror should work too, but are not included
# by default because there's no point in daring the build to fail.
# -pedantic isn't a problem because it causes at worst a warning.
#CFLAGS = -O3 -ffast-math -pedantic -fno-common \
# -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit \
# -Wwrite-strings -Wmissing-prototypes -Wundef -Wno-unknown-pragmas
# The merged programs have a main_XXX subroutine instead of main(),
# which would cause a warning with -Wmissing-declarations or
# -Wmissing-prototypes.
#CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
# A user of DEC Tru64 4.0F in May 2000 needed -DLONG_32 for ppmtompeg,
# but word size-sensitive code was removed from parallel.c in September 2004.
# A user of Tru64 5.1A in July 2003 needed NOT to have -DLONG_32. In
# theory, you need this if on your system, long is 32 bits and int is not.
# But it may be completely irrelevant today.
#Tru64:
#CFLAGS = -O2 -std1 -DLONG_32
#CFLAGS = -O2 -std1
#AIX:
#CFLAGS= -O3
#HP-UX:
#CFLAGS= -O3 -fPIC
#IRIX:
#CFLAGS= -n32 -O3
#Amiga with GNU compiler:
#CFLAGS= -m68020-60 -ffast-math -mstackextend
# You can add -noixemul for Amiga and successfully compile most of the
# programs. (Of the remaining ones, if you can supply your own strtod()
# function, most of them will build with -noixemul). So try building
# with 'make --keep-going CADD=-noixemul' first, then just 'make' to build
# everything that failed for lack of the ixemul library in the first step.
# That way, the parts that don't required the ixemul library won't indicate
# a dependency on it.
#OpenBSD:
#CFLAGS = -I/usr/local/include
# EXE is a suffix that the linker puts on any executable it generates.
# In cygwin, this is .exe and most programs deal with its existence without
# us having to know about it. Some don't though, so set this:
EXE =
#Cygwin, DJGPP/Windows:
#EXE = .exe
# linker options.
# LDFLAGS is often set as an environment variable; A setting here overrides
# it. So either make sure you want to override it, or do a "LDFLAGS +=" here.
# LDFLAGS is usually not the right place for a -L option, because we put
# LDFLAGS _before_ our own -L options, so it would cancel out our
# specific selection of libraries. For example, if you say
# LDFLAGS=/usr/local/lib and an old copy of the libnetpbm is in
# /usr/local/lib, then you'd be linking against that old copy instead of
# the copy you just built, which is located by a -L option later on the
# link command. LIBS is the right variable for adding -L options. LIBS
# goes after any of our make files' own -L options.
# Eunice users may want to use -noshare so that the executables can
# run standalone:
#LDFLAGS += -noshare
#Tru64:
# Russ Allberry says on 2001.06.09 that -oldstyle_liblookup may be necessary
# to keep from finding an ancient system libjpeg.so that isn't compatible with
# NetPBM. Michael Long found that /usr/local/lib is not in the default
# search path, or not soon enough, and he was getting an old libjpeg that
# caused all the jpeg symbol references to be unresolved. He had installed
# a new libjpeg in /usr/local/lib.
#LDFLAGS += -call_shared -oldstyle_liblookup -L/usr/local/lib
#AIX:
#LDFLAGS += -L /usr/pubsw/lib
#HP-UX:
#LDFLAGS += -Wl,+b,/usr/pubsw/lib
#IRIX:
#LDFLAGS += -n32
# Linker options for created Netpbm shared libraries.
# Here, $(SONAME) resolves to the soname for the shared library being created.
# The following are gcc options. This works on GNU libc systems.
LDSHLIB = -shared -Wl,-soname,$(SONAME)
# You need -nostart instead of -shared on BeOS. Though the BeOS compiler is
# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
# documentation and doesn't exist in at least one non-BeOS installation.
# BeOS doesn't have sonames built in.
#LDSHLIB = -nostart
#LDSHLIB = -G
# Solaris, SunOS with GNU Ld, SCO:
# These systems have no soname option.
#LDSHLIB = -shared
# Solaris with Sun Ld:
#LDSHLIB = -Wl,-Bdynamic,-G,-h,$(SONAME)
#Tru64:
#LDSHLIB = -shared -expect_unresolved "*"
#IRIX:
#LDSHLIB = -shared -n32
#AIX GNU compiler/linker:
#LDSHLIB = -shared
#AIX Visual Age C:
#LDSHLIB = -qmkshrobj
#Mac OSX:
# According to experiments done by Peter A Crowley in May 2007, if
# libnetpbm goes in a standard place such as /usr/local/lib,
# programs need not be built with libnetpbm's location included.
# But if it goes elsewhere, the link-editor must include the
# location in the executable. It finds the runtime location by
# looking inside the library. The information in the library
# comes from the install_name option with which the library was
# built. It's an alternative to the -rpath option on other systems.
#LDSHLIB=-dynamiclib
#LDSHLIB=-dynamiclib -install_name $(NETPBMLIB_RUNTIME_PATH)/libnetpbm.$(MAJ).dylib
# LDRELOC is the command to combine two .o files (relocateable object files)
# into a single .o file that can later be linked into something else. NONE
# means no such command is available.
LDRELOC = NONE
# GNU Ld:
# Older GNU Ld misspells the option as --relocateable. Newer GNU Ld
# correctly spells it --relocatable. The abbreviation --reloc works on
# both.
#LDRELOC = ld --reloc
#LDRELOC = ld -r
# On older systems, you have to make shared libraries out of position
# independent code, so you need -fpic or fPIC here. (The rule is: if
# -fpic works, use it. If it bombs, go to fPIC). On newer systems,
# it isn't necessary, but can save real memory at the expense of
# execution speed. Without position independent code, the library
# loader may have to patch addresses into the executable text. On an
# older system, this would cause a program crash because the loader
# would be writing into read-only shared memory. But on newer
# systems, the system silently creates a private mapping of the page
# or segment being modified (the "copy on write" phenomenon). So it
# needs its own private real page frame. In one experiment, A second
# copy of Pbmtext used 16K less real memory when built with -fpic than
# when built without. 2001.06.02.
# We have seen -fPIC required on IA64 and AMD64 machines (GNU
# compiler/linker). Build-time linking fails without it. I don't
# know why -- history seems to be repeating itself. 2005.02.23.
CFLAGS_SHLIB =
# Gcc:
#CFLAGS_SHLIB = -fpic
#CFLAGS_SHLIB = -fPIC
# Sun compiler:
#CFLAGS_SHLIB = -Kpic
#CFLAGS_SHLIB = -KPIC
# SHLIB_CLIB is the link option to include the C library in a shared library,
# normally "-lc". On typical systems, this serves no purpose. On some,
# though, it causes information about which C library to use to be recorded
# in the shared library and thus choose the correct library among several or
# avoid using an incompatible one. But on some systems, the link fails.
# On 2002.09.30, "John H. DuBois III" <spcecdt@armory.com> reports that on
# SCO OpenServer, he gets the following error message with -lc:
#
# -lc; relocations referenced ; from file(s) /usr/ccs/lib/libc.so(random.o);
# fatal error: relocations remain against allocatable but non-writable
# section: ; .text
SHLIB_CLIB = -lc
# SCO:
#SHLIB_CLIB =
# On some systems you have to build into an executable the list of
# directories where its dynamically linked libraries can be found at
# run time. This is typically done with a -R or -rpath linker
# option. Even on systems that don't require it, you might prefer to do
# that rather than set up environment variables or configuration files
# to tell the system where the libraries are. A "Y" here means to put
# the directory information in the executable at link time.
NEED_RUNTIME_PATH = N
# Solaris, SunOS, NetBSD, AIX:
#NEED_RUNTIME_PATH = Y
# RPATHOPTNAME is the option you use on the link command to specify
# a runtime search path for a shared library. It is meaningless unless
# NEED_RUNTIME_PATH is Y.
RPATHOPTNAME = -rpath
# The following variables tell where your various libraries on which
# Netpbm depends live. The LIBxxx variable is a full file
# specification of the link library (not necessarily the library used
# at run time). e.g. "/usr/local/lib/graphics/libjpeg.so". It usually
# doesn't matter if the library prefix and suffix are right -- you can
# use "lib" and ".so" or ".a" regardless of what your system actually
# uses because these just turn into "-L" and "-l" linker options
# anyway. ".a" implies a static library for some purposes, though.
# If you don't have the library in question, use a value of NONE for
# LIBxxx and the build will simply skip the programs that require that
# library. If the library is in your linker's (or the Netpbm build's)
# default search path, leave off the directory part, e.g. "libjpeg.so".
# The xxxHDR_DIR variable is the directory in which the interface
# headers for the library live (e.g. /usr/include). If they are in your
# compiler's default search path, set this variable to null.
# This is where the Netpbm shared libraries will reside when Netpbm is
# fully installed. In some configurations, the Netpbm builder builds
# this information into the Netpbm executables. This does NOT affect
# where the Netpbm installer installs the libraries. A null value
# means the libraries are in a default search path used by the runtime
# library loader.
NETPBMLIB_RUNTIME_PATH =
#NETPBMLIB_RUNTIME_PATH = /usr/lib/netpbm
# The TIFF library. See above. If you want to build the tiff
# converters, you must have the tiff library already installed.
TIFFLIB = NONE
TIFFHDR_DIR =
#TIFFLIB = libtiff.so
#TIFFHDR_DIR = /usr/include/libtiff
#NetBSD:
#TIFFLIB = $(LOCALBASE)/lib/libtiff.so
#TIFFHDR_DIR = $(LOCALBASE)/include
# OSF, Tru64:
#TIFFLIB = /usr/local1/DEC/lib/libtiff.so
#TIFFHDR_DIR = /usr/local1/DEC/include
# Some TIFF libraries do Jpeg and/or Z (flate) compression and thus any
# program linked with the TIFF library needs a Jpeg and/or Z library.
# Some TIFF libraries have such library statically linked in, but others
# need it to be dynamically linked at program load time.
# Make this 'N' if youf TIFF library doesn't need such dynamic linking.
# As of 2005.01, the most usual build of the TIFF library appears to require
# both.
TIFFLIB_NEEDS_JPEG = Y
TIFFLIB_NEEDS_Z = Y
# The JPEG library. See above. If you want to build the jpeg
# converters you must have the jpeg library already installed.
# Tiff files can use JPEG compression, so the Tiff library can reference
# the JPEG library. If your Tiff library references a dynamic JPEG
# library, you must specify at least JPEGLIB here, or the Tiff
# converters will not build. Note that your Tiff library may have the
# JPEG stuff statically linked in, in which case you won't need
# JPEGLIB in order to build the Tiff converters.
JPEGLIB = NONE
JPEGHDR_DIR =
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
# Netbsd:
#JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
#JPEGHDR_DIR = ${LOCALBASE}/include
# OSF, Tru64:
#JPEGLIB = /usr/local1/DEC/libjpeg.so
#JPEGHDR_DIR = /usr/local1/DEC/include
# Typical:
#JPEGLIB = /usr/local/lib/libjpeg.so
#JPEGHDR_DIR = /usr/local/include
# Don't build JPEG stuff:
#JPEGLIB = NONE
# The PNG library. See above. If you want to build the PNG
# converters you must have the PNG library already installed.
# The PNG library, by convention starting around April 2002, gets installed
# with names that include a version number, such as libpng10.a and header
# files in /usr/include/libpng10. But there is conventionally an unnumbered
# alias (e.g. libpng.a, /usr/include/libpng) for the preferred version.
#
# Recent versions of the library (since some time in the 2002-2006 period)
# have an associated 'libpng-config' that tells how to link it. The make
# files will use that program if it exists (must be in the PATH). In that
# case, PNGLIB and PNGHDR_DIR are irrelevant, but PNGVER is still meaningful,
# because the make file runs 'libpng$(PNGVER)-config'.
PNGLIB = NONE
PNGHDR_DIR =
PNGVER =
#PNGLIB = libpng$(PNGVER).so
#PNGHDR_DIR = /usr/include/libpng$(PNGVER)
# NetBSD:
#PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so
#PNGHDR_DIR = $(LOCALBASE)/include
# OSF/Tru64:
#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
#PNGHDR_DIR = /usr/local1/DEC/include
# The zlib compression library. See above. You need it to build
# anything that needs the PNG library (see above). If you selected
# NONE for the PNG library, it doesn't matter what you specify here --
# it won't get used.
#
# If you have 'libpng-config' (see above), these are irrelevant.
ZLIB = NONE
ZHDR_DIR =
#ZLIB = libz.so
# The JBIG lossless image compression library (aka JBIG-KIT):
JBIGLIB = $(BUILDDIR)/converter/other/jbig/libjbig.a
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
# The Jasper JPEG-2000 image compression library (aka JasPer):
JASPERLIB = $(INTERNAL_JASPERLIB)
JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
# 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.
JASPERDEPLIBS =
#JASPERDEPLIBS = -ljpeg
# And the Utah Raster Toolkit (aka URT aka RLE) library:
URTLIB = $(BUILDDIR)/urt/librle.a
URTHDR_DIR = $(SRCDIR)/urt
# The X11 library has facilities for talking to an X Window System
# server. It is required by Pamx.
X11LIB = /usr/lib/libX11.so
X11HDR_DIR =
#X11LIB = /usr/lib/libX11.so
#X11HDR_DIR =
# The Linux SVGA library (Svgalib) is a facility for displaying graphics
# on the Linux console. It is required by Ppmsvgalib.
LINUXSVGALIB = NONE
LINUXSVGAHDR_DIR =
#LINUXSVGALIB = /usr/lib/libvga.so
#LINUXSVGAHDR_DIR = /usr/include/vgalib
# If you don't want any network functions, set OMIT_NETWORK to "y".
# The only thing that requires network functions is the option in
# ppmtompeg to run it on multiple computers simultaneously. On some
# systems network functions don't work or we haven't figured out how to
# make them work, or they just aren't worth the effort.
OMIT_NETWORK =
#DJGPP/Windows, Tru64:
# (there's some minor header problem that prevents network functions from
# building on Tru64 2000.10.06)
#OMIT_NETWORK = y
# These are -l options to link in the network libraries. Often, these are
# built into the standard C library, so this can be null. This is irrelevant
# if OMIT_NETWORK is "y".
NETWORKLD =
# Solaris, SunOS:
#NETWORKLD = -lsocket -lnsl
# SCO:
#NETWORKLD = -lsocket, -lresolv
# DONT_HAVE_PROCESS_MGMT is Y if this system doesn't have the usual
# Unix process management stuff - fork, wait, etc. N for a regular Unix
# system.
DONT_HAVE_PROCESS_MGMT = N
# The following variables are used only by 'make install' (and the
# variants of it). Paths here don't, for example, get built into any
# programs.
# This is where everything goes when you do 'make package', unless you
# override it by setting 'pkgdir' on the Make command line.
PKGDIR_DEFAULT = /tmp/netpbm
# Subdirectory of the package directory ($(pkgdir)) in which man pages
# go.
PKGMANDIR = /share/man
# File permissions for installed files.
# Note that on some systems (e.g. Solaris), 'install' can't use the
# mnemonic permissions - you have to use octal.
# binaries (pbmmake, etc)
INSTALL_PERM_BIN = 755 # u=rwx,go=rx
# shared libraries (libpbm.so, etc)
INSTALL_PERM_LIBD = 755 # u=rwx,go=rx
# static libraries (libpbm.a, etc)
INSTALL_PERM_LIBS = 644 # u=rw,go=r
# header files (pbm.h, etc)
INSTALL_PERM_HDR = 644 # u=rw,go=r
# man pages (pbmmake.1, etc)
INSTALL_PERM_MAN = 644 # u=rw,go=r
# data files (pnmtopalm color maps, etc)
INSTALL_PERM_DATA = 644 # u=rw,go=r
# Specify the suffix that want the man pages to have.
SUFFIXMANUALS1 = 1
SUFFIXMANUALS3 = 3
SUFFIXMANUALS5 = 5
#NETPBMLIBTYPE tells the kind of libraries that will get built to hold the
#Netpbm library functions. The value is used only in make file tests.
# "unixshared" means a unix-style shared library, typically named like
# libxyz.so.2.3
NETPBMLIBTYPE = unixshared
# "unixstatic" means a unix-style static library, (like libxyz.a)
#NETPBMLIBTYPE = unixstatic
# "dll" means a Windows DLL shared library
#NETPBMLIBTYPE = dll
# "dylib" means a Darwin/Mac OS shared library
#NETPBMLIBTYPE = dylib
#NETPBMLIBSUFFIX is the suffix used on whatever kind of library is
#selected above. All this is used for is to construct library names.
#The make files never examine the actual value.
NETPBMLIBSUFFIX = so
# "a" is the suffix for unix-style static libraries. It is also
# traditionally used for shared libraries on AIX. The Visual Age C
# manual says sometimes .so works on AIX, and GNU software for AIX
# 5.1.0 does indeed use it. In our experiments, it works fine if you
# name the library file explicitly on the link, but isn't in the -l
# search order. If you name the library explicitly on the link, the
# library must live in exactly the same position at run time, so we
# can't use that. Therefore, you cannot build both static and shared
# libraries with AIX. You have to choose.
#NETPBMLIBSUFFIX = a
# For HP-UX shared libraries:
#NETPBMLIBSUFFIX = sl
# Darwin/Mac OS shared library:
#NETPBMLIBSUFFIX = dylib
# Windows shared library:
#NETPBMLIBSUFFIX = dll
#STATICLIB_TOO is "y" to signify that you want a static library built
#and installed in addition to whatever library type you specified by
#NETPBMLIBTYPE. If NETPBMLIBTYPE specified a static library,
#STATICLIB_TOO simply has no effect.
STATICLIB_TOO = y
#STATICLIB_TOO = n
#STATICLIBSUFFIX is the suffix that static libraries have. It's
#meaningless if you aren't building static libraries.
STATICLIBSUFFIX = a
#SHLIBPREFIXLIST is a blank-delimited list of prefixes that a filename
#of a shared library may have on this system. Traditionally, it's
#just "lib", as in libc or libnetpbm. On Windows, though, varying
#prefixes are used when multiple alternative forms of a library are
#available. The first prefix in this list is what we use to name the
#Netpbm shared libraries.
#
# This variable controls how 'libopt' gets built.
#
SHLIBPREFIXLIST = lib
#Cygwin:
#SHLIBPREFIXLIST = cyg lib
NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))
#DLLVER is used to version the DLLs built on cygwin or other
#windowsish platforms. We can't add this to LIBROOT, or we'd
#version the static libs (which is bad). We can't add this
#at the end of the name (like unix does with so numbers) because
#windows will only load dlls whose name ends in "dll". So,
#we have this variable, which becomes the end of the library "root" name
#for DLLs only.
#
# This variable controls how 'libopt' gets built.
#
DLLVER =
#Cygwin
#DLLVER = $(NETPBM_MAJOR_RELEASE)
#NETPBM_DOCURL is the URL of the main documentation page for Netpbm.
#This is a directory which contains a file for each Netpbm program,
#library, and file type. E.g. The documentation for jpegtopnm might be in
#http://netpbm.sourceforge.net/doc/jpegtopnm.html . This value gets
#installed in the man pages (which say no more than to read the webpage)
#and in the Webman netpbm.url file.
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
#For a system with no web access, but a local copy of the doc:
#NETPBM_DOCURL = file:/usr/doc/netpbm/
####Lines above were copied from config.mk.in by 'configure'.
####Lines below were added by 'configure' based on the GNU platform.
DEFAULT_TARGET = nonmerge
NETPBMLIBTYPE=unixshared
NETPBMLIBSUFFIX=so
STATICLIB_TOO=y
CFLAGS = -O3 -ffast-math -pedantic -fno-common -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit -Wwrite-strings -Wmissing-prototypes -Wundef -Wno-unknown-pragmas
CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
LDRELOC = ld --reloc
LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
LINKERISCOMPILER = Y
CFLAGS_SHLIB += -fPIC
TIFFLIB = libtiff.so
JPEGLIB = libjpeg.so
ZLIB = libz.so
X11LIB = /usr/lib/libX11.so
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/

230
netpbm.spec Normal file
View File

@ -0,0 +1,230 @@
Name: netpbm
Version: 10.61.02
Release: 1mamba
Summary: Tools for manipulating graphics files in netpbm supported formats
Group: Applications/Multimedia
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://netpbm.sourceforge.net
#Source: http://www12.frugalware.org/mirrors/ftp.frugalware.org/pub/other/sources/netpbm/netpbm-%{version}.tar.bz2
#Source0: http://downloads.sourceforge.net/project/netpbm/super_stable/%{version}/netpbm-%{version}.tgz
Source: http://archlinux.c3sl.ufpr.br/other/packages/netpbm/netpbm-%{version}.tar.gz
Source1: %{name}-docs-20030520.tar.bz2
Source2: %{name}-10.51.00-config.mk
Patch0: %{name}-10.15-make.patch
Patch1: %{name}-10.30-manpath.patch
Patch2: %{name}-10.22-security_mktemp.patch
Patch3: %{name}-10.23-security-rh.patch
Patch4: %{name}-10.27-bmptopnm.patch
Patch5: %{name}-10.28-CAN-2005-2471.patch
Patch6: %{name}-10.28-gcc4.patch
Patch7: %{name}-10.20-CAN-2005-2978.patch
Patch8: %{name}-10.30-pamtofits.patch
License: Freeware
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
%if "%{stage1}" != "1"
BuildRequires: libX11-devel
%endif
BuildRequires: libxml2-devel
BuildRequires: libz-devel
BuildRequires: perl-devel
## AUTOBUILDREQ-END
Requires: libnetpbm = %{?epoch:%epoch:}%{version}-%{release}
## AUTOBUILDREQ-END
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Netpbm is a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats.
There are over 220 separate tools in the package including converters for about 100 graphics formats.
Examples of the sort of image manipulation we're talking about are:
* Shrinking an image by 10%
* Cutting the top half off of an image
* Making a mirror image
* Creating a sequence of images that fade from one image to another
The goal of Netpbm is to be a single source for all the primitive graphics utilities, especially converters, one might need.
So if you know of some freely redistributable software in this vein which is not in the package yet, you should bring it to the attention of the Netpbm maintainer so it can be included in the next release.
Netpbm does not contain interactive tools and doesn't have a graphical interface.
%package -n libnetpbm
Group: System/Libraries
Summary: A library for manipulating graphics files in netpbm supported formats
%description -n libnetpbm
Netpbm is a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats.
There are over 220 separate tools in the package including converters for about 100 graphics formats.
Examples of the sort of image manipulation we're talking about are:
* Shrinking an image by 10%
* Cutting the top half off of an image
* Making a mirror image
* Creating a sequence of images that fade from one image to another
%package -n libnetpbm-devel
Group: Development/Libraries
Summary: Tools for manipulating graphics files in netpbm supported formats
Requires: libnetpbm = %{?epoch:%epoch:}%{version}-%{release}
Provides: netpbm-devel
Obsoletes: netpbm-devel
%description -n libnetpbm-devel
Netpbm is a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats.
There are over 220 separate tools in the package including converters for about 100 graphics formats.
Examples of the sort of image manipulation we're talking about are:
* Shrinking an image by 10%
* Cutting the top half off of an image
* Making a mirror image
* Creating a sequence of images that fade from one image to another
This package contains static libraries and header files need for development.
%prep
%setup -q -c -a1 -n netpbm-%{version}
mv advanced/* .
rmdir advanced
%patch0 -p1
#%patch1 -p1 -b .manpath
#%patch2 -p1 -b .security_mktemp
#%patch3 -p1 -b .security_rh
#%patch4 -p1 -b .bmptopnm
#%patch5 -p1 -b .can_2005_2471
%patch6 -p1 -b .gcc4
#%patch7 -p1 -b .can_2005_2978
#%patch8 -p1 -b .pamtofits
install -m0644 %{SOURCE2} ./config.mk
sed -i "s|CC =.*|CC = %{_host}-gcc|" config.mk
%if "%{stage1}" == "1"
sed -i "s|X11LIB =.*|X11LIB = NONE|" config.mk
%endif
# fix strange permissions
find netpbm.sourceforge.net -type d | xargs chmod 755
find netpbm.sourceforge.net -type f | xargs chmod 644
%build
#%if "%{_host}" != "%{_build}"
#make -C buildtools CC=%{_build}-gcc
#sed -i "s|libpng-config|-lpng14|" converter/other/Makefile
#%endif
%make \
CFLAGS="%{optflags} -fPIC" -j1 \
CC=%{_host}-gcc \
LINUXSVGALIB=NONE \
%if "%{stage1}" != "1"
X11LIB=%{_libdir}/libX11.so \
%else
X11LIB=NONE \
%endif
NETPBM_DOCURL=%{_datadir}/doc/%{name}-%{version}/netpbm.sourceforge.net/doc
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -d %{buildroot}
make package \
pkgdir=%{buildroot}%{_prefix} \
STRIPFLAG="" \
LINUXSVGALIB=NONE \
PKGMANDIR=/share/man \
%if "%{stage1}" != "1"
X11LIB=%{_libdir}/libX11.so \
%else
X11LIB=NONE \
%endif
NETPBM_DOCURL=%{_datadir}/doc/%{name}-%{version}/netpbm.sourceforge.net/doc
%ifarch x86_64
mv %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir}
%endif
mv %{buildroot}%{_prefix}/link/libnetpbm.a %{buildroot}%{_libdir}
mv %{buildroot}%{_prefix}/misc/*.map %{buildroot}%{_libdir}
#ln -sf libnetpbm.so.10 %{buildroot}%{_libdir}/libnetpbm.so
# remove unpackaged files
rm -fr %{buildroot}%{_prefix}/misc/
rm %{buildroot}%{_prefix}/README
rm %{buildroot}%{_prefix}/VERSION
rm %{buildroot}%{_prefix}/pkginfo
rm %{buildroot}%{_prefix}/man/web/netpbm.url
rm %{buildroot}%{_prefix}/link/libnetpbm.so
rm %{buildroot}%{_prefix}/config_template
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n libnetpbm -p /sbin/ldconfig
%postun -n libnetpbm -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/*
%files -n libnetpbm
%defattr(-,root,root,-)
%{_libdir}/libnetpbm.so.*
%{_libdir}/*.map
%{_mandir}/man[15]/*
%doc README doc/COPYRIGHT.PATENT
%files -n libnetpbm-devel
%defattr(-,root,root,-)
%attr(644,root,root) %{_libdir}/libnetpbm.a
%attr(755,root,root) %{_libdir}/libnetpbm.so
%{_includedir}/*
%{_mandir}/man3/*
%doc README doc/{HISTORY,USERDOC}
%doc netpbm.sourceforge.net
%changelog
* Fri Jul 26 2013 Automatic Build System <autodist@mambasoft.it> 10.61.02-1mamba
- update to 10.61.02
* Thu Jul 18 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 10.60.00-2mamba
- fix broken libnetpbm.so symlink
* Wed Dec 26 2012 Automatic Build System <autodist@mambasoft.it> 10.60.00-1mamba
- automatic version update by autodist
* Fri Aug 10 2012 Automatic Build System <autodist@mambasoft.it> 10.58.00-1mamba
- automatic version update by autodist
* Tue Apr 17 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 10.57.00-1mamba
- update to 10.57.00
* Wed Aug 18 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 10.51.00-1mamba
- update to 10.51.00
* Fri May 14 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 10.35.74-2mamba
- added libnetpbm and libnetpbm subpackages
* Thu May 13 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 10.35.74-1mamba
- update to 10.35.74
* Wed Dec 10 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 10.33-1mamba
- automatic update by autodist
* Wed Jun 13 2007 Aleph0 <aleph0@openmamba.org> 10.30-3mamba
- fix permissions of some documentation folders
* Mon Jun 26 2006 Davide Madrisan <davide.madrisan@qilinux.it> 10.30-2qilnx
- security update (qibug#190)
* Wed Oct 26 2005 Davide Madrisan <davide.madrisan@qilinux.it> 10.30-1qilnx
- update to version 10.30 by autospec
- security fix QSA-2005-127 (CAN-2005-2978)
* Fri Aug 12 2005 Davide Madrisan <davide.madrisan@qilinux.it> 10.20-2qilnx
- fixed several security issues: QSA-2005-089 (p2, p3, CAN-2005-2471)
* Wed Feb 25 2004 Davide Madrisan <davide.madrisan@qilinux.it> 10.20-1qilnx
- first build