Accepting request 980338 from openSUSE:Factory

does not build for all archs, let us revert

OBS-URL: https://build.opensuse.org/request/show/980338
OBS-URL: https://build.opensuse.org/package/show/graphics/netpbm?expand=0&rev=136
This commit is contained in:
Petr Gajdos 2022-06-01 11:50:32 +00:00 committed by Git OBS Bridge
parent 4352ad5112
commit b5299b229e
10 changed files with 564 additions and 483 deletions

16
big-endian.patch Normal file
View File

@ -0,0 +1,16 @@
Index: netpbm-10.88.1/converter/pbm/pbmtozinc.c
===================================================================
--- netpbm-10.88.1.orig/converter/pbm/pbmtozinc.c 2019-12-20 12:48:08.981181384 +0100
+++ netpbm-10.88.1/converter/pbm/pbmtozinc.c 2019-12-20 12:48:58.121462453 +0100
@@ -110,7 +110,10 @@ packer_putitem(Packer * const packe
++packerP->itemsperline;
- printf ("0x%02x%02x", hi, lo);
+ if (BYTE_ORDER == LITTLE_ENDIAN)
+ printf ("0x%02x%02x", hi, lo);
+ else
+ printf ("0x%02x%02x", lo, hi);
}

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ee4adb85045544aadf604069cf3ce0288447be56353bb0d27c1df46557957315
size 923460

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b257d6f86f130708d8272e8517aca49f7901aedbba8985abbe0fdbd5a813d31
size 1995092

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edf670fe9475b8ace51ea66ecf03e54fe460e4bd766889b7566f41913cb7fb2e
size 411947

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8c9af0ed22aea8d55ea50493dc122a4560bff205c12797122efbaa74a6912c8
size 1992862

File diff suppressed because it is too large Load Diff

View File

