Bug 973139

Summary: FTBFS against GD 2.1.0
Product: [Fedora] Fedora Reporter: Remi Collet <fedora>
Component: perl-GDAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: paul, perl-devel, tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-11 13:39:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Remi Collet 2013-06-11 11:09:46 UTC
See : http://koji.fedoraproject.org/koji/taskinfo?taskID=5490492

Build seems ok (despite a lot of warnings)
Some test succeed, so extension seems mostly ok.

Other failed tests need investigation.

I will try to work on this, but, as I'm not a perl monger, help welcome.

Comment 1 Remi Collet 2013-06-11 13:12:32 UTC
From my test results, I think we can ignore the test results for now.

I have generated the output images (under fedora 17)
- with gd 2.0.35
- with gd 2.1.0

Results are "visibly" the same.

Digging (ex on test 4, the smaller image)

$ ll test.out.4*png
-rw-r--r--. 1 extras remi 290 11 juin  14:42 test.out.4.gd20.png
-rw-r--r--. 1 extras remi 290 11 juin  14:46 test.out.4.gd21.png
-rw-r--r--. 1 extras remi 269 26 févr. 11:57 test.out.4.png

$ diff test.out.4.png test.out.4.gd20.png
Binary files test.out.4.png and test.out.4.gd20.png differ

$ diff test.out.4.gd20.png test.out.4.gd21.png
(no diff)

$ pngcheck -vtc test.out.4.png test.out.4.gd20.png test.out.4.gd21.png
File: test.out.4.png (269 bytes)
  chunk IHDR at offset 0x0000c, length 13
    100 x 50 image, 2-bit palette, non-interlaced
  chunk PLTE at offset 0x00025, length 12: 4 palette entries
  chunk IDAT at offset 0x0003d, length 188
    zlib: deflated, 32K window, default compression
  chunk IEND at offset 0x00105, length 0
No errors detected in test.out.4.png (4 chunks, 78.5% compression).

File: test.out.4.gd20.png (290 bytes)
  chunk IHDR at offset 0x0000c, length 13
    100 x 50 image, 2-bit palette, non-interlaced
  chunk PLTE at offset 0x00025, length 12: 4 palette entries
  chunk pHYs at offset 0x0003d, length 9: 3780x3780 pixels/meter (96 dpi)
  chunk IDAT at offset 0x00052, length 188
    zlib: deflated, 2K window, default compression
  chunk IEND at offset 0x0011a, length 0
No errors detected in test.out.4.gd20.png (5 chunks, 76.8% compression).

File: test.out.4.gd21.png (290 bytes)
  chunk IHDR at offset 0x0000c, length 13
    100 x 50 image, 2-bit palette, non-interlaced
  chunk PLTE at offset 0x00025, length 12: 4 palette entries
  chunk pHYs at offset 0x0003d, length 9: 3780x3780 pixels/meter (96 dpi)
  chunk IDAT at offset 0x00052, length 188
    zlib: deflated, 2K window, default compression
  chunk IEND at offset 0x0011a, length 0
No errors detected in test.out.4.gd21.png (5 chunks, 76.8% compression).

No errors were detected in 3 of the 3 files tested.


To resume, diff are.
- new "PHYS" chunk missing in ref images
- zlib deflated mode 32k vs 2k

Comment 2 Remi Collet 2013-06-11 13:38:49 UTC
I have update to 2.49 and skip failed tests.
For now, until a new upstream version is available since acceptable.

So, our build will mostly rely on test 1, 11 and 12, and packager eyes ;)

Package: perl-GD-2.49-1.fc20
Tag: f20
Status: complete
Built by: remi

Comment 3 Remi Collet 2013-06-11 13:48:33 UTC
Changes seems really related to GD 2.1.0 feature

From libgd-2.1.0/src/gd_png.c

#ifdef PNG_pHYs_SUPPORTED
	/* 2.1.0: specify the resolution */
	png_set_pHYs(png_ptr, info_ptr, DPI2DPM(im->res_x), DPI2DPM(im->res_y),
	             PNG_RESOLUTION_METER);
#endif

And 32k windows is commented.

	/*  png_set_compression_window_bits(png_ptr, 15);  */