Bug 895667 - Review Request: polymake - Algorithms on convex polytopes and polyhedra
Summary: Review Request: polymake - Algorithms on convex polytopes and polyhedra
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Paulo Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-15 18:35 UTC by Jerry James
Modified: 2013-03-16 01:36 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-03-16 01:36:22 UTC
Type: ---
Embargoed:
paulo.cesar.pereira.de.andrade: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Jerry James 2013-01-15 18:35:11 UTC
Spec URL: http://jjames.fedorapeople.org/polymake/polymake.spec
SRPM URL: http://jjames.fedorapeople.org/polymake/polymake-2.12-1.fc19.src.rpm
Description: Polymake is a tool to study the combinatorics and the geometry of convex polytopes and polyhedra.  It is also capable of dealing with simplicial complexes, matroids, polyhedral fans, graphs, tropical objects, and so forth.

Polymake can use various computational packages if they are installed.  Those available from Fedora are: 4ti2, azove, gfan, latte-integrale, normaliz, ocaml-tplib-tools, qhull, Singular, TOPCOM, and vinci.

Polymake can interface with various visualization packages if they are installed.  Install one or more of the tools from the following list: evince, geomview, graphviz, gv, and okular.

Fedora Account System Username: jjames

Comment 1 Jerry James 2013-01-15 18:39:13 UTC
Rpmlint warns about the plugins ("applications", in polymake terms), like this:

polymake.i686: W: no-soname /usr/lib/polymake/lib/polytope.so
polymake.i686: W: undefined-non-weak-symbol /usr/lib/polymake/lib/polytope.so polymake::group::correct_group_from_permlib_group(pm::perl::Object, polymake::group::PermlibGroup const&)
...

The lack of soname is not important, because these .so files are not where ldconfig can see them.  They are private shared objects to be dlopen'ed as needed.  The undefined non-weak symbol warnings are due to dependencies between the plugins.  I could go through the work of linking the plugins against each other as necessary.  However, this is wasted work because (1) ldconfig can't see these objects, so linking them against one another will only add 1 more warning, not remove any, and (2) polymake already knows about the dependencies between plugins and loads them in the correct order.

Comment 2 Paulo Andrade 2013-01-16 02:58:25 UTC
Assigning to myself. I have packaged polymake in Mandriva
for some years, and plan to now use the same spec, or have
as few changes as possible from Fedora :-)
My Mandriva build was also "suspicious" as it used the
"Suggests" rpm tag to optionally install non free java
dependencies (e.g. jogl with libcg), and was happy in
installing jReality*.jar files without rebuilding them.
The end effect was the cool graphical plot tool... but
I am ok with no longer having it.

Comment 3 Paulo Andrade 2013-01-16 04:23:46 UTC
Initial comments:

$ polymake-config --ldflags
-L/usr/lib64 -Wl,-z,relro -Wl,--as-needed -Wl,-rpath,/usr/lib64
should not add rpath.

I believe should use some __provides_exclude_from pattern to
not "rpm --provides" most/all perl(.*) because they are not
installed in a perl standard search directory.

After check licensecheck output, I notice there are several
BSD 2/3 clause licensed files, but those are the jreality
java sources, so, unless building the java interface, should
keep the GPLv2+ license tag, but I suggest at least some
basic tests in building jreality from sources.
Also about licensecheck, the files it claims have missing
license are one autogenerated, one liner Makefile.inc, a
java source that clearly had license not added by mistake,
but should be ok to assume same license as other files
in the directory (java/src/de/tuberlin/polymake/common/io/GeometryParserIf.java)
and a few others appear very simple and should assume the
same license as other files in the same directory.

Some experiment should be done with:
---%<---
ifdef .svn

### unit tests

test : compile
        ${CallPolymake} --script run_testcases $(if $(filter k,$(MAKEFLAGS)),--keep-going,--coverage) --applications ${Apps}

### maintenance

tagsFLAGS = -R -e -f $@ --exclude=.svn --exclude='.\#*' --exclude='\#*' --exclude='*~'

