Bug 869088 - Review Request: latte-integrale - Lattice point enumeration
Review Request: latte-integrale - Lattice point enumeration
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Shakthi Kannan
Fedora Extras Quality Assurance
:
: 814868 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-22 22:22 EDT by Jerry James
Modified: 2012-11-29 01:47 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-11-29 01:47:34 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
shakthimaan: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Jerry James 2012-10-22 22:22:14 EDT
Spec URL: http://jjames.fedorapeople.org/latte-integrale/latte-integrale.spec
SRPM URL: http://jjames.fedorapeople.org/latte-integrale/latte-integrale-1.5.3-1.fc19.src.rpm
Description: LattE (Lattice point Enumeration) is a computer software dedicated to the problems of counting lattice points and integration inside convex polytopes.  LattE contains the first ever implementation of Barvinok's algorithm.  The LattE macchiato version (by M. Köppe) incorporated fundamental improvements and speed ups.  Now the latest version, LattE integrale, has the ability to directly compute integrals of polynomial functions over polytopes and in particular to do volume computations.
Fedora Account System Username: jjames
Comment 1 Jerry James 2012-10-22 22:27:07 EDT
*** Bug 814868 has been marked as a duplicate of this bug. ***
Comment 2 Shakthi Kannan 2012-11-06 05:34:51 EST
The fedora-review fails on Fedora 17 because cddlib has been orphaned for F17. Is this package only for F18 and beyond?

  https://admin.fedoraproject.org/pkgdb/acls/name/cddlib
Comment 3 Jerry James 2012-11-07 15:42:01 EST
Yes, this package is intended only for Fedora 18 and beyond.  I wasn't aware of the cddlib situation; thanks for pointing that out.
Comment 4 Shakthi Kannan 2012-11-19 11:16:17 EST
[+]MUST: rpmlint must be run on every package. The output should be posted in the review.

$ rpmlint latte-integrale-1.5.3-1.fc19.src.rpm 
latte-integrale.src: W: spelling-error %description -l en_US polytopes -> polytheist
latte-integrale.src: W: spelling-error %description -l en_US macchiato -> machination
latte-integrale.src: W: spelling-error %description -l en_US Köppe -> Kipped
latte-integrale.src:33: W: unversioned-explicit-provides bundled(gnulib)
1 packages and 0 specfiles checked; 0 errors, 4 warnings.

$ rpmlint latte-integrale-1.5.3-1.fc19.x86_64.rpm 
latte-integrale.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
latte-integrale.x86_64: W: spelling-error %description -l en_US macchiato -> machination
latte-integrale.x86_64: W: spelling-error %description -l en_US Köppe -> Kipped
latte-integrale.x86_64: W: no-manual-page-for-binary ConvertCDDextToLatte
latte-integrale.x86_64: W: no-manual-page-for-binary count
latte-integrale.x86_64: W: no-manual-page-for-binary hilbert-from-rays
latte-integrale.x86_64: W: no-manual-page-for-binary ehrhart
latte-integrale.x86_64: W: no-manual-page-for-binary latte-minimize
latte-integrale.x86_64: W: no-manual-page-for-binary latte-maximize
latte-integrale.x86_64: W: no-manual-page-for-binary hilbert-from-rays-symm
latte-integrale.x86_64: W: no-manual-page-for-binary latte2ext
latte-integrale.x86_64: W: no-manual-page-for-binary triangulate
latte-integrale.x86_64: W: no-manual-page-for-binary polyhedron-to-cones
latte-integrale.x86_64: W: no-manual-page-for-binary latte2ine
latte-integrale.x86_64: W: no-manual-page-for-binary integrate
latte-integrale.x86_64: W: no-manual-page-for-binary ConvertCDDineToLatte
1 packages and 0 specfiles checked; 0 errors, 16 warnings.

$ rpmlint 4ti2-1.5-1.fc19.x86_64.rpm 
4ti2.x86_64: W: spelling-error %description -l en_US combinatorial -> combination
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint 4ti2-devel-1.5.3-1.fc19.x86_64.rpm 
4ti2-devel.x86_64: W: incoherent-version-dependency-on 4ti2/4ti2-libs/lib4ti2 1.5 1.5.3
4ti2-devel.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

$ rpmlint 4ti2-libs-1.5.3-1.fc19.x86_64.rpm 
4ti2-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/lib4ti2util.so.0.0.0 exit@GLIBC_2.2.5
4ti2-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/lib4ti2gmp.so.0.0.0 exit@GLIBC_2.2.5
4ti2-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/lib4ti2int32.so.0.0.0 exit@GLIBC_2.2.5
4ti2-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libzsolve.so.0.0.0 exit@GLIBC_2.2.5
4ti2-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/lib4ti2int64.so.0.0.0 exit@GLIBC_2.2.5
4ti2-libs.x86_64: W: file-not-utf8 /usr/share/doc/4ti2-libs-1.5.3/NEWS
1 packages and 0 specfiles checked; 0 errors, 6 warnings.

