Bug 527704 (mingw32-proj)

Summary: Review Request: mingw32-proj - MinGW port of the proj cartographic projection library package
Product: [Fedora] Fedora Reporter: Dave Ludlow <dave>
Component: Package ReviewAssignee: Peter Lemenkov <lemenkov>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: fedora-mingw, fedora-package-review, itamar, lemenkov, notting, rjones
Target Milestone: ---Flags: lemenkov: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 4.6.1-4.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-04 12:37:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 454410    
Bug Blocks: 527706    

Description Dave Ludlow 2009-10-07 12:32:55 UTC
Spec URL: http://www.adsllc.com/tmp/mingw32-proj.spec
SRPM URL: http://www.adsllc.com/tmp/mingw32-proj-4.6.1-2.fc11.src.rpm
Description: MinGW port of the proj cartographic projection library package

Proj and invproj perform respective forward and inverse transformation of
cartographic data to or from cartesian data with a wide range of selectable
projection functions. Proj docs: http://www.remotesensing.org/dl/new_docs/

This is my first package submission and I am looking for a sponsor.

Comment 1 Dave Ludlow 2009-10-12 17:16:00 UTC
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group suggests I add my activities to this page, so:

* I'm the author of the already-included vifir package.  I'd be happy to be the maintainer of this if the current maintainer likes.

* Packaged and submitted mingw32-libgeotiff as Bug #527706

* Added a review for Vuurmuur (Bug #528108, Comment #1)

Comment 2 Peter Lemenkov 2009-10-12 18:29:13 UTC
(In reply to comment #1)

> * I'm the author of the already-included vifir package.  I'd be happy to be the
> maintainer of this if the current maintainer likes.

Great!
In order to be a co-maintainer for vifir, you need only

a) to be sponsored by someone (if you still haven't sponsored). I can sponsor you, btw.
b) to contact Fabian Affolter, the current maintainer of your application. I'm sure, he would like to share maintainership with vifir's author.

Regarding this package - I'll review it.

I tried to find your request on getting sponsored, but can't find it. What is your FAS account name?

https://admin.fedoraproject.org/accounts/group/view/packager

Comment 3 Dave Ludlow 2009-10-12 18:48:58 UTC
(In reply to comment #2)
> a) to be sponsored by someone (if you still haven't sponsored). I can sponsor
> you, btw.

I've been looking for a sponsor - offer accepted.  Thanks!

> b) to contact Fabian Affolter, the current maintainer of your application. I'm
> sure, he would like to share maintainership with vifir's author.

I've been in contact, and I did plan on pinging him once I'm in the packager group.

> I tried to find your request on getting sponsored, but can't find it. What is
> your FAS account name?

adsllc

Thanks!

Comment 4 Peter Lemenkov 2009-10-12 19:01:36 UTC
(In reply to comment #3)

> > I tried to find your request on getting sponsored, but can't find it. What is
> > your FAS account name?

> adsllc

Dave, I'd really want to sponsor you, but I can;t - you still didn't request your membership in Fedora Packagers group. :)

Please, add yourself to this group

https://admin.fedoraproject.org/accounts/group/view/packager

Comment 5 Mamoru TASAKA 2009-10-12 19:13:16 UTC
(In reply to comment #4)
> (In reply to comment #3)
> 
> > > I tried to find your request on getting sponsored, but can't find it. What is
> > > your FAS account name?
> 
> > adsllc
> 
> Dave, I'd really want to sponsor you, but I can;t - you still didn't request
> your membership in Fedora Packagers group. :)

I see that adsllc is actually requesting packager sponsorship
on FAS.

Comment 6 Peter Lemenkov 2009-10-12 19:18:09 UTC
Yes, indeed. 
I just sponsored him.

Comment 7 Dave Ludlow 2009-10-14 19:23:13 UTC
Koji Scratch build
http://koji.fedoraproject.org/koji/taskinfo?taskID=1746532

Comment 8 Dave Ludlow 2009-10-14 19:27:36 UTC
$ rpmlint mingw32-proj-4.6.1-2.fc11.src.rpm mingw32-proj-4.6.1-2.fc11.noarch.rpm 
2 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 9 Peter Lemenkov 2009-10-15 07:54:34 UTC
Few notes:

* Source1 should be removed.
* Please, remove *.la file
* I'm not sure, that we should to remove *.exe files. The rationale for keeping them, is that someone may decide to create an installer for Evil OS, which would include these executables (and that's a reasonably good guess, I believe). If we'll remove them, he would be forced to build proj again.

Other things looks sane.

Please, comment my notes above, and I'll continue.

Comment 10 Richard W.M. Jones 2009-10-15 08:28:40 UTC
*.la file is OK according to the guidelines, but
as Peter says should probably be removed.  See:

http://fedoraproject.org/wiki/MinGW/Packaging_issues

*.exe files are allowed according to the guidelines
_if_ they are useful for Fedora developers who are
using this package.  Generally speaking we allow
"small" executables in (configuration programs, test
programs, small demos and suchlike), but _not_ end-user
applications.

The canonical example of a program which would be
allowed is: certtool.exe (from gnutls)

The canonical example of a program which would _not_
be allowed is: firefox.exe

Comment 11 Dave Ludlow 2009-10-15 13:15:26 UTC
Source1 and *.la removed.  *.exe files remain removed as they are typically for end users, not programs.

Let me know if I'm mis-reading the guidance on the *.exe files.  My inclination is to leave them out, but I'd consider including them if a user came up with a case in which they would be used.  Since upstream already packages pre-built Win32 executables I cannot see a good reason for us to duplicate that.

rpmlint SPECS/mingw32-proj.spec mingw32-proj-4.6.1-3.fc11.src.rpm mingw32-proj-4.6.1-3.fc11.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.

SPEC:
http://adsllc.fedorapeople.org/rpmbuild/SPECS/mingw32-proj.spec

Koji:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1747260

Thanks!

Comment 12 Richard W.M. Jones 2009-10-15 13:30:59 UTC
We're fairly liberal on *.exe files.  Existing packages have
small command-line tools and test programs, because those are
useful for testing if the packaged library is working.

The main thing would be to exclude large application programs
which take up space, and cause Fedora people consternation
about how we're "supporting proprietary software" (which is
twaddle IMHO).

