Resolves: RHEL-64359 - fix licenses and rabase

Signed-off-by: Josef Ridky <jridky@redhat.com>
This commit is contained in:
Josef Ridky 2025-02-06 13:12:56 +01:00
parent 78ed1d2f17
commit 053819a5ea
11 changed files with 900 additions and 2937 deletions

1
.gitignore vendored
View File

@ -26,3 +26,4 @@
/netpbm-11.00.00.tar.xz
/netpbm-11.01.00.tar.xz
/netpbm-11.02.00.tar.xz
/netpbm-11.09.00.tar.xz

View File

@ -1,6 +1,6 @@
diff -urNp a/converter/other/pstopnm.c b/converter/other/pstopnm.c
--- a/converter/other/pstopnm.c 2018-07-23 15:14:51.200658026 +0200
+++ b/converter/other/pstopnm.c 2018-07-23 15:18:12.579910612 +0200
--- 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
ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
@ -10,8 +10,8 @@ diff -urNp a/converter/other/pstopnm.c b/converter/other/pstopnm.c
}
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt,
- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
+ "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
+ "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
ghostscriptProg, errno, strerror(errno));

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

View File

@ -1,46 +1,41 @@
Include "pm.h" for the declaration of the overflow_add function. This
avoids an implicit function declaration. Future C compilers will
require that all functions are declared explicitly. Implicit function
declarations are a language feature that was removed in 1999.
Remove the contents of libjasper_compat.c. The assignment
Likewise, include "pm.h" for the newly added declarations of realloc2.
This fixes a pointer truncation bug in pjtoppm.
*errorP = errorP;
Both issues are specific to downstream patches.
is bogus because it creates a non-null value in *errorP even on
success, and the caller expects a null pointer int his case.
diff --git a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c
index 1c8d236219b297e1..d63cab63b13f2051 100644
--- a/converter/pbm/pbmtoppa/pbm.c
+++ b/converter/pbm/pbmtoppa/pbm.c
@@ -12,6 +12,7 @@
#include <stdlib.h>
#include <string.h>
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.
+#include "pm.h"
#include "ppapbm.h"
int make_pbm_stat(pbm_stat* pbm,FILE* fptr)
diff --git a/converter/ppm/pjtoppm.c b/converter/ppm/pjtoppm.c
index c458c06457c2b9bd..5e93a6acb8d6f198 100644
--- a/converter/ppm/pjtoppm.c
+++ b/converter/ppm/pjtoppm.c
@@ -10,6 +10,7 @@
** implied warranty.
*/
+#include "pm.h"
#include "ppm.h"
#include "mallocvar.h"
diff --git a/lib/pm.h b/lib/pm.h
index 5037c2519c565fbc..435445d5e7f52fbf 100644
--- a/lib/pm.h
+++ b/lib/pm.h
@@ -457,6 +457,7 @@ pm_parse_height(const char * const arg);
void *malloc2(int, int);
void *malloc3(int, int, int);
+void *realloc2(void * a, int b, int c);
#define overflow2(a,b) __overflow2(a,b)
void __overflow2(int, int);
void overflow3(int, int, int);
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

View File