[+]MUST: The package must be named according to the Package Naming Guidelines.
[+]MUST: The spec file name must match the base package %{name}, in the format %{name}.spec
[+]MUST: The package must meet the Packaging Guidelines.
        Naming-Yes
        Version-release - Matches
        License - OK
        No prebuilt external bits - OK
        Spec legibity - OK
        Package template - OK
        Arch support - OK
        Libexecdir - OK
        rpmlint - shared-lib-calls-exit needs to be fixed
        changelogs - OK
        Source url tag  - OK, validated.
        Build Requires list - OK
        Summary and description - OK
        API documentation - OK, in devel package

[+]MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.

GPL

[+]MUST: The License field in the package spec file must match the actual license.
[+]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.
[+]MUST: The spec file must be written in American English.
[+]MUST: The spec file for the package MUST be legible.
[+]MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use sha256sum for this task as it is used by the sources file once imported into git. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this.

$ sha256sum latte-integrale-1.5.3.tar.gz 
f7227e5f84ce8fda7d8ba5a1783f929ae9b5d9ce6aff18d59078bde981039bfa

[+]MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.

Successfully built for F18 and F19

http://koji.fedoraproject.org/koji/taskinfo?taskID=4704565
http://koji.fedoraproject.org/koji/taskinfo?taskID=4704562

[+]MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[+]MUST: All build dependencies must be listed in BuildRequires.
[+]MUST: Packages must NOT bundle copies of system libraries.
[NA]MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review.
[+]MUST: A package must own all directories that it creates.
[+]MUST: A Fedora package must not list a file more than once in the spec file's %files listings.
[+]MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example.
[+]MUST: Each package must consistently use macros.
[+]MUST: The package must contain code, or permissible content.
[+]MUST: Large documentation files must go in a -doc subpackage.
API documentation in -devel package.
[+]MUST: If a package includes something as %doc, it must not affect the runtime of the application.
[+]MUST: devel packages must require the base package using a fully versioned dependency: Requires: {name} = %{version}-%{release}
[NA]MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[NA]MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section
[+]MUST: Packages must not own files or directories already owned by other packages.
[+]MUST: All filenames in rpm packages must be valid UTF-8.

Should items
[?]SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. 
[-]SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. 
[-]SHOULD: The reviewer should test that the package builds in mock. 
[+]SHOULD: The reviewer should test that the package functions as described.
[-]SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity.

Issues:

#01 shared-lib-calls-exit

Can you please create a patch to remove the exit calls, and send the changes upstream?

#02 4ti2 is already available in Fedora. It is not required to package it. You will need to Require it in the .spec file instead. 

#03 Please inform upstream to include a LICENSE file in the sources. You can include the same, and submit it to upstream.
Comment 5 Jerry James 2012-11-19 18:28:46 EST
Thanks for the review, Shakthi.

(In reply to comment #4)
> Issues:
> 
> #01 shared-lib-calls-exit
> 
> Can you please create a patch to remove the exit calls, and send the changes
> upstream?

Hmmmm.  I don't see how to do this without breaking the current API.  I will certainly ask upstream to avoid calling exit() inside a library in future versions, but I don't see how to fix this version without breaking its clients.

> #02 4ti2 is already available in Fedora. It is not required to package it.
> You will need to Require it in the .spec file instead.

Oh, sorry, the full story is told in bug 814868 (see comment 1 and the top of the spec file), but I forgot to copy it here.  Development of 4ti2 has changed upstreams.  The existing 4ti2 package is going to be removed in favor of this one.  The previous upstream for 4ti2 released version 1.3.2, then went inactive.  One of the 4ti2 developers joined the LattE team, and so this package is now the upstream for 4ti2 (version 1.5 at the moment).

Once this package is approved, the current 4ti2 maintainer will take that package through the EOL process.

> #03 Please inform upstream to include a LICENSE file in the sources. You can
> include the same, and submit it to upstream.

My mistake, again.  There is a license file (named COPYING), but I neglected to put it into %doc.  That has been corrected, along with a couple of other minor packaging errors.  New URLs:

Spec URL: http://jjames.fedorapeople.org/latte-integrale/latte-integrale.spec
SRPM URL: http://jjames.fedorapeople.org/latte-integrale/latte-integrale-1.5.3-2.fc19.src.rpm
Comment 6 Shakthi Kannan 2012-11-20 00:21:33 EST
If the current 4ti2 will be deprecated, please add the Obsoletes tag in the .spec file as mentioned here:

https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages
Comment 8 Shakthi Kannan 2012-11-22 00:31:55 EST
Package approved.
Comment 9 Jerry James 2012-11-22 22:02:49 EST
Shakthi, thank you very much for the review.

New Package SCM Request
=======================
Package Name: latte-integrale
Short Description: Lattice point enumeration
Owners: jjames
Branches: f18
InitialCC:
Comment 10 Gwyn Ciesla 2012-11-23 11:34:13 EST
Git done (by process-git-requests).
Comment 11 Fedora Update System 2012-11-24 00:54:33 EST
latte-integrale-1.5.3-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/latte-integrale-1.5.3-3.fc18
Comment 12 Fedora Update System 2012-11-29 01:47:36 EST
latte-integrale-1.5.3-3.fc18 has been pushed to the Fedora 18 stable repository.

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