Accepting request 703437 from graphics

- asan_build: build ASAN included
- debug_build: build more suitable for debugging
- added patches
  neccessary for running with ASAN
  + netpbm-asan.patch

- version update to 10.86.3
  * pnmtopng: Fix bug: Defaults to no filters.  Should be all
    filters.  Effect is larger PNG output.  Broken after Netpbm
    10.26 (January 2005) but no later than Netpbm 10.35 (August
    2006).
  * pnmtopng: Fix bug: Doesn't allow multiple filter options.
    Broken after Netpbm 10.26 (January 2005) but no later than
    Netpbm 10.35 (August 2006).
  * pnmcrop: Don't allow -borderfile with -reportXXX.  It doesn't
    work.
  * pnmcrop: fix bug: -bgcolor doesn't work.  Always present
    (-bgcolor was introduced in Netpbm 10.86 (March 2019)).
  * pnmcrop: fix bug: incorrect identification of background with
    -bgcolor and PBM or PGM image.  Always present (-bgcolor was
    introduced in Netpbm 10.86 (March 2019)).
  * Add pamfind.
  * Add pambrighten.
  * Add pamhue.
  * pnmcrop: Add -bg-color, bg-corner, -reportfull, -reportsize,
    -blank-image .
  * pamtopng: Add -interlace .
  * pamenlarge: Add -scale, -xscale, -yscale .
  * pamenlarge: Much faster for PBM with xscale factor above 10;
    slightly faster for xscale factor 2-10.

OBS-URL: https://build.opensuse.org/request/show/703437
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/netpbm?expand=0&rev=67
This commit is contained in:
Dominique Leuenberger 2019-05-17 21:39:25 +00:00 committed by Git OBS Bridge
commit bc1574b999
8 changed files with 194 additions and 20 deletions

View File

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

View File

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

View File

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

View File

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

83
netpbm-asan.patch Normal file
View File