@ -1,135 +1,274 @@
Index: netpbm-10.98.2/editor/ppmfade
Index: netpbm-10.93.0/editor/ppmfade
===================================================================
--- netpbm-10.98.2.orig/editor/ppmfade
+++ netpbm-10.98.2/editor/ppmfade
--- netpbm-10.93.0.orig/editor/ppmfade 2020-12-29 11:04:15.768844529 +0100
+++ netpbm-10.93.0/editor/ppmfade 2020-12-29 11:06:05.909522666 +0100
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
#
##############################################################################
use strict;
+use File::Temp "tempdir";
use File::Temp;
sub doVersionHack($) {
my ($argvR) = @_;
@@ -149,20 +150,26 @@ if ($first_file ne "undefined") {
@@ -212,84 +213,84 @@ for ($i = 1; $i <= $nframes; $i++) {
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 +177,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 +192,147 @@ for ($i = 1; $i <= $nframes; $i++) {
if ($mode eq $SPREAD) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
- system("ppmspread $n junk1$$.ppm >junk3$$.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n;
$n = $spline20[$i] * 100;
system("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");
- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10]) * 100;
- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a.ppm junk2a.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1a.ppm $tmpdir/junk2a.ppm > $tmpdir/junk3.ppm");
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = (1-$spline20[$i-10])*100;
- system("ppmspread $n junk2$$.ppm >junk3$$.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
} elsif ($mode eq $SHIFT) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
- system("ppmshift $n junk1$$.ppm >junk3$$.ppm");
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n;
$n = $spline20[$i] * 100;
- system("ppmshift $n junk1$$.ppm >junk1a$$.ppm");
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10])*100;
- system("ppmshift $n junk2$$.ppm >junk2a$$.ppm");
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = (1-$spline20[$i-10]) * 100;
- system("ppmshift $n junk2.ppm >junk3.ppm");
+ system("ppmshift $n $tmpdir/junk2.ppm > $tmpdir/junk3.ppm");
- system("ppmshift $n junk2$$.ppm >junk3$$.ppm");
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
} elsif ($mode eq $RELIEF) {
if ($i == 1) {
- system("ppmrelief junk1.ppm >junk1r.ppm");
+ system("ppmrelief $tmpdir/junk1.ppm >$tmpdir/junk1r.ppm");
- system("ppmrelief junk1$$.ppm >junk1r$$.ppm");
+ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1r.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1r.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1r.ppm junk2r.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1r.ppm $tmpdir/junk2r.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2r.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2r.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmrelief junk2.ppm >junk2r.ppm");
+ system("ppmrelief $tmpdir/junk2.ppm >$tmpdir/junk2r.ppm");
- system("ppmrelief junk2$$.ppm >junk2r$$.ppm");
+ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm");
}
} elsif ($mode eq $OIL) {
if ($i == 1) {
- system("ppmtopgm junk1.ppm | pgmoil >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1.ppm | pgmoil >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o.ppm");
- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2.ppm | pgmoil >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk2o.ppm");
+ system("ppmtopgm $tmpdir/junk2.ppm | pgmoil >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk2o.ppm");
- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $EDGE) {
if ($i == 1) {
- system("ppmtopgm junk1.ppm | pgmedge >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1.ppm | pgmedge >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o.ppm");
- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2.ppm | pgmedge >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk2o.ppm");
+ system("ppmtopgm $tmpdir/junk2.ppm | pgmedge >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk2o.ppm");
- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $BENTLEY) {
if ($i == 1) {
- system("ppmtopgm junk1.ppm | pgmbentley >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1.ppm | pgmbentley >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o.ppm");
- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm " .
Index: netpbm-10.98.2/editor/ppmshadow
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $BLOCK) {
if ($i <= 10) {
my $n = 1 - 1.9*$spline20[$i];
- system("pamscale $n junk1$$.ppm | " .
- "pamscale -width $width -height $height >junk3$$.ppm");
+ system("pamscale $n $tmpdir/junk1$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = 1 - 1.9*$spline20[31-$i];
- system("pamscale $n junk2$$.ppm | " .
- "pamscale -width $width -height $height >junk3$$.ppm");
+ system("pamscale $n $tmpdir/junk2$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("cp", "junk3$$.ppm", "junk1a$$.ppm");
- system("pamscale $n junk2$$.ppm | " .
- "pamscale -width $width -height $height >junk2a$$.ppm");
+ system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm");
+ system("pamscale $n $tmpdir/junk2$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm");
}
} elsif ($mode eq $MIX) {
my $fade_factor = sqrt(1/($nframes-$i+1));
- system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
} else {
print("Internal error: impossible mode value '$mode'\n");
}
my $outfile = sprintf("%s.%04d.ppm", $base_name, $i);
- system("cp", "junk3$$.ppm", $outfile);
+ system("cp", "$tmpdir/junk3$$.ppm", $outfile);
}
#
# Clean up shop.
#
-system("rm junk*$$.ppm");
+system("rm $tmpdir/junk*$$.ppm");
exit(0);
Index: netpbm-10.93.0/editor/ppmshadow
===================================================================
--- netpbm-10.98.2.orig/editor/ppmshadow
+++ netpbm-10.98.2/editor/ppmshadow
--- netpbm-10.93.0.orig/editor/ppmshadow 2020-12-29 11:04:15.768844529 +0100
+++ netpbm-10.93.0/editor/ppmshadow 2020-12-29 11:06:05.909522666 +0100
@@ -194,9 +194,10 @@ my $tmpdir = $ENV{TMPDIR} || "/tmp";
my $ourtmp;
@ -142,5 +281,5 @@ Index: netpbm-10.98.2/editor/ppmshadow
+ die "Can't create directory for temporary files";
+ }
} else {
$ourtmp = File::Temp::tempdir("$tmpdir/ppmshadowXXXX", CLEANUP=>1);
$ourtmp = File::Temp::tempdir("$tmpdir/ppmshadowXXXX", UNLINK=>1);
}

View File

@ -1,133 +1,3 @@
-------------------------------------------------------------------
Mon May 30 14:55:07 UTC 2022 - pgajdos@suse.com
- version update to 10.98.2
palmtopnm: Fix failure with bogus claim of invalid input on
architectures that do not use two's complement negative numbers.
Always broken. (Ability to convert PackBits input was new in
Netpbm 10.27 (March 2005).
pnmgamma -srgbtobt709, -bt709tosrgb: fix bug; incorrect output.
Always broken (These options were new in Netpbm 10.32 (February
2006)). Thanks Alexander Shpilkin <ashpilkin@gmail.com>.
pamdice: Fix incorrect output file name with PAM input. Always
broken (pamdice was new in Netpbm 9.25 (March 2002).
pamtopdbimg: Add -fixedtime.
ppmfade: Use temporary files securely.
pnmtosir: Set some possibly meaningless bits in output to zero
so output is repeatable.
pamx: Fix bug: top-justifies image in all cases where it should
bottom-justify. Always broken. (pamx was new in Netpbm 10.34
(June 2006).
pnmtorle: Fix bug: -h works only on first image.
pamsistoaglyph: Fix invalid memory reference and incorrect
output on depth 1 input. Always broken. (pamsistoaglyph was
new in Netpbm 10.47 (June 2009). Thanks Scott Pakin.
pambayer: Fix bogus colors at edges. Always Broken (pambayer
was new in Release 10.30 (October 2005)).
libnetpbm, various programs: fix bug: bogus warning that a color
specified on command line cannot be represented exactly with the
maxval being used. Introduced in Netpbm 10.83 (June 2018).
pnmtopsnr: Fix typo in error message. Always broken (pnmpsnr
was new in Netpbm 9.6 (July 2000).
ppmtoilbm: Remove -floyd (aka -fs) option, which hasn't worked
in a long time if ever and is inappropriate function for this
program. And the broken code is inconsistent with new random
number logic elsewhere in the package.
ppmtoapplevol: Fix bug: reads from Standard Input even when you
specify the input file argument. Always broken. (ppmtoapplevol
was new in Netpbm 10.54 (March 2011).
ppmtoapplevol: Fix bug: produces garbage with input image wider
than 255. Always broken. (ppmtoapplevol was new in Netpbm
10.54 (March 2011).
pgmmedian: fix crash when median matrix is wider or higher than
the input image.
picttoppm: Fix incorrect output for 32 bit per pixel images
that have only 3 planes. Broken in Netpbm 10.34 (June 2006).
pamendian: fix bogus "sample exceeds maxval" failure.
Introduced in Netpbm 10.66 (March 2014).
ppmtoilbm: Fix wild memory references and hangs with -map .
Introduced in Netpbm 9.12 (March 2001).
pgmtexture: Fix incorrect output. Always broken. (Program was
added in primordial Netpbm in 1991).
pgmabel: Fix incorrect output. Always broken. (Program was
new in Netpbm 10.3 (July 2002).
Remove Floyd-Steinberg dithering functions (ppm_fs_*) from
libnetpbm (libppmfloyd). No longer used. Floyd-Steinberg
dithering logic can be found in pnmremap. libppmfloyd
was previously used by ppmtoilbm.
Add pbnnoise.
pnmpad: Use -halign with -mwidth and default to centering the
image instead of left-justifying when no other padding is being
added. Same with -mheight, -valign, and top-justifying.
xwdtopnm: Add ability to process bit depth 32.
pgmtoppm: Add -black, -white.
ppmpat: Add -mesh.
pampaintspill: Add -near. Thanks Scott Pakin.
pamtogif: Fix bug: doesn't ignore the input alpha mask when user
specified -transparent. Broken in Netpbm 10.37 (December 2006).
palmtopnm: Fix bug: fails with PackBits input on platform with
default unsigned char, such as ppc64. Always broken. (Ability
to convert PackBits input was new in Netpbm 10.27 (March 2005).
pamrubber: Fix bug: random behavior with -quad when you specify
both points for source or target and the second one is lower in
the image than the first. Always broken (Pamrubber was new in
Netpbm 10.54 (March 2011)).
sunicontopnm, escp2topbm, mgrtopbm, ybmtopbm, pamcut, pbmpscale,
pnmcat, pnmpad: Fix arithmetic overrun with ridiculously large
image.
pbmclean: Fix overallocation of memory (waste).
libnetbm: Add pnm_writepamrowpart, pnm_formatPamtuples.
libnetpbm: When validating computable size of width and height,
allow for adding up to 10 instead of 2, to account for rounding
up to a multiple of 8 in processing bit maps.
Build: Don't attempt to build 'pamexec' on systems without
Unix process management. Bug introduced in Netpbm 10.94
(March 2021) and supposedly fixed in 10.95, but not really.
- modified patches
% netpbm-security-code.patch (refreshed)
% netpbm-security-scripts.patch (refreshed)
- deleted patches
- signed-char.patch (upstreamed)
- big-endian.patch (upstreamed)
-------------------------------------------------------------------
Sun Dec 19 17:47:53 UTC 2021 - Andreas Schwab <schwab@suse.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package netpbm
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -20,10 +20,10 @@
%define asan_build 0
%define ubsan_build 0
%define libmaj 11
%define libmin 98
%define libmin 96
%define libver %{libmaj}.%{libmin}
Name: netpbm
Version: 10.98.2
Version: 10.96.4
Release: 0
Summary: A Graphics Conversion Package
License: BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain
@ -37,10 +37,14 @@ Source3: prepare-src-tarball.sh
Patch0: %{name}-make.patch
# neccessary for running with ASAN
Patch1: %{name}-tmpfile.patch
#Patch2: %{name}-security-code.patch
#Patch3: %{name}-security-scripts.patch
#Patch4: %{name}-gcc-warnings.patch
Patch2: %{name}-security-code.patch
Patch3: %{name}-security-scripts.patch
Patch4: %{name}-gcc-warnings.patch
Patch5: makeman-py3.patch
# PATCH-FIX-UPSTREAM fix bad use of plain char
Patch6: signed-char.patch
# PATCH-FIX-UPSTREAM fix dependency on byte order
Patch7: big-endian.patch
# bsc#1144255 disable jpeg2k support due to removal of jasper
Patch8: netpbm-disable-jasper.patch
BuildRequires: flex
@ -155,12 +159,13 @@ sed -i '/all-in-place/d' test/Test-Order
sed -i '/legacy-names/d' test/Test-Order
# picttoppm.c: #error "Unfixable. Don't ship me"
sed -i '/pict-roundtrip/d' test/Test-Order
sed -i '/pict/d' test/stdin-ppm3.test
sed -i '/pict/d' test/stdin-ppm3.ok
# pstopnm is not shipped
sed -i '/^l\?ps.*\.test/d' test/Test-Order
# new stdin-pnm2.test failure reported to bryanh@giraffe-data.com on 2022-05-30
sed -i 's/pstopnm -stdout : 0 0 0 1/pstopnm -stdout : 1 1 1 0/' test/stdin-pnm2.ok
# new winicon-roundtrip2.test failure reported to bryanh@giraffe-data.com on 2020-12-29
# $ LD_LIBRARY_PATH=lib PATH=package/bin pamtowinicon -pngthreshold=1 package-test-tmp/testimg1.pam
# pamtowinicon: bad magic number 0xf0f - not a PAM, PPM, PGM, or PBM file
# $
sed -i '/winicon-roundtrip2.test/d' test/Test-Order
mkdir package-test-{tmp,results}
make pkgdir=`pwd`/package tmpdir=`pwd`/package-test-tmp RESULTDIR=`pwd`/package-test-results check-package

13
signed-char.patch Normal file
View File

@ -0,0 +1,13 @@
Index: netpbm-10.96.4/converter/other/pnmtopalm/palmtopnm.c
===================================================================
--- netpbm-10.96.4.orig/converter/other/pnmtopalm/palmtopnm.c
+++ netpbm-10.96.4/converter/other/pnmtopalm/palmtopnm.c
@@ -873,7 +873,7 @@ readPackBitsRow(FILE * const if
pm_readcharu(ifP, &incountByte);
if (incountByte & 0x80) {
/* How do we handle incount == -128 ? */
- int const signedIncount = (char)incountByte;
+ int const signedIncount = (signed char)incountByte;
unsigned int const runlength = -signedIncount + 1;
unsigned char inval;
pm_readcharu(ifP, &inval);