Bug 894605

Summary: Review Request: coin-or-Bonmin - Basic Open-source Nonlinear Mixed INteger programming
Product: [Fedora] Fedora Reporter: Paulo Andrade <paulo.cesar.pereira.de.andrade>
Component: Package ReviewAssignee: Christopher Meng <i>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: anto.trande, i, package-review
Target Milestone: ---Flags: i: fedora‑review+
limburgher: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: coin-or-Bonmin-1.7.4-2.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-25 06:07:12 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On: 894585, 894586, 894587, 894588, 894597, 894604    
Bug Blocks: 505154, 894606, 894609    

Description Paulo Andrade 2013-01-12 10:39:13 EST
Spec URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Bonmin.spec
SRPM URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Bonmin-1.6.0-3.fc19.src.rpm
Description: Bonmin (Basic Open-source Nonlinear Mixed INteger programming) is an
experimental open-source C++ code for solving general MINLP (Mixed Integer
NonLinear Programming) problems of the form:

   min     f(x)

s.t.       g_L <= g(x) <= g_U
           x_L <=  x   <= x_U
           x_i in Z for all i in I and,
           x_i in R for all i not in I.

where f(x): R^n --> R, g(x): R^n --> R^m are twice continuously differentiable
functions and I is a subset of {1,..,n}.

Bonmin features several algorithms

  * B-BB is a NLP-based branch-and-bound algorithm,
  * B-OA is an outer-approximation decomposition algorithm,
  * B-QG is an implementation of Quesada and Grossmann's branch-and-cut
    algorithm,
  * B-Hyb is a hybrid outer-approximation based branch-and-cut algorithm. 

The algorithms in Bonmin are exact when the functions f and g are convex;
in the case where f or g or both are non-convex they are heuristics.
Fedora Account System Username: pcpa
Comment 1 Paulo Andrade 2013-01-12 10:40:40 EST
Note that the tarball is remade due to:
+ Data files without a clean license. licensecheck does not trigger
  it because they are small test case files, but a not so small
  collection, and authorship information was lost.
+ ThirdParty directory, that points to, but has no contents, of
  non free code (usually source code open but needs some kind of
  paid license to be able to use).
+ Most coin-or projects bundle other coin-or projects that are
  dependencies. If tarballs are not repackaged, %build will remove
  the bundled dependencies.

I made the original package back in september and was talking from
time to time to upstream about the issues above. There should be
at some point in the near future a new release with bundled dependencies
and code that cannot be redistributed removed from tarballs. There is
also a way to get "clean" tarballs from coin-or trac, but for the
review request I did choose the most common method in Fedora for
these conditions.
Comment 2 Paulo Andrade 2013-01-14 17:23:42 EST
Update:

