Spec URL: http://smani.fedorapeople.org/mingw-glew.spec SRPM URL: http://smani.fedorapeople.org/mingw-glew-1.9.0-1.fc19.src.rpm Description: MinGW Windows GLEW library. Fedora Account System Username: smani
Spec URL: http://smani.fedorapeople.org/mingw-glew.spec SRPM URL: http://smani.fedorapeople.org/mingw-glew-1.9.0-2.fc19.src.rpm Spec updates.
Taking for review - The '%global mingw_build_win32/64' isn't needed any more and can be removed - The pkgname variable also isn't needed any more (although you can leave it 'as is' if you like it better this way) - The 'BuildRequires: mingw32-filesystem' is unversioned while it should be '>= 95' - In various places you've used the terms 'dynamic' and 'static'. I think it would be more clear to other users if you use 'shared' and 'static' as these terms are more common
Some additional comments: - The executables don't have to be placed in a separate -tools package. They can be placed in the main package - Please try to prevent the use of wildcards in the filelist and only use them when a folder contains lots of files (in order to keep the filelist legible)
Spec URL: http://smani.fedorapeople.org/mingw-glew.spec SRPM URL: http://smani.fedorapeople.org/mingw-glew-1.9.0-3.fc19.src.rpm * Thu May 09 2013 Sandro Mani <manisandro> - 1.9.0-3 - Remove mingw_build_win32/64 macros - Properly version mingw32-filesystem BuildRequires - Reword win32/64_dynamic_dir to win32/64_shared_dir pkgname: I used in order to make the spec file more generic (i.e. simplify copy-pasting) tools subpackage: Are there any guidelines there (i.e. should the tools subpackage never be created, or just for a large number of executables?) Just so that I can adjust all my other specs accordingly. Personally, I find it elegant to keep them separated.
Spec URL: http://smani.fedorapeople.org/mingw-glew.spec SRPM URL: http://smani.fedorapeople.org/mingw-glew-1.9.0-4.fc19.src.rpm * Fri May 17 2013 Sandro Mani <manisandro> - 1.9.0-4 - Pass correct CFLAGS This also fixes the debuginfo packages which were empty before.
This package is in good shape now. The only point of discussion is what to do with the -tools subpackage. The discussion on the mingw mailing list about this subject kinda went dead without coming to a final conclusion. Therefore I've written an updated draft of the Fedora MinGW Packaging Guidelines which now contains a dedicated paragraph about this subject: https://fedoraproject.org/wiki/PackagingDrafts/MinGWCrossCompiler#Executables_.28EXEs.29 I'm going to propose this draft to the FPC (Fedora Packaging Committee) to get their opinion about this subject and a final approval on what direction we should take. Would you like to wait for the FPC to make a final decision about this subject or do you want to complete the review now? I'm willing to approve this package in its current state on the condition that you'll update this package when the FPC decides that all executables should be part of the main package.
I'm in no particular hurry, so I'd say lets wait.
The FPC has just approved our updated packaging guidelines and have also made an addition to it: Executables which are required for proper functionality of the libraries must be packaged in the matching mingw32/mingw64 subpackage. All other executables are discouraged, but may be packaged in optional (dependent) subpackages at a packager's discretion. This situation applies to this package. The executables which are part of this package are not required for proper functionality of the library so therefore the recommended approach is to place them in subpackages. You've already done this with your -tools subpackages so this package complies with the mingw packaging guidelines now
Thanks Erik. So, we're good to go I'd say?
Your latest srpm gives me a 404
Spec URL: http://smani.fedorapeople.org/mingw-glew.spec SRPM URL: http://smani.fedorapeople.org/mingw-glew-1.9.0-4.fc20.src.rpm Uh, sorry about that - fixed.
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5423958 $ rpmlint mingw-glew.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint mingw-glew-1.9.0-4.fc20.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. $ rpmlint mingw32-glew-1.9.0-4.fc19.noarch.rpm mingw32-glew-static-1.9.0-4.fc19.noarch.rpm mingw32-glew-tools-1.9.0-4.fc19.noarch.rpm mingw64-glew-1.9.0-4.fc19.noarch.rpm mingw64-glew-static-1.9.0-4.fc19.noarch.rpm mingw64-glew-tools-1.9.0-4.fc19.noarch.rpm mingw32-glew-static.noarch: W: no-documentation mingw32-glew-tools.noarch: W: no-documentation mingw64-glew-static.noarch: W: no-documentation mingw64-glew-tools.noarch: W: no-documentation 6 packages and 0 specfiles checked; 0 errors, 4 warnings. $ rpm --query --requires mingw32-glew rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 mingw32-crt mingw32-filesystem >= 83 mingw32(kernel32.dll) mingw32(libgcc_s_sjlj-1.dll) mingw32(msvcrt.dll) mingw32(opengl32.dll) mingw32-pkg-config rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --requires mingw64-glew rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 mingw64-crt mingw64-filesystem >= 83 mingw64(kernel32.dll) mingw64(msvcrt.dll) mingw64(opengl32.dll) mingw64-pkg-config rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --requires mingw32-glew-static mingw32-glew = 1.9.0-4.fc19 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --requires mingw64-glew-static mingw64-glew = 1.9.0-4.fc19 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --requires mingw32-glew-tools mingw32-glew = 1.9.0-4.fc19 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 mingw32-crt mingw32-filesystem >= 83 mingw32(gdi32.dll) mingw32(glew32.dll) mingw32(kernel32.dll) mingw32(msvcrt.dll) mingw32(opengl32.dll) mingw32(user32.dll) rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --requires mingw64-glew-tools mingw64-glew = 1.9.0-4.fc19 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 mingw64-crt mingw64-filesystem >= 83 mingw64(gdi32.dll) mingw64(glew32.dll) mingw64(kernel32.dll) mingw64(msvcrt.dll) mingw64(opengl32.dll) mingw64(user32.dll) rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --provides mingw32-glew mingw32-glew = 1.9.0-4.fc19 mingw32(glew32.dll) mingw32(glew32mx.dll) $ rpm --query --provides mingw64-glew mingw64-glew = 1.9.0-4.fc19 mingw64(glew32.dll) mingw64(glew32mx.dll) $ rpm --query --provides mingw32-glew-static mingw32-glew-static = 1.9.0-4.fc19 $ rpm --query --provides mingw64-glew-static mingw64-glew-static = 1.9.0-4.fc19 $ rpm --query --provides mingw32-glew-tools mingw32-glew-tools = 1.9.0-4.fc19 $ rpm --query --provides mingw64-glew-tools mingw64-glew-tools = 1.9.0-4.fc19 $ wget --quiet http://downloads.sourceforge.net/glew/glew-1.9.0.tgz -O - | md5sum 69ce911decef6249d24742497e6ad06a - $ md5sum glew-1.9.0.tgz 69ce911decef6249d24742497e6ad06a glew-1.9.0.tgz + OK ! Needs to be looked into / Not applicable [+] Compliant with generic Fedora Packaging Guidelines [+] Source package name is prefixed with 'mingw-' [+] Spec file starts with %{?mingw_package_header} [+] BuildRequires: mingw32-filesystem >= 95 is in the .spec file [+] BuildRequires: mingw64-filesystem >= 95 is in the .spec file [+] Spec file contains %package sections for both mingw32 and mingw64 packages [+] Binary mingw32 and mingw64 packages are noarch [+] Spec file contains %{?mingw_debug_package} after the %description section [!] Uses one of the macros %mingw_configure, %mingw_cmake, or %mingw_cmake_kde4 to configure the package [!] Uses the macro %mingw_make to build the package [!] Uses the macro %mingw_make to install the package [+] If package contains translations, the %mingw_find_lang macro must be used [+] No binary package named mingw-$pkgname is generated [+] Libtool .la files are not bundled [+] .def files are not bundled [+] Man pages which duplicate native package are not bundled [+] Info files which duplicate native package are not bundled [+] Provides of the binary mingw32 and mingw64 packages are equal [!] Requires of the binary mingw32 and mingw64 packages are equal The mingw32 package seems to depend on libgcc_s_sjlj-1.dll while the mingw64 package doesn't. I've also seen this on various other packages so we can ignore this for now This package doesn't use any of the configure and make-related mingw macros. Normally this is a blocker, but given the fact that upstream of this package uses hand-written Makefiles (instead of a generic build system like autotools) I'm okay with the way the package is built in the current .spec file. ================================================ The package mingw-glew is APPROVED by epienbro ================================================
Thanks Erik! New Package SCM Request ======================= Package Name: mingw-glew Short Description: MinGW Windows GLEW library Owners: smani Branches: f19 f18 InitialCC:
Git done (by process-git-requests).
mingw-glew-1.9.0-4.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/mingw-glew-1.9.0-4.fc19
mingw-glew-1.9.0-4.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/mingw-glew-1.9.0-4.fc18
mingw-glew-1.9.0-4.fc19 has been pushed to the Fedora 19 testing repository.
mingw-glew-1.9.0-4.fc18 has been pushed to the Fedora 18 stable repository.
mingw-glew-1.9.0-4.fc19 has been pushed to the Fedora 19 stable repository.