Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

25 changed files with 2932 additions and 2877 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

17
.gitignore vendored
View File

@ -9,3 +9,20 @@
/netpbm-10.80.00.tar.xz /netpbm-10.80.00.tar.xz
/netpbm-10.81.00.tar.xz /netpbm-10.81.00.tar.xz
/netpbm-10.82.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

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,7 +1,7 @@
diff -up netpbm-10.56.03/converter/other/pstopnm.c.CAN-2005-2471 netpbm-10.56.03/converter/other/pstopnm.c diff -urNp a/converter/other/pstopnm.c b/converter/other/pstopnm.c
--- netpbm-10.56.03/converter/other/pstopnm.c.CAN-2005-2471 2011-11-09 09:18:00.000000000 +0100 --- a/converter/other/pstopnm.c 2018-07-23 15:14:51.200658026 +0200
+++ netpbm-10.56.03/converter/other/pstopnm.c 2011-11-11 11:43:51.827409226 +0100 +++ b/converter/other/pstopnm.c 2018-07-23 15:18:12.579910612 +0200
@@ -747,11 +747,11 @@ execGhostscript(int const input @@ -896,11 +896,11 @@ execGhostscript(int const
ghostscriptProg, arg0, ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, textalphabitsopt, deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
"-q", "-dNOPAUSE", "-q", "-dNOPAUSE",
@ -9,9 +9,9 @@ diff -up netpbm-10.56.03/converter/other/pstopnm.c.CAN-2005-2471 netpbm-10.56.03
+ "-dPARANOIDSAFER", "-"); + "-dPARANOIDSAFER", "-");
} }
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, "-q", execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt,
- "-dNOPAUSE", "-dSAFER", "-", NULL); - textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
+ "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL); + "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)", pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
ghostscriptProg, errno, strerror(errno)); ghostscriptProg, errno, strerror(errno));

View File

