Spec URL: http://www.annexia.org/tmp/mingw/mingw-zlib.spec SRPM URL: http://www.annexia.org/tmp/mingw/mingw-zlib-1.2.3-1.fc10.src.rpm Description: MinGW Windows zlib compression library Incomplete packaging guidelines: https://fedoraproject.org/wiki/PackagingDrafts/MinGW This is zlib cross-compiled for Windows. We have packaged quite a few libraries for Fedora so far, but not submitted them yet in case there are problems with the packaging guidelines. ZLib was chosen as a typical library, simple and with no dependencies.
Spec URL: http://hg.et.redhat.com/misc/fedora-mingw--devel/?cmd=manifest;manifest=5a13b9537a4127d600157e3cb12504542bd13651;path=/zlib/ SRPM URL: http://www.annexia.org/tmp/mingw/fedora-9/src/SRPMS/mingw32-zlib-1.2.3-10.fc9.src.rpm Updated package to conform with the approved packaging guidelines: http://fedoraproject.org/wiki/Packaging/MinGW
SRPM and SPEC links seem incorrect. Could you please update them? I will take care about review.
Thanks for looking at this. Here are the correct URLs for this package: Spec URL: http://hg.et.redhat.com/cgi-bin/hg-misc.cgi/fedora-mingw--devel/file/tip/zlib/mingw32-zlib.spec SRPM URL: http://www.annexia.org/tmp/mingw/fedora-10/src/SRPMS/mingw32-zlib-1.2.3-10.fc10.src.rpm
Adam are you still reviewing this?
Sorry for late response. Formal review: source files match upstream: YES package meets naming and versioning guidelines: YES specfile is properly named, is cleanly written and uses macros consistently: YES dist tag is present: YES build root is correct: YES license field matches the actual license: YES latest version is being packaged: YES BuildRequires are proper: YES compiler flags are appropriate: NO %clean is present: YES package builds in mock (Rawhide/x86_64): YES ------- rpmlint is silent: NO: $ rpmlint mingw32-zlib-1.2.3-10.fc11.src.rpm mingw32-zlib.src:46: W: configure-without-libdir-spec - wouldn't be better to add "--libdir=%{_mingw32_libdir}" configure parameter? $ rpmlint mingw32-zlib-1.2.3-10.fc11.noarch.rpm mingw32-zlib.noarch: W: no-documentation mingw32-zlib.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/zlib.h mingw32-zlib.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libz.dll.a mingw32-zlib.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/zconf.h mingw32-zlib.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libz.dll.a mingw32-zlib.noarch: W: non-standard-dir-in-usr i686-pc-mingw32 - OK (there is no reason to separate headers to -devel - noone will use mingw32-zlib-libs package without -devel on Fedora) ------ final provides and requires look sane: YES doesn't own any directories it shouldn't: YES no duplicates in %files: YES file permissions are appropriate: YES code, not content: YES documentation is small, so no -docs subpackage is necessary: YES ---------------------------------------------------------------- Currently I see two problems: - compiler flags are not correct, it seems you have to add "CFLAGS=%{_mingw32_cflags}" parameter to make - static version of library is packaged: $ file /usr/i686-pc-mingw32/sys-root/mingw/lib/libz.dll.a /usr/i686-pc-mingw32/sys-root/mingw/lib/libz.dll.a: current ar archive MinGW packaging guidelines says that static libraries should be packaged in -static subpackage (http://fedoraproject.org/wiki/Packaging/MinGW, "Static libraries" statement). Yes, it is pedantry but guidelines should be honoured.
Just a quick note that libz.dll.a isn't a static library, in the sense meant by the guidelines. Under Windows, DLLs are split into two parts: The foo-1.dll which is the shared library needed at runtime. But if you want to link with the shared library, you need a library of stub routines, called foo.dll.a (for cross-compilation) or more normally foo.lib if this was a real Windows machine. We actually remove the real static libraries from all of the mingw32-* packages. I'll take a look at the rest in an hour or two.
Thanks for looking at this package. Here is an updated package that sets CFLAGS correctly (and I've verified that they are passed to gcc). Spec URL: http://hg.et.redhat.com/cgi-bin/hg-misc.cgi/fedora-mingw--devel/file/tip/zlib/mingw32-zlib.spec SRPM URL: http://www.annexia.org/tmp/mingw/fedora-10/src/SRPMS/mingw32-zlib-1.2.3-11.fc10.src.rpm * Thu Dec 18 2008 Richard W.M. Jones <rjones> - 1.2.3-11 - Pass correct CFLAGS to build.
(In reply to comment #6) > Just a quick note that libz.dll.a isn't a static library, in > the sense meant by the guidelines. > > Under Windows, DLLs are split into two parts: The foo-1.dll > which is the shared library needed at runtime. But if you > want to link with the shared library, you need a library of > stub routines, called foo.dll.a (for cross-compilation) > or more normally foo.lib if this was a real Windows machine. Ah, I didn't know how things work. Thanks for your explanation. With correct CFLAGS package is OK => reviewed (formal review is in comment #5)
New Package CVS Request ======================= Package Name: mingw32-zlib Short Description: MinGW Windows zlib compression library Owners: rjones berrange lfarkas Branches: EL-5 F-10 InitialCC:
cvs done.
Thanks Adam and Kevin. Imported and built.
The native zlib package also generates the minizip and minizip-devel packages. These are also libraries and thus eligible for mingw32. Why have they been dropped?