@ -1,6 +1,7 @@
--- 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 ) {
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 ) {
if ( (err = parseOpts( argc, argv, rt )) ) goto exit ;

View File

@ -1,25 +1,20 @@
diff -urNp a/userguide/avstopam.html b/userguide/avstopam.html
--- a/userguide/avstopam.html 2022-01-03 16:56:37.731614243 +0100
+++ b/userguide/avstopam.html 2022-01-03 16:58:29.889416006 +0100
@@ -2,12 +2,13 @@
--- 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>
<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>
-<p>avstopam - convert an AVS X image to a Netpbm image
+<p>avstopam - convert an AVS X image to a Netpbm image</p>
<h2 id="synopsis">SYNOPSIS</h2>
@@ -16,40 +17,40 @@ Updated: 07 February 2010
<p>avstopam - convert an AVS X image to a Netpbm image
@@ -16,40 +16,40 @@ Updated: 07 February 2010
<h2 id="description">DESCRIPTION</h2>
@ -72,8 +67,8 @@ diff -urNp a/userguide/avstopam.html b/userguide/avstopam.html
</body>
</html>
diff -urNp a/userguide/faxformat.html b/userguide/faxformat.html
--- a/userguide/faxformat.html 2022-01-03 16:56:37.731614243 +0100
+++ b/userguide/faxformat.html 2022-01-03 16:58:29.890416013 +0100
--- 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 @@
Updated: 03 December 2008
<br>
@ -88,8 +83,8 @@ diff -urNp a/userguide/faxformat.html b/userguide/faxformat.html
(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 2022-01-03 16:56:37.732614250 +0100
+++ b/userguide/libnetpbm_ug.html 2022-01-03 16:58:29.891416020 +0100
--- 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>
@ -100,8 +95,8 @@ diff -urNp a/userguide/libnetpbm_ug.html b/userguide/libnetpbm_ug.html
<p>The <a href="libpm.html">Libnetpbm Utility Manual</a>
diff -urNp a/userguide/pamfunc.html b/userguide/pamfunc.html
--- a/userguide/pamfunc.html 2022-01-03 16:56:37.730614236 +0100
+++ b/userguide/pamfunc.html 2022-01-03 16:58:29.892416027 +0100
--- 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
@ -112,9 +107,9 @@ diff -urNp a/userguide/pamfunc.html b/userguide/pamfunc.html
<h4>Arithmetic functions</h4>
diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
--- a/userguide/pammixmulti.html 2022-01-03 16:56:37.731614243 +0100
+++ b/userguide/pammixmulti.html 2022-01-03 16:58:29.893416034 +0100
@@ -7,8 +7,8 @@ Updated: 18 November 2018
--- 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>
@ -125,9 +120,15 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
<h2 id="synopsis">SYNOPSIS</h2>
@@ -22,14 +22,14 @@ Updated: 18 November 2018
<p>Minimum unique abbreviation of an option is acceptable. You can use a
single hyphen instead of double hyphens to denote options. You can use white
@@ -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>
@ -151,17 +152,19 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
+command line options:</p>
<dl compact>
<dt><b>--blend</b>=average|random|mask</dt>
@@ -50,7 +50,7 @@ output is produced by selecting the corr
images, chosen at random on a per-pixel basis. 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.
+on the grayscale level of an additional mask image.</p>
<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>
@@ -60,7 +60,7 @@ grayscale mask file to control the blend
<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
@ -169,19 +172,19 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
+images.</p>
</dd>
<dt><b>--stdev</b>=<i>number</i></dt>
@@ -77,7 +77,7 @@ that includes roughly equal amounts of t
<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>
-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>
@@ -85,45 +85,45 @@ like <b>--blend</b>=average. <i>number</
<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>
<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>
@ -207,7 +210,7 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
+image:</p>
<pre><code>
pammixmulti --blend=random input*.ppm &gt;output.ppm
pammixmulti -blend=random input*.ppm &gt;output.ppm
</code></pre>
<p>Use a mask image to control the fading among input images on a
@ -215,7 +218,7 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
+pixel-by-pixel basis:</p>
<pre><code>
pammixmulti --blend=mask --maskfile=mask.pgm &gt;output.pam \
pammixmulti -blend=mask -maskfile=mask.pgm &gt;output.pam \
one.pam two.pam three.pam four.pam
</code></pre>
@ -223,7 +226,7 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
+<p>Do the same but with more abrupt transitions:</p>
<pre><code>
pammixmulti --blend=mask --maskfile=mask.pgm --stdev=0.0 &gt;output.pam \
pammixmulti -blend=mask -maskfile=mask.pgm -stdev=0.0 &gt;output.pam \
one.pam two.pam three.pam four.pam
</code></pre>
@ -231,8 +234,8 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
+<p>and now with more gradual transitions:</p>
<pre><code>
pammixmulti --blend=mask --maskfile=mask.pgm --stdev=1.0 &gt;output.pam \
@@ -133,12 +133,12 @@ pixel-by-pixel basis:
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>
@ -242,12 +245,12 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
<h2 id="author">AUTHOR</h2>
-<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org.
+<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org.</p>
-<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>
@@ -146,20 +146,20 @@ pixel-by-pixel basis:
@@ -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>,
@ -278,8 +281,8 @@ diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html
</body>
diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html
--- a/userguide/pampaintspill.html 2022-01-03 16:56:37.730614236 +0100
+++ b/userguide/pampaintspill.html 2022-01-03 17:05:08.124277395 +0100
--- 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>
@ -289,7 +292,7 @@ diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html
<h2 id="synopsis">SYNOPSIS</h2>
@@ -19,17 +19,17 @@ pampaintspill - smoothly spill colors in
@@ -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>]
@ -310,7 +313,11 @@ diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html
<p><b>pampaintspill</b> produces a smooth color gradient from all of the
non-background-colored pixels in an input image, effectively "spilling
@@ -40,27 +40,27 @@ paint" onto the background. <b>pampaint
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
@ -343,14 +350,13 @@ diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html
<dl>
<dt><b>--bgcolor</b>=<i>color</i></dt>
@@ -116,46 +116,46 @@ command line options:
2.0) make the paint sources stand out in the output image by pushing the
@@ -117,45 +117,45 @@ command line options:
gradients away from them.</dd>
- <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
<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.
@ -409,8 +415,8 @@ diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html
</body>
diff -urNp a/userguide/pamrecolor.html b/userguide/pamrecolor.html
--- a/userguide/pamrecolor.html 2022-01-03 16:56:37.731614243 +0100
+++ b/userguide/pamrecolor.html 2022-01-03 16:58:29.894416041 +0100
--- 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>
@ -472,6 +478,15 @@ diff -urNp a/userguide/pamrecolor.html b/userguide/pamrecolor.html
<dl>
@@ -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>
<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
@ -484,7 +499,7 @@ diff -urNp a/userguide/pamrecolor.html b/userguide/pamrecolor.html
<dl>
<dt>adobe</dt>
@@ -109,7 +109,7 @@ the format that uses sRGB.
@@ -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
@ -493,18 +508,172 @@ diff -urNp a/userguide/pamrecolor.html b/userguide/pamrecolor.html
<p>The luminance values <b>pamrecolor</b> uses for each of the above come from
Bruce Lindbloom's
diff -urNp a/userguide/pbmtog3.html b/userguide/pbmtog3.html
--- a/userguide/pbmtog3.html 2022-01-03 16:56:37.732614250 +0100
+++ b/userguide/pbmtog3.html 2022-01-03 16:58:29.894416041 +0100
@@ -36,7 +36,7 @@ use those encodings.
<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>pbmtog3</b> recognizes the following
-command line options:
+command line options:</p>
<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>
<dl>
<dt><b>-reversebits</b>
<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>
@ -515,8 +684,8 @@ diff -urNp a/userguide/pbmtog3.html b/userguide/pbmtog3.html
and then modified extensively by others.
diff -urNp a/userguide/ppmtogif.html b/userguide/ppmtogif.html
--- a/userguide/ppmtogif.html 2022-01-03 16:56:37.733614257 +0100
+++ b/userguide/ppmtogif.html 2022-01-03 16:58:29.895416049 +0100
--- 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>