- Update to run make check (#894610#c4).

Spec URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Bonmin.spec
SRPM URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Bonmin-1.6.0-4.fc19.src.rpm
Comment 3 Christopher Meng 2013-10-22 11:34:19 EDT
1.7.2 was released 7 days ago.
Comment 4 Christopher Meng 2014-07-09 12:19:31 EDT
ping.
Comment 5 Paulo Andrade 2014-07-09 14:01:29 EDT
Pong.

I had it updated since april, and was just trying to figure out
if I had forgot to upload a newer souce rpm or what.

I believe I had not uploaded because it was failing "make test"
as it is failing right now. And I was with a large set of
dependencies not yet reviewed at that time.

The failure is caused by coin-or-Ipopt MUMPS interface calling
MPI_Init whenever creating an instance of the MumpsSolverInterface
class and MPI failing like this:

---%<---
[pcpa@localhost test]$ ./CppExample 

******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Eclipse Public License (EPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

NOTE: You are using Ipopt by default with the MUMPS linear solver.
      Other linear solvers might be more efficient (see Ipopt documentation).


NLP0012I 
              Num      Status      Obj             It       time                 Location
NLP0014I             1         OPT -2.618034       13 0.007
--------------------------------------------------------------------------
Calling MPI_Init or MPI_Init_thread twice is erroneous.
--------------------------------------------------------------------------
[localhost:17041] *** An error occurred in MPI_Init
[localhost:17041] *** reported by process [2451439617,0]
[localhost:17041] *** on communicator MPI_COMM_WORLD
[localhost:17041] *** MPI_ERR_OTHER: known error not in list
[localhost:17041] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[localhost:17041] ***    and potentially your MPI job)
---%<---

After searching a bit the only related report I found is that
Debian patched their package to not call MPI_Init in the
MUMPS Ipopt interface, so, I believe we should do the same in
our coin-or-Ipopt:

https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1189528.html
Comment 6 Paulo Andrade 2014-07-10 13:40:31 EDT
Update:

It is required the latest coin-or-Ipopt in rawhide, or the one
going to testing for f19, f20, and f21, that resolves #1117974

- Update to latest upstream release.

Spec URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Ipopt.spec
SRPM URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Bonmin-1.7.4-1.fc21.src.rpm
Comment 7 Christopher Meng 2014-07-12 09:12:56 EDT
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated




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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[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.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 213 files have unknown license. Detailed output
     of licensecheck:

Unknown or generated
--------------------
Bonmin-1.7.4/doc/BONMIN_ReferenceManual.hpp
Bonmin-1.7.4/doc/BONMIN_UsersManual.tex
Bonmin-1.7.4/doc/Head.tex
Bonmin-1.7.4/doc/Install.tex
Bonmin-1.7.4/doc/Intro.tex
Bonmin-1.7.4/doc/Obtain.tex
Bonmin-1.7.4/doc/bib.tex
Bonmin-1.7.4/doc/genHtml.sh
Bonmin-1.7.4/doc/option_pages/Head.tex
Bonmin-1.7.4/doc/option_pages/genHtml.sh
Bonmin-1.7.4/doc/option_pages/genOptionsDocs.sh
Bonmin-1.7.4/doc/option_pages/options_list_TEMPLATE.tex
Bonmin-1.7.4/doc/option_pages/options_list_bonmin_content.tex
Bonmin-1.7.4/doc/option_pages/options_list_filter_content.tex
Bonmin-1.7.4/doc/option_pages/options_list_ipopt_content.tex
Bonmin-1.7.4/doc/options.tex
Bonmin-1.7.4/doc/options_list.tex
Bonmin-1.7.4/doc/options_list_bonmin_content.tex
Bonmin-1.7.4/doc/options_list_filter_content.tex
Bonmin-1.7.4/doc/options_list_ipopt_content.tex
Bonmin-1.7.4/doc/options_set.tex
Bonmin-1.7.4/doc/options_table.tex
Bonmin-1.7.4/doc/use.tex
Bonmin-1.7.4/examples/CppExample/MyBonmin.cpp
Bonmin-1.7.4/examples/CppExample/MyTMINLP.cpp
Bonmin-1.7.4/examples/CppExample/MyTMINLP.hpp
Bonmin-1.7.4/examples/OptionDocGen/DocGen.cpp
Bonmin-1.7.4/examples/OptionDocGen/MyTMINLP.cpp
Bonmin-1.7.4/examples/OptionDocGen/MyTMINLP.hpp
Bonmin-1.7.4/examples/amplExamples/toy.mod
Bonmin-1.7.4/experimental/Bcp/BB_cut.cpp
Bonmin-1.7.4/experimental/Bcp/BB_cut.hpp
Bonmin-1.7.4/experimental/Bcp/BM.cpp
Bonmin-1.7.4/experimental/Bcp/BM.hpp
Bonmin-1.7.4/experimental/Bcp/BM_lp.cpp
Bonmin-1.7.4/experimental/Bcp/BM_lp_branch.cpp
Bonmin-1.7.4/experimental/Bcp/BM_pack.cpp
Bonmin-1.7.4/experimental/Bcp/BM_tm.cpp
Bonmin-1.7.4/experimental/RobotBonmin/BonNWayChoose.cpp
Bonmin-1.7.4/experimental/RobotBonmin/BonNWayChoose.hpp
Bonmin-1.7.4/experimental/RobotBonmin/BonNWayObject.cpp
Bonmin-1.7.4/experimental/RobotBonmin/BonNWayObject.hpp
Bonmin-1.7.4/experimental/RobotBonmin/Robot-bonmin.cpp
Bonmin-1.7.4/experimental/RobotBonmin/RobotSetup.cpp
Bonmin-1.7.4/experimental/RobotBonmin/RobotSetup.hpp
Bonmin-1.7.4/experimental/Separable/BonHeuristicInnerApproximation.cpp
Bonmin-1.7.4/experimental/Separable/BonHeuristicInnerApproximation.hpp
Bonmin-1.7.4/experimental/Separable/BonOuterDescription.cpp
Bonmin-1.7.4/experimental/Separable/BonOuterDescription.hpp
Bonmin-1.7.4/experimental/Separable/Sepa.cpp
Bonmin-1.7.4/experimental/Separable/SepaHeuristicInnerApproximation.cpp
Bonmin-1.7.4/experimental/Separable/SepaHeuristicInnerApproximation.hpp
Bonmin-1.7.4/experimental/Separable/SepaSetup.cpp
Bonmin-1.7.4/experimental/Separable/SepaSetup.hpp
Bonmin-1.7.4/experimental/Separable/SepaTMINLP2OsiLP.cpp
Bonmin-1.7.4/experimental/Separable/SepaTMINLP2OsiLP.hpp
Bonmin-1.7.4/ltmain.sh
Bonmin-1.7.4/src/Algorithms/Ampl/BonAmplSetup.cpp
Bonmin-1.7.4/src/Algorithms/Ampl/BonAmplSetup.hpp
Bonmin-1.7.4/src/Algorithms/BonBabSetupBase.cpp
Bonmin-1.7.4/src/Algorithms/BonBabSetupBase.hpp
Bonmin-1.7.4/src/Algorithms/BonBonminSetup.cpp
Bonmin-1.7.4/src/Algorithms/BonBonminSetup.hpp
Bonmin-1.7.4/src/Algorithms/BonCbcLpStrategy.cpp
Bonmin-1.7.4/src/Algorithms/BonCbcLpStrategy.hpp
Bonmin-1.7.4/src/Algorithms/BonSolverHelp.cpp
Bonmin-1.7.4/src/Algorithms/BonSolverHelp.hpp
Bonmin-1.7.4/src/Algorithms/BonSubMipSolver.cpp
Bonmin-1.7.4/src/Algorithms/BonSubMipSolver.hpp
Bonmin-1.7.4/src/Algorithms/Branching/BonChooseVariable.cpp
Bonmin-1.7.4/src/Algorithms/Branching/BonChooseVariable.hpp
Bonmin-1.7.4/src/Algorithms/Branching/BonCurvBranchingSolver.cpp
Bonmin-1.7.4/src/Algorithms/Branching/BonCurvBranchingSolver.hpp
Bonmin-1.7.4/src/Algorithms/Branching/BonLpBranchingSolver.cpp
Bonmin-1.7.4/src/Algorithms/Branching/BonLpBranchingSolver.hpp
Bonmin-1.7.4/src/Algorithms/Branching/BonPseudoCosts.cpp
Bonmin-1.7.4/src/Algorithms/Branching/BonPseudoCosts.hpp
Bonmin-1.7.4/src/Algorithms/Branching/BonQpBranchingSolver.cpp
Bonmin-1.7.4/src/Algorithms/Branching/BonQpBranchingSolver.hpp
Bonmin-1.7.4/src/Algorithms/Branching/BonRandomChoice.cpp
Bonmin-1.7.4/src/Algorithms/Branching/BonRandomChoice.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonDummyHeuristic.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonDummyHeuristic.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonEcpCuts.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonEcpCuts.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonFpForMinlp.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonFpForMinlp.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOACutGenerator2.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOACutGenerator2.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOAMessages.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOAMessages.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOaDecBase.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOaDecBase.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOaFeasChecker.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOaFeasChecker.hpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOaNlpOptim.cpp
Bonmin-1.7.4/src/Algorithms/OaGenerators/BonOaNlpOptim.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonArraysHelpers.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonLinearCutsGenerator.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonLinearCutsGenerator.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonOuterApprox.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonOuterApprox.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonQuadCut.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonQuadCut.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonQuadRow.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonQuadRow.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonTMINLP2Quad.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonTMINLP2Quad.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonTMINLPLinObj.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonTMINLPLinObj.hpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonTMatrix.cpp
Bonmin-1.7.4/src/Algorithms/QuadCuts/BonTMatrix.hpp
Bonmin-1.7.4/src/Apps/BonMin.cpp
Bonmin-1.7.4/src/Apps/BonNodeSolver.cpp
Bonmin-1.7.4/src/CbcBonmin/BonBabInfos.cpp
Bonmin-1.7.4/src/CbcBonmin/BonBabInfos.hpp
Bonmin-1.7.4/src/CbcBonmin/BonCbc.cpp
Bonmin-1.7.4/src/CbcBonmin/BonCbc.hpp
Bonmin-1.7.4/src/CbcBonmin/BonCbcNlpStrategy.cpp
Bonmin-1.7.4/src/CbcBonmin/BonCbcNlpStrategy.hpp
Bonmin-1.7.4/src/CbcBonmin/BonCbcNode.cpp
Bonmin-1.7.4/src/CbcBonmin/BonCbcNode.hpp
Bonmin-1.7.4/src/CbcBonmin/BonDiver.cpp
Bonmin-1.7.4/src/CbcBonmin/BonDiver.hpp
Bonmin-1.7.4/src/CbcBonmin/BonGuessHeuristic.cpp
Bonmin-1.7.4/src/CbcBonmin/BonGuessHeuristic.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonDummyPump.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonDummyPump.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonFixAndSolveHeuristic.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonFixAndSolveHeuristic.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDive.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDive.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveFractional.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveFractional.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveMIP.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveMIP.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveMIPFractional.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveMIPFractional.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveMIPVectorLength.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveMIPVectorLength.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveVectorLength.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicDiveVectorLength.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicFPump.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicFPump.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicLocalBranching.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicLocalBranching.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicRINS.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonHeuristicRINS.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonLocalSolverBasedHeuristic.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonLocalSolverBasedHeuristic.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonMilpRounding.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonMilpRounding.hpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonPumpForMinlp.cpp
Bonmin-1.7.4/src/CbcBonmin/Heuristics/BonPumpForMinlp.hpp
Bonmin-1.7.4/src/Interfaces/Ampl/BonAmplInterface.cpp
Bonmin-1.7.4/src/Interfaces/Ampl/BonAmplInterface.hpp
Bonmin-1.7.4/src/Interfaces/Ampl/BonAmplTMINLP.cpp
Bonmin-1.7.4/src/Interfaces/Ampl/BonAmplTMINLP.hpp
Bonmin-1.7.4/src/Interfaces/Ampl/BonSolReader.cpp
Bonmin-1.7.4/src/Interfaces/Ampl/BonSolReader.hpp
Bonmin-1.7.4/src/Interfaces/Ampl/sos_kludge.cpp
Bonmin-1.7.4/src/Interfaces/BonAuxInfos.cpp
Bonmin-1.7.4/src/Interfaces/BonAuxInfos.hpp
Bonmin-1.7.4/src/Interfaces/BonBoundsReader.cpp
Bonmin-1.7.4/src/Interfaces/BonBoundsReader.hpp
Bonmin-1.7.4/src/Interfaces/BonBranchingTQP.cpp
Bonmin-1.7.4/src/Interfaces/BonBranchingTQP.hpp
Bonmin-1.7.4/src/Interfaces/BonColReader.cpp
Bonmin-1.7.4/src/Interfaces/BonColReader.hpp
Bonmin-1.7.4/src/Interfaces/BonCurvatureEstimator.cpp
Bonmin-1.7.4/src/Interfaces/BonCurvatureEstimator.hpp
Bonmin-1.7.4/src/Interfaces/BonCutStrengthener.cpp
Bonmin-1.7.4/src/Interfaces/BonCutStrengthener.hpp
Bonmin-1.7.4/src/Interfaces/BonExitCodes.hpp
Bonmin-1.7.4/src/Interfaces/BonMsgUtils.hpp
Bonmin-1.7.4/src/Interfaces/BonOsiTMINLPInterface.cpp
Bonmin-1.7.4/src/Interfaces/BonOsiTMINLPInterface.hpp
Bonmin-1.7.4/src/Interfaces/BonRegisteredOptions.cpp
Bonmin-1.7.4/src/Interfaces/BonRegisteredOptions.hpp
Bonmin-1.7.4/src/Interfaces/BonStartPointReader.cpp
Bonmin-1.7.4/src/Interfaces/BonStartPointReader.hpp
Bonmin-1.7.4/src/Interfaces/BonStrongBranchingSolver.cpp
Bonmin-1.7.4/src/Interfaces/BonStrongBranchingSolver.hpp
Bonmin-1.7.4/src/Interfaces/BonTMINLP.cpp
Bonmin-1.7.4/src/Interfaces/BonTMINLP.hpp
Bonmin-1.7.4/src/Interfaces/BonTMINLP2OsiLP.cpp
Bonmin-1.7.4/src/Interfaces/BonTMINLP2OsiLP.hpp
Bonmin-1.7.4/src/Interfaces/BonTMINLP2TNLP.cpp
Bonmin-1.7.4/src/Interfaces/BonTMINLP2TNLP.hpp
Bonmin-1.7.4/src/Interfaces/BonTNLP2FPNLP.cpp
Bonmin-1.7.4/src/Interfaces/BonTNLP2FPNLP.hpp
Bonmin-1.7.4/src/Interfaces/BonTNLPSolver.cpp
Bonmin-1.7.4/src/Interfaces/BonTNLPSolver.hpp
Bonmin-1.7.4/src/Interfaces/BonTypes.hpp
Bonmin-1.7.4/src/Interfaces/BonminConfig.h
Bonmin-1.7.4/src/Interfaces/Filter/BonBqpdSolver.cpp
Bonmin-1.7.4/src/Interfaces/Filter/BonBqpdSolver.hpp
Bonmin-1.7.4/src/Interfaces/Filter/BonBqpdWarmStart.cpp
Bonmin-1.7.4/src/Interfaces/Filter/BonBqpdWarmStart.hpp
Bonmin-1.7.4/src/Interfaces/Filter/BonFilterSolver.cpp
Bonmin-1.7.4/src/Interfaces/Filter/BonFilterSolver.hpp
Bonmin-1.7.4/src/Interfaces/Filter/BonFilterTypes.hpp
Bonmin-1.7.4/src/Interfaces/Filter/BonFilterWarmStart.cpp
Bonmin-1.7.4/src/Interfaces/Filter/BonFilterWarmStart.hpp
Bonmin-1.7.4/src/Interfaces/Ipopt/BonIpoptInteriorWarmStarter.cpp
Bonmin-1.7.4/src/Interfaces/Ipopt/BonIpoptInteriorWarmStarter.hpp
Bonmin-1.7.4/src/Interfaces/Ipopt/BonIpoptSolver.cpp
Bonmin-1.7.4/src/Interfaces/Ipopt/BonIpoptSolver.hpp
Bonmin-1.7.4/src/Interfaces/Ipopt/BonIpoptWarmStart.cpp
Bonmin-1.7.4/src/Interfaces/Ipopt/BonIpoptWarmStart.hpp
Bonmin-1.7.4/src/Interfaces/config_bonmin_default.h
Bonmin-1.7.4/src/Interfaces/config_default.h
Bonmin-1.7.4/test/InterfaceTest.cpp

[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (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.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 30720 bytes in 11 files.
[x]: Package complies to the Packaging Guidelines
[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).
[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 requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[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]: 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

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

Generic:
[x]: Uses parallel make %{?_smp_mflags} macro.
[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]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in coin-or-
     Bonmin-doc
[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.
[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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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 (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: coin-or-Bonmin-1.7.4-1.fc21.i686.rpm
          coin-or-Bonmin-devel-1.7.4-1.fc21.i686.rpm
          coin-or-Bonmin-doc-1.7.4-1.fc21.noarch.rpm
          coin-or-Bonmin-1.7.4-1.fc21.src.rpm
coin-or-Bonmin.i686: W: spelling-error %description -l en_US differentiable -> differential, differentiated, differentiate
coin-or-Bonmin.i686: W: shared-lib-calls-exit /usr/lib/libbonmin.so.4.7.4 exit@GLIBC_2.0
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Obtain.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/bib.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Install.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/use.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_list.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_set.html
coin-or-Bonmin.i686: W: wrong-file-end-of-line-encoding /usr/share/doc/coin-or-Bonmin/html/bonmin.css
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Intro.html
coin-or-Bonmin-devel.i686: W: no-documentation
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Obtain.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/bib.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Install.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Intro.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_list.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_set.html
coin-or-Bonmin-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/coin-or-Bonmin/html/bonmin.css
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/use.html
coin-or-Bonmin.src: W: spelling-error %description -l en_US differentiable -> differential, differentiated, differentiate
coin-or-Bonmin.src:42: W: mixed-use-of-spaces-and-tabs (spaces: line 42, tab: line 1)
4 packages and 0 specfiles checked; 14 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint coin-or-Bonmin-devel coin-or-Bonmin-doc coin-or-Bonmin
coin-or-Bonmin-devel.i686: W: no-documentation
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Obtain.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/bib.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Install.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Intro.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_list.html
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_set.html
coin-or-Bonmin-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/coin-or-Bonmin/html/bonmin.css
coin-or-Bonmin-doc.noarch: E: zero-length /usr/share/doc/coin-or-Bonmin/html/use.html
coin-or-Bonmin.i686: W: spelling-error %description -l en_US differentiable -> differential, differentiated, differentiate
-------------
TRUNCATED as bugzilla doesn't support comment longer thant 65535 chars...
-------------
coin-or-Bonmin.i686: W: shared-lib-calls-exit /usr/lib/libbonmin.so.4.7.4 exit@GLIBC_2.0
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Obtain.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/bib.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Install.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/use.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_list.html
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/options_set.html
coin-or-Bonmin.i686: W: wrong-file-end-of-line-encoding /usr/share/doc/coin-or-Bonmin/html/bonmin.css
coin-or-Bonmin.i686: E: zero-length /usr/share/doc/coin-or-Bonmin/html/Intro.html
3 packages and 0 specfiles checked; 14 errors, 426 warnings.
# echo 'rpmlint-done:'



Requires
--------
coin-or-Bonmin-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    coin-or-Bonmin(x86-32)
    coin-or-CoinUtils-devel
    libbonmin.so.4
    pkgconfig(cbc)
    pkgconfig(ipopt)
    pkgconfig(osi-clp)

coin-or-Bonmin-doc (rpmlib, GLIBC filtered):
    coin-or-Bonmin

coin-or-Bonmin (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    ld-linux.so.2
    libc.so.6
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libm.so.6
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    libstdc++.so.6(CXXABI_1.3.1)
    rtld(GNU_HASH)



Provides
--------
coin-or-Bonmin-devel:
    coin-or-Bonmin-devel
    coin-or-Bonmin-devel(x86-32)
    pkgconfig(bonmin)

coin-or-Bonmin-doc:
    coin-or-Bonmin-doc

coin-or-Bonmin:
    coin-or-Bonmin
    coin-or-Bonmin(x86-32)
    libbonmin.so.4



Source checksums
----------------
http://www.coin-or.org/download/pkgsource/Bonmin/Bonmin-1.7.4.tgz :
  CHECKSUM(SHA256) this package     : 3b469d0b60b9979277b8f8018ef9ea4dc78b7500ecdf782ab2be25925d1ae018
  CHECKSUM(SHA256) upstream package : 3b469d0b60b9979277b8f8018ef9ea4dc78b7500ecdf782ab2be25925d1ae018


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -rvn coin-or-Bonmin-1.7.4-1.fc21.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

--------------------------------------------
1. rpmlint fix:

the coin-or-Bonmin.src:42: W: mixed-use-of-spaces-and-tabs (spaces: line 42, tab: line 1)

2. build.log:

checking for COIN-OR package ASL... not given: No package 'ipoptamplinterface' found
checking for COIN-OR package OsiCpx... not given: No package 'osi-cplex' found
checking if user provides library for Cplex... no
checking for COIN-OR package FilterSQP... not given: No package 'coinfiltersqp' found

Missing packages?
-------------------
+ make -C doc all
make: Entering directory '/builddir/build/BUILD/Bonmin-1.7.4/doc'
./genHtml.sh Install.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
./genHtml.sh Intro.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
./genHtml.sh Obtain.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
./genHtml.sh bib.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
./genHtml.sh options_list.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
./genHtml.sh options_set.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
./genHtml.sh use.tex
./genHtml.sh: line 8: latex: command not found
./genHtml.sh: line 9: latex: command not found
./genHtml.sh: line 10: latex: command not found
./genHtml.sh: line 11: tex4ht: command not found
awk: fatal: cannot open file `tmp.html' for reading (No such file or directory)
cp bonmin.css html/
make: Leaving directory '/builddir/build/BUILD/Bonmin-1.7.4/doc'

Missing tex BRs. Root cause of the zero-length files?
Comment 8 Christopher Meng 2014-07-12 09:14:08 EDT
undefined-non-weak-symbol warnings truncated in the review comment since all coinor projects have such case. Should not be a serious problem.
Comment 9 Paulo Andrade 2014-07-14 11:02:18 EDT
> 1. rpmlint fix:
> 
> the coin-or-Bonmin.src:42: W: mixed-use-of-spaces-and-tabs (spaces: line 42, tab: line 1)

These were in the %description that was copied "as is" from
documentation, but I changed to avoid warnings.

> 2. build.log:
> 
> checking for COIN-OR package ASL... not given: No package 'ipoptamplinterface' found

Need review and people interested to know if could be (legally) packaged, https://projects.coin-or.org/svn/BuildTools/ThirdParty/ASL/stable/1.2/INSTALL.ASL

> checking for COIN-OR package OsiCpx... not given: No package 'osi-cplex' found
> checking if user provides library for Cplex... no

Commercial solver, http://en.wikipedia.org/wiki/CPLEX

> checking for COIN-OR package FilterSQP... not given: No package 'coinfiltersqp' found

Need review and people interested to know if could be (legally) packaged, https://projects.coin-or.org/svn/BuildTools/ThirdParty/FilterSQP/releases/1.2.3/INSTALL.FilterSQP


- Add texlive as explicit build requires.

Spec URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Ipopt.spec
SRPM URL: http://pcpa.fedorapeople.org/coin-or/coin-or-Bonmin-1.7.4-2.fc21.src.rpm
Comment 10 Christopher Meng 2014-07-14 23:15:37 EDT
Very likely those 2 are non-free.

PACKAGE APPROVED.
Comment 11 Paulo Andrade 2014-07-15 07:16:55 EDT
New Package SCM Request
=======================
Package Name: coin-or-Bonmin
Short Description: Basic Open-source Nonlinear Mixed INteger programming
Owners: pcpa
Branches: f19 f20 f21
InitialCC:
Comment 12 Jon Ciesla 2014-07-15 08:33:42 EDT
Git done (by process-git-requests).
Comment 13 Fedora Update System 2014-07-16 11:47:31 EDT
coin-or-Bonmin-1.7.4-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/coin-or-Bonmin-1.7.4-2.fc20
Comment 14 Fedora Update System 2014-07-17 00:27:13 EDT
coin-or-Bonmin-1.7.4-2.fc20 has been pushed to the Fedora 20 testing repository.
Comment 15 Fedora Update System 2014-07-25 06:07:12 EDT
coin-or-Bonmin-1.7.4-2.fc20 has been pushed to the Fedora 20 stable repository.