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.
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,-)
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. :)
Created attachment 346315 [details] new specfile
Also, in your version, the strict aliasing flag isn't working. The correct way to do it is in my specfile.
Ping? I really would like to see this package in. Michael, if you are too busy, I'd be happy to be the maintainer.
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.
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.
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)
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.
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 =====================================================
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:
CVS done.
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
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
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. :)
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
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
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.
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.