Compare commits

..

2 commits

Author SHA1 Message Date
Petr Hracek
4e5251e83d Merge branch 'master' into f21 2015-01-20 12:20:08 +01:00
Petr Hracek
29705bb447 Remove ghostscript-core from BuildDependencies
Signed-off-by: Petr Hracek <phracek@redhat.com>
2015-01-20 10:08:14 +01:00
31 changed files with 2430 additions and 3318 deletions

30
.gitignore vendored
View file

@ -1,32 +1,2 @@
/netpbm-10.61.02.tar.xz
/netpbm-10.66.02.tar.xz
/netpbm-10.71.02.tar.xz
/netpbm-10.75.99.tar.xz
/netpbm-10.76.00.tar.xz
/netpbm-10.77.00.tar.xz
/netpbm-10.78.00.tar.xz
/netpbm-10.79.00.tar.xz
/netpbm-10.80.00.tar.xz
/netpbm-10.81.00.tar.xz
/netpbm-10.82.00.tar.xz
/netpbm-10.83.01.tar.xz
/netpbm-10.84.03.tar.xz
/netpbm-10.86.00.tar.xz
/netpbm-10.87.00.tar.xz
/netpbm-10.88.00.tar.xz
/netpbm-10.89.00.tar.xz
/netpbm-10.90.00.tar.xz
/netpbm-10.92.00.tar.xz
/netpbm-10.93.00.tar.xz
/netpbm-10.94.05.tar.xz
/netpbm-10.95.00.tar.xz
/netpbm-10.96.00.tar.xz
/netpbm-10.97.00.tar.xz
/netpbm-10.99.00.tar.xz
/netpbm-11.00.00.tar.xz
/netpbm-11.01.00.tar.xz
/netpbm-11.02.00.tar.xz
/netpbm-11.09.00.tar.xz
/netpbm-11.10.00.tar.xz
/netpbm-11.12.00.tar.xz
/netpbm-11.13.00.tar.xz

1336
fix.patch

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,17 @@
diff -urNp a/converter/other/pstopnm.c b/converter/other/pstopnm.c
--- a/converter/other/pstopnm.c 2025-02-04 10:47:27.857451432 +0100
+++ b/converter/other/pstopnm.c 2025-02-04 10:55:56.430470597 +0100
@@ -896,11 +896,11 @@ execGhostscript(int const
diff -up netpbm-10.56.03/converter/other/pstopnm.c.CAN-2005-2471 netpbm-10.56.03/converter/other/pstopnm.c
--- netpbm-10.56.03/converter/other/pstopnm.c.CAN-2005-2471 2011-11-09 09:18:00.000000000 +0100
+++ netpbm-10.56.03/converter/other/pstopnm.c 2011-11-11 11:43:51.827409226 +0100
@@ -747,11 +747,11 @@ execGhostscript(int const input
ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
"-q", "-dNOPAUSE",
"-q", "-dNOPAUSE",
- "-dSAFER", "-");
+ "-dPARANOIDSAFER", "-");
}
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt,
- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
+ "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
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));

View file

@ -1,26 +0,0 @@
diff -urNp old/converter/other/svgtopam.c new/converter/other/svgtopam.c
--- old/converter/other/svgtopam.c 2017-02-08 12:11:02.593690917 +0100
+++ new/converter/other/svgtopam.c 2017-02-08 13:49:38.319029371 +0100
@@ -771,12 +771,17 @@ createCanvas(unsigned int const width,
MALLOCVAR_NOFAIL(canvasP);
- canvasP->width = width;
- canvasP->height = height;
- canvasP->pixels = ppm_allocarray(width, height);
- canvasP->maxval = maxval;
+ if(canvasP != NULL){
+ canvasP->width = width;
+ canvasP->height = height;
+ canvasP->pixels = ppm_allocarray(width, height);
+ canvasP->maxval = maxval;
+
+ *canvasPP = canvasP;
+ } else {
+ pm_error("can't allocate memory for canvas");
+ }
- *canvasPP = canvasP;
}

View file

