Bug 492501 (mingw32-libtiff)

Summary: Review Request: mingw32-libtiff - MinGW Windows port of the LibTIFF library
Product: [Fedora] Fedora Reporter: Michael Ploujnikov <ploujj>
Component: Package ReviewAssignee: Erik van Pienbroek <erik-fedora>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: adam, erik-fedora, fedora-mingw, fedora-package-review, notting, rjones
Target Milestone: ---Flags: erik-fedora: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 3.8.2-16.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-18 11:41:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 454410    
Bug Blocks:    
Attachments:
Description Flags
new specfile none

Description Michael Ploujnikov 2009-03-27 01:56:59 UTC
Spec URL: http://plouj.com/rpmbuild/SPECS/mingw32-libtiff.spec
SRPM URL: http://plouj.com/rpmbuild/SRPMS/mingw32-libtiff-3.8.2-13.fc10.src.rpm

Hi! I just finished writing the mingw32 libtiff spec file. I used http://cvs.fedoraproject.org/viewvc/rpms/libtiff/devel/libtiff.spec?revision=1.53&view=markup as the basis for this spec file. For your convenience, here is the patch file between the original and my spec: http://plouj.com/rpmbuild/SPECS/libtiff.patch .

Some specific questions:
Should I keep the "%define LIBVER..." part?
Is the multilib hack relevant for mingw cross-compiling libraries? Should I just remove it?
I suspect that tiffgt, sgti2tiff and tiffsv don't build unless relevant libraries are available. Should I keep the commands which delete those executables? Currently, I commented them out.


Description: 
The libtiff package contains a library of functions for manipulating
TIFF (Tagged Image File Format) image format files.  TIFF is a widely
used file format for bitmapped images.  TIFF files usually end in the
.tif extension and they are often quite large.

The libtiff package should be installed if you need to manipulate TIFF
format image files

Approved MinGW packaging guidelines are here:
http://fedoraproject.org/wiki/Packaging/MinGW

rpmlint output:
$ rpmlint ~/rpmbuild/RPMS/noarch/mingw32-libtiff-3.8.2-13.fc10.noarch.rpm
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffvers.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffio.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffconf.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffio.hxx
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiff.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffconf-64.h
mingw32-libtiff.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: non-standard-dir-in-usr i686-pc-mingw32
1 packages and 0 specfiles checked; 2 errors, 11 warnings.

Comment 1 Erik van Pienbroek 2009-05-09 12:29:13 UTC
Let's take this package for review.

- The %define LIBVER can be dropped as it isn't being used elsewhere in the .spec file
- The 'make check' part doesn't belong in the %build phase, but in a seperate %check phase.
- Does 'LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH make check' even work? The LD_LIBRARY_PATH variable is only necessary for native libraries, so it doesn't have any effect on MinGW packages. (I haven't build and tested the package myself yet)
- The libtool .la files are required for proper operation on MinGW, so these don't need to be removed
- The multilib stuff isn't required as we only support 32bit environments. It can all be dropped
- Why does the defattr line contain the value '0755' ? Normally it should be %defattr(-,root,root,-)

Comment 2 Adam Goode 2009-06-02 20:54:40 UTC
The original libtiff specfile has a lot of unnecessary stuff for mingw32. I just did one, it is attached. There is no need for executables, multilib, or documentation in the mingw32 version of libtiff.

Please feel free to take this specfile and alter the changelog with your name, if you like. :)

Comment 3 Adam Goode 2009-06-02 20:55:11 UTC
Created attachment 346315 [details]
new specfile

Comment 4 Adam Goode 2009-06-02 20:57:10 UTC
Also, in your version, the strict aliasing flag isn't working. The correct way to do it is in my specfile.

Comment 5 Adam Goode 2009-06-03 14:34:02 UTC
Ping? I really would like to see this package in.

Michael, if you are too busy, I'd be happy to be the maintainer.

Comment 6 Michael Ploujnikov 2009-06-03 15:25:58 UTC
I'm sorry. I was so busy that I forgot I submitted this package. I was still reading the e-mails, but thinking that they were directed to someone else. I have time now, and I'll submit an update tonight.

Comment 7 Michael Ploujnikov 2009-06-04 01:31:16 UTC
Updated spec and srpm:

http://plouj.com/rpmbuild/SPECS/mingw32-libtiff.spec
http://plouj.com/rpmbuild/SRPMS/mingw32-libtiff-3.8.2-14.fc10.src.rpm

