2012/9/23 Ted Ralphs <ted@xxxxxxxxxx>: > Hi Paulo, Hi Ted, > Thanks very much for your e-mail. I am switching the conversation over the > CoinBinary project mailing list (I just realized that the project's XML page > says that the mailing list for the project is coin-discuss---I will update > that). One of the goals of the CoinBinary project (and of the creation of > the CoinALl package) since the beginning has been to make it possible to put > together packages for Linux distributions (as well as installers for other > platforms). We have made a lot of changes to the build system in recent > years to support this eventual goal, but have lacked the manpower to follow > through in doing the packaging. I'll try to answer some of your questions > below, but we will probably have to have a bit of back and forth to work > everything out. I was looking a bit more around, and learning of previous efforts, and I believe the package split layout on https://projects.coin-or.org/svn/CoinBinary/rpm/releases/1.2.0/Coin.spec should be good enough, just that instead of using the CoinAll tarball, use the tarball specific for every project. I will try to learn a bit more from https://projects.coin-or.org/CoinBinary/wiki/CoinDeb and https://projects.coin-or.org/CoinBinary/wiki/BuildingCoinRpms > On Sun, Sep 23, 2012 at 5:50 PM, Paulo César Pereira de Andrade > <paulo.cesar.pereira.de.andrade@xxxxxxxxx> wrote: >> >> Hi, >> >> I made an experimental coin-or package, at first from the CoinAll >> tarball, >> any feedback is welcome, e.g. if it is really desirable to make a package >> for >> every sub project, for easier updates, etc (I am more friendly to CoinAll >> because it is supposed to be tested that all bits work together). > > > > The purpose of CoinAll was exactly this. For reasons we can discuss in more > detail, I think it is best to have a separate package for each project > (CoinUtils, Clp, Cbc, etc.). We have made a number of design choices with > the build system to support this. There should be a reason fro CoinDeb using "coinor" instead of "coin-or" prefix to package names, so I think I should also use "coinor". I think logically, every pkgconfig file should be in a specic package. The experimental monolithic package I made has these: $ rpm -ql coin-or-devel | egrep '\.pc$' /usr/lib64/pkgconfig/alps.pc /usr/lib64/pkgconfig/bcp.pc /usr/lib64/pkgconfig/bcps.pc /usr/lib64/pkgconfig/blis.pc /usr/lib64/pkgconfig/bonmin.pc /usr/lib64/pkgconfig/cbc.pc /usr/lib64/pkgconfig/cgl.pc /usr/lib64/pkgconfig/clp.pc /usr/lib64/pkgconfig/coindatamiplib3.pc /usr/lib64/pkgconfig/coindatanetlib.pc /usr/lib64/pkgconfig/coindatasample.pc /usr/lib64/pkgconfig/coinmp.pc /usr/lib64/pkgconfig/coinutils.pc /usr/lib64/pkgconfig/couenne.pc /usr/lib64/pkgconfig/cppad.pc /usr/lib64/pkgconfig/dip.pc /usr/lib64/pkgconfig/dylp.pc /usr/lib64/pkgconfig/flopcpp.pc /usr/lib64/pkgconfig/ipopt.pc /usr/lib64/pkgconfig/os.pc /usr/lib64/pkgconfig/osi-cbc.pc /usr/lib64/pkgconfig/osi-clp.pc /usr/lib64/pkgconfig/osi-dylp.pc /usr/lib64/pkgconfig/osi-sym.pc /usr/lib64/pkgconfig/osi-unittests.pc /usr/lib64/pkgconfig/osi-vol.pc /usr/lib64/pkgconfig/osi.pc /usr/lib64/pkgconfig/symphony-app.pc /usr/lib64/pkgconfig/symphony.pc /usr/lib64/pkgconfig/vol.pc >> Running fedora-review on the package I see these fatal errors: >> >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/miplib3/AUTHORS >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/miplib3/LICENSE >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/Netlib/README >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/Sample/AUTHORS >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/Sample/LICENSE >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/Netlib/LICENSE >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/miplib3/README >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/Sample/README >> coin-or.x86_64: E: zero-length /usr/share/coin/doc/Data/Netlib/AUTHORS >> >> Maybe those were supposed to be symbolic links? > > > The data projects are strange beasts---they consist of data files that are > part of widely distributed test sets. The origin of many of the files is > difficult to ascertain, so creating AUTHORS, README, and even LICENSE files > is difficult. We have had on our long-term TODO list to come up with a > solution for this, but in any case, they are not necessary for anything else > to work---they are mainly there for unit testing. We made them separate > projects to keep them isolated (to keep the provenance of other projects > cleaner) and to make it possible to choose whether to install them more > easily. Ok. Splitting in multiple sub packages should make it easier to handle this, otherwise, based on your comments, I would have just not installed them on a final package :-) >> The warnings from fedora-review are issues that I can easily handle, >> for example, \r\n line endings on some files, sources with executable bit >> set, etc. These may be of special interest: >> >> coin-or.x86_64: W: no-manual-page-for-binary cbc >> coin-or.x86_64: W: no-manual-page-for-binary blis >> coin-or.x86_64: W: no-manual-page-for-binary symphony >> coin-or.x86_64: W: no-manual-page-for-binary clp >> coin-or.x86_64: W: no-manual-page-for-binary OSSolverService >> >> help2man is not of much use for these, but it should be easy to create >> simple manpages based on documentation. > > > Yes, this should be asy to do. > >> >> Another issue, I see that the COIN-OR-1.6.2-linux-x86_64-gcc4.4.5.tar.gz >> tarball does not distribute the AUTHORS, README and LICENSE files, >> but does distribute several pdf files. I do not see a make target to >> create >> those, but I may be missing something trivial. > > > You are correct that there is no target to create the PDF files that are > part of these, but we could create a target for that pretty easily. I'm not > sure what you mean about the tarball not distributing AUTHORS, README, etc. I mean't: $ tar ztvf COIN-OR-1.6.2-linux-x86_64-gcc4.4.5.tar.gz|egrep '(README|LICENSE|AUTHORS)' -rwxr-xr-x ted/ted 94 2012-02-22 14:23 COIN-OR/examples/branchCutPriceAUTHORS -rwxr-xr-x ted/ted 11611 2012-02-22 14:23 COIN-OR/examples/branchCutPriceLICENSE that is, comparing contents of the generated package (from make install) and contents of the binary distribution. > Those should be installed for each project in the /share/doc directory. I will try to rework it a bit to install in the usual rpm documentation directory /usr/share/doc/%{name}-%{version} >> The initial package is at: >> Spec: http://fedorapeople.org/~pcpa/coin-or.spec >> SRPM: http://fedorapeople.org/~pcpa/coin-or-1.6.0-1.fc19.src.rpm > > > Keep us posted and we'll be happy to help in whatever way we can. Ok. I will try to come with a more detailed packaging plan and/or prototype in the next few days. > Ted > -- > Dr. Ted Ralphs > Associate Professor, Lehigh University > (610) 628-1280 > ted 'at' lehigh 'dot' edu > coral.ie.lehigh.edu/~ted Thanks, Paulo _______________________________________________ scitech mailing list scitech@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/scitech