Can you summarise what *.exe files you would be including?

Comment 13 Dave Ludlow 2009-10-15 13:49:51 UTC
The .exe files removed are:

nad2nad.exe
  Convert data between North American datums (a datum is part of the mathematical model of the earth's shape)

proj.exe
  Forward & invert projections (diff in lat/lon to distance in meters and starting lat/lon plus bearing and distance to resulting lat/lon)

geod.exe
  Great circle calcuator (distance and initial bearing from point A to point B)

nad2bin.exe
  Convert ASCII datum files to binary for nad2nad use.

cs2cs.exe
  Convert lat/lon data between coordinate systems (ie between different mathematical models of the shape of the earth)

Comment 14 Peter Lemenkov 2009-10-15 15:06:30 UTC
Ok, assuming that we'll come to an agreement on whether we should include or exclude these apps, here is my 

REVIEW:

+/- rpmlint is not silent:

[petro@Workplace ~]$ rpmlint Desktop/mingw32-proj-4.6.1-3.fc11.noarch.rpm 
mingw32-proj.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libproj.dll.a
mingw32-proj.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/projects.h
mingw32-proj.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/nad_list.h
mingw32-proj.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/lib/libproj.dll.a
mingw32-proj.noarch: W: spurious-executable-perm /usr/i686-pc-mingw32/sys-root/mingw/lib/libproj.dll.a
mingw32-proj.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/org_proj4_Projections.h
mingw32-proj.noarch: W: devel-file-in-non-devel-package /usr/i686-pc-mingw32/sys-root/mingw/include/proj_api.h
mingw32-proj.noarch: W: non-standard-dir-in-usr i686-pc-mingw32
1 packages and 0 specfiles checked; 1 errors, 7 warnings.
[petro@Workplace ~]$

Fortunately, all these messages are common in case of mingw32-related package and may be safely ignored.

+ The package is named according to the Package Naming Guidelines .
+ The spec file name matches the base package %{name}, in the format %{name}.spec .
+ The package meets the Packaging Guidelines .
+ The package is licensed with a Fedora approved license and meets the Licensing Guidelines.
+ The License field in the package spec file matches the actual license.
+ The file, containing the text of the license(s) for the package, is included in %doc.
+ The spec file is written in American English (note, that I'm not a native American English speaker). 
+ The spec file for the package is legible.
+ The sources used to build the package matches the upstream source.

[petro@Sulaco SOURCES]$ sha256sum proj-4.6.1.tar.gz*
76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47  proj-4.6.1.tar.gz
76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47  proj-4.6.1.tar.gz.1
[petro@Sulaco SOURCES]$

+ The package successfully compiles and builds into binary rpms on at least one primary architecture. See koji logs above.
+ All build dependencies are listed in BuildRequires.
+ The package does NOT bundle copies of system libraries.
+ The package owns all directories that it creates.
+ The package does not list a file more than once in the spec file's %files listings. 
+/- Permissions on files were set properly
+ The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ The package must consistently use macros.
+ The package contains code, or permissable content.
+ Anything, the package includes as %doc, does not affect the runtime of the application.

+ Header files must be in a -devel package, but mingw32 packages allowed to do so.
+ No static libraries.
+ No pkgconfig(.pc) files.
+ The package does NOT contain any .la libtool archives.
+ Not a GUI application.
+ The package does not own files or directories already owned by other packages.
+ At the beginning of %install, the package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
+ All filenames in rpm packages are valid UTF-8.

Ok, I'm leaving the decision whether or not to include *.exe files to Dave's choice. I have no strong opinion here.

Otherwise this package is 

APPROVED

Comment 15 Richard W.M. Jones 2009-10-15 15:22:50 UTC
As described in comment 13, I really can't see any problem
with including those.

Comment 16 Dave Ludlow 2009-10-15 16:10:45 UTC
By popular demand, the .exes are no longer removed.  Two symbolic links (invgeod.exe->geod.exe and invproj.exe->proj.exe) removed as they may not be supported by the target and the same results can be achieved with the '-I' command line option.

Not sure that these are needed at this point, but just in case:
http://adsllc.fedorapeople.org/rpmbuild/SPECS/mingw32-proj.spec
http://koji.fedoraproject.org/koji/taskinfo?taskID=1747637

New Package CVS Request
=======================
Package Name: mingw32-proj
Short Description: MinGW port of the proj cartographic projection library
Owners: adsllc
Branches: F-10 F-11 F-12

Comment 17 Kevin Fenzi 2009-10-15 17:32:29 UTC
cvs done.

Comment 18 Fedora Update System 2009-10-15 18:18:06 UTC
mingw32-proj-4.6.1-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/mingw32-proj-4.6.1-4.fc12

Comment 19 Peter Lemenkov 2009-10-16 11:46:07 UTC
Dave, seems that you forgot to build packages for F-10 and F-11 branches. :)

Comment 20 Itamar Reis Peixoto 2009-10-16 11:49:28 UTC
(In reply to comment #19)
> Dave, seems that you forgot to build packages for F-10 and F-11 branches. :)  

seems to be ok for me.


http://koji.fedoraproject.org/koji/packageinfo?packageID=9367

Comment 21 Peter Lemenkov 2009-10-16 12:06:02 UTC
Ah, understood - I think, Dave forgot to request move to updates-testing for these branches

https://admin.fedoraproject.org/updates/user/adsllc

Comment 22 Dave Ludlow 2009-10-16 12:42:46 UTC
Bohdi is kicking my butt.  I did forget to add F-10 and F-11 builds at first, but immediately went back and edited the update to include them.  I got some '500 Internal error' errors at the time, but thought it took.  It apparently did not.

I'm getting constant 500 errors now when I try to edit it - I think I need to file a bohdi bug.

Comment 23 Fedora Update System 2009-10-18 02:50:44 UTC
mingw32-proj-4.6.1-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/mingw32-proj-4.6.1-4.fc12

Comment 24 Fedora Update System 2009-10-18 02:50:57 UTC
mingw32-proj-4.6.1-4.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/mingw32-proj-4.6.1-4.fc11

Comment 25 Fedora Update System 2009-10-21 00:50:23 UTC
mingw32-proj-4.6.1-4.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-proj'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-10658

Comment 26 Fedora Update System 2009-11-04 12:04:41 UTC
mingw32-proj-4.6.1-4.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 27 Fedora Update System 2009-11-04 12:37:21 UTC
mingw32-proj-4.6.1-4.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.