View File

@ -1,57 +1,62 @@
diff -urNp old/editor/ppmfade new/editor/ppmfade
--- old/editor/ppmfade 2017-11-01 11:47:49.869611402 +0100
+++ new/editor/ppmfade 2017-11-01 11:53:25.524973342 +0100
@@ -84,7 +84,7 @@ for ($n = 0; $n < @ARGV; $n++) {
if (-e $first_file) {
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;
} else {
print "I can't find first file '$first_file'\n";
- exit 20;
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;
+ exit 1;
}
} elsif ($ARGV[$n] eq "-l") {
$n++;
@@ -92,7 +92,7 @@ for ($n = 0; $n < @ARGV; $n++) {
if (-e $last_file) {
}
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($$) {
} else {
print "I can't find last file '$last_file'\n";
- exit 20;
+ exit 1;
print STDERR
("Unrecognized results from pnmfile on $firstFileNm.\n");
- exit(50);
+ exit(1);
}
} elsif ($ARGV[$n] eq "-base") {
$n++;
@@ -113,9 +113,12 @@ for ($n = 0; $n < @ARGV; $n++) {
$mode = $BLOCK;
} elsif ("$ARGV[$n]" eq "-mix") {
$mode = $MIX;
+ } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "--help" || $ARGV[$n] eq "-h") {
+ print "ppmfade: Use 'man ppmfade' for help.\n";
+ exit 1;
} else {
print "Unknown argument: $ARGV[$n]\n";
- exit 100;
+ exit 1;
# $lastFileNm is defined
@@ -151,7 +154,7 @@ sub imageDimensions($$) {
} else {
print STDERR
("Unrecognized results from pnmfile on $firstFileNm.\n");
- exit(50);
+ exit(1);
}
}
}
#
@@ -134,18 +137,18 @@ if ($first_file ne "undefined") {
$width = $1; $height = $2;
} else {
print("Unrecognized results from pnmfile on $first_file.\n");
- exit(50);
+ exit 1;
}
} 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);
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;
+ exit 1;
}
print("Frames are " . $width . "W x " . $height . "H\n");
if (defined($lastFileNm) && !-e($lastFileNm)) {
print STDERR ("Last file '$lastFileNm' does not exist\n");
- exit 20;
+ exit 1;
}
my ($width, $height) = imageDimensions($firstFileNm, $lastFileNm);