@ -1,24 +0,0 @@
diff -urNp a/buildtools/Makefile b/buildtools/Makefile
--- a/buildtools/Makefile 2018-09-24 11:36:56.173535757 +0200
+++ b/buildtools/Makefile 2018-09-24 11:40:09.537553859 +0200
@@ -44,7 +44,7 @@ genfontc:%:%.o $(NETPBMLIB)
$(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $< $(NETPBMLIB)
$(BUILDPROGS):%:%.o
- $(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $<
+ $(LD_FOR_BUILD) -o $@ $(LDFLAGSPRE) $<
distclean clean: cleanlocal
.PHONY: cleanlocal
diff -urNp a/test/Makefile b/test/Makefile
--- a/test/Makefile 2018-09-24 11:36:56.211535549 +0200
+++ b/test/Makefile 2018-09-24 12:40:56.440812065 +0200
@@ -18,7 +18,7 @@ testrandom.o: testrandom.c
$(CC_FOR_BUILD) -c -o $@ $(CFLAGS_FOR_BUILD) $<
testrandom: testrandom.o
- $(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $<
+ $(LD_FOR_BUILD) -o $@ $(LDFLAGSPRE) $<
RAND_VARIETY ?= $(shell ./testrandom -x)

View File

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

41
netpbm-c99-2.patch Normal file
View File

@ -0,0 +1,41 @@
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

46
netpbm-c99.patch Normal file
View File

@ -0,0 +1,46 @@
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.
Likewise, include "pm.h" for the newly added declarations of realloc2.
This fixes a pointer truncation bug in pjtoppm.
Both issues are specific to downstream patches.
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>
+#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);

View File

@ -1,21 +0,0 @@
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

@ -1,351 +0,0 @@
diff -urNp a/converter/other/fiasco/lib/error.c b/converter/other/fiasco/lib/error.c
--- a/converter/other/fiasco/lib/error.c 2018-09-26 11:45:35.787418476 +0200
+++ b/converter/other/fiasco/lib/error.c 2018-09-27 08:35:35.051707228 +0200
@@ -89,8 +89,10 @@ set_error(const char *format, ...) {
} else if (*str == 'c') {
(void)va_arg(args, int);
len += 1;
- } else
+ } else {
+ va_end(args);
return;
+ }
++str;
}
va_end(args);
@@ -204,8 +206,10 @@ warning (const char *format, ...)
VA_START (args, format);
- if (verboselevel == FIASCO_NO_VERBOSITY)
+ if (verboselevel == FIASCO_NO_VERBOSITY) {
+ va_end (args);
return;
+ }
fprintf (stderr, "Warning: ");
vfprintf (stderr, format, args);
@@ -224,8 +228,10 @@ message (const char *format, ...)
VA_START (args, format);
- if (verboselevel == FIASCO_NO_VERBOSITY)
+ if (verboselevel == FIASCO_NO_VERBOSITY) {
+ va_end(args);
return;
+ }
vfprintf (stderr, format, args);
fputc ('\n', stderr);
@@ -242,8 +248,10 @@ debug_message (const char *format, ...)
VA_START (args, format);
- if (verboselevel < FIASCO_ULTIMATE_VERBOSITY)
+ if (verboselevel < FIASCO_ULTIMATE_VERBOSITY) {
+ va_end (args);
return;
+ }
fprintf (stderr, "*** ");
vfprintf (stderr, format, args);
@@ -261,8 +269,10 @@ info (const char *format, ...)
VA_START (args, format);
- if (verboselevel == FIASCO_NO_VERBOSITY)
+ if (verboselevel == FIASCO_NO_VERBOSITY) {
+ va_end (args);
return;
+ }
vfprintf (stderr, format, args);
fflush (stderr);
diff -urNp a/converter/other/gemtopnm.c b/converter/other/gemtopnm.c
--- a/converter/other/gemtopnm.c 2018-09-26 11:45:35.791418469 +0200
+++ b/converter/other/gemtopnm.c 2018-09-27 08:36:51.058648634 +0200
@@ -101,10 +101,11 @@ main(argc, argv)
if (planes == 1)
type = PBM_TYPE;
- else
+ else
type = PPM_TYPE;
- pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 );
+ pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 );
+
overflow_add(cols, padright);
{
diff -urNp a/converter/other/jbig/jbigtopnm.c b/converter/other/jbig/jbigtopnm.c
--- a/converter/other/jbig/jbigtopnm.c 2018-09-26 11:45:35.779418489 +0200
+++ b/converter/other/jbig/jbigtopnm.c 2018-09-26 12:30:12.498686400 +0200
@@ -279,6 +279,7 @@ int main (int argc, char **argv)
}
pm_close(fout);
+ pm_close(fin);
jbg_dec_free(&s);
diff -urNp a/converter/other/jbig/libjbig/jbig.c b/converter/other/jbig/libjbig/jbig.c
--- a/converter/other/jbig/libjbig/jbig.c 2018-09-26 11:45:35.779418489 +0200
+++ b/converter/other/jbig/libjbig/jbig.c 2018-09-26 12:32:47.179520102 +0200
@@ -887,7 +887,7 @@ void jbg_enc_options(struct jbg_enc_stat
if (order >= 0 && order <= 0x0f) s->order = order;
if (options >= 0) s->options = options;
if (l0 > 0) s->l0 = l0;
- if (mx >= 0 && my < 128) s->mx = mx;
+ if (mx >= 0 && mx < 128) s->mx = mx;
if (my >= 0 && my < 256) s->my = my;
return;
diff -urNp a/converter/other/jpeg2000/jpeg2ktopam.c b/converter/other/jpeg2000/jpeg2ktopam.c
--- a/converter/other/jpeg2000/jpeg2ktopam.c 2018-09-26 11:45:35.774418498 +0200
+++ b/converter/other/jpeg2000/jpeg2ktopam.c 2018-09-26 12:47:13.369571321 +0200
@@ -135,11 +135,11 @@ readJ2k(const char * const inputFilena
jasperP = jas_image_decode(instreamP, jas_image_getfmt(instreamP),
(char*)options);
- if (jasperP == NULL)
+ if (jasperP == NULL) {
pm_error("Unable to interpret JPEG-2000 input. "
"The Jasper library jas_image_decode() subroutine failed.");
-
- jas_stream_close(instreamP);
+ }
+ jas_stream_close(instreamP);
*jasperPP = jasperP;
}
diff -urNp a/converter/other/jpeg2000/libjasper/jpc/jpc_util.c b/converter/other/jpeg2000/libjasper/jpc/jpc_util.c
--- a/converter/other/jpeg2000/libjasper/jpc/jpc_util.c 2018-09-26 11:45:35.774418498 +0200
+++ b/converter/other/jpeg2000/libjasper/jpc/jpc_util.c 2018-09-26 12:50:30.121353853 +0200
@@ -151,7 +151,7 @@ int jpc_atoaf(const char *s, int *numval
if ((cp = strtok(buf, delim))) {
++n;
while ((cp = strtok(0, delim))) {
- if (cp != '\0') {
+ if (*cp != '\0') {
++n;
}
}
@@ -169,7 +169,7 @@ int jpc_atoaf(const char *s, int *numval
vs[n] = atof(cp);
++n;
while ((cp = strtok(0, delim))) {
- if (cp != '\0') {
+ if (*cp != '\0') {
vs[n] = atof(cp);
++n;
}
diff -urNp a/converter/other/jpeg2000/pamtojpeg2k.c b/converter/other/jpeg2000/pamtojpeg2k.c
--- a/converter/other/jpeg2000/pamtojpeg2k.c 2018-09-26 11:45:35.774418498 +0200
+++ b/converter/other/jpeg2000/pamtojpeg2k.c 2018-09-26 12:52:06.202247510 +0200
@@ -355,7 +355,7 @@ convertToJasperImage(struct pam * cons
JAS_IMAGE_CT_COLOR(JAS_IMAGE_CT_RGB_B));
}
} else {
- if (strncmp(inpamP->tuple_type, "GRAYSCALE", 9 == 0) ||
+ if (strncmp(inpamP->tuple_type, "GRAYSCALE", 9) == 0 ||
strncmp(inpamP->tuple_type, "BLACKANDWHITE", 13) == 0) {
jas_image_setclrspc(jasperP, JAS_CLRSPC_GENGRAY);
jas_image_setcmpttype(jasperP, 0,
diff -urNp a/converter/pbm/pbmtoln03.c b/converter/pbm/pbmtoln03.c
--- a/converter/pbm/pbmtoln03.c 2018-09-26 11:45:35.769418507 +0200
+++ b/converter/pbm/pbmtoln03.c 2018-09-26 13:15:36.205121268 +0200
@@ -80,22 +80,25 @@ output_sixel_record (unsigned char * rec
/* Do an encoding */
record[j++] = '!' ;
sprintf (repeated_str, "%d", i - start_repeat) ;
- for (p = repeated_str ; *p ; p++)
+ for (p = repeated_str ; *p ; p++) {
record[j++] = *p ;
- record[j++] = last_char ; }
+ }
+ record[j++] = last_char ;
- else {
+ } else {
for (k = 0 ; k < repeated ; k++)
- record[j++] = last_char ; }
+ record[j++] = last_char ;
+ }
start_repeat = i ;
- last_char = record[i] ; }
+ last_char = record[i] ;
}
+ }
fwrite ((char *) record, j, 1, stdout) ;
putchar ('-') ; /* DECGNL (graphics new-line) */
putchar ('\n') ;
- }
+}
static void
diff -urNp a/converter/pbm/pbmtomacp.c b/converter/pbm/pbmtomacp.c
--- a/converter/pbm/pbmtomacp.c 2018-09-26 11:45:35.769418507 +0200
+++ b/converter/pbm/pbmtomacp.c 2018-09-26 14:47:55.085913872 +0200
@@ -177,7 +177,7 @@ calculateCropPad(struct CmdlineInfo
pm_message("Specified -bottom value %u is beyond edge of "
"input image", cmdline.bottom);
- bottom = MIN3(cmdline.bottom, rows - 1, top + MACP_ROWS - 1);
+ bottom = MIN3(cmdline.bottom, rows - 1, top + MACP_ROWS - 1);
} else
bottom = MIN(rows - 1, top + MACP_ROWS - 1);
diff -urNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c
--- a/converter/pbm/pbmtoppa/pbm.c 2018-09-26 11:45:35.769418507 +0200
+++ b/converter/pbm/pbmtoppa/pbm.c 2018-09-26 14:49:51.956959516 +0200
@@ -12,6 +12,7 @@
#include <stdlib.h>
#include <string.h>
+#include "ppm.h"
#include "ppapbm.h"
int make_pbm_stat(pbm_stat* pbm,FILE* fptr)
diff -urNp a/converter/ppm/pjtoppm.c b/converter/ppm/pjtoppm.c
--- a/converter/ppm/pjtoppm.c 2018-09-26 11:45:35.797418458 +0200
+++ b/converter/ppm/pjtoppm.c 2018-09-26 14:52:41.300937179 +0200
@@ -11,6 +11,7 @@
*/
#include "ppm.h"
+#include "pm.h"
#include "mallocvar.h"
static char usage[] = "[paintjetfile]";
diff -urNp a/converter/ppm/ppmtomitsu.c b/converter/ppm/ppmtomitsu.c
--- a/converter/ppm/ppmtomitsu.c 2018-09-26 11:45:35.797418458 +0200
+++ b/converter/ppm/ppmtomitsu.c 2018-09-26 14:56:09.837804961 +0200
@@ -651,9 +651,10 @@ main(int argc, char * argv[]) {
dpi300 = TRUE;
else if (pm_keymatch(argv[argn], "-tiny", 2))
tiny = TRUE;
- else
+ else
pm_usage(usage);
- ++argn;
+
+ ++argn;
}
if (argn < argc) {
diff -urNp a/converter/ppm/tgatoppm.c b/converter/ppm/tgatoppm.c
--- a/converter/ppm/tgatoppm.c 2018-09-26 11:45:35.795418462 +0200
+++ b/converter/ppm/tgatoppm.c 2018-09-26 15:03:12.084322787 +0200
@@ -168,8 +168,8 @@ get_pixel(FILE * const ifP, pixel * dest
Red = getbyte( ifP );
if ( Size == 32 )
Alpha = getbyte( ifP );
- else
- Alpha = 0;
+ else
+ Alpha = 0;
l = 0;
break;
diff -urNp a/converter/ppm/xpmtoppm.c b/converter/ppm/xpmtoppm.c
--- a/converter/ppm/xpmtoppm.c 2018-09-26 11:45:35.795418462 +0200
+++ b/converter/ppm/xpmtoppm.c 2018-09-26 15:09:39.763747185 +0200
@@ -941,8 +941,8 @@ convertRaster(FILE * cons
if (imageOutFileP)
ppm_writeppmrow(imageOutFileP,
pixrow, cols, PPM_MAXMAXVAL, 0);
- if (alphaOutFileP)
- pbm_writepbmrow(alphaOutFileP, alpharow, cols, 0);
+ if (alphaOutFileP)
+ pbm_writepbmrow(alphaOutFileP, alpharow, cols, 0);
}
pbm_freerow(alpharow);
diff -urNp a/editor/pnmconvol.c b/editor/pnmconvol.c
--- a/editor/pnmconvol.c 2018-09-26 11:45:35.758418526 +0200
+++ b/editor/pnmconvol.c 2018-09-26 15:25:06.963058646 +0200
@@ -733,7 +733,7 @@ parsePlaneFileLine(const char * const
"-matrix value is not a valid floating point "
"number", colCt, line);
- ++colCt;
+ ++colCt;
}
pm_strfree(token);
}
diff -urNp a/generator/pbmtext.c b/generator/pbmtext.c
--- a/generator/pbmtext.c 2018-09-26 11:45:35.727418580 +0200
+++ b/generator/pbmtext.c 2018-09-26 15:29:14.618407929 +0200
@@ -404,7 +404,7 @@ fixControlChars(const PM_WCHAR * const
output[outCursor++] = L' ';
} else if (currentChar > fontP->maxglyph ||
!fontP->glyph[currentChar]) {
- if (currentChar > PM_FONT2_MAXGLYPH)
+ if (currentChar > PM_FONT2_MAXGLYPH){
pm_message("code point %X is beyond what this program "
"can handle. Max=%X",
(unsigned int)currentChar, PM_FONT2_MAXGLYPH);
@@ -420,15 +420,15 @@ fixControlChars(const PM_WCHAR * const
(unsigned int) currentChar );
output[outCursor++] = ' ';
}
+ }
} else
output[outCursor++] = input[inCursor];
-
+
assert(outCursor <= outputSize);
}
output[outCursor++] = L'\0';
assert(outCursor <= outputSize);
-
*outputP = output;
}
diff -urNp a/lib/libpm.c b/lib/libpm.c
--- a/lib/libpm.c 2018-09-26 11:45:35.768418509 +0200
+++ b/lib/libpm.c 2018-09-27 08:20:50.933203723 +0200
@@ -437,9 +437,10 @@ pm_maxvaltobits(int const maxval) {
return 15;
else if ( (long) maxval <= 65535L )
return 16;
- else
+ else {
pm_error( "maxval of %d is too large!", maxval );
return -1; /* Should never come here */
+ }
}
int
diff -urNp a/other/pamfix.c b/other/pamfix.c
--- a/other/pamfix.c 2018-09-26 11:45:35.755418531 +0200
+++ b/other/pamfix.c 2018-09-27 08:23:00.923166374 +0200
@@ -184,7 +184,7 @@ clipPamRow(const struct pam * const pamP
"image maxval of %lu",
row, col, plane, tuplerow[col][plane],
pamP->maxval);
- tuplerow[col][plane] = pamP->maxval;
+ tuplerow[col][plane] = pamP->maxval;
}
}
}
diff -urNp a/other/pnmcolormap.c b/other/pnmcolormap.c
--- a/other/pnmcolormap.c 2018-09-26 11:45:35.756418529 +0200
+++ b/other/pnmcolormap.c 2018-09-27 08:28:57.053986251 +0200
@@ -838,9 +838,10 @@ colormapToSquare(struct pam * const pamP
unsigned int const intsqrt = (int)sqrt((float)colormap.size);
if (intsqrt * intsqrt == colormap.size)
pamP->width = intsqrt;
- else
+ else {
pamP->width = intsqrt + 1;
overflow_add(intsqrt, 1);
+ }
}
{
unsigned int const intQuotient = colormap.size / pamP->width;

View File

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

View File

@ -1,12 +0,0 @@
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

@ -1,33 +1,34 @@
diff -urNp a/lib/Makefile b/lib/Makefile diff --git a/lib/Makefile b/lib/Makefile
--- a/lib/Makefile 2021-12-06 10:55:43.832967143 +0100 index bc758df..7f51b41 100644
+++ b/lib/Makefile 2021-12-06 10:56:09.862162960 +0100 --- a/lib/Makefile
@@ -220,7 +220,7 @@ libpm.o: compile.h +++ b/lib/Makefile
@@ -221,7 +221,7 @@ libpm.o: compile.h
.PHONY: install.lib .PHONY: install.lib
ifeq ($(NETPBMLIBTYPE),unixshared) ifeq ($(NETPBMLIBTYPE),unixshared)
# install a Unix-style shared library # install a Unix-style shared library
-install.lib: $(PKGDIR)/lib $(PKGDIR)/link -install.lib: $(PKGDIR)/lib $(PKGDIR)/sharedlink
+install.lib: $(PKGDIR)/lib +install.lib: $(PKGDIR)/lib
cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).* cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).*
$(INSTALL) -c -m $(INSTALL_PERM_LIBD) \ $(INSTALL) -c -m $(INSTALL_PERM_LIBD) \
libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/ libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/
@@ -262,19 +262,19 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(P @@ -263,27 +263,26 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(PKGDIR)/include/netpbm
$(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/netpbm/ $(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/netpbm/
.PHONY: install.staticlib .PHONY: install.staticlib
-install.staticlib: $(PKGDIR)/link -install.staticlib: $(PKGDIR)/staticlink
+install.staticlib: $(PKGDIR)/lib +install.staticlib: $(PKGDIR)/lib
$(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \ $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
- $(PKGDIR)/link - $(PKGDIR)/staticlink
+ $(PKGDIR)/lib + $(PKGDIR)/lib
# Install a shared library stub -- the ".so" file used at link time to # Install a shared library stub -- the ".so" file used at link time to
# prepare a program for dynamically linking a library at run time # prepare a program for dynamically linking a library at run time
.PHONY: install.sharedlibstub .PHONY: install.sharedlibstub
-install.sharedlibstub: $(PKGDIR)/link -install.sharedlibstub: $(PKGDIR)/sharedlink
+install.sharedlibstub: $(PKGDIR)/lib +install.sharedlibstub: $(PKGDIR)/lib
ifeq ($(NETPBMLIBTYPE),unixshared) ifeq ($(NETPBMLIBTYPE),unixshared)
# install the link-time (.so) links to the runtime libraries # install the link-time (.so) links to the runtime libraries
- cd $(PKGDIR)/link ; \ - cd $(PKGDIR)/sharedlink ; \
+ cd $(PKGDIR)/lib ; \ + cd $(PKGDIR)/lib ; \
rm -f libnetpbm.$(NETPBMLIBSUFFIX); \ rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
- $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \ - $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
@ -35,3 +36,13 @@ diff -urNp a/lib/Makefile b/lib/Makefile
libnetpbm.$(NETPBMLIBSUFFIX) libnetpbm.$(NETPBMLIBSUFFIX)
endif endif
ifeq ($(NETPBMLIBTYPE),dll) 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,184 +1,540 @@
diff -urNp old/userguide/avstopam.html new/userguide/avstopam.html diff -urNp a/userguide/avstopam.html b/userguide/avstopam.html
--- old/userguide/avstopam.html 2017-09-05 13:58:08.338559550 +0200 --- a/userguide/avstopam.html 2022-01-03 16:56:37.731614243 +0100
+++ new/userguide/avstopam.html 2017-09-05 14:00:27.371039472 +0200 +++ b/userguide/avstopam.html 2022-01-03 16:58:29.889416006 +0100
@@ -1,8 +1,7 @@ @@ -2,12 +2,13 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html><head><title>Avstopam User Manual</title></head>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<html>
<head>
<title>Avstopam User Manual</title>
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
</head>
<body> <body>
diff -urNp old/userguide/escp2topbm.html new/userguide/escp2topbm.html <h1>avstopam</h1>
--- old/userguide/escp2topbm.html 2017-09-05 13:58:08.335559561 +0200 -Updated: 07 February 2010
+++ new/userguide/escp2topbm.html 2017-09-05 14:01:20.226842694 +0200 -<br>
@@ -6,6 +6,7 @@ Updated: 14 July 2015 -<a href="#index">Table Of Contents</a>
<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>
+<H2>NAME</H2> -<p>avstopam - convert an AVS X image to a Netpbm image
escp2topbm - convert an ESC/P2 printer file to a PBM image +<p>avstopam - convert an AVS X image to a Netpbm image</p>
<H2 id="synopsis">SYNOPSIS</H2> <h2 id="synopsis">SYNOPSIS</h2>
diff -urNp old/userguide/faxformat.html new/userguide/faxformat.html
--- old/userguide/faxformat.html 2017-09-05 13:58:08.337559553 +0200 @@ -16,40 +17,40 @@ Updated: 07 February 2010
+++ new/userguide/faxformat.html 2017-09-05 14:02:33.322571279 +0200
<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 2022-01-03 16:56:37.731614243 +0100
+++ b/userguide/faxformat.html 2022-01-03 16:58:29.890416013 +0100
@@ -5,10 +5,11 @@ @@ -5,10 +5,11 @@
Updated: 03 December 2008 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>, <p>This page, part of the <a href="index.html">Netpbm user's guide</a>,
describes FAX formats in relation to Netpbm facilities. 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 <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 (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 a fax sent by another). These standards incidentally specify graphics file
diff -urNp old/userguide/pampaintspill.html new/userguide/pampaintspill.html diff -urNp a/userguide/libnetpbm_ug.html b/userguide/libnetpbm_ug.html
--- old/userguide/pampaintspill.html 2017-09-05 13:58:08.338559550 +0200 --- a/userguide/libnetpbm_ug.html 2022-01-03 16:56:37.732614250 +0100
+++ new/userguide/pampaintspill.html 2017-09-05 14:03:32.625351620 +0200 +++ b/userguide/libnetpbm_ug.html 2022-01-03 16:58:29.891416020 +0100
@@ -1,8 +1,7 @@ @@ -374,7 +374,7 @@ plain format.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <h2 id="reference">Reference</h2>
-<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 2022-01-03 16:56:37.730614236 +0100
+++ b/userguide/pamfunc.html 2022-01-03 16:58:29.892416027 +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 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 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>
@@ -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
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|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>
</dd>
<dt><b>--maskfile</b>=<i>filename</i></dt>
@@ -60,7 +60,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>
@@ -77,7 +77,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>
@@ -85,45 +85,45 @@ like <b>--blend</b>=average. <i>number</
<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 \
@@ -133,12 +133,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 Scott Pakin, scott+pbm@pakin.org.
+<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org.</p>
<h2 id="seealso">SEE ALSO</h2>
@@ -146,20 +146,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 2022-01-03 16:56:37.730614236 +0100
+++ b/userguide/pampaintspill.html 2022-01-03 17:05:08.124277395 +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,17 +19,17 @@ 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
@@ -40,27 +40,27 @@ paint" onto the background. <b>pampaint
<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>
@@ -116,46 +116,46 @@ command line options:
2.0) make the paint sources stand out in the output image by pushing the
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
- 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>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 2022-01-03 16:56:37.731614243 +0100
+++ b/userguide/pamrecolor.html 2022-01-03 16:58:29.894416041 +0100
@@ -2,9 +2,9 @@
<html><head><title>Pamrecolor User Manual</title></head>
<body> <body>
@@ -11,6 +10,7 @@ <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>
<p><a href="#index">Table Of Contents</a></p> <h2>NAME</h2>
pamrecolor - alter colors without affecting luminance
@@ -22,15 +22,15 @@ pamrecolor - alter colors without affect
[<b>-randomseed=</b><i>integer</i>]
+<H2>NAME</H2> [<i>infile</i>]
<p>pampaintspill - smoothly spill colors into the background</p> -
+</p>
<h2><a name="synopsis">SYNOPSIS</a></h2> <p>Minimum unique abbreviation of option is acceptable. You may use double
diff -urNp old/userguide/pamrecolor.html new/userguide/pamrecolor.html hyphens instead of single hyphen to denote options. You may use white
--- old/userguide/pamrecolor.html 2017-09-05 13:58:08.336559557 +0200 -space in place of the equals sign to separate an option name from its value.
+++ new/userguide/pamrecolor.html 2017-09-05 14:04:34.714122098 +0200 +space in place of the equals sign to separate an option name from its value.</p>
@@ -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>
<body> <h2 id="description">DESCRIPTION</h2>
@@ -11,7 +10,7 @@
<p>Updated: 31 July 2010</p> -<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><a href="#contents">Table Of Contents</a></p> <p><b>pamrecolor</b> changes an image's colors to be as close as
+<p><a href="#index">Table Of Contents</a></p> 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>
<h2 id="name">NAME</h2> <h2 id="options">OPTIONS</h2>
diff -urNp old/userguide/pamsistoaglyph.html new/userguide/pamsistoaglyph.html @@ -57,7 +57,7 @@ program, but many other programs don't k
--- old/userguide/pamsistoaglyph.html 2017-09-05 13:58:08.334559565 +0200 <p>In addition to the options common to all programs based on libnetpbm
+++ new/userguide/pamsistoaglyph.html 2017-09-05 14:05:25.865944327 +0200 (most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
@@ -1,8 +1,7 @@ Common Options</a>), <b>pamrecolor</b> recognizes the following
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> -command line options:
-<html xmlns="http://www.w3.org/1999/xhtml"> +command line options:</p>
+<html>
<head>
<title>Pamsistoaglyph User Manual</title>
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
</head>
<body> <dl>
diff -urNp old/userguide/pamstereogram.html new/userguide/pamstereogram.html
--- old/userguide/pamstereogram.html 2017-09-05 13:58:08.337559553 +0200
+++ new/userguide/pamstereogram.html 2017-09-05 14:13:28.523959069 +0200
@@ -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,7 +10,7 @@
<p>Updated: 19 June 2015</p> @@ -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>
-<p><a href="#contents">Table Of Contents</a></p> -<p><b>pamrecolor</b> knows the following color spaces (<i>name</i> values):
+<p><a href="#index">Table Of Contents</a></p> +<p><b>pamrecolor</b> knows the following color spaces (<i>name</i> values):</p>
<dl>
<dt>adobe</dt>
@@ -109,7 +109,7 @@ 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>
<h2 id="name">NAME</h2> <p>The luminance values <b>pamrecolor</b> uses for each of the above come from
diff -urNp old/userguide/pamtoavs.html new/userguide/pamtoavs.html Bruce Lindbloom's
--- old/userguide/pamtoavs.html 2017-09-05 13:58:08.329559583 +0200 diff -urNp a/userguide/pbmtog3.html b/userguide/pbmtog3.html
+++ new/userguide/pamtoavs.html 2017-09-05 14:05:49.299863901 +0200 --- a/userguide/pbmtog3.html 2022-01-03 16:56:37.732614250 +0100
@@ -1,5 +1,5 @@ +++ b/userguide/pbmtog3.html 2022-01-03 16:58:29.894416041 +0100
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> @@ -36,7 +36,7 @@ use those encodings.
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <p>In addition to the options common to all programs based on libnetpbm
+<html> (most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
<head> Common Options</a>), <b>pbmtog3</b> recognizes the following
<title>Pamtoavs User Manual</title> -command line options:
<meta http-equiv="content-type" content="text/html; charset=us-ascii" /> +command line options:</p>
diff -urNp old/userguide/pamtooctaveimg.html new/userguide/pamtooctaveimg.html
--- old/userguide/pamtooctaveimg.html 2017-09-05 13:58:08.335559561 +0200
+++ new/userguide/pamtooctaveimg.html 2017-09-05 14:06:21.825752356 +0200
@@ -1,8 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<html>
<head>
<title>Pamtooctaveimg User Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body> <dl>
diff -urNp old/userguide/pnmflip.html new/userguide/pnmflip.html <dt><b>-reversebits</b>
--- old/userguide/pnmflip.html 2017-09-05 13:58:08.336559557 +0200 @@ -80,7 +80,7 @@ You cannot specify both.
+++ new/userguide/pnmflip.html 2017-09-05 14:07:15.065963977 +0200 <h2 id="history">HISTORY</h2>
@@ -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>.
+<H2>DESCRIPTION</H2> <p>Before Netpbm 10.79 (June 2017), there was a different program by the same
<P><B>pamflip</b> is mostly backward compatible with <b>pnmflip</b>, -name in Netpbm, which was written by by Paul Haeberli
but works on PAM images too. +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 old/userguide/pnmmercator.html new/userguide/pnmmercator.html diff -urNp a/userguide/ppmtogif.html b/userguide/ppmtogif.html
--- old/userguide/pnmmercator.html 2017-09-05 13:58:08.334559565 +0200 --- a/userguide/ppmtogif.html 2022-01-03 16:56:37.733614257 +0100
+++ new/userguide/pnmmercator.html 2017-09-05 14:08:08.305214742 +0200 +++ b/userguide/ppmtogif.html 2022-01-03 16:58:29.895416049 +0100
@@ -1,7 +1,6 @@ @@ -5,17 +5,17 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <h2>NAME</h2>
<html>
<head> -ppmtogif - replaced by pamtogif
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> -
<title>PnmMercator User Manual</title> -<h2>DESCRIPTION</h2>
</head> +<p>ppmtogif - replaced by pamtogif</p>
<body>
diff -urNp old/userguide/ppmtogif.html new/userguide/ppmtogif.html <p>This program is part of <a href="index.html">Netpbm</a>.
--- old/userguide/ppmtogif.html 2017-09-05 13:58:08.337559553 +0200
+++ new/userguide/ppmtogif.html 2017-09-05 14:09:51.450583126 +0200 +<h2>SYNOPSIS</h2>
@@ -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 <p><b>ppmtogif</b> was replaced in Netpbm 10.37 (December 2006) by
<b><a href="pamtogif.html">pamtogif</a></b>. <b><a href="pamtogif.html">pamtogif</a></b>.
+<H2>SYNOPSIS</H2> <p><b>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>.
<P><B>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>.
+<H2>DESCRIPTION</H2> +<h2>DESCRIPTION</h2>
<P>One way <b>pamtogif</b> is not backward compatible with <b>ppmtogif</b> <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 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 supply the transparency as a separate pseudo-PGM image and use the

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +0,0 @@
diff --git a/converter/ppm/Makefile b/converter/ppm/Makefile
index b97349d..f68170f 100644
--- a/converter/ppm/Makefile
+++ b/converter/ppm/Makefile
@@ -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,7 +1,7 @@
diff -up netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c 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.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 +++ netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c 2010-05-03 15:37:49.934269588 +0200
@@ -518,7 +518,5 @@ main(int argc, char **argv) @@ -532,7 +532,5 @@ main(int argc, char **argv)
pm_close(ifP); pm_close(ifP);

View File

@ -1,9 +1,28 @@
diff -urNp old/buildtools/makeman new/buildtools/makeman diff --git a/buildtools/makeman b/buildtools/makeman
--- old/buildtools/makeman 2018-01-03 12:15:55.000000000 +0100 index 196dbd0..d73ab76 100755
+++ new/buildtools/makeman 2018-02-26 14:18:39.993760106 +0100 --- a/buildtools/makeman
+++ b/buildtools/makeman
@@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
-#!/usr/bin/python -#!/usr/bin/python
+#!/usr/bin/python3 +#!/usr/bin/python3
# #
# makeman -- compile netpbm's stereotyped HTML to troff markup # 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

@ -1,335 +1,119 @@
diff -urNp old/converter/other/anytopnm neew/converter/other/anytopnm diff -urNp a/editor/ppmfade b/editor/ppmfade
--- old/converter/other/anytopnm 2017-09-05 12:58:26.795741945 +0200 --- a/editor/ppmfade 2022-06-28 07:58:59.195317750 +0200
+++ neew/converter/other/anytopnm 2017-09-05 13:03:12.985472566 +0200 +++ b/editor/ppmfade 2022-06-28 08:04:56.070643056 +0200
@@ -537,9 +537,8 @@ else @@ -215,84 +215,84 @@ for ($i = 1; $i <= $nframes; $i++) {
fi
-tempdir=$(mktemp -d "${TMPDIR:-/tmp}/anytopnm.XXXXXXXX") ||
+tempdir=$(mktemp -d -t anytopnm.XXXXXXXX) ||
( echo "Could not create temporary file. Exiting." 1>&2; exit 1; )
-trap 'rm -rf $tempdir' 0
# Take out all spaces
# Find the filename extension for last-ditch efforts later
@@ -565,9 +564,17 @@ if [ "$filetype" = "unknown" ]; then
echo "$progname: unknown file type. " \
"'file' says mime type is '$mimeType', " 1>&2
echo "type description is '$typeDescription'" 1>&2
+ if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+ fi
+
exit 1
fi
convertIt $file $filetype
+if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+fi
+
exit 0
diff -urNp old/editor/pamstretch-gen neew/editor/pamstretch-gen
--- old/editor/pamstretch-gen 2017-09-05 12:58:26.763741946 +0200
+++ neew/editor/pamstretch-gen 2017-09-05 13:03:12.985472566 +0200
@@ -34,12 +34,10 @@ if [ "$1" = "" ]; then
exit 1
fi
-tempdir=$(mktemp -d "${TMPDIR:-/tmp}/netpbm.XXXXXXXX") ||
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXX) ||
( echo "Could not create temporary file. Exiting." 1>&2; exit 1; )
trap 'rm -rf $tempdir' 0 1 3 15
-tempfile=$tempdir/pnmig
-
if ! cat $2 >$tempfile 2>/dev/null; then
echo 'pamstretch-gen: error reading file' 1>&2
exit 1
diff -urNp old/editor/ppmfade neew/editor/ppmfade
--- old/editor/ppmfade 2017-09-05 12:58:26.767741946 +0200
+++ neew/editor/ppmfade 2017-09-05 12:59:14.556731156 +0200
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
#
##############################################################################
use strict;
+use File::Temp "tempdir";
sub doVersionHack($) {
my ($argvR) = @_;
@@ -149,20 +149,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");
}
#
@@ -170,14 +176,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++) {
@@ -185,147 +191,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; $n = $spline20[$i] * 100;
- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm"); system("ppmshift $n $tmpdir/junk1.ppm >$tmpdir/junk1a.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10])*100; $n = (1-$spline20[$i-10])*100;
- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm"); - system("ppmshift $n junk2.ppm >junk2a.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); + system("ppmshift $n $tmpdir/junk2.ppm >$tmpdir/junk2a.ppm");
$n = $spline10[$i-10]; $n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1a.ppm junk2a.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1a.ppm $tmpdir/junk2a.ppm >$tmpdir/junk3.ppm");
} else { } else {
my $n = (1-$spline20[$i-10]) * 100; my $n = (1-$spline20[$i-10]) * 100;
- system("ppmspread $n junk2$$.ppm >junk3$$.ppm"); - system("ppmshift $n junk2.ppm >junk3.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmshift $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) { } elsif ($mode eq $RELIEF) {
if ($i == 1) { if ($i == 1) {
- system("ppmrelief junk1$$.ppm >junk1r$$.ppm"); - system("ppmrelief junk1.ppm >junk1r.ppm");
+ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm"); + system("ppmrelief $tmpdir/junk1.ppm >$tmpdir/junk1r.ppm");
} }
if ($i <= 10) { if ($i <= 10) {
my $n = $spline10[$i]; my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1.ppm junk1r.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1r.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) { } elsif ($i <= 20) {
my $n = $spline10[$i-10]; my $n = $spline10[$i-10];
- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1r.ppm junk2r.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1r.ppm $tmpdir/junk2r.ppm >$tmpdir/junk3.ppm");
} else { } else {
my $n = $spline10[$i-20]; my $n = $spline10[$i-20];
- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk2r.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk2r.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
} }
if ($i == 10) { if ($i == 10) {
- system("ppmrelief junk2$$.ppm >junk2r$$.ppm"); - system("ppmrelief junk2.ppm >junk2r.ppm");
+ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm"); + system("ppmrelief $tmpdir/junk2.ppm >$tmpdir/junk2r.ppm");
} }
} elsif ($mode eq $OIL) { } elsif ($mode eq $OIL) {
if ($i == 1) { if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm"); - system("ppmtopgm junk1.ppm | pgmoil >junko.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . - system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o$$.ppm"); - ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); + system("ppmtopgm $tmpdir/junk1.ppm | pgmoil >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o$$.ppm"); + ">$tmpdir/junk1o.ppm");
} }
if ($i <= 10) { if ($i <= 10) {
my $n = $spline10[$i]; my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) { } elsif ($i <= 20) {
my $n = $spline10[$i-10]; my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
} else { } else {
my $n = $spline10[$i-20]; my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
} }
if ($i == 10) { if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm"); - system("ppmtopgm junk2.ppm | pgmoil >junko.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . - system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk2o$$.ppm"); - ">junk2o.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); + system("ppmtopgm $tmpdir/junk2.ppm | pgmoil >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk2o$$.ppm"); + ">$tmpdir/junk2o.ppm");
} }
} elsif ($mode eq $EDGE) { } elsif ($mode eq $EDGE) {
if ($i == 1) { if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm"); - system("ppmtopgm junk1.ppm | pgmedge >junko.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . - system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o$$.ppm"); - ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); + system("ppmtopgm $tmpdir/junk1.ppm | pgmedge >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o$$.ppm"); + ">$tmpdir/junk1o.ppm");
} }
if ($i <= 10) { if ($i <= 10) {
my $n = $spline10[$i]; my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) { } elsif ($i <= 20) {
my $n = $spline10[$i-10]; my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
} else { } else {
my $n = $spline10[$i-20]; my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
} }
if ($i == 10) { if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm"); - system("ppmtopgm junk2.ppm | pgmedge >junko.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . - system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk2o$$.ppm"); - ">junk2o.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); + system("ppmtopgm $tmpdir/junk2.ppm | pgmedge >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk2o$$.ppm"); + ">$tmpdir/junk2o.ppm");
} }
} elsif ($mode eq $BENTLEY) { } elsif ($mode eq $BENTLEY) {
if ($i == 1) { if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm"); - system("ppmtopgm junk1.ppm | pgmbentley >junko.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . - system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o$$.ppm"); - ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); + system("ppmtopgm $tmpdir/junk1.ppm | pgmbentley >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . + system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o$$.ppm"); + ">$tmpdir/junk1o.ppm");
} }
if ($i <= 10) { if ($i <= 10) {
my $n = $spline10[$i]; my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) { } elsif ($i <= 20) {
my $n = $spline10[$i-10]; my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); - system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
} else { } else {
my $n = $spline10[$i-20]; my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.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 -urNp old/editor/ppmshadow neew/editor/ppmshadow
--- old/editor/ppmshadow 2017-09-05 12:58:26.768741946 +0200
+++ neew/editor/ppmshadow 2017-09-05 13:02:51.480507649 +0200
@@ -171,11 +171,12 @@ my $tmpdir = $ENV{TMPDIR} || "/tmp";
my $ourtmp;
if ($keeptemp) {
- $ourtmp = "$tmpdir/ppmshadow$$";
- mkdir($ourtmp, 0777) or
- die("Unable to create directory for temporary files '$ourtmp");
+ $ourtmp = chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
+ if($? >> 8) {
+ die "Can't create directory for temporary files";
+ }
} else {
- $ourtmp = File::Temp::tempdir("$tmpdir/ppmshadowXXXX", UNLINK=>1);
+ $ourtmp = File::Temp::tempdir("$tmpdir/PPMshadow.XXXXXX", UNLINK=>1);
}
# Apply defaults for arguments not specified

View File

@ -0,0 +1,13 @@
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.

View File

@ -1,7 +1,7 @@
Summary: A library for handling different graphics file formats Summary: A library for handling different graphics file formats
Name: netpbm Name: netpbm
Version: 10.82.00 Version: 11.02.00
Release: 7%{?dist} Release: 10%{?dist}
# See copyright_summary for details # See copyright_summary for details
License: BSD and GPLv2 and IJG and MIT and Public Domain License: BSD and GPLv2 and IJG and MIT and Public Domain
URL: http://netpbm.sourceforge.net/ URL: http://netpbm.sourceforge.net/
@ -10,13 +10,12 @@ URL: http://netpbm.sourceforge.net/
# svn checkout https://svn.code.sf.net/p/netpbm/code/userguide netpbm-%%{version}/userguide # 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://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 ) # and removing the .svn directories ( find -name "\.svn" -type d -print0 | xargs -0 rm -rf )
# and removing the ppmtompeg code, due to patents ( rm -rf netpbm-%%{version}/converter/ppm/ppmtompeg/ )
Source0: netpbm-%{version}.tar.xz Source0: netpbm-%{version}.tar.xz
Patch0: netpbm-security-scripts.patch Patch0: netpbm-security-scripts.patch
Patch1: netpbm-security-code.patch Patch1: netpbm-security-code.patch
Patch2: netpbm-ppmfadeusage.patch Patch2: netpbm-ppmfadeusage.patch
Patch3: netpbm-noppmtompeg.patch Patch3: netpbm-CVE-2017-2587.patch
Patch4: netpbm-CVE-2017-2587.patch Patch4: netpbm-python3.patch
Patch5: netpbm-time.patch Patch5: netpbm-time.patch
Patch6: netpbm-gcc4.patch Patch6: netpbm-gcc4.patch
Patch7: netpbm-bmptopnm.patch Patch7: netpbm-bmptopnm.patch
@ -25,19 +24,24 @@ Patch9: netpbm-xwdfix.patch
Patch10: netpbm-multilib.patch Patch10: netpbm-multilib.patch
Patch11: netpbm-glibc.patch Patch11: netpbm-glibc.patch
Patch12: netpbm-docfix.patch Patch12: netpbm-docfix.patch
Patch13: netpbm-fiasco-overflow.patch Patch14: netpbm-pamtojpeg2k.patch
Patch14: netpbm-cmuwtopbm.patch Patch15: netpbm-manfix.patch
Patch15: netpbm-pamtojpeg2k.patch Patch16: netpbm-jasper.patch
Patch16: netpbm-manfix.patch Patch17: netpbm-libdir-so.patch
Patch17: netpbm-manual-pages.patch Patch18: netpbm-c99.patch
Patch18: netpbm-annocheck.patch Patch19: netpbm-c99-2.patch
Patch19: netpbm-jasper.patch Patch20: netpbm-shlib-ldflags.patch
Patch20: netpbm-covscan.patch
Patch21: netpbm-lib.patch
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel, flex, jbigkit-devel BuildRequires: make
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel, flex, gcc, jbigkit-devel
BuildRequires: libX11-devel, perl-generators, python3, jasper-devel, libxml2-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 BuildRequires: ghostscript
%endif
%description %description
The netpbm package contains a library of functions which support The netpbm package contains a library of functions which support
@ -86,11 +90,11 @@ netpbm-doc. You'll also need to install the netpbm-progs package.
%prep %prep
%autosetup -p1 %autosetup -p1
sed -i 's|^#!/usr/bin/python|#!%{__python3}|' buildtools/makeman
rm -rf converter/other/jpeg2000/libjasper/ rm -rf converter/other/jpeg2000/libjasper/
rm -rf converter/other/jbig/libjbig/ rm -rf converter/other/jbig/libjbig/
%build %build
%set_build_flags
./configure <<EOF ./configure <<EOF
@ -114,34 +118,27 @@ rm -rf converter/other/jbig/libjbig/
EOF EOF
TOP=`pwd` TOP=`pwd`
%ifarch %{ix86}
CFLAGS="$RPM_OPT_FLAGS -fPIC -mstackrealign -fcf-protection=full -flax-vector-conversions -fstack-protector-strong -fno-strict-aliasing"
%else
CFLAGS="$RPM_OPT_FLAGS -fPIC -flax-vector-conversions -fstack-protector-strong -fno-strict-aliasing"
%endif
make \ make \
CC="%{__cc}" \ CC="%{__cc}" \
LDFLAGSPRE="-L$TOP/pbm -L$TOP/pgm -L$TOP/pnm -L$TOP/ppm -Wl,-z,now" \ LDFLAGS="$LDFLAGS -L$TOP/pbm -L$TOP/pgm -L$TOP/pnm -L$TOP/ppm" \
LDFLAGS="-L$TOP/pbm -L$TOP/pgm -L$TOP/pnm -L$TOP/ppm -Wl,-z,now -pie" \ CFLAGS="$CFLAGS -fPIC -flax-vector-conversions -fno-strict-aliasing" \
CFLAGS="$CFLAGS" \ CFLAGS_CONFIG="$CFLAGS" \
LADD="-lm -Wl,-z,now" \ LADD="-lm" \
JPEGINC_DIR=%{_includedir} \ JPEGINC_DIR=%{_usr}/include \
PNGINC_DIR=%{_includedir} \ PNGINC_DIR=%{_usr}/include \
TIFFINC_DIR=%{_includedir} \ TIFFINC_DIR=%{_usr}/include \
JPEGLIB_DIR=%{_libdir} \ JPEGLIB_DIR=%{_usr}/%{_lib} \
JBIGLIB=%{_libdir}/libjbig.so.2.1 \ JBIGLIB=%{_usr}/%{_lib}/libjbig.so.2.1 \
PNGLIB_DIR=%{_libdir} \ PNGLIB_DIR=%{_usr}/%{_lib} \
TIFFLIB_DIR=%{_libdir} \ TIFFLIB_DIR=%{_usr}/%{_lib} \
LINUXSVGALIB="NONE" \ LINUXSVGALIB="NONE" \
X11LIB=%{_libdir}/libX11.so \ X11LIB=%{_usr}/%{_lib}/libX11.so \
XML2LIBS="NONE" XML2LIBS="NONE"
# prepare man files # prepare man files
cd userguide cd userguide
# BZ 948531 # BZ 948531
rm -f ppmtompeg*
rm -f *.manual-pages rm -f *.manual-pages
rm -f *.manfix rm -f *.manfix
for i in *.html ; do for i in *.html ; do
@ -154,12 +151,12 @@ done
%install %install
make package pkgdir=%{buildroot}/usr LINUXSVGALIB="NONE" XML2LIBS="NONE" make package pkgdir=%{buildroot}%{_prefix} LINUXSVGALIB="NONE" XML2LIBS="NONE"
# Ugly hack to have libs in correct dir on 64bit archs. # Ugly hack to have libs in correct dir on 64bit archs.
mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_libdir}
if [ "%{_libdir}" != "/usr/lib" ]; then if [ "%{_lib}" != "lib" ]; then
mv %{buildroot}/usr/lib/lib* %{buildroot}%{_libdir} mv %{buildroot}%{_prefix}/lib/lib* %{buildroot}%{_libdir}
fi fi
cp -af lib/libnetpbm.a %{buildroot}%{_libdir}/libnetpbm.a cp -af lib/libnetpbm.a %{buildroot}%{_libdir}/libnetpbm.a
@ -175,22 +172,22 @@ for i in hpcdtoppm \
ppmsvgalib vidtoppm picttoppm \ ppmsvgalib vidtoppm picttoppm \
directory error extendedopacity \ directory error extendedopacity \
pam pbm pgm pnm ppm index libnetpbm_dir \ pam pbm pgm pnm ppm index libnetpbm_dir \
liberror; do liberror ppmtotga; do
rm -f %{buildroot}%{_mandir}/man1/${i}.1 rm -f %{buildroot}%{_mandir}/man1/${i}.1
done done
rm -f %{buildroot}%{_mandir}/man5/extendedopacity.5 rm -f %{buildroot}%{_mandir}/man5/extendedopacity.5
mkdir -p %{buildroot}%{_datadir}/netpbm mkdir -p %{buildroot}%{_datadir}/netpbm
mv %{buildroot}/usr/misc/*.map %{buildroot}%{_datadir}/netpbm/ mv %{buildroot}%{_prefix}/misc/*.map %{buildroot}%{_datadir}/netpbm/
mv %{buildroot}/usr/misc/rgb.txt %{buildroot}%{_datadir}/netpbm/ mv %{buildroot}%{_prefix}/misc/rgb.txt %{buildroot}%{_datadir}/netpbm/
rm -rf %{buildroot}/usr/README rm -rf %{buildroot}%{_prefix}/README
rm -rf %{buildroot}/usr/VERSION rm -rf %{buildroot}%{_prefix}/VERSION
rm -rf %{buildroot}/usr/link rm -rf %{buildroot}%{_prefix}/link
rm -rf %{buildroot}/usr/misc rm -rf %{buildroot}%{_prefix}/misc
rm -rf %{buildroot}/usr/man rm -rf %{buildroot}%{_prefix}/man
rm -rf %{buildroot}/usr/pkginfo rm -rf %{buildroot}%{_prefix}/pkginfo
rm -rf %{buildroot}/usr/config_template rm -rf %{buildroot}%{_prefix}/config_template
rm -rf %{buildroot}/usr/pkgconfig_template rm -rf %{buildroot}%{_prefix}/pkgconfig_template
# Don't ship the static library # Don't ship the static library
rm -f %{buildroot}%{_libdir}/lib*.a rm -f %{buildroot}%{_libdir}/lib*.a
@ -234,23 +231,141 @@ popd
%doc userguide/* %doc userguide/*
%changelog %changelog
* Thu Jan 27 2022 Josef Ridky <jridky@redhat.com> - 10.82.00-7 * Wed Dec 11 2024 Lukáš Zaoral <lzaoral@redhat.com> - 11.02.00-10
- fix libnetpbm library issue (#2029118) - build netpbm with correct LDFLAGS (RHEL-70899)
* Tue Dec 04 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-6 * Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 11.02.00-9
- fix covscan issues (#1602629) - Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Nov 26 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-5 * Wed Jun 26 2024 Josef Ridky <jridky@redhat.com> - 11.02.00-8
- Use system version of jasper and jbigkit library (#1651586) - Add gating.yaml file
* Mon Sep 24 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-4 * Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 11.02.00-7
- fix annocheck distro flag (#1624150) - Bump release for June 2024 mass rebuild
* Mon Aug 13 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-3 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.02.00-6
- fix python3 invocation in patches (#1615314) - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jun 04 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-2 * Sun Jan 21 2024 Florian Weimer <fweimer@redhat.com> - 11.02.00-5
- backport missing patches from RHEL-7 (#1584724) - 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 * Tue Mar 27 2018 Josef Ridky <jridky@redhat.com> - 10.82.00-1
- New upstream release 10.82.00 (#1560330) - New upstream release 10.82.00 (#1560330)

View File

@ -1,11 +1,10 @@
#!/bin/bash #!/bin/bash
# Source0 is prepared by # Source0 is prepared by
# svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced netpbm-%{version} # svn checkout https://svn.code.sf.net/p/netpbm/code/advanced netpbm-%{version}
# svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/userguide netpbm-%{version}/userguide # svn checkout https://svn.code.sf.net/p/netpbm/code/userguide netpbm-%{version}/userguide
# svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/trunk/test netpbm-%{version}/test # 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 ) # and removing the .svn directories ( find -name "\.svn" -type d -print0 | xargs -0 rm -rf )
# and removing the ppmtompeg code, due to patents ( rm -rf netpbm-%{version}/converter/ppm/ppmtompeg/ )
VERSION=$1 VERSION=$1
if [[ -z $VERSION ]]; then if [[ -z $VERSION ]]; then
@ -17,11 +16,10 @@ TEMP_DIR="/var/tmp/netpbm"
TARBALL="$TEMP_DIR/$NETPBM_NAME.tar.xz" TARBALL="$TEMP_DIR/$NETPBM_NAME.tar.xz"
mkdir -p $TEMP_DIR mkdir -p $TEMP_DIR
pushd $TEMP_DIR pushd $TEMP_DIR
svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced $NETPBM_NAME svn checkout https://svn.code.sf.net/p/netpbm/code/advanced $NETPBM_NAME
svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/userguide $NETPBM_NAME/userguide svn checkout https://svn.code.sf.net/p/netpbm/code/userguide $NETPBM_NAME/userguide
svn checkout https://netpbm.svn.sourceforge.net/svnroot/netpbm/trunk/test $NETPBM_NAME/test 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 find -name '\.svn' -type d -print0 | xargs -0 rm -rf
rm -rf $NETPBM_NAME/converter/ppm/ppmtompeg/
tar -cJvf $NETPBM_NAME.tar.xz $NETPBM_NAME tar -cJvf $NETPBM_NAME.tar.xz $NETPBM_NAME
rm -rf $NETPBM_NAME/ rm -rf $NETPBM_NAME/
popd popd

37
plans/tier1.fmf Normal file
View File

@ -0,0 +1,37 @@
---
summary: Tier1 plan for netpbm
discover:
how: fmf
url: https://pkgs.devel.redhat.com/git/tests/netpbm
ref: master
filter: tier:1
prepare:
# Enable beaker-tasks repository
- how: shell
script: |
set -euxo pipefail
ENABLE_REPO_CMD="yum-config-manager --enable"
if command -v dnf >/dev/null 2>&1; then
ENABLE_REPO_CMD="dnf config-manager --set-enabled"
fi
${ENABLE_REPO_CMD} beaker-tasks || :
# Enable buildroot repository
- how: shell
script: |
set -exuo pipefail
if [[ -f /etc/os-release ]]; then
. /etc/os-release
if [[ "${ID:-}" == "rhel" && "${VERSION_ID%%.*}" -ge 8 ]]; then
dnf config-manager --enable rhel-CRB
fi
fi
execute:
how: tmt

View File

@ -1 +1 @@
SHA512 (netpbm-10.82.00.tar.xz) = 8f233e00a9467c55e6b679c5e5bd9b955197eedfa16aa661afb65c186834d7da17fb6674d0b98a0e0027b31c19b642139f8b908121ad77f39bfce1c8f984294f SHA512 (netpbm-11.02.00.tar.xz) = 499cb8fb3897025b25842bd3408f91d08270ce912a9003e7ae4e6c16b7bb0a5c15372aa375ba464255bb4f005c213627b7e7c9749e37087cd0a895ba199899ae