rpmlint output:
$ rpmlint /home/plouj/rpmbuild/SRPMS/mingw32-libtiff-3.8.2-14.fc10.src.rpm /home/plouj/rpmbuild/RPMS/noarch/mingw32-libtiff-3.8.2-14.fc10.noarch.rpm
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffconf.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiff.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffio.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffvers.h
mingw32-libtiff.noarch: E: script-without-shebang /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.la
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: E: script-without-shebang /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.la
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffio.hxx
mingw32-libtiff.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: non-standard-dir-in-usr i686-pc-mingw32
2 packages and 0 specfiles checked; 4 errors, 10 warnings.

Comment 8 Erik van Pienbroek 2009-06-05 17:07:43 UTC
Just one small thing needs to be changed. The %define needs to be changed to %global (see https://fedoraproject.org/wiki/Packaging/Guidelines#.25global_preferred_over_.25define for details)

Comment 9 Michael Ploujnikov 2009-06-05 21:55:25 UTC
Fixed in:

http://plouj.com/rpmbuild/SPECS/mingw32-libtiff.spec
http://plouj.com/rpmbuild/SRPMS/mingw32-libtiff-3.8.2-15.fc10.src.rpm

$ rpmlint /home/plouj/rpmbuild/SRPMS/mingw32-libtiff-3.8.2-15.fc10.src.rpm /home/plouj/rpmbuild/RPMS/noarch/mingw32-libtiff-3.8.2-15.fc10.noarch.rpm
mingw32-libtiff.src:80: W: macro-in-%changelog define
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffconf.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiff.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffio.h
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffvers.h
mingw32-libtiff.noarch: E: script-without-shebang /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.la
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: E: script-without-shebang /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.la
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/tiffio.hxx
mingw32-libtiff.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiffxx.dll.a
mingw32-libtiff.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libtiff.dll.a
mingw32-libtiff.noarch: W: non-standard-dir-in-usr i686-pc-mingw32
2 packages and 0 specfiles checked; 4 errors, 11 warnings.

Comment 10 Erik van Pienbroek 2009-06-06 15:01:58 UTC
rpmlint gives a new warning as of the last release:
 mingw32-libtiff.src:80: W: macro-in-%changelog define

To fix this, you need to escape the macro in the changelog. This can be done by changing the changelog entry from:
 * Fri Jun 5 2009 Michael Ploujnikov <ploujj> - 3.8.2-15
 - replace %define with %global as per Fedora packaging guidelines
to:
 * Fri Jun 5 2009 Michael Ploujnikov <ploujj> - 3.8.2-15
 - replace %%define with %%global as per Fedora packaging guidelines

Please fix this before importing the package in CVS

=====================================================

 The package mingw32-libtiff is APPROVED by epienbro

=====================================================

Comment 11 Michael Ploujnikov 2009-06-06 15:31:37 UTC
New Package CVS Request
=======================
Package Name: mingw32-libtiff
Short Description: MinGW Windows port of the LibTIFF library
Owners: plouj
Branches: F-10 F-11
InitialCC:

Comment 12 Jason Tibbitts 2009-06-08 16:20:49 UTC
CVS done.

Comment 13 Fedora Update System 2009-06-09 02:47:42 UTC
mingw32-libtiff-3.8.2-16.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/mingw32-libtiff-3.8.2-16.fc10

Comment 14 Fedora Update System 2009-06-09 02:49:27 UTC
mingw32-libtiff-3.8.2-16.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/mingw32-libtiff-3.8.2-16.fc11

Comment 15 Kevin Fenzi 2009-06-09 03:36:12 UTC
Note that this package didn't build as reviewed... please do make sure to do scratch builds or mock builds of packages under review to make sure they build. :)

Comment 16 Fedora Update System 2009-06-16 01:47:31 UTC
mingw32-libtiff-3.8.2-16.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update mingw32-libtiff'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6162

Comment 17 Fedora Update System 2009-06-16 02:05:38 UTC
mingw32-libtiff-3.8.2-16.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update mingw32-libtiff'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-6289

Comment 18 Fedora Update System 2009-06-18 11:41:52 UTC
mingw32-libtiff-3.8.2-16.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2009-06-18 11:44:40 UTC
mingw32-libtiff-3.8.2-16.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.