File diff suppressed because it is too large Load Diff

View File

@ -1,119 +0,0 @@
diff -urNp a/editor/ppmfade b/editor/ppmfade
--- a/editor/ppmfade 2022-06-28 07:58:59.195317750 +0200
+++ b/editor/ppmfade 2022-06-28 08:04:56.070643056 +0200
@@ -215,84 +215,84 @@ for ($i = 1; $i <= $nframes; $i++) {
$n = $spline20[$i] * 100;
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 $tmpdir/junk2o.ppm $tmpdir/junk2.ppm " .

View File

@ -1,9 +1,9 @@
Summary: A library for handling different graphics file formats
Name: netpbm
Version: 11.02.00
Release: 10%{?dist}
Version: 11.09.00
Release: 1%{?dist}
# See copyright_summary for details
License: BSD and GPLv2 and IJG and MIT and Public Domain
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
URL: http://netpbm.sourceforge.net/
# Source0 is prepared by
# svn checkout https://svn.code.sf.net/p/netpbm/code/advanced netpbm-%%{version}
@ -11,7 +11,6 @@ URL: http://netpbm.sourceforge.net/
# 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 )
Source0: netpbm-%{version}.tar.xz
Patch0: netpbm-security-scripts.patch
Patch1: netpbm-security-code.patch
Patch2: netpbm-ppmfadeusage.patch
Patch3: netpbm-CVE-2017-2587.patch
@ -24,15 +23,14 @@ Patch9: netpbm-xwdfix.patch
Patch10: netpbm-multilib.patch
Patch11: netpbm-glibc.patch
Patch12: netpbm-docfix.patch
Patch14: netpbm-pamtojpeg2k.patch
Patch15: netpbm-manfix.patch
Patch16: netpbm-jasper.patch
Patch17: netpbm-libdir-so.patch
Patch18: netpbm-c99.patch
Patch19: netpbm-c99-2.patch
Patch20: netpbm-shlib-ldflags.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: 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)
@ -231,6 +229,10 @@ popd
%doc userguide/*
%changelog
* Thu Feb 06 2025 Josef Ridky <jridky@redhat.com> - 11.09.00-1
- New upstream release 11.09.00
- Review and update license field (RHEL-64359)
* Wed Dec 11 2024 Lukáš Zaoral <lzaoral@redhat.com> - 11.02.00-10
- build netpbm with correct LDFLAGS (RHEL-70899)

View File

@ -1 +1 @@
SHA512 (netpbm-11.02.00.tar.xz) = 499cb8fb3897025b25842bd3408f91d08270ce912a9003e7ae4e6c16b7bb0a5c15372aa375ba464255bb4f005c213627b7e7c9749e37087cd0a895ba199899ae
SHA512 (netpbm-11.09.00.tar.xz) = 46c34dc7155345a3689c64bd1131c5376494b8b116e32059b0c15cc323af61974873817e23b038b57281fcde1cd34e899d11a91e68f8f656d94e01f872ad189d