Bug 916797 - Review Request: mingw-glew - MinGW OpenGL Extension Wrangler Library
Summary: Review Request: mingw-glew - MinGW OpenGL Extension Wrangler Library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Erik van Pienbroek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-28 22:51 UTC by Sandro Mani
Modified: 2013-06-05 03:19 UTC (History)
4 users (show)

Fixed In Version: mingw-glew-1.9.0-4.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-06-04 21:07:29 UTC
Type: ---
Embargoed:
erik-fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Sandro Mani 2013-02-28 22:51:59 UTC
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

Comment 2 Erik van Pienbroek 2013-05-09 18:33:52 UTC
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

Comment 3 Erik van Pienbroek 2013-05-09 18:40:44 UTC
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)

Comment 4 Sandro Mani 2013-05-09 20:00:31 UTC
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.

Comment 5 Sandro Mani 2013-05-16 23:50:02 UTC
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.

Comment 6 Erik van Pienbroek 2013-05-19 17:53:25 UTC
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.

Comment 7 Sandro Mani 2013-05-19 18:09:31 UTC
I'm in no particular hurry, so I'd say lets wait.

Comment 8 Erik van Pienbroek 2013-05-23 17:09:18 UTC
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

Comment 9 Sandro Mani 2013-05-24 11:06:35 UTC
Thanks Erik. So, we're good to go I'd say?

Comment 10 Erik van Pienbroek 2013-05-24 20:05:27 UTC
Your latest srpm gives me a 404

Comment 11 Sandro Mani 2013-05-24 23:19:33 UTC
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.

Comment 12 Erik van Pienbroek 2013-05-25 18:21:47 UTC
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
================================================

Comment 13 Sandro Mani 2013-05-25 21:08:18 UTC
Thanks Erik!

New Package SCM Request
=======================
Package Name: mingw-glew
Short Description: MinGW Windows GLEW library
Owners: smani
Branches: f19 f18
InitialCC:

Comment 14 Gwyn Ciesla 2013-05-26 01:03:40 UTC
Git done (by process-git-requests).

Comment 15 Fedora Update System 2013-05-26 01:42:47 UTC
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

Comment 16 Fedora Update System 2013-05-26 01:43:36 UTC
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

Comment 17 Fedora Update System 2013-05-26 17:00:39 UTC
mingw-glew-1.9.0-4.fc19 has been pushed to the Fedora 19 testing repository.

Comment 18 Fedora Update System 2013-06-04 21:07:29 UTC
mingw-glew-1.9.0-4.fc18 has been pushed to the Fedora 18 stable repository.

Comment 19 Fedora Update System 2013-06-05 03:19:15 UTC
mingw-glew-1.9.0-4.fc19 has been pushed to the Fedora 19 stable repository.


Note You need to log in before you can comment on or make changes to this bug.