@ -1,9 +1,7 @@
diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c
index 3f66634..ca4f944 100644
--- a/converter/other/bmptopnm.c
+++ b/converter/other/bmptopnm.c
@@ -1494,7 +1494,7 @@ readBmp(FILE * const ifP,
unsigned int * const cmapSizeP,
--- netpbm-10.35/converter/other/bmptopnm.c.bmptopnm 2007-01-29 13:08:46.000000000 +0100
+++ netpbm-10.35/converter/other/bmptopnm.c 2007-01-29 13:32:21.000000000 +0100
@@ -1262,7 +1262,7 @@ readBmp(FILE * const ifP,
xel ** const colormapP,
bool const verbose) {
- xel * colormap; /* malloc'ed */

View file

@ -1,41 +0,0 @@
Remove the contents of libjasper_compat.c. The assignment
*errorP = errorP;
is bogus because it creates a non-null value in *errorP even on
success, and the caller expects a null pointer int his case.
The source file is compiled, but not actually linked in, so this is
only a problem because of the type error that fails the build.
diff --git a/converter/other/jpeg2000/libjasper_compat.c b/converter/other/jpeg2000/libjasper_compat.c
index 101820a321212dc6..e69de29bb2d1d643 100644
--- a/converter/other/jpeg2000/libjasper_compat.c
+++ b/converter/other/jpeg2000/libjasper_compat.c
@@ -1,26 +0,0 @@
-#include "netpbm/nstring.h"
-
-#include "jasper/jasper.h"
-#include "jasper/jas_image.h"
-
-#ifndef JAS_HAVE_PMJAS_IMAGE_DECODE
-
-void
-pmjas_image_decode(jas_stream_t * const in,
- int const fmtArg,
- const char * const optstr,
- jas_image_t ** const imagePP,
- const char ** const errorP) {
-
- jas_image_t * const jasperP = jas_image_decode(in, fmtArg, optstr);
-
- if (jasperP) {
- *imagePP = jasperP;
- *errorP = errorP;
- } else {
- pm_asprintf(errorP, "Failed. Details may have been written to "
- "Standard Error");
- }
-}
-
-#endif

21
netpbm-cmuwtopbm.patch Normal file
View file

@ -0,0 +1,21 @@
diff -up netpbm-10.61.01/converter/pbm/cmuwmtopbm.c.cmuwtopbmfix netpbm-10.61.01/converter/pbm/cmuwmtopbm.c
--- netpbm-10.61.01/converter/pbm/cmuwmtopbm.c.cmuwtopbmfix 2013-01-02 18:39:57.000000000 +0100
+++ netpbm-10.61.01/converter/pbm/cmuwmtopbm.c 2013-01-03 05:41:36.024984241 +0100
@@ -18,7 +18,7 @@
This program does not check the pad bits at the end of each row.
*/
-
+#include <stdint.h>
#include "pbm.h"
/*--------------------------
@@ -42,7 +42,7 @@ readCmuwmHeader(FILE * const ifP
"CMU window manager header EOF / read error";
uint32_t const cmuwmMagic = 0xf10040bb;
- long l;
+ uint32_t l;
short s;
int rc;

View file

@ -0,0 +1,13 @@
diff --git a/test/Test-Order b/test/Test-Order
index ff4b985..7ef1d97 100644
--- a/test/Test-Order
+++ b/test/Test-Order
@@ -74,7 +74,7 @@ symmetry.test
# Format converter tests
-pbmtog3.test
+#pbmtog3.test
411toppm.test
eyuvtoppm.test

View file

@ -1,21 +1,19 @@
diff --git a/converter/pbm/pbmtoepson.c b/converter/pbm/pbmtoepson.c
index 122a438..5d67746 100644
--- a/converter/pbm/pbmtoepson.c
+++ b/converter/pbm/pbmtoepson.c
@@ -75,7 +75,7 @@ parseCommandLine(int argc,
&dpiSpec, 0);
OPTENT3(0, "adjacent", OPT_FLAG, NULL,
diff -up netpbm-10.35.58/converter/pbm/pbmtoepson.c.docfix netpbm-10.35.58/converter/pbm/pbmtoepson.c
--- netpbm-10.35.58/converter/pbm/pbmtoepson.c.docfix 2009-01-19 09:24:03.000000000 +0100
+++ netpbm-10.35.58/converter/pbm/pbmtoepson.c 2009-04-15 09:10:52.000000000 +0200
@@ -74,7 +74,7 @@ parseCommandLine(int arg
&dpiSpec, 0);
OPTENT3(0, "adjacent", OPT_FLAG, NULL,
&adjacentSpec, 0);
- OPTENT3(0, "nonadjacent", OPT_FLAG, NULL,
+ OPTENT3(0, "noadjacent", OPT_FLAG, NULL,
&nonadjacentSpec, 0);
- OPTENT3(0, "nonadjacent", OPT_FLAG, NULL,
+ OPTENT3(0, "noadjacent", OPT_FLAG, NULL,
&nonadjacentSpec, 0);
opt.opt_table = option_def;
diff --git a/userguide/cameratopam.html b/userguide/cameratopam.html
index b50bfeb..3af9008 100644
--- a/userguide/cameratopam.html
+++ b/userguide/cameratopam.html
@@ -24,10 +24,10 @@ cameratopam - convert raw camera image to PAM
diff -up netpbm-10.35.58/userguide/cameratopam.html.docfix netpbm-10.35.58/userguide/cameratopam.html
--- netpbm-10.35.58/userguide/cameratopam.html.docfix 2009-01-19 09:24:18.000000000 +0100
+++ netpbm-10.35.58/userguide/cameratopam.html 2009-04-15 09:16:16.000000000 +0200
@@ -25,10 +25,10 @@ cameratopam - convert raw camera image t
[<b>-balance_camera</b>]
[<b>-red_scale=</b><i>float</i>]
[<b>-blue_scale=</b><i>float</i>]
@ -28,7 +26,7 @@ index b50bfeb..3af9008 100644
[<b>-linear</b>]
[<b>-verbose</b>]
@@ -110,7 +110,7 @@ the default.
@@ -106,7 +106,7 @@ the default.
<dd>Further adjust the color balance by multiplying the red and blue
channels by these values. Both default to 1.0.
@ -37,7 +35,7 @@ index b50bfeb..3af9008 100644
<dd>Change the output brightness. Default is 1.0.
@@ -118,14 +118,14 @@ channels by these values. Both default to 1.0.
@@ -114,14 +114,14 @@ channels by these values. Both default
<dd>By default, <b>cameratoapm</b> clips all colors to prevent pink
hues in the highlights. Combine this option with
@ -54,49 +52,47 @@ index b50bfeb..3af9008 100644
<dd>For cameras based on the Fuji Super CCD SR, this option causes
<b>cameratopam</b> to use the secondary sensors, in effect
diff --git a/userguide/fiascotopnm.html b/userguide/fiascotopnm.html
index c33f701..fa84441 100644
--- a/userguide/fiascotopnm.html
+++ b/userguide/fiascotopnm.html
@@ -56,7 +56,7 @@ the output file(s) are written to the first (writable) directory of
diff -up netpbm-10.35.58/userguide/fiascotopnm.html.docfix netpbm-10.35.58/userguide/fiascotopnm.html
--- netpbm-10.35.58/userguide/fiascotopnm.html.docfix 2009-01-19 09:24:18.000000000 +0100
+++ netpbm-10.35.58/userguide/fiascotopnm.html 2009-04-15 09:10:52.000000000 +0200
@@ -51,7 +51,7 @@ the output file(s) are written to the fi
this list. Otherwise, the current directory is used to store the
output file(s).
-<dt><b>-z</b>, <b>--fast</b>
+<dt><b>-r</b>, <b>--fast</b>
<dd>
-<DT><B>-z</B>, <B>--fast</B>
+<DT><B>-r</B>, <B>--fast</B>
<DD>
Decompress images in the 4:2:0 format; i.e., each chroma channel is
decompressed to an image of halved width and height. Use this option
@@ -88,7 +88,7 @@ given amount <i>N</i>. <i>N</i> is 1 (minimum) to 100 (maximum); default
is 70. When <i>N</i>=0, then the smoothing amount specified in the
@@ -83,7 +83,7 @@ given amount <I>N</I>. <I>N</I> is 1 (mi
is 70. When <I>N</I>=0, then the smoothing amount specified in the
FIASCO file is used (defined by the FIASCO coder).
-<dt><b>-F</b> <i>N</i>, <b>--fps=</b><i>N</i>
+<dt><b>-F</b> <i>N</i>, <b>--framerate=</b><i>N</i>
<dd>
Set number of frames per second to <i>N</i>. When using this option,
-<DT><B>-F</B> <I>N</I>, <B>--fps=</B><I>N</I>
+<DT><B>-F</B> <I>N</I>, <B>--framerate=</B><I>N</I>
<DD>
Set number of frames per second to <I>N</I>. When using this option,
the frame rate specified in the FIASCO file is overridden.
@@ -118,13 +118,8 @@ following methods (in the specified order):
<li>--config=<i>name</i>
</ol>
@@ -109,13 +109,9 @@ following methods (in the specified orde
<LI>--config=<I>name</I>
</OL>
-<dt><b>-h</b>, <b>--info</b>
-<dd>
-<DT><B>-h</B>, <B>--info</B>
+<DT><B>-h</B>, <B>--help</B>
<DD>
-Print brief help, then exit.
-
-<dt><b>-H</b>, <b>--help</b>
-<dd>
-<DT><B>-H</B>, <B>--help</B>
-<DD>
-Print detailed help, then exit.
+<dt><b>-h</b>, <b>--help</b>
+Print help, then exit.
</dl>
</DL>
diff --git a/userguide/pamperspective.html b/userguide/pamperspective.html
index 018f18a..13073d2 100644
--- a/userguide/pamperspective.html
+++ b/userguide/pamperspective.html
@@ -223,7 +223,7 @@ default rectangle as the "frame." The visible part is always
diff -up netpbm-10.47.12/userguide/pamperspective.html.docfix netpbm-10.47.12/userguide/pamperspective.html
--- netpbm-10.47.12/userguide/pamperspective.html.docfix 2010-04-27 15:48:09.000000000 +0200
+++ netpbm-10.47.12/userguide/pamperspective.html 2010-05-03 14:16:26.064266675 +0200
@@ -220,7 +220,7 @@ default rectangle as the &quot;frame.&qu
a rectangle the axes of which are parallel to those of the frame.
<p>The frame options are additive. All the parts of the image
@ -105,25 +101,24 @@ index 018f18a..13073d2 100644
<b>--include</b> (or their defaults) are in the visible part. The
visible part is the smallest possible rectangle that contains the
parts specified those three ways.
diff --git a/userguide/pbmtoepson.html b/userguide/pbmtoepson.html
index baacf7b..e74a7fe 100644
--- a/userguide/pbmtoepson.html
+++ b/userguide/pbmtoepson.html
@@ -16,7 +16,7 @@ pbmtoepson - convert a PBM image into Epson printer graphics
diff -up netpbm-10.47.12/userguide/pbmtoepson.html.docfix netpbm-10.47.12/userguide/pbmtoepson.html
--- netpbm-10.47.12/userguide/pbmtoepson.html.docfix 2010-04-27 15:48:09.000000000 +0200
+++ netpbm-10.47.12/userguide/pbmtoepson.html 2010-05-03 14:34:03.571141020 +0200
@@ -18,7 +18,7 @@ pbmtoepson - convert a PBM image into Ep
[<b>-dpi=</b><i>n</i>]
[<b>-protocol=</b>{<b>escp9</b>|<b>escp</b>}]
[<b>-protocol=</b>{<b>escp9</b>|<B>escp</B>}]
[<b>-adjacent</b>]
-[<b>-nonadjacent</b>]
+[<b>-noadjacent</b>]
[<i>pbmfile</i>]
[<I>pbmfile</I>]
@@ -75,7 +75,7 @@ print density for you consistent with your other options.
@@ -74,7 +74,7 @@ print density for you consistent with yo
<p>This option was new in Netpbm 10.23 (July 2004).
<dt><b>-adjacent</b>
-<dt><b>-nonadjacent</b>
+<dt><b>-noadjacent</b>
<dd>These options determine whether the output uses "adjacent dot
printing" or not, whatever that is.
<dd>These options determine whether the output uses &quot;adjacent dot
printing&quot; or not, whatever that is.

View file

@ -0,0 +1,12 @@
diff -up netpbm-10.47.09/converter/other/fiasco/lib/image.h.fiasco-overflow netpbm-10.47.09/converter/other/fiasco/lib/image.h
--- netpbm-10.47.09/converter/other/fiasco/lib/image.h.fiasco-overflow 2010-01-25 09:00:48.000000000 +0100
+++ netpbm-10.47.09/converter/other/fiasco/lib/image.h 2010-01-27 10:29:48.000000000 +0100
@@ -29,7 +29,7 @@ typedef struct image
* Image data
*/
{
- char id [7];
+ char id [8];
unsigned reference_count;
unsigned width; /* Width of the image */
unsigned height; /* Height of the image */

View file

@ -0,0 +1,81 @@
diff -Naur netpbm-10.61.02.orig/converter/pbm/cmuwmtopbm.c netpbm-10.61.02/converter/pbm/cmuwmtopbm.c
--- netpbm-10.61.02.orig/converter/pbm/cmuwmtopbm.c 2014-04-14 16:25:31.000000000 +0200
+++ netpbm-10.61.02/converter/pbm/cmuwmtopbm.c 2014-04-14 17:05:23.049000000 +0200
@@ -48,20 +48,20 @@
rc = pm_readbiglong(ifP, &l);
if (rc == -1 )
- pm_error(initReadError);
+ pm_error("%s", initReadError);
if ((uint32_t)l != cmuwmMagic)
pm_error("bad magic number in CMU window manager file");
rc = pm_readbiglong(ifP, &l);
if (rc == -1)
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*colsP = l;
rc = pm_readbiglong(ifP, &l);
if (rc == -1 )
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*rowsP = l;
rc = pm_readbigshort(ifP, &s);
if (rc == -1)
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*depthP = s;
}
diff -Naur netpbm-10.61.02.orig/converter/other/tifftopnm.c netpbm-10.61.02/converter/other/tifftopnm.c
--- netpbm-10.61.02.orig/converter/other/tifftopnm.c 2014-04-14 17:06:26.000000000 +0200
+++ netpbm-10.61.02/converter/other/tifftopnm.c 2014-04-14 17:09:55.731000000 +0200
@@ -1459,7 +1459,7 @@
int ok;
ok = TIFFRGBAImageOK(tif, emsg);
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_UNABLE;
} else {
uint32 * raster;
@@ -1479,14 +1479,14 @@
ok = TIFFRGBAImageBegin(&img, tif, stopOnErrorFalse, emsg);
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_FAILED;
} else {
int ok;
ok = TIFFRGBAImageGet(&img, raster, cols, rows);
TIFFRGBAImageEnd(&img) ;
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_FAILED;
} else {
*statusP = CONV_DONE;
diff -Naur netpbm-10.61.02.orig/converter/other/fiasco/pnmtofiasco.c netpbm-10.61.02/converter/other/fiasco/pnmtofiasco.c
--- netpbm-10.61.02.orig/converter/other/fiasco/pnmtofiasco.c 2013-02-20 07:31:32.000000000 +0100
+++ netpbm-10.61.02/converter/other/fiasco/pnmtofiasco.c 2014-04-14 17:12:14.995000000 +0200
@@ -170,7 +170,7 @@
return 0;
else
{
- fprintf (stderr, fiasco_get_error_message ());
+ fprintf (stderr, "%s", fiasco_get_error_message ());
fprintf (stderr, "\n");
return 1;
}
diff -Naur netpbm-10.61.02.orig/converter/other/fiasco/params.c netpbm-10.61.02/converter/other/fiasco/params.c
--- netpbm-10.61.02.orig/converter/other/fiasco/params.c 2013-02-20 07:31:32.000000000 +0100
+++ netpbm-10.61.02/converter/other/fiasco/params.c 2014-04-14 17:15:00.067000000 +0200
@@ -656,7 +656,7 @@
fprintf (stderr, "Usage: %s [OPTION]...%s\n", progname,
non_opt_string ? non_opt_string : " ");
if (synopsis != NULL)
- fprintf (stderr, synopsis);
+ fprintf (stderr, "%s", synopsis);
fprintf (stderr, "\n\n");
fprintf (stderr, "Mandatory or optional arguments to long options "
"are mandatory or optional\nfor short options too. "

View file

@ -1,10 +1,9 @@
diff -urNp a/converter/other/pnmtotiffcmyk.c b/converter/other/pnmtotiffcmyk.c
--- a/converter/other/pnmtotiffcmyk.c 2025-02-04 10:47:27.858451429 +0100
+++ b/converter/other/pnmtotiffcmyk.c 2025-02-04 11:04:46.118394226 +0100
@@ -989,8 +989,8 @@ int main( int argc, char **argv ) {
--- netpbm-10.35/converter/other/pnmtotiffcmyk.c.glibc 2006-09-18 12:20:06.000000000 +0200
+++ netpbm-10.35/converter/other/pnmtotiffcmyk.c 2007-08-23 09:18:30.000000000 +0200
@@ -974,8 +974,8 @@ int main( int argc, char **argv ) {
if ( (err = parseOpts( argc, argv, rt )) ) goto exit ;
- if ( (err = rt->in->open( rt->in, rt )) ) goto exit ;
- if ( (err = rt->out->open( rt->out, rt )) ) goto exit ;
+ if ( (err = (rt->in->open)( rt->in, rt )) ) goto exit ;

View file

@ -1,62 +0,0 @@
diff -urNp a/config.mk.in b/config.mk.in
--- a/config.mk.in 2018-11-21 12:46:22.044790058 +0100
+++ b/config.mk.in 2018-11-22 13:13:10.260123268 +0100
@@ -128,7 +128,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s
# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
-STRIPFLAG = -s
+STRIPFLAG =
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG =
@@ -482,12 +482,12 @@ JBIGLIB = $(INTERNAL_JBIGLIB)
JBIGHDR_DIR = $(INTERNAL_JBIGHDR_DIR)
# The Jasper JPEG-2000 image compression library (aka JasPer):
-JASPERLIB = $(INTERNAL_JASPERLIB)
-JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
+JASPERLIB = ""
+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.
-JASPERDEPLIBS =
+JASPERDEPLIBS = -ljasper
#JASPERDEPLIBS = -ljpeg
# And the Utah Raster Toolkit (aka URT aka RLE) library:
diff -urNp a/converter/other/jbig/Makefile b/converter/other/jbig/Makefile
--- a/converter/other/jbig/Makefile 2018-11-21 12:46:22.075789920 +0100
+++ b/converter/other/jbig/Makefile 2018-11-22 13:13:40.837969056 +0100
@@ -11,8 +11,9 @@ include $(BUILDDIR)/config.mk
# INTERNAL_JBIGLIB must be relative to the current directory, because it
# may end up in MERGE_OBJECTS, which must be relative.
-INTERNAL_JBIGLIB = libjbig/libjbig.a
-INTERNAL_JBIGHDR_DIR = $(SRCDIR)/$(SUBDIR)/libjbig/include
+INTERNAL_JBIGLIB =
+INTERNAL_JBIGHDR_DIR = /usr/include
+#INTERNAL_JBIGHDR_DIR = $(SRCDIR)/$(SUBDIR)/libjbig/include
EXTERN_INCLUDES =
ifneq ($(JBIGHDR_DIR),NONE)
@@ -35,7 +36,6 @@ SCRIPTS =
ifeq ($(JBIGLIB),$(INTERNAL_JBIGLIB))
JBIGLIB_DEP = $(JBIGLIB)
- SUBDIRS += libjbig
else
# It's not our internal version; user's on his own to make sure it's built
endif
@@ -49,10 +49,3 @@ include $(SRCDIR)/common.mk
$(BINARIES): %: %.o $(JBIGLIB_DEP) $(LIBOPT)
$(BINARIES): LDFLAGS_TARGET = $(shell $(LIBOPT) $(JBIGLIB))
-
-$(INTERNAL_JBIGLIB): $(BUILDDIR)/$(SUBDIR)/libjbig FORCE
- $(MAKE) -f $(SRCDIR)/$(SUBDIR)/libjbig/Makefile \
- -C $(dir $@) $(notdir $@)
-
-.PHONY: FORCE
-FORCE:

View file

@ -1,48 +0,0 @@
diff --git a/lib/Makefile b/lib/Makefile
index bc758df..7f51b41 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -221,7 +221,7 @@ libpm.o: compile.h
.PHONY: install.lib
ifeq ($(NETPBMLIBTYPE),unixshared)
# install a Unix-style shared library
-install.lib: $(PKGDIR)/lib $(PKGDIR)/sharedlink
+install.lib: $(PKGDIR)/lib
cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).*
$(INSTALL) -c -m $(INSTALL_PERM_LIBD) \
libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/
@@ -263,27 +263,26 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(PKGDIR)/include/netpbm
$(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/netpbm/
.PHONY: install.staticlib
-install.staticlib: $(PKGDIR)/staticlink
+install.staticlib: $(PKGDIR)/lib
$(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
- $(PKGDIR)/staticlink
+ $(PKGDIR)/lib
# Install a shared library stub -- the ".so" file used at link time to
# prepare a program for dynamically linking a library at run time
.PHONY: install.sharedlibstub
-install.sharedlibstub: $(PKGDIR)/sharedlink
+install.sharedlibstub: $(PKGDIR)/lib
ifeq ($(NETPBMLIBTYPE),unixshared)
# install the link-time (.so) links to the runtime libraries
- cd $(PKGDIR)/sharedlink ; \
+ cd $(PKGDIR)/lib ; \
rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
- $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
+ $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
libnetpbm.$(NETPBMLIBSUFFIX)
endif
ifeq ($(NETPBMLIBTYPE),dll)
- $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a \
- $(PKGDIR)/sharedlink
+ $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/link
endif
ifeq ($(NETPBMLIBTYPE),dylib)
- cd $(PKGDIR)/sharedlink/ ; \
+ cd $(PKGDIR)/link/ ; \
rm -f libnetpbm.dylib; \
$(SYMLINK) ../lib/libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.dylib
endif

View file

@ -1,709 +1,205 @@
diff -urNp a/userguide/avstopam.html b/userguide/avstopam.html
--- a/userguide/avstopam.html 2025-02-04 10:47:27.823451565 +0100
+++ b/userguide/avstopam.html 2025-02-04 17:49:34.981978989 +0100
@@ -2,9 +2,9 @@
<html><head><title>Avstopam User Manual</title></head>
diff -up netpbm-10.59.03/userguide/avstopam.html.manfix netpbm-10.59.03/userguide/avstopam.html
--- netpbm-10.59.03/userguide/avstopam.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/avstopam.html 2012-09-25 10:47:22.756174816 +0200
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
<head>
<title>Avstopam User Manual</title>
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
</head>
<body>
<h1>avstopam</h1>
-Updated: 07 February 2010
-<br>
-<a href="#index">Table Of Contents</a>
+<p>Updated: 07 February 2010</p>
+
+<p><a href="#index">Table Of Contents</a></p>
<h2>NAME</h2>
diff -up netpbm-10.59.03/userguide/escp2topbm.html.manfix netpbm-10.59.03/userguide/escp2topbm.html
--- netpbm-10.59.03/userguide/escp2topbm.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/escp2topbm.html 2012-09-25 10:47:22.756174816 +0200
@@ -2,10 +2,11 @@
<HTML><HEAD><TITLE>Escp2topbm User Manual</TITLE></HEAD>
<BODY>
<H1>escp2topbm</H1>
-Created: 1 August 2003
+Updated: 1 August 2003
<BR>
<A HREF="#index">Table Of Contents</A>
<p>avstopam - convert an AVS X image to a Netpbm image
@@ -16,40 +16,40 @@ Updated: 07 February 2010
+<H2>NAME</H2>
escp2topbm - convert an ESC/P2 printer file to a PBM image
<h2 id="description">DESCRIPTION</h2>
-<p>This program is part of <a href="index.html">Netpbm</a>.
+<p>This program is part of <a href="index.html">Netpbm</a>.</p>
<p><b>avstopam</b> reads a Stardent <abbr title="Application
Visualization System">AVS</abbr> X image as input and produces a Netpbm
-image as output.
+image as output.</p>
<p><i>avsfile</i> is the input file, which defaults to Standard Input.
-Output is always on Standard Output.
+Output is always on Standard Output.</p>
<h2 id="options">OPTIONS</h2>
<p>There are no command line options defined specifically
for <b>avstopam</b>, but it recognizes the options common to all
programs based on libnetpbm (See <a href="index.html#commonoptions">
-Common Options</a>.)
+Common Options</a>.)</p>
<h2 id="author">AUTHOR</h2>
<p>Copyright&nbsp;&copy; 2010 Scott Pakin,
-<a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a>
+<a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a></p>
<h2 id="seealso">SEE ALSO</h2>
-<p><a href="pamtoavs.html">pamtoavs</a>, <a href="pam.html">pam</a>
+<p><a href="pamtoavs.html">pamtoavs</a>, <a href="pam.html">pam</a></p>
<hr>
<h2 id="index">Table Of Contents</h2>
<ul>
-<li><a href="#synopsis">SYNOPSIS</a>
-<li><a href="#description">DESCRIPTION</a>
-<li><a href="#options">OPTIONS</a>
-<li><a href="#author">AUTHOR</a>
-<li><a href="#seealso">SEE ALSO</a>
+<li><a href="#synopsis">SYNOPSIS</a></li>
+<li><a href="#description">DESCRIPTION</a></li>
+<li><a href="#options">OPTIONS</a></li>
+<li><a href="#author">AUTHOR</a></li>
+<li><a href="#seealso">SEE ALSO</a></li>
</ul>
</body>
</html>
diff -urNp a/userguide/faxformat.html b/userguide/faxformat.html
--- a/userguide/faxformat.html 2025-02-04 10:47:27.824451560 +0100
+++ b/userguide/faxformat.html 2025-02-04 17:50:41.300631089 +0100
@@ -5,10 +5,11 @@
<H2 id="synopsis">SYNOPSIS</H2>
diff -up netpbm-10.59.03/userguide/faxformat.html.manfix netpbm-10.59.03/userguide/faxformat.html
--- netpbm-10.59.03/userguide/faxformat.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/faxformat.html 2012-09-25 10:47:22.756174816 +0200
@@ -5,10 +5,12 @@
Updated: 03 December 2008
<br>
<BR>
+<h2>SYNOPSIS</h2>
+<H2>SYNOPSIS</H2>
<p>This page, part of the <a href="index.html">Netpbm user's guide</a>,
describes FAX formats in relation to Netpbm facilities.
-
+<h2>DESCRIPTION</h2>
+<H2>DESCRIPTION</H2>
<p>The ITU (formerly CCITT) publishes standards for operation of fax machines
(the idea is to provide a way to be sure that a fax machine is able to receive
a fax sent by another). These standards incidentally specify graphics file
diff -urNp a/userguide/libnetpbm_ug.html b/userguide/libnetpbm_ug.html
--- a/userguide/libnetpbm_ug.html 2025-02-04 10:47:27.824451560 +0100
+++ b/userguide/libnetpbm_ug.html 2025-02-04 17:52:02.045207328 +0100
@@ -374,7 +374,7 @@ plain format.
<h2 id="reference">Reference</h2>
diff -up netpbm-10.59.03/userguide/pampaintspill.html.manfix netpbm-10.59.03/userguide/pampaintspill.html
--- netpbm-10.59.03/userguide/pampaintspill.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pampaintspill.html 2012-09-25 10:47:22.757174803 +0200
@@ -1,8 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
<title>Pampaintspill User Manual</title>
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
</head>
<p>The <a href="libnetpbm_image.html">Libnetpbm Netpbm Image
-Processing Manual</a> describes the the <b>libnetpbm</b> functions for
+Processing Manual</a> describes the <b>libnetpbm</b> functions for
processing image data.
<p>The <a href="libpm.html">Libnetpbm Utility Manual</a>
diff -urNp a/userguide/pamfunc.html b/userguide/pamfunc.html
--- a/userguide/pamfunc.html 2025-02-04 10:47:27.823451565 +0100
+++ b/userguide/pamfunc.html 2025-02-04 17:52:19.661114878 +0100
@@ -60,7 +60,7 @@ output image.
and bit string (such as and with 01001000). For the arithmetic functions, the
function arguments and results are the fraction that a sample is of the
maxval, i.e. normal interpretation of PAM tuples. But for the bit string
-functions, the value is the the bit string whose value as a binary cipher is
+functions, the value is the bit string whose value as a binary cipher is
the sample value, and the maxval indicates the width of the bit string.
<h4>Arithmetic functions</h4>
diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
--- a/userguide/pammixmulti.html 2025-02-04 10:47:27.820451577 +0100
+++ b/userguide/pammixmulti.html 2025-02-04 17:56:58.538651212 +0100
@@ -7,8 +7,8 @@ Updated: 18 December 2024
<a href="#index">Table Of Contents</a>
-<h2>NAME</h2>
-<p>pammixmulti - blend together multiple PAM images
+<h2 id="name">NAME</h2>
+<p>pammixmulti - blend together multiple PAM images</p>
<h2 id="synopsis">SYNOPSIS</h2>
@@ -17,19 +17,19 @@ Updated: 18 December 2024
[<b>-maskfile</b>=<i>filename</i>]
[<b>-stdev</b>=<i>number</i>]
[<b>-randomseed</b> <i>integer</i>]
- <i>filename</i> ...
+ <i>filename</i> ...</p>
<p>Minimum unique abbreviation of an option is acceptable. You can use double
hyphen instead of a single hyphen to denote options. You can use white
space in place of the equals sign to separate an option name from its
-value.
+value.</p>
<h2 id="description">DESCRIPTION</h2>
-<p>This file is part of <a href="index.html">Netpbm</a>.
+<p>This file is part of <a href="index.html">Netpbm</a>.</p>
<p><b>pammixmulti</b> mixes two or more images to produce a new image. The
-program provides multiple ways to interpret "mix."
+program provides multiple ways to interpret "mix."</p>
<h2 id="options">OPTIONS</h2>
@@ -37,7 +37,7 @@ program provides multiple ways to interp
<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>pammixmulti</b> recognizes the following
-command line options:
+command line options:</p>
<dl compact>
<dt><b>-blend</b>=average|alpha-weighted|random|mask</dt>
@@ -55,8 +55,8 @@ of the input images, chosen at random on
With <b>-blend</b>=<code>mask</code>, each pixel in the output is
produced by a weighted average of the corresponding pixels from all
the input images based on the grayscale level of an additional mask
-image.
-<p><b>-alpha-weighted</b> was new in Netpbm 11.09 (December 2024).
+image.</p>
+<p><b>-alpha-weighted</b> was new in Netpbm 11.09 (December 2024).</p>
</dd>
<dt><b>-maskfile</b>=<i>filename</i></dt>
@@ -66,7 +66,7 @@ grayscale mask file to control the blend
not grayscale, the first channel is treated as gray). Where the mask file is
black, the first image is selected. Where the mask file is white, the last
image is selected. Intermediate levels of gray select intermediate
-images.
+images.</p>
</dd>
<dt><b>-stdev</b>=<i>number</i></dt>
@@ -83,7 +83,7 @@ that includes roughly equal amounts of t
and 2 but less of the corresponding pixel from image 3. As <i>number</i>
tends towards the number of input images (going beyond that has diminishing
impact), the output tends to look more
-like <b>-blend</b>=average. <i>number</i> defaults to 0.25.
+like <b>-blend</b>=average. <i>number</i> defaults to 0.25.</p>
</dd>
<dt><b>-randomseed</b> <i>integer</i>
@@ -91,45 +91,45 @@ like <b>-blend</b>=average. <i>number</i
<dd>This is the seed for the random number generator used with
<b>-blend=random</b>
-<p>Use this to ensure you get the same image on separate invocations.
+<p>Use this to ensure you get the same image on separate invocations.</p>
</dl>
<h2 id="arguments">ARGUMENTS</h2>
-<p>You supply the names of the files to mix as non-option arguments.
+<p>You supply the names of the files to mix as non-option arguments.</p>
<h2 id="examples">EXAMPLES</h2>
-<p>Average a bunch of PPM images to produce a new PAM image:
+<p>Average a bunch of PPM images to produce a new PAM image:</p>
<pre><code>
pammixmulti input*.ppm &gt;output.ppm
</code></pre>
<p>Mix these same images by taking each pixel from a randomly selected input
-image:
+image:</p>
<pre><code>
pammixmulti -blend=random input*.ppm &gt;output.ppm
</code></pre>
<p>Use a mask image to control the fading among input images on a
-pixel-by-pixel basis:
+pixel-by-pixel basis:</p>
<pre><code>
pammixmulti -blend=mask -maskfile=mask.pgm &gt;output.pam \
one.pam two.pam three.pam four.pam
</code></pre>
-<p>Do the same but with more abrupt transitions:
+<p>Do the same but with more abrupt transitions:</p>
<pre><code>
pammixmulti -blend=mask -maskfile=mask.pgm -stdev=0.0 &gt;output.pam \
one.pam two.pam three.pam four.pam
</code></pre>
-<p>and now with more gradual transitions:
+<p>and now with more gradual transitions:</p>
<pre><code>
pammixmulti -blend=mask -maskfile=mask.pgm -stdev=1.0 &gt;output.pam \
@@ -139,12 +139,12 @@ pixel-by-pixel basis:
<h2 id="history">HISTORY</h2>
-<p><b>pammixmulti</b> was new in Netpbm 10.85 (December 2018).
+<p><b>pammixmulti</b> was new in Netpbm 10.85 (December 2018).</p>
<h2 id="author">AUTHOR</h2>
-<p>Copyright 2018&ndash;2024 Scott Pakin, scott+pbm@pakin.org.
+<p>Copyright 2018&ndash;2024 Scott Pakin, scott+pbm@pakin.org.</p>
<h2 id="seealso">SEE ALSO</h2>
@@ -152,20 +152,20 @@ pixel-by-pixel basis:
<a href="ppmmix.html">ppmmix</a>,
<a href="pamarith.html">pamarith</a>,
<a href="pnm.html">pnm</a>,
-<a href="pam.html">pam</a>
+<a href="pam.html">pam</a></p>
<h2 id="index">Table Of Contents</h2>
<ul>
-<li><a href="#synopsis">SYNOPSIS</a>
-<li><a href="#description">DESCRIPTION</a>
-<li><a href="#options">OPTIONS</a>
-<li><a href="#arguments">ARGUMENTS</a>
-<li><a href="#examples">EXAMPLES</a>
-<li><a href="#history">HISTORY</a>
-<li><a href="#author">AUTHOR</a>
-<li><a href="#seealso">SEE ALSO</a>
+<li><a href="#synopsis">SYNOPSIS</a></li>
+<li><a href="#description">DESCRIPTION</a></li>
+<li><a href="#options">OPTIONS</a></li>
+<li><a href="#arguments">ARGUMENTS</a></li>
+<li><a href="#examples">EXAMPLES</a></li>
+<li><a href="#history">HISTORY</a></li>
+<li><a href="#author">AUTHOR</a></li>
+<li><a href="#seealso">SEE ALSO</a></li>
</ul>
</body>
diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html
--- a/userguide/pampaintspill.html 2025-02-04 10:47:27.823451565 +0100
+++ b/userguide/pampaintspill.html 2025-02-04 18:01:50.746117598 +0100
@@ -7,7 +7,7 @@ Updated: 02 November 2021
<a href="#index">Table Of Contents</a>
<h2>NAME</h2>
-pampaintspill - smoothly spill colors into the background
+<p>pampaintspill - smoothly spill colors into the background</p>
<h2 id="synopsis">SYNOPSIS</h2>
@@ -19,48 +19,48 @@ pampaintspill - smoothly spill colors in
[<b>--downsample</b>=<i>number</i>]
[<b>--near</b>=<i>number</i>]
[<b>--power</b>=<i>number</i>] [<i>filename</i>]
-[<b>-randomseed=</b><i>integer</i>]
+[<b>-randomseed=</b><i>integer</i>]</p>
<p>Minimum unique abbreviations of option are acceptable. You may use
double hyphens instead of single hyphen to denote options. You may use
white space in place of the equals sign to separate an option name
-from its value.
+from its value.</p>
<h2 id="description">DESCRIPTION</h2>
-<p>This program is part of <a href="index.html">Netpbm</a>.
+<p>This program is part of <a href="index.html">Netpbm</a>.</p>
<p><b>pampaintspill</b> produces a smooth color gradient from all of the
non-background-colored pixels in an input image, effectively "spilling
paint" onto the background. <b>pampaintspill</b> is similar to
-<b>pamgradient</b> but differs in the following characteristics:
+<b>pamgradient</b> but differs in the following characteristics:</p>
<ul>
<li><b>pampaintspill</b> accepts any number of paint
sources (non-background-colored pixels), which can lie anywhere
on the canvas. <b>pamgradient</b> accepts exactly
- four paint sources, one in each corner of the image.
+ four paint sources, one in each corner of the image.</li>
<li><b>pampaintspill</b> requires an input image while
<b>pamgradient</b> generates a new image from
- scratch.
+ scratch.</li>
<li><b>pampaintspill</b> can produce tileable output and
can control how tightly the gradient colors bind to their source
- pixels.
+ pixels.</li>
</ul>
<p>Results are generally best when the input image contains just a few, crisp
spots of color. Use your drawing program's pencil tool &mdash; as opposed to a
-paintbrush or airbrush tool &mdash; with a small nib.
+paintbrush or airbrush tool &mdash; with a small nib.</p>
<h2 id="options">OPTIONS</h2>
<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>pampaintspill</b> recognizes the following
-command line options:
+command line options:</p>
<dl>
<dt><b>--bgcolor</b>=<i>color</i></dt>
@@ -117,45 +117,45 @@ command line options:
gradients away from them.</dd>
<dt><b>-randomseed=</b><i>integer</i>
- <dd>This is the seed for the random number generator that generates the
- pixels.
+ <dd>This is the seed fodr the random number generator that generates the
+ pixels.</dd>
- <p>Use this to ensure you get the same image on separate invocations.
+ <p>Use this to ensure you get the same image on separate invocations.</p>
- <p>This option was new in Netpbm 10.94 (March 2021).</dd>
+ <p>This option was new in Netpbm 10.94 (March 2021).</p>
</dl>
<h2 id="seealso">SEE ALSO</h2>
<ul>
-<li><a href="pamgradient.html"><b>pamgradient</b></a>
-<li><a href="ppmmake.html"><b>ppmmake</b></a>,
-<li><a href="ppmrainbow.html"><b>ppmrainbow</b></a>,
-<li><a href="pgmramp.html"><b>pgmramp</b></a>,
-<li><a href="ppmpat.html"><b>ppmpat</b></a>,
-<li><a href="pam.html"><b>pam</b></a>
+<li><a href="pamgradient.html"><b>pamgradient</b></a></li>
+<li><a href="ppmmake.html"><b>ppmmake</b></a>,</li>
+<li><a href="ppmrainbow.html"><b>ppmrainbow</b></a>,</li>
+<li><a href="pgmramp.html"><b>pgmramp</b></a>,</li>
+<li><a href="ppmpat.html"><b>ppmpat</b></a>,</li>
+<li><a href="pam.html"><b>pam</b></a></li>
</ul>
<h2 id="history">HISTORY</h2>
-<p><b>pampaintspill</b> was new in Netpbm 10.50 (March 2010).
+<p><b>pampaintspill</b> was new in Netpbm 10.50 (March 2010).</p>
<h2 id="copyright">COPYRIGHT</h2>
<p>Copyright&nbsp;&copy; 2010&ndash;2021 Scott Pakin,
-<a href="mailto:scott+pbm@pakin.org"><i>scott+pbm@pakin.org</i></a>.
+<a href="mailto:scott+pbm@pakin.org"><i>scott+pbm@pakin.org</i></a>.</p>
<h2 id="index">Table Of Contents</h2>
<ul>
-<li><a href="#synopsis">SYNOPSIS</a>
-<li><a href="#description">DESCRIPTION</a>
-<li><a href="#options">OPTIONS</a>
-<li><a href="#seealso">SEE ALSO</a>
-<li><a href="#history">HISTORY</a>
-<li><a href="#copyright">COPYRIGHT</a>
+<li><a href="#synopsis">SYNOPSIS</a></li>
+<li><a href="#description">DESCRIPTION</a></li>
+<li><a href="#options">OPTIONS</a></li>
+<li><a href="#seealso">SEE ALSO</a></li>
+<li><a href="#history">HISTORY</a></li>
+<li><a href="#copyright">COPYRIGHT</a></li>
</ul>
</body>
diff -urNp a/userguide/pamrecolor.html b/userguide/pamrecolor.html
--- a/userguide/pamrecolor.html 2025-02-04 10:47:27.823451565 +0100
+++ b/userguide/pamrecolor.html 2025-02-04 18:10:00.968545076 +0100
@@ -2,9 +2,9 @@
<html><head><title>Pamrecolor User Manual</title></head>
<body>
<h1>pamrecolor</h1>
-Updated: 31 July 2010
+<p>Updated: 31 July 2010
<br>
-<a href="#index">Table Of Contents</a>
+<a href="#index">Table Of Contents</a></p>
@@ -11,6 +10,7 @@
<h2>NAME</h2>
pamrecolor - alter colors without affecting luminance
@@ -22,15 +22,15 @@ pamrecolor - alter colors without affect
[<b>-randomseed=</b><i>integer</i>]
<p><a href="#index">Table Of Contents</a></p>
[<i>infile</i>]
-
+</p>
+<H2>NAME</H2>
<p>pampaintspill - smoothly spill colors into the background</p>
<p>Minimum unique abbreviation of option is acceptable. You may use double
hyphens instead of single hyphen to denote options. You may use white
-space in place of the equals sign to separate an option name from its value.
+space in place of the equals sign to separate an option name from its value.</p>
<h2><a name="synopsis">SYNOPSIS</a></h2>
diff -up netpbm-10.59.03/userguide/pamrecolor.html.manfix netpbm-10.59.03/userguide/pamrecolor.html
--- netpbm-10.59.03/userguide/pamrecolor.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pamrecolor.html 2012-09-25 10:47:22.757174803 +0200
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Pamrecolor User Manual</title>
-<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
</head>
<h2 id="description">DESCRIPTION</h2>
<body>
@@ -11,7 +10,7 @@
-<p>This program is part of <a href="index.html">Netpbm</a>.
+<p>This program is part of <a href="index.html">Netpbm</a>.</p>
<p>Updated: 31 July 2010</p>
<p><b>pamrecolor</b> changes an image's colors to be as close as
possible to given target colors but with the constraint that the
@@ -39,17 +39,17 @@ image will look identical if both are co
(e.g. with
<a href="ppmtopgm.html">ppmtopgm</a>). You can have <b>pamrecolor</b> select
target colors randomly, specify a single hue for the entire image, or take the
-target colors from a target image.
+target colors from a target image.</p>
<p>In addition to real Netpbm images, <b>pamrecolor</b> works on pseudo-Netpbm
images based on arbitrary color spaces. You can define the color space
-explicitly or choose one of many that <b>pamrecolor</b> knows by name.
+explicitly or choose one of many that <b>pamrecolor</b> knows by name.</p>
<p>The output is a PAM image on standard output. Options control the
exact format of the PAM. If you want a PNM (PBM, PGM, or PPM) image,
use <a href="pamtopnm.html">pamtopnm</a> on the output. There is no
need to convert if you will use the image as input to a current Netpbm
-program, but many other programs don't know what a PAM is.
+program, but many other programs don't know what a PAM is.</p>
-<p><a href="#contents">Table Of Contents</a></p>
+<p><a href="#index">Table Of Contents</a></p>
<h2 id="options">OPTIONS</h2>
@@ -57,7 +57,7 @@ program, but many other programs don't k
<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>pamrecolor</b> recognizes the following
-command line options:
+command line options:</p>
<h2 id="name">NAME</h2>
diff -up netpbm-10.59.03/userguide/pamsistoaglyph.html.manfix netpbm-10.59.03/userguide/pamsistoaglyph.html
--- netpbm-10.59.03/userguide/pamsistoaglyph.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pamsistoaglyph.html 2012-09-25 10:47:22.758174790 +0200
@@ -1,8 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
<title>Pamsistoaglyph User Manual</title>
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
</head>
<dl>
<body>
diff -up netpbm-10.59.03/userguide/pamtoavs.html.manfix netpbm-10.59.03/userguide/pamtoavs.html
--- netpbm-10.59.03/userguide/pamtoavs.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pamtoavs.html 2012-09-25 10:47:22.759174777 +0200
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
<head>
<title>Pamtoavs User Manual</title>
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
</head>
@@ -67,7 +67,7 @@ to luminance of each of the red, green,
example, in the SMPTE-C color space an RGB color is converted to
grayscale by multiplying the red channel by 0.2124132, the green
channel by 0.7010437, and the blue channel by 0.0865432 and summing
-the resulting three products.
+the resulting three products.</dd>
<body>
diff -up netpbm-10.59.03/userguide/pamtooctaveimg.html.manfix netpbm-10.59.03/userguide/pamtooctaveimg.html
--- netpbm-10.59.03/userguide/pamtooctaveimg.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pamtooctaveimg.html 2012-09-25 10:47:22.759174777 +0200
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
<head>
<title>Pamtooctaveimg User Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<p>When you use this option, the input and output images are not true Netpbm
images, because the Netpbm image format specifies a particular color space.
@@ -76,9 +76,9 @@ the raster have different meaning. Many
images actually use a variation with a different color space. For example,
<a href="http://www.gimp.org/">GIMP</a> uses sRGB internally and if you
have GIMP generate a Netpbm image file, it really generates a variation of
-the format that uses sRGB.
+the format that uses sRGB.</p>
<body>
diff -up netpbm-10.59.03/userguide/pnmflip.html.manfix netpbm-10.59.03/userguide/pnmflip.html
--- netpbm-10.59.03/userguide/pnmflip.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pnmflip.html 2012-09-25 10:47:22.760174765 +0200
@@ -4,9 +4,11 @@
<BODY>
<H1>pnmflip</H1>
<BR>
+<H2>NAME</H2>
<p><b>pnmflip</b> was replaced in Netpbm 10.13 (December 2002) by
<b><a href="pamflip.html">pamflip</a></b>.
-<p><b>pamrecolor</b> knows the following color spaces (<i>name</i> values):
+<p><b>pamrecolor</b> knows the following color spaces (<i>name</i> values):</p>
+<H2>DESCRIPTION</H2>
<P><B>pamflip</b> is mostly backward compatible with <b>pnmflip</b>,
but works on PAM images too.
<dl>
<dt>adobe</dt>
@@ -109,12 +109,12 @@ the format that uses sRGB.
<p>The default is "ntsc" because this is the color space that the Netpbm
formats and many graphics utilities use. As a counterexample,
<a href="http://www.gimp.org/">GIMP</a> uses sRGB as its native color
-space.
+space.</p>
<p>The luminance values <b>pamrecolor</b> uses for each of the above come from
Bruce Lindbloom's
<a href="http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html">
-Computing RGB-to-XYZ and XYZ-to-RGB matrices</a> page.</dd>
+Computing RGB-to-XYZ and XYZ-to-RGB matrices</a> page.</p>
<dt><b>--rmult</b>=<i>fraction</i></dt>
<dt><b>--gmult</b>=<i>fraction</i></dt>
@@ -133,15 +133,13 @@ image. <b>pamrecolor</b> will make each
to <i>color</i> subject to the constraint that the luminance must stay the
same as in the original image. Specify <i>color</i> as in
the <a href="libnetpbm_image.html#colorname">argument of the <b>pnm_parsecolor()</b>
-library routine</a> (e.g.,&nbsp;"hotpink" or "#ff69b4").
+library routine</a> (e.g.,&nbsp;"hotpink" or "#ff69b4").</dd>
<p>If you specify neither <b>--targetcolor</b> nor
<b>--colorfile</b>, <b>pamrecolor</b> will randomly select a target color for
-each pixel of the input image.
-
-<p>You may not specify both <b>-targetcolor</b> and <b>-colorfile</b>.
+each pixel of the input image.</p>
-</dd>
+<p>You may not specify both <b>-targetcolor</b> and <b>-colorfile</b>.</p>
<dt><b>--colorfile</b>=<i>file</i></dt>
<dd>Take per-pixel target colors from Netpbm file <i>file</i> instead
@@ -150,40 +148,38 @@ of using a single target color for the e
If the image in the file wider or taller than the input image,
<b>pamrecolor</b> uses only the left and top part of it.
If the image is narrower or shorter, <b>pamrecolor</b> considers the
-image to be repeated in a tile pattern.
+image to be repeated in a tile pattern.</dd>
<p>If you specify neither <b>--targetcolor</b> nor
<b>--colorfile</b>, <b>pamrecolor</b> will randomly select a target color for
-each pixel of the input image.
+each pixel of the input image.</p>
-<p>You may not specify both <b>-targetcolor</b> and <b>-colorfile</b>.
+<p>You may not specify both <b>-targetcolor</b> and <b>-colorfile</b>.</p>
-<dt><b>-randomseed=</b><i>integer</i>
+<dt><b>-randomseed=</b><i>integer</i></dt>
<dd>This is the seed for the random number generator that generates the
-pixels.
+pixels.</dd>
-<p>Use this to ensure you get the same image on separate invocations.
+<p>Use this to ensure you get the same image on separate invocations.</p>
<p>By default, <b>pamrecolor</b> uses a seed derived from the time of day
and process ID, which gives you fairly uncorrelated results in multiple
-invocations.
-
-<p>This option was new in Netpbm 10.61 (December 2012).
+invocations.</p>
-</dl>
+<p>This option was new in Netpbm 10.61 (December 2012).</p>
<h2 id="examples">EXAMPLES</h2>
-<p>This command tints an image yellow:
+<p>This command tints an image yellow:</p>
<pre>
pamrecolor --targetcolor=yellow colorpic.pam &gt; yellowpic.pam
</pre>
<p>This command takes the colors from <b>colorpicture.ppm</b> and applies
-them to <b>graypicture.pgm</b>:
+them to <b>graypicture.pgm</b>:</p>
<pre>
pamrecolor --colorfile=colorpic.ppm graypic.pgm &gt; colorizedpic.pam
@@ -192,52 +188,52 @@ them to <b>graypicture.pgm</b>:
<p>The grayscale version of <b>colorizedpic.pam</b> will look just like
graypic.pgm. Note that if you use a non-Netpbm tool to do the conversion to
grayscale, you may additionally need to specify an
-appropriate <b>--colorspace</b> value for your conversion tool.
+appropriate <b>--colorspace</b> value for your conversion tool.</p>
<h2 id="notes">NOTES</h2>
<p>Here are a couple of fun special effects you can produce with
-<b>pamrecolor</b>:
+<b>pamrecolor</b>:</p>
<ul>
<li>Specify a color file that is identical to the input image but with
some large, colored text added to it. The text will "magically"
-vanish when the image is converted to grayscale.
+vanish when the image is converted to grayscale.</li>
<li>Provide a low-contrast grayscale image &mdash; perhaps a secret
message written in similar shades of gray &mdash; as the input file and
a colorful but completely different image as the color file. If done
carefully, the grayscale image can be hidden by the colorful image.
Only people who know to convert the result to grayscale can recover
-the original grayscale image.
+the original grayscale image.</li>
<li>Use <b>--targetcolor</b>=tan to make an image look like an
old-timey photograph (or, more precisely, a
<a href="http://en.wikipedia.org/wiki/Photographic_print_toning">sepia-toned
-photograph</a> of the late 1800s).
+photograph</a> of the late 1800s).</li>
</ul>
<h2 id="history">HISTORY</h2>
-<p>Scott Pakin wrote <b>pamrecolor</b> in July 2010.
+<p>Scott Pakin wrote <b>pamrecolor</b> in July 2010.</p>
-<p><b>pamrecolor</b> was new in Netpbm 10.52 (September 2010).
+<p><b>pamrecolor</b> was new in Netpbm 10.52 (September 2010).</p>
<h2 id="author">AUTHOR</h2>
<p>Copyright (C) 2010 Scott
-Pakin, <a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a>
+Pakin, <a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a></p>
<h2 id="seealso">SEE ALSO</h2>
<ul>
-<li><a href="ppmtopgm.html"><b>ppmtopgm</b></a>
-<li><a href="ppmchange.html"><b>ppmchange</b></a>
-<li><a href="pnmremap.html"><b>pnmremap</b></a>
+<li><a href="ppmtopgm.html"><b>ppmtopgm</b></a></li>
+<li><a href="ppmchange.html"><b>ppmchange</b></a></li>
+<li><a href="pnmremap.html"><b>pnmremap</b></a></li>
</ul>
@@ -246,14 +242,14 @@ Pakin, <a href="mailto:scott+pbm@pakin.o
<h2 id="index">Table Of Contents</h2>
<ul>
-<li><a href="#synopsis">SYNOPSIS</a>
-<li><a href="#description">DESCRIPTION</a>
-<li><a href="#options">OPTIONS</a>
-<li><a href="#examples">EXAMPLES</a>
-<li><a href="#notes">NOTES</a>
-<li><a href="#history">HISTORY</a>
-<li><a href="#author">AUTHOR</a>
-<li><a href="#seealso">SEE ALSO</a>
+<li><a href="#synopsis">SYNOPSIS</a></li>
+<li><a href="#description">DESCRIPTION</a></li>
+<li><a href="#options">OPTIONS</a></li>
+<li><a href="#examples">EXAMPLES</a></li>
+<li><a href="#notes">NOTES</a></li>
+<li><a href="#history">HISTORY</a></li>
+<li><a href="#author">AUTHOR</a></li>
+<li><a href="#seealso">SEE ALSO</a></li>
</ul>
</body>
diff -urNp a/userguide/pbmtog3.html b/userguide/pbmtog3.html
--- a/userguide/pbmtog3.html 2025-02-04 10:47:27.827451549 +0100
+++ b/userguide/pbmtog3.html 2025-02-04 18:10:55.328259786 +0100
@@ -80,7 +80,7 @@ You cannot specify both.
<h2 id="history">HISTORY</h2>
<p>Before Netpbm 10.79 (June 2017), there was a different program by the same
-name in Netpbm, which was written by by Paul Haeberli
+name in Netpbm, which was written by Paul Haeberli
&lt;<a href="mailto:paul@manray.sgi.com">paul@manray.sgi.com</a>&gt; in 1989
and then modified extensively by others.
diff -urNp a/userguide/ppmtogif.html b/userguide/ppmtogif.html
--- a/userguide/ppmtogif.html 2025-02-04 10:47:27.828451545 +0100
+++ b/userguide/ppmtogif.html 2025-02-04 18:12:39.950710820 +0100
@@ -5,17 +5,17 @@
<h2>NAME</h2>
-ppmtogif - replaced by pamtogif
-
-<h2>DESCRIPTION</h2>
+<p>ppmtogif - replaced by pamtogif</p>
<p>This program is part of <a href="index.html">Netpbm</a>.
+<h2>SYNOPSIS</h2>
diff -up netpbm-10.59.03/userguide/pnmmercator.html.manfix netpbm-10.59.03/userguide/pnmmercator.html
--- netpbm-10.59.03/userguide/pnmmercator.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pnmmercator.html 2012-09-25 10:47:22.760174765 +0200
@@ -1,7 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>PnmMercator User Manual</title>
</head>
<body>
diff -up netpbm-10.59.03/userguide/pnmtotiff.html.manfix netpbm-10.59.03/userguide/pnmtotiff.html
--- netpbm-10.59.03/userguide/pnmtotiff.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/pnmtotiff.html 2012-09-25 10:47:22.760174765 +0200
@@ -1,5 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<!>
<html><head>
<title>pnmtotiff</title>
</head><body>
diff -up netpbm-10.59.03/userguide/ppmtogif.html.manfix netpbm-10.59.03/userguide/ppmtogif.html
--- netpbm-10.59.03/userguide/ppmtogif.html.manfix 2012-09-22 03:46:15.000000000 +0200
+++ netpbm-10.59.03/userguide/ppmtogif.html 2012-09-25 10:47:22.761174753 +0200
@@ -4,11 +4,14 @@
<BODY>
<H1>ppmtogif</H1>
<BR>
+<H2>NAME</H2>
<p><b>ppmtogif</b> was replaced in Netpbm 10.37 (December 2006) by
<b><a href="pamtogif.html">pamtogif</a></b>.
<p><b>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>.
+<H2>SYNOPSIS</H2>
<P><B>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>.
+<h2>DESCRIPTION</h2>
<p>One way <b>pamtogif</b> is not backward compatible with <b>ppmtogif</b>
+<H2>DESCRIPTION</H2>
<P>One way <b>pamtogif</b> is not backward compatible with <b>ppmtogif</b>
is that to specify a transparency (alpha) mask with <b>ppmtogif</b>, you
supply the transparency as a separate pseudo-PGM image and use the
diff -up netpbm-10.61.02/userguide/pamstereogram.html.manfix netpbm-10.61.02/userguide/pamstereogram.html
--- netpbm-10.61.02/userguide/pamstereogram.html.manfix 2013-02-20 07:32:26.000000000 +0100
+++ netpbm-10.61.02/userguide/pamstereogram.html 2013-02-20 07:40:35.071099535 +0100
@@ -1,5 +1,5 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
<head>
<title>Pamstereogram User Manual</title>
</head>
@@ -10,8 +10,7 @@
<p>Updated:30 December 2012</p>
-<p><a href="#contents">Table Of Contents</a></p>
-
+<p><a href="#index">Table Of Contents</a></p>
<h2 id="name">NAME</h2>

12
netpbm-message.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up netpbm-10.59.01/converter/other/giftopnm.c.message netpbm-10.59.01/converter/other/giftopnm.c
--- netpbm-10.59.01/converter/other/giftopnm.c.message 2012-07-11 05:54:52.000000000 +0200
+++ netpbm-10.59.01/converter/other/giftopnm.c 2012-07-11 05:57:57.745246980 +0200
@@ -2038,7 +2038,7 @@ convertImages(FILE * const ifP,
imageSeq, imageSeq > 1 ? "s" : "");
} else {
if (verbose)
- pm_message("Reading Image Sequence %u", imageSeq);
+ pm_message("Reading Image Sequence %u", imageSeq+1);
convertImage(ifP, !allImages && (imageSeq != requestedImageSeq),
imageOutFileP, alphaFileP, gifScreen, gif89,

13
netpbm-nodoc.patch Normal file
View file

@ -0,0 +1,13 @@
diff --git a/GNUmakefile b/GNUmakefile
index b0b7f00..a46329d 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -369,7 +369,7 @@ install.lib:
endif
.PHONY: install.manwebmain
-install.manwebmain: $(PKGDIR)/man/web/netpbm.url $(PKGDIR)/bin/doc.url
+install.manwebmain: $(PKGDIR)/man/web/netpbm.url
$(PKGDIR)/man/web/netpbm.url: $(PKGDIR)/man/web
echo "$(NETPBM_DOCURL)" > $@

23
netpbm-noppmtompeg.patch Normal file
View file

@ -0,0 +1,23 @@
diff -up netpbm-10.47.12/buildtools/manpage.mk.noppmtompeg netpbm-10.47.12/buildtools/manpage.mk
--- netpbm-10.47.12/buildtools/manpage.mk.noppmtompeg 2010-04-27 09:54:52.121522491 -0400
+++ netpbm-10.47.12/buildtools/manpage.mk 2010-04-27 09:55:10.337642487 -0400
@@ -251,7 +251,6 @@ MAN1 = \
ppmtolj.1 \
ppmtomap.1 \
ppmtomitsu.1 \
- ppmtompeg.1 \
ppmtoneo.1 \
ppmtopcx.1 \
ppmtopgm.1 \
diff -up netpbm-10.47.12/converter/ppm/Makefile.noppmtompeg netpbm-10.47.12/converter/ppm/Makefile
--- netpbm-10.47.12/converter/ppm/Makefile.noppmtompeg 2010-04-27 09:55:20.293517254 -0400
+++ netpbm-10.47.12/converter/ppm/Makefile 2010-04-27 09:55:41.534642567 -0400
@@ -7,7 +7,7 @@ VPATH=.:$(SRCDIR)/$(SUBDIR)
include $(BUILDDIR)/config.mk
-SUBDIRS = hpcdtoppm ppmtompeg
+SUBDIRS = hpcdtoppm
PORTBINARIES = 411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \
leaftoppm mtvtoppm neotoppm \

View file

@ -1,11 +1,11 @@
diff -up netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c
--- netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix 2010-04-27 15:47:10.000000000 +0200
+++ netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c 2010-05-03 15:37:49.934269588 +0200
@@ -532,7 +532,5 @@ main(int argc, char **argv)
@@ -518,7 +518,5 @@ main(int argc, char **argv)
pm_close(ifP);
- pm_close(stdout);
-
-
return 0;
}

16
netpbm-pnmtopclxl.patch Normal file
View file

@ -0,0 +1,16 @@
diff -up netpbm-10.58.01/converter/other/pnmtopclxl.c.pnmtopclxl netpbm-10.58.01/converter/other/pnmtopclxl.c
--- netpbm-10.58.01/converter/other/pnmtopclxl.c.pnmtopclxl 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/other/pnmtopclxl.c 2012-06-13 15:39:17.566141565 +0200
@@ -269,10 +269,10 @@ XY_RLEnew(size_t const size) {
MALLOCVAR(rleP);
if (rleP) {
- rleP->fbuf = malloc(size);
+ rleP->fbufsize = MAX(1024, size);
+ rleP->fbuf = malloc(rleP->fbufsize);
if (rleP->fbuf) {
- rleP->fbufsize = MAX(1024, size);
retval = rleP;
} else
retval = NULL;

13
netpbm-pnmtops.patch Normal file
View file

@ -0,0 +1,13 @@
diff --git a/converter/other/Makefile b/converter/other/Makefile
index 7aefda1..0d998f6 100644
--- a/converter/other/Makefile
+++ b/converter/other/Makefile
@@ -121,7 +121,7 @@ PORTBINARIES = avstopam bmptopnm fitstopnm \
pamtowinicon pamtoxvmini \
pbmtopgm pdbimgtopam pfmtopam \
pgmtopbm pgmtoppm ppmtopgm pnmtoddif \
- pnmtopclxl pnmtorast \
+ pnmtopclxl pnmtops pnmtorast \
pnmtosgi pnmtosir pamtotga pnmtoxwd \
rasttopnm rlatopam sgitopnm sirtopnm srftopam sunicontopnm \
winicontopam xwdtopnm zeisstopnm

View file

@ -1,62 +1,67 @@
diff -urNp a/editor/ppmfade b/editor/ppmfade
--- a/editor/ppmfade 2025-02-04 10:47:27.812451607 +0100
+++ b/editor/ppmfade 2025-02-04 10:52:14.233336029 +0100
@@ -99,6 +99,9 @@ sub commandLineArgs() {
$mode = 'BLOCK';
} elsif ($arg eq "-mix") {
$mode = 'MIX';
+ } elsif ($arg eq "-help" || $arg eq "--help" || $arg eq "-h") {
+ print STDERR ("ppmfade: Use 'man ppmfade' for help.\n");
+ exit 1;
diff -up netpbm-10.47.09/editor/ppmfade.ppmfadeusage netpbm-10.47.09/editor/ppmfade
--- netpbm-10.47.09/editor/ppmfade.ppmfadeusage 2010-02-17 11:22:02.000000000 +0100
+++ netpbm-10.47.09/editor/ppmfade 2010-02-17 11:27:29.000000000 +0100
@@ -34,7 +34,6 @@ my $base_name = "fade"; # default base
my $image = "ppm"; # default output storage format
my $mode = $SPREAD; # default fading mode
-
my $n; # argument number
for ($n = 0; $n < @ARGV; $n++) {
@@ -44,7 +43,7 @@ for ($n = 0; $n < @ARGV; $n++) {
if (-e $first_file) {
} else {
if (substr($arg, 0, 1) eq '-') {
print STDERR ("Unknown option '$arg'. " .
@@ -109,13 +112,13 @@ sub commandLineArgs() {
print STDERR ("There are no non-option arguments possible. " .
"You specified '$arg'\n");
}
- exit 100;
print "I can't find first file '$first_file'\n";
- exit 20;
+ exit 1;
}
}
if (!defined($firstFileNm) && !defined($lastFileNm)) {
print STDERR ("You must specify -f or -l (or both)\n");
- exit 90;
+ exit 1
}
if (!defined($mode)) {
@@ -142,7 +145,7 @@ sub imageDimensions($$) {
} elsif ($ARGV[$n] eq "-l") {
$n++;
@@ -52,7 +51,7 @@ for ($n = 0; $n < @ARGV; $n++) {
if (-e $last_file) {
} else {
print STDERR
("Unrecognized results from pnmfile on $firstFileNm.\n");
- exit(50);
+ exit(1);
print "I can't find last file '$last_file'\n";
- exit 20;
+ exit 1;
}
} elsif ($ARGV[$n] eq "-base") {
$n++;
@@ -73,11 +72,12 @@ for ($n = 0; $n < @ARGV; $n++) {
$mode = $BLOCK;
} elsif ("$ARGV[$n]" eq "-mix") {
$mode = $MIX;
- } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "-h") {
- usage();
+ } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "--help" || $ARGV[$n] eq "-h") {
+ print "ppmfade: Use 'man ppmfade' for help.\n";
+ exit 1;
} else {
# $lastFileNm is defined
@@ -151,7 +154,7 @@ sub imageDimensions($$) {
} else {
print STDERR
("Unrecognized results from pnmfile on $firstFileNm.\n");
- exit(50);
+ exit(1);
}
print "Unknown argument: $ARGV[$n]\n";
- exit 100;
+ exit 1;
}
}
#
@@ -96,18 +96,18 @@ if ($first_file ne "undefined") {
$width = $1; $height = $2;
} else {
print("Unrecognized results from pnmfile on $first_file.\n");
- exit(50);
+ exit 1;
}
return $width, $height;
@@ -436,12 +439,12 @@ my ($mode, $firstFileNm, $lastFileNm, $b
if (defined($firstFileNm) && !-e($firstFileNm)) {
print STDERR ("First file '$firstFileNm' does not exist\n");
- exit 20;
} elsif ($last_file ne "undefined") {
if ((`pnmfile $last_file` =~ m{\b(\d+)\sby\s(\d+)} )) {
$width = $1; $height = $2;
} else {
print("Unrecognized results from pnmfile on $first_file.\n");
- exit(50);
+ exit 1;
}
} else {
print("ppmfade: You must specify -f or -l (or both)\n");
- exit(90);
+ exit 1;
}
if (defined($lastFileNm) && !-e($lastFileNm)) {
print STDERR ("Last file '$lastFileNm' does not exist\n");
- exit 20;
+ exit 1;
}
my ($width, $height) = imageDimensions($firstFileNm, $lastFileNm);
print("Frames are " . $width . "W x " . $height . "H\n");

12
netpbm-ppmtopict.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up netpbm-10.58.01/converter/ppm/ppmtopict.c.ppmtopict netpbm-10.58.01/converter/ppm/ppmtopict.c
--- netpbm-10.58.01/converter/ppm/ppmtopict.c.ppmtopict 2012-06-13 09:52:42.000000000 +0200
+++ netpbm-10.58.01/converter/ppm/ppmtopict.c 2012-06-13 11:33:11.134747363 +0200
@@ -200,7 +200,7 @@ putRow(FILE * const ifP,
pixel * const rowpixels,
char * const packed) {
- unsigned int i;
+ int i;
unsigned int count;
unsigned int run;
unsigned int rep;

View file

@ -1,28 +0,0 @@
diff --git a/buildtools/makeman b/buildtools/makeman
index 196dbd0..d73ab76 100755
--- a/buildtools/makeman
+++ b/buildtools/makeman
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# makeman -- compile netpbm's stereotyped HTML to troff markup
#
diff --git a/buildtools/manpage.mk b/buildtools/manpage.mk
index ef1a103..c1badb8 100644
--- a/buildtools/manpage.mk
+++ b/buildtools/manpage.mk
@@ -126,11 +126,11 @@ reportman:
# to standard error.
%.1 %.3 %.5: $(USERGUIDE)/%.html
@echo Converting $< to $@
- @python $(MAKEMAN) -d $(USERGUIDE) $(<F)
+ @python3 $(MAKEMAN) -d $(USERGUIDE) $(<F)
netpbm.1: $(USERGUIDE)/index.html
@echo Converting $< to $@
- @python $(MAKEMAN) -d $(USERGUIDE) index.html
+ @python3 $(MAKEMAN) -d $(USERGUIDE) index.html
@mv index.1 netpbm.1
# Generate man pages

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,368 @@
diff --git a/converter/other/anytopnm b/converter/other/anytopnm
index acf8813..335312a 100755
--- a/converter/other/anytopnm
+++ b/converter/other/anytopnm
@@ -511,10 +511,7 @@ else
inputFile="-"
fi
-tempdir="${TMPDIR-/tmp}/anytopnm.$$"
-mkdir -m 0700 $tempdir || \
- { echo "Could not create temporary file. Exiting."; exit 1;}
-trap 'rm -rf $tempdir' 0
+tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
# Take out all spaces
# Find the filename extension for last-ditch efforts later
@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-`
determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
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
diff --git a/editor/pamstretch-gen b/editor/pamstretch-gen
index ba0e818..250fca0 100755
--- a/editor/pamstretch-gen
+++ b/editor/pamstretch-gen
@@ -31,9 +31,7 @@ if [ "$1" = "" ]; then
exit 1
fi
-tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$"
-mkdir -m 0700 $tempdir || \
- { echo "Could not create temporary file. Exiting."; exit 1;}
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
trap 'rm -rf $tempdir' 0 1 3 15
tempfile=$tempdir/pnmig
diff --git a/editor/pnmmargin b/editor/pnmmargin
index 0f57d1d..e0d3625 100755
--- a/editor/pnmmargin
+++ b/editor/pnmmargin
@@ -11,11 +11,7 @@
# documentation. This software is provided "as is" without express or
# implied warranty.
-tempdir="${TMPDIR-/tmp}/pnmmargin.$$"
-mkdir -m 0700 $tempdir || \
- { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
-trap 'rm -rf $tempdir' 0 1 3 15
-
+tempdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
tmp1=$tempdir/pnmm1
tmp2=$tempdir/pnmm2
tmp3=$tempdir/pnmm3
@@ -90,6 +86,7 @@ else
-white | -black )
pnmpad $plainopt $color \
-left=$size -right=$size -top=$size -bottom=$size $tmp1
+ rm -rf "$tempdir"
exit
;;
* )
@@ -103,4 +100,4 @@ else
pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
fi
-
+rm -rf "$tempdir"
diff --git a/editor/ppmfade b/editor/ppmfade
index 027fc79..8eb094f 100755
--- a/editor/ppmfade
+++ b/editor/ppmfade
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
#
##############################################################################
use strict;
+use File::Temp "tempdir";
my $SPREAD = 1;
my $SHIFT = 2;
@@ -137,20 +138,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");
}
#
@@ -158,14 +165,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++) {
@@ -173,147 +180,147 @@ 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);
diff --git a/editor/ppmshadow b/editor/ppmshadow
index 62cdf8b..72e1b22 100755
--- a/editor/ppmshadow
+++ b/editor/ppmshadow
@@ -97,9 +97,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");
+my $ourtmp; chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
+if ($? >> 8) {
+ die "Can't create directory for temporary files";
+}
# Process command line options

View file

@ -1,13 +0,0 @@
diff --git a/config.mk.in b/config.mk.in
index 50687ba..d35c982 100644
--- a/config.mk.in
+++ b/config.mk.in
@@ -250,7 +250,7 @@ EXE =
# 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)
+LDSHLIB = $(LDFLAGS) -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.

102
netpbm-werror.patch Normal file
View file

@ -0,0 +1,102 @@
diff --git a/converter/pbm/cmuwmtopbm.c b/converter/pbm/cmuwmtopbm.c
index 5c138c1..1f9bc6c 100644
--- a/converter/pbm/cmuwmtopbm.c
+++ b/converter/pbm/cmuwmtopbm.c
@@ -48,20 +48,20 @@ readCmuwmHeader(FILE * const ifP,
rc = pm_readbiglong(ifP, &l);
if (rc == -1 )
- pm_error(initReadError);
+ pm_error("%s", initReadError);
if ((uint32_t)l != cmuwmMagic)
pm_error("bad magic number in CMU window manager file");
rc = pm_readbiglong(ifP, &l);
if (rc == -1)
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*colsP = l;
rc = pm_readbiglong(ifP, &l);
if (rc == -1 )
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*rowsP = l;
rc = pm_readbigshort(ifP, &s);
if (rc == -1)
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*depthP = s;
}
diff --git a/converter/other/tifftopnm.c b/converter/other/tifftopnm.c
index 3aa2e43..b8ebf39 100644
--- a/converter/other/tifftopnm.c
+++ b/converter/other/tifftopnm.c
@@ -1459,7 +1459,7 @@ convertRasterInMemory(pnmOut * const pnmOutP,
int ok;
ok = TIFFRGBAImageOK(tif, emsg);
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_UNABLE;
} else {
uint32 * raster;
@@ -1479,14 +1479,14 @@ convertRasterInMemory(pnmOut * const pnmOutP,
ok = TIFFRGBAImageBegin(&img, tif, stopOnErrorFalse, emsg);
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_FAILED;
} else {
int ok;
ok = TIFFRGBAImageGet(&img, raster, cols, rows);
TIFFRGBAImageEnd(&img) ;
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_FAILED;
} else {
*statusP = CONV_DONE;
diff --git a/lib/util/pm_c_util.h b/lib/util/pm_c_util.h
index 01a0765..8f5aa01 100644
--- a/lib/util/pm_c_util.h
+++ b/lib/util/pm_c_util.h
@@ -80,10 +80,10 @@
#endif
#ifndef TRUE
- #define TRUE true
+ #define TRUE 1
#endif
#ifndef FALSE
- #define FALSE false
+ #define FALSE 0
#endif
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
diff --git a/converter/other/fiasco/pnmtofiasco.c b/converter/other/fiasco/pnmtofiasco.c
index d78ff6b..761dac5 100644
--- a/converter/other/fiasco/pnmtofiasco.c
+++ b/converter/other/fiasco/pnmtofiasco.c
@@ -170,7 +170,7 @@ main (int argc, char **argv)
return 0;
else
{
- fprintf (stderr, fiasco_get_error_message ());
+ fprintf (stderr, "%s", fiasco_get_error_message ());
fprintf (stderr, "\n");
return 1;
}
diff --git a/converter/other/fiasco/params.c b/converter/other/fiasco/params.c
index a4d843a..9659e9f 100644
--- a/converter/other/fiasco/params.c
+++ b/converter/other/fiasco/params.c
@@ -656,7 +656,7 @@ usage (const param_t *params, const char *progname, const char *synopsis,
fprintf (stderr, "Usage: %s [OPTION]...%s\n", progname,
non_opt_string ? non_opt_string : " ");
if (synopsis != NULL)
- fprintf (stderr, synopsis);
+ fprintf (stderr, "%s\n", synopsis);
fprintf (stderr, "\n\n");
fprintf (stderr, "Mandatory or optional arguments to long options "
"are mandatory or optional\nfor short options too. "

View file

@ -1,45 +1,43 @@
Summary: A library for handling different graphics file formats
Name: netpbm
Version: 11.13.00
Release: 1%{?dist}
Summary: A library for handling different graphics file formats
Name: netpbm
Version: 10.66.02
Release: 5%{?dist}
# See copyright_summary for details
License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later AND IJG AND MIT AND NTP AND PostgreSQL AND LicenseRef-MIT-CRL-Xim AND LicenseRef-Fedora-Public-Domain
License: BSD and GPLv2 and IJG and MIT and Public Domain
Group: System Environment/Libraries
URL: http://netpbm.sourceforge.net/
# Source0 is prepared by
# svn checkout https://svn.code.sf.net/p/netpbm/code/advanced netpbm-%%{version}
# svn checkout https://svn.code.sf.net/p/netpbm/code/userguide netpbm-%%{version}/userguide
# svn checkout https://svn.code.sf.net/p/netpbm/code/trunk/test netpbm-%%{version}/test
# svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced netpbm-%{version}
# svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/userguide netpbm-%{version}/userguide
# svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/trunk/test netpbm-%{version}/test
# and removing the .svn directories ( find -name "\.svn" -type d -print0 | xargs -0 rm -rf )
Source0: netpbm-%{version}.tar.xz
Patch1: netpbm-security-code.patch
Patch2: netpbm-ppmfadeusage.patch
Patch3: netpbm-CVE-2017-2587.patch
Patch4: netpbm-python3.patch
Patch5: netpbm-time.patch
Patch6: netpbm-gcc4.patch
Patch7: netpbm-bmptopnm.patch
Patch8: netpbm-CAN-2005-2471.patch
Patch9: netpbm-xwdfix.patch
Patch10: netpbm-multilib.patch
Patch11: netpbm-glibc.patch
Patch12: netpbm-docfix.patch
Patch13: netpbm-pamtojpeg2k.patch
Patch14: netpbm-manfix.patch
Patch15: netpbm-jasper.patch
Patch16: netpbm-libdir-so.patch
Patch17: netpbm-c99.patch
Patch18: netpbm-shlib-ldflags.patch
BuildRequires: make
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel, flex, gcc, jbigkit-devel
BuildRequires: libX11-devel, perl-generators, python3, jasper-devel, libxml2-devel
BuildRequires: perl(Config), perl(Cwd), perl(English), perl(Fcntl), perl(File::Basename)
BuildRequires: perl(strict)
%if (0%{?fedora} && 0%{?fedora} < 28) || (0%{?rhel} || 0%{?rhel} <= 7)
BuildRequires: ghostscript-core
%else
BuildRequires: ghostscript
%endif
# and removing the ppmtompeg code, due to patents ( rm -rf netpbm-%{version}/converter/ppm/ppmtompeg/ )
Source0: netpbm-%{version}.tar.xz
Patch1: netpbm-time.patch
Patch2: netpbm-message.patch
Patch3: netpbm-security-scripts.patch
Patch4: netpbm-security-code.patch
Patch5: netpbm-nodoc.patch
Patch6: netpbm-gcc4.patch
Patch7: netpbm-bmptopnm.patch
Patch8: netpbm-CAN-2005-2471.patch
Patch9: netpbm-xwdfix.patch
Patch11: netpbm-multilib.patch
Patch13: netpbm-glibc.patch
Patch15: netpbm-docfix.patch
Patch16: netpbm-ppmfadeusage.patch
Patch17: netpbm-fiasco-overflow.patch
Patch20: netpbm-noppmtompeg.patch
Patch21: netpbm-cmuwtopbm.patch
Patch22: netpbm-pamtojpeg2k.patch
Patch23: netpbm-manfix.patch
Patch24: netpbm-ppmtopict.patch
Patch25: netpbm-pnmtopclxl.patch
Patch26: netpbm-werror.patch
Patch27: netpbm-disable-pbmtog3.patch
Patch28: netpbm-pnmtops.patch
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel, flex
BuildRequires: libX11-devel, python, jasper-devel, libxml2-devel
%description
The netpbm package contains a library of functions which support
@ -48,8 +46,9 @@ programs for handling various graphics file formats, including .pbm
.ppm (portable pixmaps) and others.
%package devel
Summary: Development tools for programs which will use the netpbm libraries
Requires: netpbm = %{version}-%{release}
Summary: Development tools for programs which will use the netpbm libraries
Group: Development/Libraries
Requires: netpbm = %{version}-%{release}
%description devel
The netpbm-devel package contains the header files and static libraries,
@ -61,9 +60,10 @@ graphics file formats supported by the netpbm libraries. You'll also need
to have the netpbm package installed.
%package progs
Summary: Tools for manipulating graphics files in netpbm supported formats
Requires: ghostscript
Requires: netpbm = %{version}-%{release}
Summary: Tools for manipulating graphics files in netpbm supported formats
Group: Applications/Multimedia
Requires: ghostscript
Requires: netpbm = %{version}-%{release}
%description progs
The netpbm-progs package contains a group of scripts for manipulating the
@ -76,8 +76,9 @@ If you need to use these conversion scripts, you should install
netpbm-progs. You'll also need to install the netpbm package.
%package doc
Summary: Documentation for tools manipulating graphics files in netpbm supported formats
Requires: netpbm-progs = %{version}-%{release}
Summary: Documentation for tools manipulating graphics files in netpbm supported formats
Group: Applications/Multimedia
Requires: netpbm-progs = %{version}-%{release}
%description doc
The netpbm-doc package contains a documentation in HTML format for utilities
@ -87,12 +88,36 @@ If you need to look into the HTML documentation, you should install
netpbm-doc. You'll also need to install the netpbm-progs package.
%prep
%autosetup -p1
%setup -q
%patch1 -p1 -b .time
%patch2 -p1 -b .message
%patch3 -p1 -b .security-scripts
%patch4 -p1 -b .security-code
%patch5 -p1 -b .nodoc
%patch6 -p1 -b .gcc4
%patch7 -p1 -b .bmptopnm
%patch8 -p1 -b .CAN-2005-2471
%patch9 -p1 -b .xwdfix
%patch11 -p1 -b .multilib
%patch13 -p1 -b .glibc
%patch15 -p1 -b .docfix
%patch16 -p1 -b .ppmfadeusage
%patch17 -p1 -b .fiasco-overflow
%patch20 -p1 -b .noppmtompeg
%patch21 -p1 -b .cmuwtopbmfix
%patch22 -p1 -b .pamtojpeg2kfix
%patch23 -p1 -b .manfix
%patch24 -p1 -b .ppmtopict
%patch25 -p1 -b .pnmtopclxl
%patch26 -p1 -b .werror
%patch27 -p1 -b .disable-pbmtog3
%patch28 -p1 -b .pnmtops
sed -i 's/STRIPFLAG = -s/STRIPFLAG =/g' config.mk.in
rm -rf converter/other/jpeg2000/libjasper/
rm -rf converter/other/jbig/libjbig/
sed -i -e 's/^SUBDIRS = libjasper/SUBDIRS =/' converter/other/jpeg2000/Makefile
%build
%set_build_flags
./configure <<EOF
@ -119,24 +144,26 @@ TOP=`pwd`
make \
CC="%{__cc}" \
LDFLAGS="$LDFLAGS -L$TOP/pbm -L$TOP/pgm -L$TOP/pnm -L$TOP/ppm" \
CFLAGS="$CFLAGS -fPIC -flax-vector-conversions -fno-strict-aliasing" \
CFLAGS_CONFIG="$CFLAGS" \
LDFLAGS="-L$TOP/pbm -L$TOP/pgm -L$TOP/pnm -L$TOP/ppm" \
CFLAGS="$RPM_OPT_FLAGS -fPIC -flax-vector-conversions -fno-strict-aliasing" \
LADD="-lm" \
JPEGINC_DIR=%{_usr}/include \
PNGINC_DIR=%{_usr}/include \
TIFFINC_DIR=%{_usr}/include \
JPEGLIB_DIR=%{_usr}/%{_lib} \
JBIGLIB=%{_usr}/%{_lib}/libjbig.so.2.1 \
PNGLIB_DIR=%{_usr}/%{_lib} \
TIFFLIB_DIR=%{_usr}/%{_lib} \
JPEGINC_DIR=%{_includedir} \
PNGINC_DIR=%{_includedir} \
TIFFINC_DIR=%{_includedir} \
JPEGLIB_DIR=%{_libdir} \
PNGLIB_DIR=%{_libdir} \
TIFFLIB_DIR=%{_libdir} \
LINUXSVGALIB="NONE" \
X11LIB=%{_usr}/%{_lib}/libX11.so \
XML2LIBS="NONE"
X11LIB=%{_libdir}/libX11.so \
XML2LIBS="NONE" \
JASPERLIB="" \
JASPERDEPLIBS="-ljasper" \
JASPERHDR_DIR="/usr/include/jasper"
# prepare man files
cd userguide
# BZ 948531
rm -f ppmtompeg*
rm -f *.manual-pages
rm -f *.manfix
for i in *.html ; do
@ -149,21 +176,25 @@ done
%install
make package pkgdir=%{buildroot}%{_prefix} LINUXSVGALIB="NONE" XML2LIBS="NONE"
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
make package pkgdir=$RPM_BUILD_ROOT/usr LINUXSVGALIB="NONE" XML2LIBS="NONE"
# Ugly hack to have libs in correct dir on 64bit archs.
mkdir -p %{buildroot}%{_libdir}
if [ "%{_lib}" != "lib" ]; then
mv %{buildroot}%{_prefix}/lib/lib* %{buildroot}%{_libdir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}
if [ "%{_libdir}" != "/usr/lib" ]; then
mv $RPM_BUILD_ROOT/usr/lib/lib* $RPM_BUILD_ROOT%{_libdir}
fi
cp -af lib/libnetpbm.a %{buildroot}%{_libdir}/libnetpbm.a
cp -af lib/libnetpbm.a $RPM_BUILD_ROOT%{_libdir}/libnetpbm.a
cp -l $RPM_BUILD_ROOT%{_libdir}/libnetpbm.so.?? $RPM_BUILD_ROOT%{_libdir}/libnetpbm.so
mkdir -p %{buildroot}%{_datadir}
mv userguide/man %{buildroot}%{_mandir}
mkdir -p $RPM_BUILD_ROOT%{_datadir}
mv userguide/man $RPM_BUILD_ROOT%{_mandir}
# Get rid of the useless non-ascii character in pgmminkowski.1
sed -i 's/\xa0//' %{buildroot}%{_mandir}/man1/pgmminkowski.1
sed -i 's/\xa0//' $RPM_BUILD_ROOT%{_mandir}/man1/pgmminkowski.1
# Don't ship man pages for non-existent binaries and bogus ones
for i in hpcdtoppm \
@ -171,284 +202,71 @@ for i in hpcdtoppm \
directory error extendedopacity \
pam pbm pgm pnm ppm index libnetpbm_dir \
liberror ppmtotga; do
rm -f %{buildroot}%{_mandir}/man1/${i}.1
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/${i}.1
done
rm -f %{buildroot}%{_mandir}/man5/extendedopacity.5
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/extendedopacity.5
mkdir -p %{buildroot}%{_datadir}/netpbm
mv %{buildroot}%{_prefix}/misc/*.map %{buildroot}%{_datadir}/netpbm/
mv %{buildroot}%{_prefix}/misc/rgb.txt %{buildroot}%{_datadir}/netpbm/
rm -rf %{buildroot}%{_prefix}/README
rm -rf %{buildroot}%{_prefix}/VERSION
rm -rf %{buildroot}%{_prefix}/link
rm -rf %{buildroot}%{_prefix}/misc
rm -rf %{buildroot}%{_prefix}/man
rm -rf %{buildroot}%{_prefix}/pkginfo
rm -rf %{buildroot}%{_prefix}/config_template
rm -rf %{buildroot}%{_prefix}/pkgconfig_template
mkdir -p $RPM_BUILD_ROOT%{_datadir}/netpbm
mv $RPM_BUILD_ROOT/usr/misc/*.map $RPM_BUILD_ROOT%{_datadir}/netpbm/
mv $RPM_BUILD_ROOT/usr/misc/rgb.txt $RPM_BUILD_ROOT%{_datadir}/netpbm/
rm -rf $RPM_BUILD_ROOT/usr/README
rm -rf $RPM_BUILD_ROOT/usr/VERSION
rm -rf $RPM_BUILD_ROOT/usr/link
rm -rf $RPM_BUILD_ROOT/usr/misc
rm -rf $RPM_BUILD_ROOT/usr/man
rm -rf $RPM_BUILD_ROOT/usr/pkginfo
rm -rf $RPM_BUILD_ROOT/usr/config_template
rm -rf $RPM_BUILD_ROOT/usr/pkgconfig_template
# Don't ship the static library
rm -f %{buildroot}%{_libdir}/lib*.a
rm -f $RPM_BUILD_ROOT/%{_libdir}/lib*.a
# remove/symlink/substitute obsolete utilities
pushd %{buildroot}%{_bindir}
pushd $RPM_BUILD_ROOT%{_bindir}
rm -f pgmtopbm pnmcomp
ln -s pamcomp pnmcomp
echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > pgmtopbm
chmod 0755 pgmtopbm
popd
%ldconfig_scriptlets
%check
pushd test
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
export PBM_TESTPREFIX=%{buildroot}%{_bindir}
export PBM_BINPREFIX=%{buildroot}%{_bindir}
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}
export PBM_TESTPREFIX=$RPM_BUILD_ROOT%{_bindir}
export PBM_BINPREFIX=$RPM_BUILD_ROOT%{_bindir}
./Execute-Tests && exit 0
popd
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc doc/copyright_summary doc/COPYRIGHT.PATENT doc/HISTORY README
%license doc/GPL_LICENSE.txt
%{_libdir}/lib*.so.*
%defattr(-,root,root)
%doc doc/copyright_summary doc/COPYRIGHT.PATENT doc/GPL_LICENSE.txt doc/HISTORY README
%{_libdir}/lib*.so*
%files devel
%defattr(-,root,root)
%dir %{_includedir}/netpbm
%{_includedir}/netpbm/*.h
%{_mandir}/man3/*
%{_libdir}/lib*.so
%files progs
%defattr(-,root,root)
%{_bindir}/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_datadir}/netpbm/
%files doc
%defattr(-,root,root)
%doc userguide/*
%changelog
* Thu Jan 08 2026 Josef Ridky <jridky@redhat.com> - 11.13.00-1
- New upstream release 11.13.00
* Tue Oct 14 2025 Josef Ridky <jridky@redhat.com> - 11.12.00-1
- New upstream release 11.12.00
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.10.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Apr 08 2025 Josef Ridky <jridky@redhat.com> - 11.10.00-1
- New upstream release 11.10.00 (#2355869)
* Thu Feb 06 2025 Josef Ridky <jridky@redhat.com> - 11.09.00-2
- add LDFLAGS patch (RHEL-70899)
* Tue Jan 28 2025 Josef Ridky <jridky@redhat.com> - 11.09.00-1
- New upstream release 11.09.00 (#2218312)
- Review and update license field
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.02.00-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Dec 13 2024 Lukáš Zaoral <lzaoral@redhat.com> - 11.02.00-9
- build netpbm with correct LDFLAGS (RHEL-70899)
* Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 11.02.00-8
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.02.00-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.02.00-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Florian Weimer <fweimer@redhat.com> - 11.02.00-5
- GCC 14 compatibility fixes:
Drop netpbm-cmuwtopbm.patch to fix an out-of-bounds stack write (#2259450)
Stub out unused converter/other/jpeg2000/libjasper_compat.c (#2259448)
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.02.00-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Nov 28 2023 Orion Poplawski <orion@nwra.com> - 11.02.00-3
- Rebuild for jasper 4.1
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 11.02.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Mar 27 2023 Josef Ridky <jridky@redhat.com> - 11.02.00-1
- New upstream release 11.02.00 (#2157125)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 11.01.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 02 2023 Josef Ridky <jridky@redhat.com> - 11.01.00-1
- New upstream release 11.01.00 (#2157125)
* Fri Dec 02 2022 Florian Weimer <fweimer@redhat.com> - 11.00.00-2
- Port downstream-specific patches to C99
* Tue Oct 04 2022 Josef Ridky <jridky@redhat.com> - 11.00.00-1
- New upstream release 11.00.00 (#2130384)
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.99.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 28 2022 Josef Ridky <jridky@redhat.com> - 10.99.00-1
- New upstream release 10.99.00 (#2068865)
- Use %%set_build_flags to set environment variables
* Sun Feb 13 2022 Josef Ridky <jridky@redhat.com> - 10.97.00-4
- Bump spec for new jasper
* Fri Feb 11 2022 Josef Ridky <jridky@redhat.com> - 10.97.00-3
- Rebuild for new jasper
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.97.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 03 2022 Josef Ridky <jridky@redhat.com> - 10.97.00-1
- New upstream release 10.97.00 (#2035806)
* Mon Oct 04 2021 Josef Ridky <jridky@redhat.com> - 10.96.00-1
- New upstream release 10.96.00 (#2007871)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 10.95.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jul 15 2021 Josef Ridky <jridky@redhat.com> - 10.95.00-1
- New upstream release 10.95.00 (#1977974)
* Wed Mar 31 2021 Josef Ridky <jridky@redhat.com> - 10.94.05-1
- New upstream release 10.94.05 (#1943837)
* Mon Jan 25 2021 Josef Ridky <jridky@redhat.com> - 10.93.00-1
- New upstream release 10.93.00 (#1911159)
* Wed Oct 07 2020 Josef Ridky <jridky@redhat.com> - 10.92.00-1
- New upstream release 10.92.00 (#1851753)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.90.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Mar 26 2020 Josef Ridky <jridky@redhat.com> - 10.90.00-1
- New upstream release 10.90.00 (#1817279)
* Wed Mar 25 2020 Jitka Plesnikova <jplesnik@redhat.com> - 10.89.00-3
- Add perl dependencies for build
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.89.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 06 2020 Josef Ridky <jridky@redhat.com> - 10.89.00-1
- New upstream release 10.89.00 (#1787801)
* Mon Dec 09 2019 Josef Ridky <jridky@redhat.com> - 10.88.00-1
- New upstream release (#1756647)
* Wed Aug 21 2019 Josef Ridky <jridky@redhat.com> - 10.87.00-1
- New upstream release (#1725280)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 10.86.00-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 17 2019 Josef Ridky <jridky@redhat.com> - 10.86.00-2
- Enable MPEG and MPEG-2 support (#1700164)
* Mon Apr 01 2019 Josef Ridky <jridky@redhat.com> - 10.86.00-1
- New upstream release (#1694351)
* Tue Feb 12 2019 Ralf Corsépius <corsepiu@fedoraproject.org> - 10.84.03-3
- Package %%{_libdir}/*.so (RHBZ#1676370).
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 10.84.03-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Nov 23 2018 Josef Ridky <jridky@redhat.com> - 10.84.03-1
- New upstream release (#1634256)
* Wed Nov 21 2018 Josef Ridky <jridky@redhat.com> - 10.83.01-2
- Use system version of jasper and jbigkit library (#1651965)
* Mon Jul 23 2018 Josef Ridky <jridky@redhat.com> - 10.83.01-1
- New upstream release 10.83.01 (#1596970)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.82.00-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 04 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-3
- Backport unimplemented fixes from 10.79.00 (#1585695)
* Wed Apr 11 2018 Rafael Santos <rdossant@redhat.com> - 10.82.00-2
- Use standard Fedora build and linker flags (bug #1543858)
* Tue Mar 27 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-1
- New upstream release 10.82.00 (#1560330)
* Mon Feb 26 2018 Josef Ridky <jridky@redhat.com> - 10.81.00-4
- spec clean up
- build against Python3
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.81.00-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 22 2018 Josef Ridky <jridky@redhat.com> - 10.81.00-2
- change ghostscript requirement
* Wed Jan 03 2018 Josef Ridky <jridky@redhat.com> - 10.81.00-1
- New upstream release 10.81.00 (#1529904)
- update spec file
* Thu Oct 19 2017 Josef Ridky <jridky@redhat.com> - 10.80.00-2
- Rebuilt for python package
* Mon Oct 02 2017 Josef Ridky <jridky@redhat.com> - 10.80.00-1
- New upstream release 10.80.00 (#1496797)
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.79.00-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.79.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 03 2017 Josef Ridky <jridky@redhat.com> - 10.79.00-1
- New upstream release 10.79.00 (#1466772)
* Wed Mar 29 2017 Josef Ridky <jridky@redhat.com> - 10.78.00-1
- New upstream release 10.78.00
* Wed Feb 08 2017 Josef Ridky <jridky@redhat.com> - 10.77.00-3
- fix CVE-2017-2586, CVE-2017-2587 (#1419545)
- fix CVE-2017-5849 (#1419650)
* Mon Jan 23 2017 Josef Ridky <jridky@redhat.com> - 10.77.00-2
- fix #1404757 - add copyright_summary to doc section
* Mon Jan 23 2017 Josef Ridky <jridky@redhat.com> - 10.77.00-1
- New upstream release 10.77.00 (#1408611)
* Mon Dec 5 2016 Josef Ridky <jridky@redhat.com> - 10.76.00-2
- set Provides: bundled for jasper and jbigkit library (#1395716)
* Thu Nov 10 2016 Josef Ridky <jridky@redhat.com> - 10.76.00-1
- Update to the latest upstream release 10.76.00 (#1393713)
* Thu Jul 28 2016 Josef Ridky <jridky@redhat.com> - 10.75.99-1
- Update to the latest upstream release 10.75.99 (#1361103)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 10.71.02-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Aug 10 2015 Petr Hracek <phracek@redhat.com> - 10.71.02-1
- Update to the latest upstream release (#1252352)
* Thu Aug 06 2015 Petr Hracek <phracek@redhat.com> - 10.66.02-7
- remove doc/copyright_summary (#1219743)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 10.66.02-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Jan 20 2015 Petr Hracek <phracek@redhat.com> - 10.66.02-5
- Moving libnetpbm.so from netpbm-devel to netpbm (#1180811)
@ -1030,7 +848,7 @@ popd
- fix segfault in ppmtompeg when encoding jpeg images (#185970)
* Mon Apr 3 2006 Jindrich Novy <jnovy@redhat.com> 10.32-2
- fix broken symlink in upstream: pnmsdepth -> pamdepth (#187667)
- fix broken symlink in upstream: pnmsdepth -> pamdepth (#187667)
* Tue Feb 28 2006 Jindrich Novy <jnovy@redhat.com> 10.32-1
- update to 10.32

View file

@ -1,30 +0,0 @@
#!/bin/bash
# Source0 is prepared by
# svn checkout https://svn.code.sf.net/p/netpbm/code/advanced netpbm-%{version}
# svn checkout https://svn.code.sf.net/p/netpbm/code/userguide netpbm-%{version}/userguide
# svn checkout https://svn.code.sf.net/p/netpbm/code/trunk/test netpbm-%{version}/test
# and removing the .svn directories ( find -name "\.svn" -type d -print0 | xargs -0 rm -rf )
VERSION=$1
if [[ -z $VERSION ]]; then
echo "Version is missing as argument"
exit 1
fi
NETPBM_NAME="netpbm-$VERSION"
TEMP_DIR="/var/tmp/netpbm"
TARBALL="$TEMP_DIR/$NETPBM_NAME.tar.xz"
mkdir -p $TEMP_DIR
pushd $TEMP_DIR
svn checkout https://svn.code.sf.net/p/netpbm/code/advanced $NETPBM_NAME
svn checkout https://svn.code.sf.net/p/netpbm/code/userguide $NETPBM_NAME/userguide
svn checkout https://svn.code.sf.net/p/netpbm/code/trunk/test $NETPBM_NAME/test
find -name '\.svn' -type d -print0 | xargs -0 rm -rf
tar -cJvf $NETPBM_NAME.tar.xz $NETPBM_NAME
rm -rf $NETPBM_NAME/
popd
if [[ -f "$TARBALL" ]]; then
cp $TARBALL .
rm $TARBALL
fi
exit 0

View file

@ -1 +1 @@
SHA512 (netpbm-11.13.00.tar.xz) = 0914061c7c8d638147afb76cbf23609b3ae43aca4120e4297fd5db6887d5381469d6944cdbdc1c66d26f54ec68d62355693c08b830dde823061e37c51480b678
dcb7de91384d630eb399e48c71158f3d netpbm-10.66.02.tar.xz