TAGS:
        ctags ${tagsFLAGS} --language-force=c++ lib apps/*/{src,include}
RTAGS:
        ctags ${tagsFLAGS} --language-force=perl --exclude=testsuite \
                           perl perllib apps/*/{perllib,rules,scripts} scripts support/*.pl apps/*/testsuite/*/test*.pl

include support/export.make

endif  # .svn
---%<---
at least to move the "test" target out of the .svn conditional.


Not a "last word" review:
---%<---

Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 2959360 bytes in 32 files.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation


===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     devel, %package doc
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: 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 is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (3 clause)", "BSD (2 clause)", "GPL (v2 or later)", "Unknown or
     generated". 4 files have unknown license. Detailed output of licensecheck
     in /home/pcpa/895667-polymake/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 2959360 bytes in 32 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[?]: Package contains the mandatory BuildRequires and Reguires:.
[?]: CPAN urls should be non-versioned.
     Note: Test run failed

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[!]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see attached
     diff).
[ ]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 5181440 bytes in /usr/share 10240
     polymake-devel-2.12-1.fc19.x86_64.rpm 5171200
     polymake-2.12-1.fc19.x86_64.rpm


Rpmlint
-------
Checking: polymake-devel-2.12-1.fc19.x86_64.rpm
          polymake-debuginfo-2.12-1.fc19.x86_64.rpm
          polymake-2.12-1.fc19.x86_64.rpm
          polymake-2.12-1.fc19.src.rpm
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: E: rpath-in-buildconfig /usr/bin/polymake-config lines ['150']
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
polymake.src: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.src: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.src: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.src: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.src: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.src: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.src: W: spelling-error %description -l en_US matroids -> mastoids
polymake.src: W: spelling-error %description -l en_US azove -> above, Azov
polymake.src: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.src: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.src: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.src: W: spelling-error %description -l en_US ocaml -> Occam
polymake.src: W: spelling-error %description -l en_US tplib -> split
polymake.src: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.src: W: spelling-error %description -l en_US vinci -> vincible
polymake.src: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.src: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.src: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.src: W: spelling-error %description -l en_US okular -> ocular, ovular
4 packages and 0 specfiles checked; 1 errors, 49 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint polymake polymake-debuginfo polymake-devel
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::delete_node(int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::find_permutations(polymake::graph::BlissGraph const&, int) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::add_edge(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::find_vertex_node(polymake::graph::HasseDiagram const&, int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::finalize(bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::operator==(polymake::graph::BlissGraph const&) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::alloc_impl(int, bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::fromObject(pm::perl::Object const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::partition(unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::~BlissGraph()
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::group::correct_group_from_permlib_group(pm::perl::Object, polymake::group::PermlibGroup const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::group::group_from_perlgroup(pm::perl::Object)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::find_permutations(polymake::graph::BlissGraph const&, int) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::color(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::add_edge(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::finalize(bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::operator==(polymake::graph::BlissGraph const&) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::alloc_impl(int, bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::HasseDiagram::fromObject(pm::perl::Object const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::partition(unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::~BlissGraph()
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/fan.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/fan.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: E: rpath-in-buildconfig /usr/bin/polymake-config lines ['150']
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
3 packages and 0 specfiles checked; 1 errors, 57 warnings.
# echo 'rpmlint-done:'



Diff spec file in url and in SRPM
---------------------------------
--- /home/pcpa/895667-polymake/srpm/polymake.spec	2013-01-16 00:51:10.647033349 -0200
+++ /home/pcpa/895667-polymake/srpm-unpacked/polymake.spec	2013-01-16 00:51:26.822043131 -0200
@@ -72,11 +72,4 @@
 applications that use %{name}.
 
-%package doc
-Summary:        Documentation for %{name}
-Requires:       %{name}%{?_isa} = %{version}-%{release}
-
-%description doc
-This package contains documentation for %{name}.
-
 %prep
 %setup -q
@@ -160,9 +153,4 @@
 find %{buildroot}%{polydir} -name \*.so | xargs chmod 0755
 
-%check
-# We have already built the binaries; don't do it again
-sed -i 's/test : compile/test :/' Makefile
-make test
-
 %post -p /sbin/ldconfig
 
@@ -170,5 +158,5 @@
 
 %files
-%doc COPYING
+%doc COPYING doc/*
 %{_bindir}/%{name}
 %{_mandir}/man1/%{name}.1*
@@ -184,7 +172,4 @@
 %{_libdir}/lib%{name}.so
 
-%files doc
-%doc doc/*
-
 %changelog
 * Thu Jan 10 2013 Jerry James <loganjerry> - 2.12-1


Requires
--------
polymake-devel-2.12-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/perl  
    libpolymake.so.2()(64bit)  
    perl(strict)  
    polymake(x86-64) = 2.12-1.fc19

polymake-debuginfo-2.12-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    

polymake-2.12-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig  
    /usr/bin/perl  
    libbliss.so.0()(64bit)  
    libc.so.6()(64bit)  
    libcddgmp.so.0()(64bit)  
    libdl.so.2()(64bit)  
    libgcc_s.so.1()(64bit)  
    libgcc_s.so.1(GCC_3.0)(64bit)  
    libgmp.so.10()(64bit)  
    liblrsgmp.so.4()(64bit)  
    libm.so.6()(64bit)  
    libmpfr.so.4()(64bit)  
    libperl.so()(64bit)  
    libpolymake.so.2()(64bit)  
    libstdc++.so.6()(64bit)  
    libstdc++.so.6(CXXABI_1.3)(64bit)  
    libstdc++.so.6(CXXABI_1.3.1)(64bit)  
    libsympol.so.0.1()(64bit)  
    libxml2.so.2()(64bit)  
    libxml2.so.2(LIBXML2_2.4.30)(64bit)  
    perl >= 1:5.8.1
    perl(:MODULE_COMPAT_5.16.2)  
    perl(Carp)  
    perl(Config)  
    perl(Cwd)  
    perl(DynaLoader)  
    perl(Encode)  
    perl(Errno)  
    perl(Fcntl)  
    perl(File::Path)  
    perl(Getopt::Long)  
    perl(Graphviz)  
    perl(IO::Handle)  
    perl(IPC::Open3)  
    perl(Math::Trig)  
    perl(POSIX)  
    perl(Polymake)  
    perl(Polymake::Core::Application)  
    perl(Polymake::Core::CPlusPlus)  
    perl(Polymake::Core::Customize)  
    perl(Polymake::Core::InteractiveHelp)  
    perl(Polymake::Core::Object)  
    perl(Polymake::Core::ObjectType)  
    perl(Polymake::Core::Permutation)  
    perl(Polymake::Core::Preference)  
    perl(Polymake::Core::Property)  
    perl(Polymake::Core::PropertyType)  
    perl(Polymake::Core::PropertyValue)  
    perl(Polymake::Core::Rule)  
    perl(Polymake::Core::Scheduler)  
    perl(Polymake::Core::UserSettings)  
    perl(Polymake::Core::XMLfile)  
    perl(Polymake::Enum)  
    perl(Polymake::Ext)  
    perl(Polymake::Overload)  
    perl(Polymake::Pipe)  
    perl(Polymake::Scope)  
    perl(Polymake::Struct)  
    perl(Polymake::Tempfile)  
    perl(Polymake::User)  
    perl(Postscript)  
    perl(Povray)  
    perl(Sketch)  
    perl(Socket)  
    perl(Symbol)  
    perl(Term::ReadLine)  
    perl(Visual)  
    perl(Visual::Graph)  
    perl(Visual::Lattice)  
    perl(Visual::PointSet)  
    perl(Visual::Polygon)  
    perl(Visual::Polygons)  
    perl(Visual::Wire)  
    perl(XML::LibXML)  
    perl(XML::SAX::Base)  
    perl(XML::Writer)  
    perl(integer)  
    perl(lib)  
    perl(namespaces)  
    perl(overload)  
    perl(re)  
    perl(strict)  
    perl(subs)  
    perl(vars)  
    rtld(GNU_HASH)  



Provides
--------
polymake-devel-2.12-1.fc19.x86_64.rpm:
    
    polymake-devel = 2.12-1.fc19
    polymake-devel(x86-64) = 2.12-1.fc19

polymake-debuginfo-2.12-1.fc19.x86_64.rpm:
    
    polymake-debuginfo = 2.12-1.fc19
    polymake-debuginfo(x86-64) = 2.12-1.fc19

polymake-2.12-1.fc19.x86_64.rpm:
    
    libpolymake.so.2()(64bit)  
    perl(Geomview::File)  
    perl(Geomview::File::Writer)  
    perl(Geomview::OFF)  
    perl(Geomview::SKEL)  
    perl(Geomview::Viewer)  
    perl(Geomview::element)  
    perl(Geomview::geom)  
    perl(Graphviz)  
    perl(Graphviz::File)  
    perl(Graphviz::File::Writer)  
    perl(Graphviz::Viewer)  
    perl(JReality::File)  
    perl(JReality::File::Writer)  
    perl(JReality::PointSet)  
    perl(JReality::Solid)  
    perl(JReality::Viewer)  
    perl(JReality::Viewer::Window)  
    perl(JReality::Wire)  
    perl(JReality::default)  
    perl(Java::Configure)  
    perl(JavaView::File)  
    perl(JavaView::File::Writer)  
    perl(JavaView::PointSet)  
    perl(JavaView::Solid)  
    perl(JavaView::Viewer)  
    perl(JavaView::Viewer::Window)  
    perl(JavaView::Wire)  
    perl(JavaView::default)  
    perl(Metapost::Element)  
    perl(Metapost::Figure)  
    perl(Metapost::File)  
    perl(Metapost::File::Writer)  
    perl(Metapost::Graph)  
    perl(Metapost::Lattice)  
    perl(Polymake)  
    perl(Polymake::AtEnd)  
    perl(Polymake::Background::Pipe)  
    perl(Polymake::Background::Process)  
    perl(Polymake::Background::Viewer)  
    perl(Polymake::Background::Watcher)  
    perl(Polymake::ClientSocket)  
    perl(Polymake::CollaborativePipe)  
    perl(Polymake::Core)  
    perl(Polymake::Core::Application)  
    perl(Polymake::Core::Application::LoadPreamble)  
    perl(Polymake::Core::Application::Reconf)  
    perl(Polymake::Core::Application::RuleFilter)  
    perl(Polymake::Core::Application::Unconf)  
    perl(Polymake::Core::CPlusPlus)  
    perl(Polymake::Core::CPlusPlus::AutoFunction)  
    perl(Polymake::Core::CPlusPlus::BoolProxy)  
    perl(Polymake::Core::CPlusPlus::Constructor)  
    perl(Polymake::Core::CPlusPlus::DisabledInstance)  
    perl(Polymake::Core::CPlusPlus::DuplicateInstance)  
    perl(Polymake::Core::CPlusPlus::EmbeddedRules)  
    perl(Polymake::Core::CPlusPlus::FuncDescr)  
    perl(Polymake::Core::CPlusPlus::IndirectWrapper)  
    perl(Polymake::Core::CPlusPlus::Iterator)  
    perl(Polymake::Core::CPlusPlus::LackingInstance)  
    perl(Polymake::Core::CPlusPlus::LackingRegular)  
    perl(Polymake::Core::CPlusPlus::NumProxy)  
    perl(Polymake::Core::CPlusPlus::ObjectOptions)  
    perl(Polymake::Core::CPlusPlus::Operator)  
    perl(Polymake::Core::CPlusPlus::Options)  
    perl(Polymake::Core::CPlusPlus::PendingAppHandler)  
    perl(Polymake::Core::CPlusPlus::PendingExtension)  
    perl(Polymake::Core::CPlusPlus::SharedModule)  
    perl(Polymake::Core::CPlusPlus::SpecialOperator)  
    perl(Polymake::Core::CPlusPlus::StringProxy)  
    perl(Polymake::Core::CPlusPlus::TemplateParam)  
    perl(Polymake::Core::CPlusPlus::TypeDescr)  
    perl(Polymake::Core::CPlusPlus::perApplication)  
    perl(Polymake::Core::Customize)  
    perl(Polymake::Core::Customize::Array)  
    perl(Polymake::Core::Customize::File)  
    perl(Polymake::Core::Customize::Hash)  
    perl(Polymake::Core::Customize::Scalar)  
    perl(Polymake::Core::Customize::Var)  
    perl(Polymake::Core::Customize::perApplication)  
    perl(Polymake::Core::Extension)  
    perl(Polymake::Core::HasType4Deduction)  
    perl(Polymake::Core::Help)  
    perl(Polymake::Core::InitTransaction)  
    perl(Polymake::Core::InteractiveCommands)  
    perl(Polymake::Core::InteractiveHelp)  
    perl(Polymake::Core::MethodAsRule)  
    perl(Polymake::Core::NeutralScriptLoader)  
    perl(Polymake::Core::Object)  
    perl(Polymake::Core::Object::Replacement)  
    perl(Polymake::Core::ObjectType)  
    perl(Polymake::Core::ObjectType::ForwardDecl)  
    perl(Polymake::Core::ObjectType::LocalDerivationMixin)  
    perl(Polymake::Core::ObjectType::LocallyDerived)  
    perl(Polymake::Core::ObjectType::Permuted)  
    perl(Polymake::Core::Permutation)  
    perl(Polymake::Core::PlainFile)  
    perl(Polymake::Core::Preference)  
    perl(Polymake::Core::Preference::ControlList)  
    perl(Polymake::Core::Preference::Label)  
    perl(Polymake::Core::Preference::List)  
    perl(Polymake::Core::Preference::perApplication)  
    perl(Polymake::Core::Property)  
    perl(Polymake::Core::Property::SubobjKey)  
    perl(Polymake::Core::PropertyMultipleValue)  
    perl(Polymake::Core::PropertyParamedType)  
    perl(Polymake::Core::PropertyType)  
    perl(Polymake::Core::PropertyTypeInstance)  
    perl(Polymake::Core::PropertyTypePlaceholder)  
    perl(Polymake::Core::PropertyValue)  
    perl(Polymake::Core::Rule)  
    perl(Polymake::Core::Rule::AutoCast)  
    perl(Polymake::Core::Rule::CreatingPermutation)  
    perl(Polymake::Core::Rule::Credit)  
    perl(Polymake::Core::Rule::Deputy)  
    perl(Polymake::Core::Rule::FakeCreatingPermutation)  
    perl(Polymake::Core::Rule::PermAction)  
    perl(Polymake::Core::Rule::SensitivityCheck)  
    perl(Polymake::Core::Rule::Shortcut)  
    perl(Polymake::Core::Rule::Weight)  
    perl(Polymake::Core::RuleTransaction)  
    perl(Polymake::Core::RuleTransactionWithPerm)  
    perl(Polymake::Core::Scheduler)  
    perl(Polymake::Core::Scheduler::Debug)  
    perl(Polymake::Core::Scheduler::DeputyObject)  
    perl(Polymake::Core::Scheduler::Heap)  
    perl(Polymake::Core::Scheduler::InitRuleChain)  
    perl(Polymake::Core::Scheduler::MultipleChooser)  
    perl(Polymake::Core::Scheduler::RuleChain)  
    perl(Polymake::Core::Scheduler::RuleDeputy)  
    perl(Polymake::Core::Scheduler::TentativeRuleChain)  
    perl(Polymake::Core::Scheduler::VerboseHeap)  
    perl(Polymake::Core::ScriptFilter)  
    perl(Polymake::Core::ScriptLoader)  
    perl(Polymake::Core::Shell)  
    perl(Polymake::Core::StoredScript)  
    perl(Polymake::Core::Transaction)  
    perl(Polymake::Core::UserSettings)  
    perl(Polymake::Core::XMLfile)  
    perl(Polymake::Core::XMLfile::LooseData)  
    perl(Polymake::Core::XMLhandler)  
    perl(Polymake::Core::XMLstring)  
    perl(Polymake::Core::XMLwriter)  
    perl(Polymake::Core::XMLwriter::PITemplate)  
    perl(Polymake::Core::XMLwriter::PIbody)  
    perl(Polymake::Enum)  
    perl(Polymake::Ext)  
    perl(Polymake::InteractiveViewer)  
    perl(Polymake::InteractiveViewer::Watcher)  
    perl(Polymake::InteractiveViewer::Window)  
    perl(Polymake::LocalServer)  
    perl(Polymake::Main)  
    perl(Polymake::NoShell)  
    perl(Polymake::Overload)  
    perl(Polymake::Overload::Global)  
    perl(Polymake::Overload::Labeled)  
    perl(Polymake::Overload::LabeledNode)  
    perl(Polymake::Overload::Node)  
    perl(Polymake::Overload::TemplateParam)  
    perl(Polymake::Overload::can)  
    perl(Polymake::Overload::integer)  
    perl(Polymake::OverwriteFile)  
    perl(Polymake::Pipe)  
    perl(Polymake::Pipe::WithRedirection)  
    perl(Polymake::ProgramPipe)  
    perl(Polymake::ProgramPipe::Reading)  
    perl(Polymake::RefHash)  
    perl(Polymake::Scope)  
    perl(Polymake::Selector)  
    perl(Polymake::Selector::Closed)  
    perl(Polymake::Selector::Member)  
    perl(Polymake::ServerSocket)  
    perl(Polymake::SimpleViewer)  
    perl(Polymake::Struct)  
    perl(Polymake::Tempfile)  
    perl(Polymake::User)  
    perl(Polymake::User::Compat)  
    perl(Polymake::User::Compat::Dummy)  
    perl(Polymake::User::FilterProps)  
    perl(Polymake::User::Verbose)  
    perl(Polymake::common)  
    perl(Polymake::polytope::LPparser)  
    perl(Polymake::polytope::PortaConverter)  
    perl(Polymake::polytope::PortaParser)  
    perl(Postscript)  
    perl(Postscript::Element)  
    perl(Postscript::File)  
    perl(Postscript::File::Writer)  
    perl(Postscript::Gale)  
    perl(Postscript::Graph)  
    perl(Postscript::Lattice)  
    perl(Postscript::Page)  
    perl(Postscript::PointSet)  
    perl(Postscript::Polygon)  
    perl(Postscript::Polygons)  
    perl(Postscript::Viewer)  
    perl(Povray)  
    perl(Povray::File)  
    perl(Povray::File::Writer)  
    perl(Povray::PointSet)  
    perl(Povray::Solid)  
    perl(Povray::Viewer)  
    perl(Povray::Wire)  
    perl(Sketch)  
    perl(Sketch::File)  
    perl(Sketch::File::Writer)  
    perl(Sketch::PointSet)  
    perl(Sketch::Solid)  
    perl(Sketch::Viewer)  
    perl(Sketch::Wire)  
    perl(SplitsTree::File)  
    perl(SplitsTree::File::Writer)  
    perl(SplitsTree::Viewer)  
    perl(Visual)  
    perl(Visual::Color)  
    perl(Visual::Container)  
    perl(Visual::DegeneratedPolygon)  
    perl(Visual::FileWriter)  
    perl(Visual::FileWriter::Auto)  
    perl(Visual::FiniteMetricSpace)  
    perl(Visual::Gale)  
    perl(Visual::Graph)  
    perl(Visual::Graph::EdgeIterator)  
    perl(Visual::Graph::EdgeIteratorWithGaps)  
    perl(Visual::GraphEmbedding)  
    perl(Visual::HDEmbedding)  
    perl(Visual::Interactive)  
    perl(Visual::Lattice)  
    perl(Visual::Object)  
    perl(Visual::PointConfiguration)  
    perl(Visual::PointSet)  
    perl(Visual::Polygon)  
    perl(Visual::Polygons)  
    perl(Visual::PolyhedralFan)  
    perl(Visual::Polytope)  
    perl(Visual::PolytopeGraph)  
    perl(Visual::PolytopeLattice)  
    perl(Visual::SchlegelDiagram)  
    perl(Visual::SchlegelTransform)  
    perl(Visual::SchlegelTransform::Minor)  
    perl(Visual::SimplicialComplex)  
    perl(Visual::SimplicialComplexLattice)  
    perl(Visual::TropicalHypersurface)  
    perl(Visual::TropicalPolytope)  
    perl(Visual::Wire)  
    perl(Visual::Wire::EdgeIterator)  
    perl(Visual::WireBase)  
    perl(_::Analyzer)  
    perl(application)  
    perl(namespaces)  
    polymake = 2.12-1.fc19
    polymake(x86-64) = 2.12-1.fc19



Unversioned so-files
--------------------
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/common.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/core.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/fan.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/graph.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/group.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/matroid.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/polytope.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/topaz.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/lib/tropical.so
polymake-2.12-1.fc19.x86_64.rpm: /usr/lib64/polymake/perlx/5.16.2/x86_64-linux-thread-multi/auto/Polymake/Ext/Ext.so

MD5-sum check
-------------
http://polymake.org/lib/exe/fetch.php/download/polymake-2.12-rc3.tar.bz2 :
  CHECKSUM(SHA256) this package     : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796
  CHECKSUM(SHA256) upstream package : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -b 895667 -m fedora-rawhide-x86_64
---%<---

Need to confirm documentation is not required by runtime, but I
think it is, and in that case not much of a point in creating
a -doc subpackage.

The no-soname rpmlint warning appears to be an artifact of the
rpmlint:
so_regex = re.compile('/lib(64)?/[^/]+\.so(\.[0-9]+)*$')
that did not notice that it is not a /lib(64)? in the
standard search path, but one could have added it to
ld.so.conf{,.d/...}
So, it probably should be ignored, as they are already in
%global __provides_exclude_from ^%{polydir}/.*\\.so$

Again :-), srpm spec and spec do not match. This time it appears the
spec not in the srpm should be used, based on the diff...

Comment 4 Jerry James 2013-01-23 19:25:35 UTC
(In reply to comment #3)
> $ polymake-config --ldflags
> -L/usr/lib64 -Wl,-z,relro -Wl,--as-needed -Wl,-rpath,/usr/lib64
> should not add rpath.

Fixed.

> I believe should use some __provides_exclude_from pattern to
> not "rpm --provides" most/all perl(.*) because they are not
> installed in a perl standard search directory.

Good point.  Fixed.

> After check licensecheck output, I notice there are several
> BSD 2/3 clause licensed files, but those are the jreality
> java sources, so, unless building the java interface, should
> keep the GPLv2+ license tag, but I suggest at least some
> basic tests in building jreality from sources.

I have had some experimental jReality/jTEM packages available on my web page for quite some time: http://jjames.fedorapeople.org/.  However, (a) they still need some work, and (b) jReality uses a version of itext that has an unacceptable license.  I need to see if it can be backported to the version of itext that is currently in Fedora.

> Some experiment should be done with:
> ---%<---
> ifdef .svn
> 
> ### unit tests
> 
> test : compile
>         ${CallPolymake} --script run_testcases $(if $(filter
> k,$(MAKEFLAGS)),--keep-going,--coverage) --applications ${Apps}
> 
> ### maintenance
> 
> tagsFLAGS = -R -e -f $@ --exclude=.svn --exclude='.\#*' --exclude='\#*'
> --exclude='*~'
> 
> TAGS:
>         ctags ${tagsFLAGS} --language-force=c++ lib apps/*/{src,include}
> RTAGS:
>         ctags ${tagsFLAGS} --language-force=perl --exclude=testsuite \
>                            perl perllib apps/*/{perllib,rules,scripts}
> scripts support/*.pl apps/*/testsuite/*/test*.pl
> 
> include support/export.make
> 
> endif  # .svn
> ---%<---
> at least to move the "test" target out of the .svn conditional.

Doesn't work:

/usr/bin/perl perl/polymake --script run_testcases --coverage --applications common polytope group graph matroid fan tropical topaz
polymake:  WARNING: created private directory /builddir/.polymake
script file 'run_testcases' not found

Apparently the test drivers are only available in subversion, which explains the .svn conditional.  I don't see what I can do here, so I have removed the %check script and added an explanatory note to the spec file.

> Issues:
> =======
> [!]: Large documentation must go in a -doc subpackage.
>      Note: Documentation size is 2959360 bytes in 32 files.
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation

Done.  Actually, it was done before, but I gave you the wrong SRPM....

> Need to confirm documentation is not required by runtime, but I
> think it is, and in that case not much of a point in creating
> a -doc subpackage.

It doesn't seem to be required by runtime.  The documentation *sources* are, which is why they are in %{_datadir}/polymake/xml in the main package.

> Again :-), srpm spec and spec do not match. This time it appears the
> spec not in the srpm should be used, based on the diff...

Argh, how do I keep doing that?  There's clearly something wrong with my workflow....

New URLs:
Spec URL: http://jjames.fedorapeople.org/polymake/polymake.spec
SRPM URL: http://jjames.fedorapeople.org/polymake/polymake-2.12-2.fc19.src.rpm

Comment 5 Paulo Andrade 2013-01-24 15:28:33 UTC
Major problem is that the package is not installable, because it requires
a no longer generated provides. I checked in fedora 18 all requires, and
only the perl(Graphviz) is wrong:
$ for req in `rpm -qp --requires review-polymake/results/polymake-2.12-2.fc19.x86_64.rpm | grep 'perl('`; do echo -n "$req -> "; echo -n `repoquery --whatprovides $req`; echo;done
perl(:MODULE_COMPAT_5.16.2) -> perl-4:5.16.2-235.fc18.x86_64
perl(Carp) -> perl-Carp-0:1.26-235.fc18.noarch perl-Carp-0:1.26-3.fc18.noarch
perl(Config) -> perl-4:5.16.2-235.fc18.x86_64
perl(Cwd) -> perl-PathTools-0:3.39.2-235.fc18.x86_64 perl-PathTools-0:3.33-7.fc18.x86_64
perl(DynaLoader) -> perl-4:5.16.2-235.fc18.x86_64
perl(Encode) -> perl-4:5.16.2-235.fc18.x86_64
perl(Errno) -> perl-4:5.16.2-235.fc18.x86_64
perl(Fcntl) -> perl-4:5.16.2-235.fc18.x86_64
perl(File::Path) -> perl-4:5.16.2-235.fc18.x86_64
perl(Getopt::Long) -> perl-4:5.16.2-235.fc18.x86_64
perl(Graphviz) -> 
perl(IO::Handle) -> perl-4:5.16.2-235.fc18.x86_64
perl(IPC::Open3) -> perl-4:5.16.2-235.fc18.x86_64
perl(Math::Trig) -> perl-4:5.16.2-235.fc18.x86_64
perl(POSIX) -> perl-4:5.16.2-235.fc18.x86_64
perl(Socket) -> perl-Socket-0:2.002-3.fc18.x86_64 perl-Socket-0:2.001-235.fc18.x86_64
perl(Symbol) -> perl-4:5.16.2-235.fc18.x86_64
perl(Term::ReadLine) -> perl-4:5.16.2-235.fc18.x86_64
perl(XML::LibXML) -> perl-XML-LibXML-1:2.0004-1.fc18.x86_64
perl(XML::SAX::Base) -> perl-XML-SAX-Base-0:1.08-4.fc18.noarch
perl(XML::Writer) -> perl-XML-Writer-0:0.612-4.fc18.noarch
perl(integer) -> perl-4:5.16.2-235.fc18.x86_64
perl(lib) -> perl-4:5.16.2-235.fc18.x86_64
perl(overload) -> perl-4:5.16.2-235.fc18.x86_64
perl(re) -> perl-4:5.16.2-235.fc18.x86_64
perl(strict) -> perl-4:5.16.2-235.fc18.x86_64
perl(subs) -> perl-4:5.16.2-235.fc18.x86_64
perl(vars) -> perl-4:5.16.2-235.fc18.x86_64


You may want to install what is now in %{_datadir} in %{_libdir},
otherwise it should be safe to ignore the warnings, that probably
are wrong any (it keeps insisting that data in %{_datadir} are
documentation and should be in a noarch package).

D you know the reason the polymake svn repository is not
publicly available? How one can (read only) access to it?
Need to fill some form to register somewhere?

---%<---
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
[!]: Package installs properly.
     Note: Installation errors (see attachment)
See: https://fedoraproject.org/wiki/Packaging:Guidelines
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 2969600 bytes in 32 files.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation


===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     devel, %package doc
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: 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 is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (3 clause)", "BSD (2 clause)", "GPL (v2 or later)", "Unknown or
     generated". 4 files have unknown license. Detailed output of licensecheck
     in /home/pcpa/review-polymake/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[!]: Package installs properly.
     Note: Installation errors (see attachment)
[x]: Package is not relocatable.
[?]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 2969600 bytes in 32 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[x]: Package contains the mandatory BuildRequires and Reguires:.
[?]: CPAN urls should be non-versioned.
     Note: Test run failed

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[!]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 5191680 bytes in /usr/share 2938880
     polymake-doc-2.12-2.fc19.x86_64.rpm 10240 polymake-
     devel-2.12-2.fc19.x86_64.rpm 2242560 polymake-2.12-2.fc19.x86_64.rpm


Installation errors
-------------------
INFO: mock.py version 1.1.28 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Mock Version: 1.1.28
INFO: Mock Version: 1.1.28
Start: lock buildroot
INFO: installing package(s): /home/pcpa/review-polymake/results/polymake-devel-2.12-2.fc19.x86_64.rpm /home/pcpa/review-polymake/results/polymake-2.12-2.fc19.x86_64.rpm /home/pcpa/review-polymake/results/polymake-doc-2.12-2.fc19.x86_64.rpm /home/pcpa/review-polymake/results/polymake-debuginfo-2.12-2.fc19.x86_64.rpm
ERROR: Command failed: 
 # ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-rawhide-x86_64/root/', 'install', '/home/pcpa/review-polymake/results/polymake-devel-2.12-2.fc19.x86_64.rpm', '/home/pcpa/review-polymake/results/polymake-2.12-2.fc19.x86_64.rpm', '/home/pcpa/review-polymake/results/polymake-doc-2.12-2.fc19.x86_64.rpm', '/home/pcpa/review-polymake/results/polymake-debuginfo-2.12-2.fc19.x86_64.rpm', '--setopt=tsflags=nocontexts']
Error: Package: polymake-2.12-2.fc19.x86_64 (/polymake-2.12-2.fc19.x86_64)
           Requires: perl(Graphviz)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest



Rpmlint
-------
Checking: polymake-devel-2.12-2.fc19.x86_64.rpm
          polymake-2.12-2.fc19.src.rpm
          polymake-2.12-2.fc19.x86_64.rpm
          polymake-doc-2.12-2.fc19.x86_64.rpm
          polymake-debuginfo-2.12-2.fc19.x86_64.rpm
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: E: rpath-in-buildconfig /usr/bin/polymake-config lines ['150']
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
polymake.src: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.src: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.src: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.src: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.src: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.src: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.src: W: spelling-error %description -l en_US matroids -> mastoids
polymake.src: W: spelling-error %description -l en_US azove -> above, Azov
polymake.src: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.src: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.src: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.src: W: spelling-error %description -l en_US ocaml -> Occam
polymake.src: W: spelling-error %description -l en_US tplib -> split
polymake.src: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.src: W: spelling-error %description -l en_US vinci -> vincible
polymake.src: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.src: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.src: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.src: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
5 packages and 0 specfiles checked; 1 errors, 49 warnings.




Requires
--------
polymake-devel-2.12-2.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/perl
    libpolymake.so.2()(64bit)
    perl(strict)
    polymake(x86-64) = 2.12-2.fc19

polymake-2.12-2.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    /usr/bin/perl
    libbliss.so.0()(64bit)
    libc.so.6()(64bit)
    libcdd.so.0()(64bit)
    libcddgmp.so.0()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgmp.so.10()(64bit)
    liblrsgmp.so.4()(64bit)
    libm.so.6()(64bit)
    libmpfr.so.4()(64bit)
    libperl.so()(64bit)
    libpolymake.so.2()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.1)(64bit)
    libsympol.so.0.1()(64bit)
    libxml2.so.2()(64bit)
    libxml2.so.2(LIBXML2_2.4.30)(64bit)
    perl >= 1:5.8.1
    perl(:MODULE_COMPAT_5.16.2)
    perl(Carp)
    perl(Config)
    perl(Cwd)
    perl(DynaLoader)
    perl(Encode)
    perl(Errno)
    perl(Fcntl)
    perl(File::Path)
    perl(Getopt::Long)
    perl(Graphviz)
    perl(IO::Handle)
    perl(IPC::Open3)
    perl(Math::Trig)
    perl(POSIX)
    perl(Socket)
    perl(Symbol)
    perl(Term::ReadLine)
    perl(XML::LibXML)
    perl(XML::SAX::Base)
    perl(XML::Writer)
    perl(integer)
    perl(lib)
    perl(overload)
    perl(re)
    perl(strict)
    perl(subs)
    perl(vars)
    rtld(GNU_HASH)

polymake-doc-2.12-2.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    polymake(x86-64) = 2.12-2.fc19

polymake-debuginfo-2.12-2.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    



Provides
--------
polymake-devel-2.12-2.fc19.x86_64.rpm:
    
    polymake-devel = 2.12-2.fc19
    polymake-devel(x86-64) = 2.12-2.fc19

polymake-2.12-2.fc19.x86_64.rpm:
    
    libpolymake.so.2()(64bit)
    polymake = 2.12-2.fc19
    polymake(x86-64) = 2.12-2.fc19

polymake-doc-2.12-2.fc19.x86_64.rpm:
    
    polymake-doc = 2.12-2.fc19
    polymake-doc(x86-64) = 2.12-2.fc19

polymake-debuginfo-2.12-2.fc19.x86_64.rpm:
    
    polymake-debuginfo = 2.12-2.fc19
    polymake-debuginfo(x86-64) = 2.12-2.fc19



Unversioned so-files
--------------------
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/common.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/core.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/fan.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/graph.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/group.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/matroid.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/polytope.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/topaz.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/lib/tropical.so
polymake-2.12-2.fc19.x86_64.rpm: /usr/lib64/polymake/perlx/5.16.2/x86_64-linux-thread-multi/auto/Polymake/Ext/Ext.so

MD5-sum check
-------------
http://polymake.org/lib/exe/fetch.php/download/polymake-2.12-rc3.tar.bz2 :
  CHECKSUM(SHA256) this package     : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796
  CHECKSUM(SHA256) upstream package : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -v -r -n polymake -m fedora-rawhide-x86_64
---%<---

I do not enforce what appears to be a wrong test treating files in
%{_datadir} as documentation and leave it to you to choose if
willing to install everything in %{_libdir}, but the wrong
dependency must be corrected. Should be just a matter of
adding one extra entry to the existing macros under the
"# Don't Require the private perl interfaces that we don't Provide."
comment in polymake.spec.

Comment 6 Jerry James 2013-01-24 21:29:18 UTC
(In reply to comment #5)
> Major problem is that the package is not installable, because it requires
> a no longer generated provides. I checked in fedora 18 all requires, and
> only the perl(Graphviz) is wrong:

Oops, sorry about that.  Fixed.

> You may want to install what is now in %{_datadir} in %{_libdir},
> otherwise it should be safe to ignore the warnings, that probably
> are wrong any (it keeps insisting that data in %{_datadir} are
> documentation and should be in a noarch package).

Well, the stuff in %{_datadir} is noarch.  I think that, because it is noarch, it really does belong in %{_datadir}, not %{_libdir}.  I prefer to leave those files where they are.  (And, as I'm sure you know, a lot of those files are perl scripts, not data that can be split out into a subpackage.)

> D you know the reason the polymake svn repository is not
> publicly available? How one can (read only) access to it?
> Need to fill some form to register somewhere?

I don't know the answer to any of these questions.  I have not found any answers on the polymake web pages, either.

New URLs:
Spec URL: http://jjames.fedorapeople.org/polymake/polymake.spec
SRPM URL: http://jjames.fedorapeople.org/polymake/polymake-2.12-3.fc19.src.rpm

Comment 7 Paulo Andrade 2013-01-24 22:02:08 UTC
I asked in the polymake forum about svn public
read access (waiting for the post to be reviewed).

I also pointed in that forum post to this review
request, so, maybe someone else may have comments
about this package...

Comment 8 Paulo Andrade 2013-02-11 11:56:40 UTC
The upstream thread I asked for information is
http://forum.polymake.org/viewtopic.php?f=9&t=310

Result of a newer run:
---%<---

Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 2969600 bytes in 32 files.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation


===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[?]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     devel, %package doc
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: 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 is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (3 clause)", "BSD (2 clause)", "GPL (v2 or later)", "Unknown or
     generated". 4 files have unknown license. Detailed output of licensecheck
     in /home/pcpa/895667-polymake/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 2969600 bytes in 32 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[x]: Package contains the mandatory BuildRequires and Reguires:.
[-]: CPAN urls should be non-versioned.
     Note: Test run failed

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[ ]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 5191680 bytes in /usr/share 2242560
     polymake-2.12-3.fc19.x86_64.rpm 2938880 polymake-
     doc-2.12-3.fc19.x86_64.rpm 10240 polymake-devel-2.12-3.fc19.x86_64.rpm


Rpmlint
-------
Checking: polymake-devel-2.12-3.fc19.x86_64.rpm
          polymake-debuginfo-2.12-3.fc19.x86_64.rpm
          polymake-2.12-3.fc19.src.rpm
          polymake-doc-2.12-3.fc19.x86_64.rpm
          polymake-2.12-3.fc19.x86_64.rpm
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: E: rpath-in-buildconfig /usr/bin/polymake-config lines ['150']
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
polymake.src: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.src: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.src: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.src: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.src: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.src: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.src: W: spelling-error %description -l en_US matroids -> mastoids
polymake.src: W: spelling-error %description -l en_US azove -> above, Azov
polymake.src: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.src: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.src: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.src: W: spelling-error %description -l en_US ocaml -> Occam
polymake.src: W: spelling-error %description -l en_US tplib -> split
polymake.src: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.src: W: spelling-error %description -l en_US vinci -> vincible
polymake.src: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.src: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.src: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.src: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
5 packages and 0 specfiles checked; 1 errors, 49 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint polymake-doc polymake-debuginfo polymake polymake-devel [A[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Kl
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::alloc_impl(int, bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::operator==(polymake::graph::BlissGraph const&) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::find_vertex_node(polymake::graph::HasseDiagram const&, int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::~BlissGraph()
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::add_edge(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::partition(unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::delete_node(int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::finalize(bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::find_permutations(polymake::graph::BlissGraph const&, int) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::fromObject(pm::perl::Object const&)
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::group::correct_group_from_permlib_group(pm::perl::Object, polymake::group::PermlibGroup const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::group::group_from_perlgroup(pm::perl::Object)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::find_permutations(polymake::graph::BlissGraph const&, int) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::color(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::add_edge(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::finalize(bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::operator==(polymake::graph::BlissGraph const&) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::alloc_impl(int, bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::HasseDiagram::fromObject(pm::perl::Object const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::partition(unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::~BlissGraph()
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/fan.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/fan.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: E: rpath-in-buildconfig /usr/bin/polymake-config lines ['150']
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
4 packages and 0 specfiles checked; 1 errors, 57 warnings.
# echo 'rpmlint-done:'



Requires
--------
polymake-devel-2.12-3.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/perl
    libpolymake.so.2()(64bit)
    perl(strict)
    polymake(x86-64) = 2.12-3.fc19

polymake-debuginfo-2.12-3.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    

polymake-doc-2.12-3.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    polymake(x86-64) = 2.12-3.fc19

polymake-2.12-3.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    /usr/bin/perl
    libbliss.so.0()(64bit)
    libc.so.6()(64bit)
    libcdd.so.0()(64bit)
    libcddgmp.so.0()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgmp.so.10()(64bit)
    liblrsgmp.so.4()(64bit)
    libm.so.6()(64bit)
    libmpfr.so.4()(64bit)
    libperl.so()(64bit)
    libpolymake.so.2()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.1)(64bit)
    libsympol.so.0.1()(64bit)
    libxml2.so.2()(64bit)
    libxml2.so.2(LIBXML2_2.4.30)(64bit)
    perl >= 1:5.8.1
    perl(:MODULE_COMPAT_5.16.2)
    perl(Carp)
    perl(Config)
    perl(Cwd)
    perl(DynaLoader)
    perl(Encode)
    perl(Errno)
    perl(Fcntl)
    perl(File::Path)
    perl(Getopt::Long)
    perl(IO::Handle)
    perl(IPC::Open3)
    perl(Math::Trig)
    perl(POSIX)
    perl(Socket)
    perl(Symbol)
    perl(Term::ReadLine)
    perl(XML::LibXML)
    perl(XML::SAX::Base)
    perl(XML::Writer)
    perl(integer)
    perl(lib)
    perl(overload)
    perl(re)
    perl(strict)
    perl(subs)
    perl(vars)
    rtld(GNU_HASH)



Provides
--------
polymake-devel-2.12-3.fc19.x86_64.rpm:
    
    polymake-devel = 2.12-3.fc19
    polymake-devel(x86-64) = 2.12-3.fc19

polymake-debuginfo-2.12-3.fc19.x86_64.rpm:
    
    polymake-debuginfo = 2.12-3.fc19
    polymake-debuginfo(x86-64) = 2.12-3.fc19

polymake-doc-2.12-3.fc19.x86_64.rpm:
    
    polymake-doc = 2.12-3.fc19
    polymake-doc(x86-64) = 2.12-3.fc19

polymake-2.12-3.fc19.x86_64.rpm:
    
    libpolymake.so.2()(64bit)
    polymake = 2.12-3.fc19
    polymake(x86-64) = 2.12-3.fc19



Unversioned so-files
--------------------
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/common.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/core.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/fan.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/graph.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/group.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/matroid.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/polytope.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/topaz.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/lib/tropical.so
polymake-2.12-3.fc19.x86_64.rpm: /usr/lib64/polymake/perlx/5.16.2/x86_64-linux-thread-multi/auto/Polymake/Ext/Ext.so

MD5-sum check
-------------
http://polymake.org/lib/exe/fetch.php/download/polymake-2.12-rc3.tar.bz2 :
  CHECKSUM(SHA256) this package     : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796
  CHECKSUM(SHA256) upstream package : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -v -b 895667 -m fedora-rawhide-x86_64
---%<---

I believe polymake-config should be patch to not add rpath:

$ polymake-config --ldflags
-L/usr/lib64 -Wl,-z,relro -Wl,--as-needed -Wl,-rpath,/usr/lib64

removing the unneeded -L%{_libdir} should also be a good idea
as the rpm is not supposed to install libraries in a non
standard directory.

Otherwise, I belive the package looks good.

Jerry, please run again fedora-review in the sagemath package :-)
As of yesterday all issues were solved and fedora-review was
working on the sagemath srpm.

Comment 9 Jerry James 2013-02-15 22:34:12 UTC
I can easily fix most of these issues, but the test suite is still a problem.  I have worked for several hours this week, but I cannot get it to work.  The new subversion repository only goes back a couple of weeks, but the sources are from last spring.  Too much development has gone on in that time, apparently.  I've solved issue after issue, and still the test suite doesn't work.

Would you be satisfied if I produce a package that solves the other issues, and promise, cross my heart, to add a %check section once the next release happens (because then I can grab the corresponding test suite out of subversion)?

Comment 10 Paulo Andrade 2013-02-17 16:53:57 UTC
(In reply to comment #9)
> I can easily fix most of these issues, but the test suite is still a
> problem.  I have worked for several hours this week, but I cannot get it to
> work.  The new subversion repository only goes back a couple of weeks, but
> the sources are from last spring.  Too much development has gone on in that
> time, apparently.  I've solved issue after issue, and still the test suite
> doesn't work.

  Major issue I see is polymake-config, that should be simple to correct.

> Would you be satisfied if I produce a package that solves the other issues,
> and promise, cross my heart, to add a %check section once the next release
> happens (because then I can grab the corresponding test suite out of
> subversion)?

  That depends on what you say about some of the very hard to solve
issues in the sagemath package, err, just kidding :-)
I only see polymake-config issue as major problem now.

Comment 11 Jerry James 2013-02-27 23:14:07 UTC
I fixed the polymake-config issue.  Sorry to take so long.  $DAYJOB is extremely busy again (about to release our next version).

New URLs:
http://jjames.fedorapeople.org/polymake/polymake.spec
http://jjames.fedorapeople.org/polymake/polymake-2.12-4.fc19.src.rpm

Comment 12 Paulo Andrade 2013-03-06 15:03:45 UTC
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Spec file lacks Packager, Vendor, PreReq tags.
  Note: Found : Packager: pcpa <paulo.cesar.pereira.de.andrade>
  See: (this test has no URL)


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (3 clause)", "BSD (2 clause)", "GPL (v2 or later)", "Unknown or
     generated". 4 files have unknown license. Detailed output of licensecheck
     in /home/pcpa/895667-polymake/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 30720 bytes in 1 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: 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 is included in %doc.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).

Perl:
[x]: Package contains the mandatory BuildRequires and Requires:.

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[?]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 5191680 bytes in /usr/share 2938880
     polymake-doc-2.12-4.fc19.x86_64.rpm 2242560
     polymake-2.12-4.fc19.x86_64.rpm 10240 polymake-
     devel-2.12-4.fc19.x86_64.rpm
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: polymake-2.12-4.fc19.x86_64.rpm
          polymake-devel-2.12-4.fc19.x86_64.rpm
          polymake-doc-2.12-4.fc19.x86_64.rpm
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
3 packages and 0 specfiles checked; 0 errors, 30 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint polymake-doc polymake polymake-devel
polymake.x86_64: W: spelling-error Summary(en_US) polytopes -> polytheist
polymake.x86_64: W: spelling-error Summary(en_US) polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US combinatorics -> combinations
polymake.x86_64: W: spelling-error %description -l en_US polytopes -> polytheist
polymake.x86_64: W: spelling-error %description -l en_US polyhedra -> polyhedral, polyhedron
polymake.x86_64: W: spelling-error %description -l en_US simplicial -> simplicity, simplistic
polymake.x86_64: W: spelling-error %description -l en_US matroids -> mastoids
polymake.x86_64: W: spelling-error %description -l en_US azove -> above, Azov
polymake.x86_64: W: spelling-error %description -l en_US gfan -> fan, fang, gran
polymake.x86_64: W: spelling-error %description -l en_US integrale -> integral, integrals, integrate
polymake.x86_64: W: spelling-error %description -l en_US normaliz -> normalize, normalization, normal
polymake.x86_64: W: spelling-error %description -l en_US ocaml -> Occam
polymake.x86_64: W: spelling-error %description -l en_US tplib -> split
polymake.x86_64: W: spelling-error %description -l en_US qhull -> hull, q hull, Hull
polymake.x86_64: W: spelling-error %description -l en_US vinci -> vincible
polymake.x86_64: W: spelling-error %description -l en_US geomview -> geom view, geom-view, overview
polymake.x86_64: W: spelling-error %description -l en_US graphviz -> graph viz, graph-viz, graphic
polymake.x86_64: W: spelling-error %description -l en_US gv -> g, v, gov
polymake.x86_64: W: spelling-error %description -l en_US okular -> ocular, ovular
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/core.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/matroid.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/tropical.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/graph.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/common.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/topaz.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::alloc_impl(int, bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::operator==(polymake::graph::BlissGraph const&) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::find_vertex_node(polymake::graph::HasseDiagram const&, int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::~BlissGraph()
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::add_edge(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::partition(unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::delete_node(int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::finalize(bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::BlissGraph::find_permutations(polymake::graph::BlissGraph const&, int) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/topaz.so polymake::graph::HasseDiagram::fromObject(pm::perl::Object const&)
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/polytope.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::group::correct_group_from_permlib_group(pm::perl::Object, polymake::group::PermlibGroup const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::group::group_from_perlgroup(pm::perl::Object)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::find_permutations(polymake::graph::BlissGraph const&, int) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::color(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::add_edge(unsigned int, unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::finalize(bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::operator==(polymake::graph::BlissGraph const&) const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::alloc_impl(int, bool)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::HasseDiagram::fromObject(pm::perl::Object const&)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::partition(unsigned int)
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/polytope.so polymake::graph::BlissGraph::~BlissGraph()
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/group.so
polymake.x86_64: W: no-soname /usr/lib64/polymake/lib/fan.so
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/fan.so polymake::graph::HasseDiagram::makeObject() const
polymake.x86_64: W: undefined-non-weak-symbol /usr/lib64/polymake/lib/fan.so polymake::graph::operator>>(pm::perl::Value const&, polymake::graph::HasseDiagram&)
polymake-devel.x86_64: W: no-documentation
polymake-devel.x86_64: W: no-manual-page-for-binary polymake-config
3 packages and 0 specfiles checked; 0 errors, 57 warnings.
# echo 'rpmlint-done:'



Requires
--------
polymake-doc (rpmlib, GLIBC filtered):
    polymake(x86-64)

polymake (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    /usr/bin/perl
    libbliss.so.0()(64bit)
    libc.so.6()(64bit)
    libcdd.so.0()(64bit)
    libcddgmp.so.0()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgmp.so.10()(64bit)
    liblrsgmp.so.4()(64bit)
    libm.so.6()(64bit)
    libmpfr.so.4()(64bit)
    libperl.so()(64bit)
    libpolymake.so.2()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.1)(64bit)
    libsympol.so.0.1()(64bit)
    libxml2.so.2()(64bit)
    libxml2.so.2(LIBXML2_2.4.30)(64bit)
    perl
    perl(:MODULE_COMPAT_5.16.2)
    perl(Carp)
    perl(Config)
    perl(Cwd)
    perl(DynaLoader)
    perl(Encode)
    perl(Errno)
    perl(Fcntl)
    perl(File::Path)
    perl(Getopt::Long)
    perl(IO::Handle)
    perl(IPC::Open3)
    perl(Math::Trig)
    perl(POSIX)
    perl(Socket)
    perl(Symbol)
    perl(Term::ReadLine)
    perl(XML::LibXML)
    perl(XML::SAX::Base)
    perl(XML::Writer)
    perl(integer)
    perl(lib)
    perl(overload)
    perl(re)
    perl(strict)
    perl(subs)
    perl(vars)
    rtld(GNU_HASH)

polymake-devel (rpmlib, GLIBC filtered):
    /usr/bin/perl
    libpolymake.so.2()(64bit)
    perl(strict)
    polymake(x86-64)



Provides
--------
polymake-doc:
    polymake-doc
    polymake-doc(x86-64)

polymake:
    libpolymake.so.2()(64bit)
    polymake
    polymake(x86-64)

polymake-devel:
    polymake-devel
    polymake-devel(x86-64)



Unversioned so-files
--------------------
polymake: /usr/lib64/polymake/lib/common.so
polymake: /usr/lib64/polymake/lib/core.so
polymake: /usr/lib64/polymake/lib/fan.so
polymake: /usr/lib64/polymake/lib/graph.so
polymake: /usr/lib64/polymake/lib/group.so
polymake: /usr/lib64/polymake/lib/matroid.so
polymake: /usr/lib64/polymake/lib/polytope.so
polymake: /usr/lib64/polymake/lib/topaz.so
polymake: /usr/lib64/polymake/lib/tropical.so
polymake: /usr/lib64/polymake/perlx/5.16.2/x86_64-linux-thread-multi/auto/Polymake/Ext/Ext.so

MD5-sum check
-------------
http://polymake.org/lib/exe/fetch.php/download/polymake-2.12-rc3.tar.bz2 :
  CHECKSUM(SHA256) this package     : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796
  CHECKSUM(SHA256) upstream package : 354a5220009882c178d8d98ec8c16921eea284ed73ff7d36c5fee787aa3f4796


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -v -b 895667

---%<---

Minor cosmetic issue:
[...]
# do not use -rpath, and enable running the units tests on a non-svn checkout.
Patch0:         %{name}-fedora.patch
[...]
tests are not run, but you promised to make it run on the next release at #c9 :-)

Comment 13 Paulo Andrade 2013-03-06 15:06:55 UTC
I consider the package approved, as all the remaining
considerations are all small cosmetic issues, a good
explanation was given, and the package is of very
high quality.

Comment 14 Jerry James 2013-03-06 15:56:26 UTC
Thanks once again for the review, Paulo.  I *will* make those tests run, just as soon as there is a new upstream release.

Comment 15 Jerry James 2013-03-06 15:58:04 UTC
New Package SCM Request
=======================
Package Name: polymake
Short Description: Algorithms on convex polytopes and polyhedra
Owners: jjames
Branches: f18
InitialCC:

Comment 16 Gwyn Ciesla 2013-03-06 16:15:24 UTC
Git done (by process-git-requests).

Comment 17 Fedora Update System 2013-03-06 18:09:41 UTC
polymake-2.12-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/polymake-2.12-4.fc18

Comment 18 Fedora Update System 2013-03-07 23:58:00 UTC
polymake-2.12-4.fc18 has been pushed to the Fedora 18 testing repository.

Comment 19 Fedora Update System 2013-03-16 01:36:23 UTC
polymake-2.12-4.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.