Bug 895566 (mingw-polyclipping) - Review Request: mingw-polyclipping - MinGW Polygon clipping library
Summary: Review Request: mingw-polyclipping - MinGW Polygon clipping library
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: mingw-polyclipping
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-15 14:39 UTC by Thomas Sailer
Modified: 2013-02-01 17:00 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-02-01 16:31:33 UTC
mhroncok: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Thomas Sailer 2013-01-15 14:39:32 UTC
Spec URL: http://sailer.fedorapeople.org/mingw-polyclipping.spec
SRPM URL: http://sailer.fedorapeople.org/mingw-polyclipping-4.9.7-1.fc18.src.rpm
Description:
MinGW Polygon clipping library

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

Comment 2 Miro Hrončok 2013-01-18 21:58:40 UTC
According to the guidelines, you should BuildRequire mingw-filesystem, not mingw32/64-filesystem, is that a bug in quidelines or in spec?

Comment 3 Erik van Pienbroek 2013-01-18 22:08:16 UTC
(In reply to comment #2)
> According to the guidelines, you should BuildRequire mingw-filesystem, not
> mingw32/64-filesystem, is that a bug in quidelines or in spec?

Where did you see this in the packaging guidelines? It shouldn't be there (it has been part of a draft version of the guidelines for some time, but it should have been removed for more than a year already)

Comment 4 Volker Fröhlich 2013-01-18 23:25:43 UTC
Please clarify what the patch is for and its status upstream.

Comment 5 Miro Hrončok 2013-01-18 23:35:56 UTC
(In reply to comment #3)
> Where did you see this in the packaging guidelines? It shouldn't be there
> (it has been part of a draft version of the guidelines for some time, but it
> should have been removed for more than a year already)

https://fedoraproject.org/wiki/Packaging:MinGW#Base_packages

Comment 6 Erik van Pienbroek 2013-01-18 23:38:28 UTC
(In reply to comment #5)
> (In reply to comment #3)
> > Where did you see this in the packaging guidelines? It shouldn't be there
> > (it has been part of a draft version of the guidelines for some time, but it
> > should have been removed for more than a year already)
> 
> https://fedoraproject.org/wiki/Packaging:MinGW#Base_packages

Thanks for that, it should read that BuildRequires should be added for mingw32-filesystem and mingw64-filesystem. I'll file a ticket at the FPC to have this fixed

Comment 7 Thomas Sailer 2013-01-19 00:24:35 UTC
(In reply to comment #4)
> Please clarify what the patch is for and its status upstream.

This patch adds the __declspec annotations to tell windows C++ compilers which functions to export from the DLL.

It also tells the cmake build system to also install the import library (.dll.a), which is needed to actually link against the DLL (it contains stub functions to call into the DLL).

Thanks for reminding me to report this upstream:
http://sourceforge.net/p/polyclipping/bugs/62/

Comment 8 Miro Hrončok 2013-01-19 13:30:02 UTC
1)
According to the example in guidelines, you should probably use something like this in Summary:

# Mingw32
%package -n mingw32-%{mingw_pkg_name}
Summary:                %{summary} for the Win32 target

And also add this information to Description.

I don't see if this is obligatory, but you cannot break anything just by adding this.

2)
Why is there a #TODO comment in the spec?

3)
> mingw32-polyclipping-debuginfo.noarch: E: debuginfo-without-sources
> mingw64-polyclipping-debuginfo.noarch: E: debuginfo-without-sources
Is that mingw specific, or an actual error?

Comment 9 Thomas Sailer 2013-01-19 13:53:05 UTC
Miro, thanks for the comments.

I changed summary and description accordingly.

(In reply to comment #8)
> 2)
> Why is there a #TODO comment in the spec?

This is actually coming from the native package. I've removed the comment.

> 3)
> > mingw32-polyclipping-debuginfo.noarch: E: debuginfo-without-sources
> > mingw64-polyclipping-debuginfo.noarch: E: debuginfo-without-sources
> Is that mingw specific, or an actual error?

This is mingw specific.

Comment 10 Miro Hrončok 2013-01-19 14:34:47 UTC
Could you provide link to new srpm or spec?

Comment 11 Thomas Sailer 2013-01-19 15:08:16 UTC
(In reply to comment #10)
> Could you provide link to new srpm or spec?

Sorry. Here it is:

SRPM URL: http://sailer.fedorapeople.org/mingw-polyclipping-5.0.3-2.fc18.src.rpm
Spec URL: http://sailer.fedorapeople.org/mingw-polyclipping.spec

Comment 12 Miro Hrončok 2013-01-19 15:36:10 UTC
FIX: Now you have Win32 in both 32 and 64 summary.

MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review.

$ rpmlint ../SRPMS/mingw-polyclipping-5.0.3-2.fc18.src.rpm ../RPMS/noarch/mingw32-polyclipping-5.0.3-2.fc18.noarch.rpm ../RPMS/noarch/mingw64-polyclipping-5.0.3-2.fc18.noarch.rpm ../RPMS/noarch/mingw32-polyclipping-debuginfo-5.0.3-2.fc18.noarch.rpm ../RPMS/noarch/mingw64-polyclipping-debuginfo-5.0.3-2.fc18.noarch.rpm
mingw-polyclipping.src: W: spelling-error %description -l en_US boolean -> Boolean, boo lean, boo-lean
mingw32-polyclipping.noarch: W: spelling-error %description -l en_US boolean -> Boolean, boo lean, boo-lean
mingw64-polyclipping.noarch: W: spelling-error %description -l en_US boolean -> Boolean, boo lean, boo-lean
mingw32-polyclipping-debuginfo.noarch: E: debuginfo-without-sources
mingw64-polyclipping-debuginfo.noarch: E: debuginfo-without-sources
5 packages and 0 specfiles checked; 2 errors, 3 warnings.

All false positives, OK.

MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. OK
MUST: The package must meet the Packaging Guidelines. OK
MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. OK
MUST: The License field in the package spec file must match the actual license.

Checked in license.txt, Boost. OK

MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc. OK
MUST: The spec file must be written in American English. OK
MUST: The spec file for the package MUST be legible. OK
MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.

$ spectool -g mingw-polyclipping.spec 
Getting http://downloads.sourceforge.net/polyclipping/clipper_ver5.0.3.zip to ./clipper_ver5.0.3.zip
$ sha256sum ./clipper_ver5.0.3.zip
e48178e84b51b4ef7a1d13c0c6e1536e4e55ade71d893c26ba533915fc98fac3  ./clipper_ver5.0.3.zip
$ sha256sum ../SOURCES/clipper_ver5.0.3.zip
e48178e84b51b4ef7a1d13c0c6e1536e4e55ade71d893c26ba533915fc98fac3  ../SOURCES/clipper_ver5.0.3.zip

OK

MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. OK
MUST: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense. OK, builds in mock
MUST: Packages must NOT bundle copies of system libraries. OK (guess it doesn't apply on Win builds)
MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. OK
MUST: A Fedora package must not list a file more than once in the spec file's %files listings. OK
MUST: Permissions on files must be set properly.

$ rpm -q -lv -p ../RPMS/noarch/mingw32-polyclipping-5.0.3-2.fc18.noarch.rpm 
-rwxr-xr-x    1 root    root                   140202 led 19 16:19 /usr/i686-w64-mingw32/sys-root/mingw/bin/libpolyclipping.dll
drwxr-xr-x    2 root    root                        0 led 19 16:19 /usr/i686-w64-mingw32/sys-root/mingw/include/polyclipping
-rw-r--r--    1 root    root                    11178 led 19 16:19 /usr/i686-w64-mingw32/sys-root/mingw/include/polyclipping/clipper.hpp
-rw-r--r--    1 root    root                    86642 led 19 16:19 /usr/i686-w64-mingw32/sys-root/mingw/lib/libpolyclipping.dll.a
drwxr-xr-x    2 root    root                        0 led 19 16:19 /usr/share/doc/mingw32-polyclipping-5.0.3
-rw-r--r--    1 root    root                     1575 čen 18  2011 /usr/share/doc/mingw32-polyclipping-5.0.3/License.txt
-rw-r--r--    1 root    root                    10639 led 12 07:42 /usr/share/doc/mingw32-polyclipping-5.0.3/README
$ rpm -q -lv -p ../RPMS/noarch/mingw64-polyclipping-5.0.3-2.fc18.noarch.rpm 
drwxr-xr-x    2 root    root                        0 led 19 16:19 /usr/share/doc/mingw64-polyclipping-5.0.3
-rw-r--r--    1 root    root                     1575 čen 18  2011 /usr/share/doc/mingw64-polyclipping-5.0.3/License.txt
-rw-r--r--    1 root    root                    10639 led 12 07:42 /usr/share/doc/mingw64-polyclipping-5.0.3/README
-rwxr-xr-x    1 root    root                   142155 led 19 16:19 /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libpolyclipping.dll
drwxr-xr-x    2 root    root                        0 led 19 16:19 /usr/x86_64-w64-mingw32/sys-root/mingw/include/polyclipping
-rw-r--r--    1 root    root                    11178 led 19 16:19 /usr/x86_64-w64-mingw32/sys-root/mingw/include/polyclipping/clipper.hpp
-rw-r--r--    1 root    root                    85104 led 19 16:19 /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libpolyclipping.dll.a

OK

MUST: Each package must consistently use macros. OK
MUST: The package must contain code, or permissable content. OK
MUST: If a package includes something as %doc, it must not affect the runtime of the application. OK
MUST: Packages must not own files or directories already owned by other packages. OK
MUST: All filenames in rpm packages must be valid UTF-8. OK

SHOULD: The reviewer should test that the package builds in mock. OK
SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. OK


$ rpm -q --provides -p ../RPMS/noarch/mingw32-polyclipping-5.0.3-2.fc18.noarch.rpm 
mingw32-polyclipping = 5.0.3-2.fc18
mingw32(libpolyclipping.dll)
$ rpm -q --provides -p ../RPMS/noarch/mingw64-polyclipping-5.0.3-2.fc18.noarch.rpm 
mingw64-polyclipping = 5.0.3-2.fc18
mingw64(libpolyclipping.dll)
$ rpm -q --requires -p ../RPMS/noarch/mingw32-polyclipping-5.0.3-2.fc18.noarch.rpm 
rpmlib(FileDigests) <= 4.6.0-1
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(libstdc++-6.dll)
mingw32(msvcrt.dll)
rpmlib(PayloadIsXz) <= 5.2-1
$ rpm -q --requires -p ../RPMS/noarch/mingw64-polyclipping-5.0.3-2.fc18.noarch.rpm 
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
mingw64-crt
mingw64-filesystem >= 83
mingw64(kernel32.dll)
mingw64(libgcc_s_sjlj-1.dll)
mingw64(libstdc++-6.dll)
mingw64(msvcrt.dll)
rpmlib(PayloadIsXz) <= 5.2-1

OK

FIX the summary and package can be APPROVED.

Comment 13 Thomas Sailer 2013-01-19 15:50:18 UTC
Summary fixed to contain the correct architecture name:

SRPM URL: http://sailer.fedorapeople.org/mingw-polyclipping-5.0.3-3.fc18.src.rpm
Spec URL: http://sailer.fedorapeople.org/mingw-polyclipping.spec

Comment 14 Miro Hrončok 2013-01-19 16:08:23 UTC
--- mingw-polyclipping.spec	2013-01-19 15:54:18.000000000 +0100
+++ mingw-polyclipping.spec.new	2013-01-19 17:06:05.585165347 +0100
@@ -10,8 +10,8 @@
 
 Name:           mingw-%{mingw_pkg_name}
 Version:        5.0.3
-Release:        2%{?dist}
-Summary:        MinGW Windows Polygon clipping library for the win32 target
+Release:        3%{?dist}
+Summary:        MinGW Windows Polygon clipping library
 
 Group:          System Environment/Libraries
 License:        Boost
@@ -43,7 +43,7 @@
 
 # Mingw32
 %package -n mingw32-%{mingw_pkg_name}
-Summary:                %{summary}
+Summary:                MinGW Windows Polygon clipping library for the win32 target
 
 %description -n mingw32-%{mingw_pkg_name}
 This package contains the MinGW win32 port of the clipper polygon
@@ -59,7 +59,7 @@
 
 # Mingw64
 %package -n mingw64-%{mingw_pkg_name}
-Summary:                %{summary}
+Summary:                MinGW Windows Polygon clipping library for the win64 target
 
 %description -n mingw64-%{mingw_pkg_name}
 This package contains the MinGW win64 port of the clipper polygon
@@ -119,6 +119,9 @@
 
 
 %changelog
+* Sat Jan 19 2013 Thomas Sailer <t.sailer@alumni.ethz.ch> - 5.0.3-3
+- fix summary to contain the correct architecture name
+
 * Sat Jan 19 2013 Thomas Sailer <t.sailer@alumni.ethz.ch> - 5.0.3-2
 - clarify this is the MinGW version in summary and description
 - remove TODO comment


Package APPROVED.

Comment 15 Thomas Sailer 2013-01-19 16:20:02 UTC
Thanks Miro!

New Package SCM Request
=======================
Package Name: mingw-polyclipping
Short Description: MinGW Windows Polygon clipping library
Owners: sailer churchyard volter
Branches: f17 f18
InitialCC:

Comment 16 Gwyn Ciesla 2013-01-22 14:16:32 UTC
Git done (by process-git-requests).

Comment 17 Fedora Update System 2013-01-22 21:44:46 UTC
mingw-polyclipping-5.0.3-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/mingw-polyclipping-5.0.3-3.fc18

Comment 18 Fedora Update System 2013-01-22 21:44:58 UTC
mingw-polyclipping-5.0.3-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/mingw-polyclipping-5.0.3-3.fc17

Comment 19 Fedora Update System 2013-01-23 16:09:56 UTC
Package mingw-polyclipping-5.0.3-3.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mingw-polyclipping-5.0.3-3.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-1326/mingw-polyclipping-5.0.3-3.fc17
then log in and leave karma (feedback).

Comment 20 Fedora Update System 2013-02-01 16:31:36 UTC
mingw-polyclipping-5.0.3-3.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2013-02-01 17:00:46 UTC
mingw-polyclipping-5.0.3-3.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.


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