@ -0,0 +1,83 @@
Index: netpbm-10.86.3/GNUmakefile
===================================================================
--- netpbm-10.86.3.orig/GNUmakefile 2019-05-14 09:16:35.984991072 +0200
+++ netpbm-10.86.3/GNUmakefile 2019-05-16 09:42:17.843531751 +0200
@@ -378,7 +378,7 @@ endif
netpbm:%:%.o $(OBJECT_DEP) $(NETPBMLIB) $(URTLIBDEP) $(LIBOPT)
# Note that LDFLAGS might contain -L options, so order is important.
$(LD) -o $@ $< $(OBJECT_LIST) \
- $(LDFLAGS) $(shell $(LIBOPT) $(NETPBMLIB) $(MERGELIBS)) \
+ $(LDFLAGS) -lasan $(shell $(LIBOPT) $(NETPBMLIB) $(MERGELIBS)) \
$(PNGLD) $(XML2LD) $(X11LD) $(MATHLIB) $(NETWORKLD) $(LADD)
netpbm.o: mergetrylist
Index: netpbm-10.86.3/buildtools/Makefile
===================================================================
--- netpbm-10.86.3.orig/buildtools/Makefile 2019-05-14 09:16:32.160972760 +0200
+++ netpbm-10.86.3/buildtools/Makefile 2019-05-16 09:42:13.255509230 +0200
@@ -41,10 +41,10 @@ genfontc.o:%.o:%.c importinc
$(NETPBM_INCLUDES) \
$<
genfontc:%:%.o $(NETPBMLIB)
- $(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $< $(NETPBMLIB)
+ $(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $< $(NETPBMLIB) -lasan
$(BUILDPROGS):%:%.o
- $(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $<
+ $(LD_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $< -lasan
distclean clean: cleanlocal
.PHONY: cleanlocal
Index: netpbm-10.86.3/common.mk
===================================================================
--- netpbm-10.86.3.orig/common.mk 2019-05-14 09:16:32.156972741 +0200
+++ netpbm-10.86.3/common.mk 2019-05-16 09:42:26.703575262 +0200
@@ -386,7 +386,7 @@ LDFLAGS_ALL = $(WINICON_OBJECT) \
$(PORTBINARIES) $(MATHBINARIES): %: %.o \
$(NETPBMLIB) $(LIBOPT) $(WINICON_OBJECT)
- $(LD) -o $@$(EXE) $@.o $(ADDL_OBJECTS) $(LDFLAGS_ALL)
+ $(LD) -o $@$(EXE) $@.o $(ADDL_OBJECTS) -lasan $(LDFLAGS_ALL)
# MERGE STUFF
Index: netpbm-10.86.3/lib/Makefile
===================================================================
--- netpbm-10.86.3.orig/lib/Makefile 2019-05-14 09:16:32.832975977 +0200
+++ netpbm-10.86.3/lib/Makefile 2019-05-16 09:42:22.159552950 +0200
@@ -115,7 +115,7 @@ $(SONAME): \
-lc \
-soname libnetpbm.$(NETPBMLIBSUFFIX) \
-set_version $(shell perl -e '$(PERLPROG)') \
- $(LADD)
+ -lasan $(LADD)
endif
ifeq ($(NETPBMLIBTYPE),unixshared)
@@ -131,7 +131,7 @@ $(SONAME): libnetpbm.$(NETPBMLIBSUFFIX).
$(SYMLINK) $< $@
libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN): $(LIBOBJECTS) $(LIBOBJECTS_X)
$(LD) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
- $(SHLIB_CLIB) -lm $(LADD)
+ $(SHLIB_CLIB) -lm -lasan $(LADD)
endif
ifeq ($(NETPBMLIBTYPE),dll)
@@ -144,7 +144,7 @@ endif
-Wl,-soname,$(NETPBMSHLIBPREFIX)netpbm$(DLLVER).dll \
-Wl,--output-def,$(NETPBMSHLIBPREFIX)netpbm$(DLLVER).def \
-Wl,--out-implib,libnetpbm.dll.a -o $@ $(LDFLAGS) \
- $(LIBOBJECTS) $(LIBOBJECTS_X) $(LDLIBS) $(LADD)
+ $(LIBOBJECTS) $(LIBOBJECTS_X) $(LDLIBS) -lasan $(LADD)
endif
ifeq ($(NETPBMLIBTYPE),dylib)
@@ -158,7 +158,7 @@ libnetpbm.$(MAJ).dylib: libnetpbm.$(MAJ)
libnetpbm.$(MAJ).$(MIN).dylib: $(LIBOBJECTS) $(LIBOBJECTS_X)
$(LD) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
- -lc $(LADD)
+ -lc -lasan $(LADD)
endif
#--------------------------------------------------------------------------

View File

@ -1,8 +1,8 @@
Index: netpbm-10.85.0/converter/other/pngx.c
Index: netpbm-10.86.3/converter/other/pngx.c
===================================================================
--- netpbm-10.85.0.orig/converter/other/pngx.c 2018-12-31 16:41:07.134118718 +0100
+++ netpbm-10.85.0/converter/other/pngx.c 2018-12-31 17:50:20.646020442 +0100
@@ -366,6 +366,7 @@ pngx_srgbIntentDesc(pngx_srgbIntent cons
--- netpbm-10.86.3.orig/converter/other/pngx.c 2019-05-14 09:27:19.536073096 +0200
+++ netpbm-10.86.3/converter/other/pngx.c 2019-05-14 09:27:21.976084785 +0200
@@ -368,6 +368,7 @@ pngx_srgbIntentDesc(pngx_srgbIntent cons
case PNGX_ABSOLUTE_COLORIMETRIC: return "ABSOLUTE_COLORIMETRIC";
}
assert(false);
@ -10,7 +10,7 @@ Index: netpbm-10.85.0/converter/other/pngx.c
}
@@ -381,6 +382,7 @@ const libpngSrgbIntentCode(pngx_srgbInte
@@ -383,6 +384,7 @@ const libpngSrgbIntentCode(pngx_srgbInte
}
assert(false); /* All cases above return */
@ -18,10 +18,10 @@ Index: netpbm-10.85.0/converter/other/pngx.c
}
Index: netpbm-10.85.0/editor/pbmreduce.c
Index: netpbm-10.86.3/editor/pbmreduce.c
===================================================================
--- netpbm-10.85.0.orig/editor/pbmreduce.c 2018-12-31 17:50:20.618020308 +0100
+++ netpbm-10.85.0/editor/pbmreduce.c 2018-12-31 17:50:20.646020442 +0100
--- netpbm-10.86.3.orig/editor/pbmreduce.c 2019-05-14 09:27:21.952084670 +0200
+++ netpbm-10.86.3/editor/pbmreduce.c 2019-05-14 09:27:21.976084785 +0200
@@ -202,6 +202,9 @@ oppositeDir(enum Direction const arg) {
case RIGHT_TO_LEFT: return LEFT_TO_RIGHT;
}
@ -32,10 +32,10 @@ Index: netpbm-10.85.0/editor/pbmreduce.c
}
Index: netpbm-10.85.0/lib/libpm.c
Index: netpbm-10.86.3/lib/libpm.c
===================================================================
--- netpbm-10.85.0.orig/lib/libpm.c 2018-12-31 17:50:20.622020327 +0100
+++ netpbm-10.85.0/lib/libpm.c 2018-12-31 17:51:40.886403785 +0100
--- netpbm-10.86.3.orig/lib/libpm.c 2019-05-14 09:27:21.956084689 +0200
+++ netpbm-10.86.3/lib/libpm.c 2019-05-14 09:27:21.976084785 +0200
@@ -440,6 +440,7 @@ pm_maxvaltobits(int const maxval) {
pm_error( "maxval of %d is too large!", maxval );
@ -44,3 +44,16 @@ Index: netpbm-10.85.0/lib/libpm.c
}
int
Index: netpbm-10.86.3/lib/libpnm3.c
===================================================================
--- netpbm-10.86.3.orig/lib/libpnm3.c 2019-05-14 09:16:33.096977241 +0200
+++ netpbm-10.86.3/lib/libpnm3.c 2019-05-14 11:07:02.148770284 +0200
@@ -429,6 +429,8 @@ pnm_bittoxel(bit const inputBit,
case PBM_WHITE: return pnm_whitexel(maxval, PBM_TYPE); break;
default:
assert(false);
+ pixel const black = {0, 0, 0};
+ return black;
}
}

View File

@ -1,3 +1,70 @@
-------------------------------------------------------------------
Wed May 15 05:44:20 UTC 2019 - pgajdos@suse.com
- asan_build: build ASAN included
- debug_build: build more suitable for debugging
- added patches
neccessary for running with ASAN
+ netpbm-asan.patch
-------------------------------------------------------------------
Tue May 14 09:22:13 UTC 2019 - pgajdos@suse.com
- version update to 10.86.3
* pnmtopng: Fix bug: Defaults to no filters. Should be all
filters. Effect is larger PNG output. Broken after Netpbm
10.26 (January 2005) but no later than Netpbm 10.35 (August
2006).
* pnmtopng: Fix bug: Doesn't allow multiple filter options.
Broken after Netpbm 10.26 (January 2005) but no later than
Netpbm 10.35 (August 2006).
* pnmcrop: Don't allow -borderfile with -reportXXX. It doesn't
work.
* pnmcrop: fix bug: -bgcolor doesn't work. Always present
(-bgcolor was introduced in Netpbm 10.86 (March 2019)).
* pnmcrop: fix bug: incorrect identification of background with
-bgcolor and PBM or PGM image. Always present (-bgcolor was
introduced in Netpbm 10.86 (March 2019)).
* Add pamfind.
* Add pambrighten.
* Add pamhue.
* pnmcrop: Add -bg-color, bg-corner, -reportfull, -reportsize,
-blank-image .
* pamtopng: Add -interlace .
* pamenlarge: Add -scale, -xscale, -yscale .
* pamenlarge: Much faster for PBM with xscale factor above 10;
slightly faster for xscale factor 2-10.
* pamfile: Add -machine and -size .
* pamscale: Add -reportonly
* pamstretch-gen: Add -quiet, -plain.
* pamstretch-gen: Use -dropedge on the 'pamstretch' piece for
better looking output.
* pamstretch: Accept scale factor of 1 as a parameter (already
was accepted with -xscale and -yscale options).
* pamstretch: Don't mess with edge when scale factor is 1,
regardless of -dropedge and -blackedge.
* ppmwheel: Add -huevalue, -huesaturation, -maxval .
* various: Fix unnormalizing code so a value exactly between two
sample values rounds consistently up. Affects many programs.
* pstopnm: Fix bug: -textalphabits has no effect. Always broken.
(-textalphabits was new in Netpbm 10.53 (December 2010)).
* pamtopng: Fix sBit chunk, bit shift value for 1-, 2-, and 4-bit-
per-sample images. Always broken (Pamtopng was new in Netpbm
10.71 (June 2015)).
* pamtopng: Fix buffer overrun. Always broken (Pamtopng was new
in Netpbm 10.71 (June 2015)).
* pnmtopng: fix bug: -interlace ignored. Broken in 10.55
(June 2011).
pamstretch: Reject very large scale factors instead of producing
incorrect output.
* ppmbrighten: Fix crash with -normalize when there is only one
intensity in the image. Always broken - Ppmbrighten was new in
the first Netpbm release in 1991.
* ppmdraw: Fix bug: 'setlinetype nodiag' says invalid type.
Always broken. (Ppmdraw was new in Netpbm 10.29 (August 2005)).
- modified patches
% netpbm-gcc-warnings.patch (extended)
-------------------------------------------------------------------
Mon Dec 31 22:08:29 UTC 2018 - Jan Engelhardt <jengelh@inai.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package netpbm
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,11 +16,13 @@
#
%define debug_build 0
%define asan_build 0
%define libmaj 11
%define libmin 85
%define libmin 86
%define libver %{libmaj}.%{libmin}
Name: netpbm
Version: 10.85.0
Version: 10.86.3
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
@ -32,6 +34,8 @@ Source2: baselibs.conf
Source3: prepare-src-tarball.sh
# SUSE specific
Patch0: %{name}-make.patch
# neccessary for running with ASAN
Patch1: %{name}-asan.patch
Patch3: %{name}-tmpfile.patch
Patch4: %{name}-security-code.patch
Patch5: %{name}-security-scripts.patch
@ -103,6 +107,13 @@ echo 'install.manweb:' >> converter/ppm/hpcdtoppm/Makefile
# dtto for ppmtompeg
echo 'install.manweb:' >> converter/ppm/ppmtompeg/Makefile
export CFLAGS="%{optflags} -flax-vector-conversions"
%if %{debug_build}
export CFLAGS="$CFLAGS -O0"
%endif
%if %{asan_build}
export CFLAGS="$CFLAGS -fsanitize=address"
patch -p1 < %{PATCH1}
%endif
make %{?_smp_mflags} CFLAGS="$CFLAGS"
rm doc/INSTALL
#