Spec URL: http://jjames.fedorapeople.org/dsdp/DSDP.spec SRPM URL: http://jjames.fedorapeople.org/dsdp/DSDP-5.8-1.fc15.src.rpm Description: DSDP is a free open source implementation of an interior-point method for semidefinite programming. It provides primal and dual solutions, exploits low-rank structure and sparsity in the data, and has relatively low memory requirements for an interior-point method. It allows feasible and infeasible starting points and provides approximate certificates of infeasibility when no feasible solution exists. The dual-scaling algorithm implemented in this package has a convergence proof and worst-case polynomial complexity under mild assumptions on the data. The software can be used as a set of subroutines, through Matlab, or by reading and writing to data files. Furthermore, the solver offers scalable parallel performance for large problems and a well documented interface. Some of the most popular applications of semidefinite programming and linear matrix inequalities (LMI) are model control, truss topology design, and semidefinite relaxations of combinatorial and global optimization problems. This package is needed to enable an optional set of functionality in the existing python-cvxopt package, which I maintain. Although DSDP upstream appears to be dormant or dead, I am willing to maintain this package for the sake of python-cvxopt.
I built it under mock for x86_64 since I'm still running F14. Here's the rpmlint output: $ rpmlint DSDP.spec DSDP-5.8-1.fc15.src.rpm DSDP-5.8-1.fc15.*.rpm DSDP.spec: W: invalid-url Source1: DSDP-man.tar.xz DSDP.src: W: spelling-error Summary(en_US) semidefinite -> semi definite, semi-definite, definiteness DSDP.src: W: spelling-error %description -l en_US semidefinite -> semi definite, semi-definite, definiteness DSDP.src: W: invalid-url Source1: DSDP-man.tar.xz DSDP.src: W: spelling-error Summary(en_US) semidefinite -> semi definite, semi-definite, definiteness DSDP.src: W: spelling-error %description -l en_US semidefinite -> semi definite, semi-definite, definiteness DSDP.src: W: invalid-url Source1: DSDP-man.tar.xz DSDP.x86_64: W: spelling-error Summary(en_US) semidefinite -> semi definite, semi-definite, definiteness DSDP.x86_64: W: spelling-error %description -l en_US semidefinite -> semi definite, semi-definite, definiteness DSDP.x86_64: W: shared-lib-calls-exit /usr/lib64/libdsdp.so.5.8 exit.5 DSDP.x86_64: E: non-standard-executable-perm /usr/lib64/libdsdp.so.5.8 0775L 3 packages and 1 specfiles checked; 1 errors, 10 warnings. I'm thinking we should fix the error. Maybe change the "cp -p" to "install -p -m 0755..." I made the change and it worked. I also did this for the DSDP-exmples after I realized I forgot to run rpmlint on those packages as well. I'm not sure what we should do about the last warning... --- $ rpmlint -I shared-lib-calls-exit shared-lib-calls-exit: This library package calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library function calls exit(), it prevents the calling program from handling the error, reporting it to the user, closing files properly, and cleaning up any state that the program has. It is preferred for the library to return an actual error code and let the calling program decide how to handle the situation. --- Is this a problem?
Working my way down the MUST list: MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. I can't find anywhere where the license type is specified. The license file just says it's ok to use/distribute as long as the license file is included. I didn't find any evidence of a MIT license in the source files either using grep. Perhaps it would be better to use: "Freely redistributable without restriction" per the guidelines[1]? More when I have time... Richard [1] http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#.22Distributable.22
Thanks for the review, Richard. (In reply to comment #1) > DSDP.x86_64: E: non-standard-executable-perm /usr/lib64/libdsdp.so.5.8 0775L > 3 packages and 1 specfiles checked; 1 errors, 10 warnings. > > I'm thinking we should fix the error. Maybe change the "cp -p" to "install -p > -m 0755..." Interesting. I don't get that when building on a real F15 machine (i.e., not mock). I wonder what the difference is. Anyhow, I've gone with your suggested change. > I'm not sure what we should do about the last warning... > --- > $ rpmlint -I shared-lib-calls-exit Complain bitterly to upstream. Seriously. I can't do anything about this without changing the library's API. This is a bad thing for a library to do, but repairing it is upstream's job. (In reply to comment #2) > I can't find anywhere where the license type is specified. The license file > just says it's ok to use/distribute as long as the license file is included. I > didn't find any evidence of a MIT license in the source files either using > grep. > > Perhaps it would be better to use: > "Freely redistributable without restriction" per the guidelines[1]? It is not identified specifically as MIT, no. I just compared the terms in dsdp-license to the various MIT variants listed here: https://fedoraproject.org/wiki/Licensing/MIT This license appears to me to be substantially similar. Still, we should proceed with caution. I'll ask about this license on fedora-legal-list.
(In reply to comment #3) > Thanks for the review, Richard. No problem! > (In reply to comment #1) > > DSDP.x86_64: E: non-standard-executable-perm /usr/lib64/libdsdp.so.5.8 0775L > > 3 packages and 1 specfiles checked; 1 errors, 10 warnings. > > > > I'm thinking we should fix the error. Maybe change the "cp -p" to "install -p > > -m 0755..." > > Interesting. I don't get that when building on a real F15 machine (i.e., not > mock). I wonder what the difference is. Anyhow, I've gone with your suggested > change. I wonder if it's a difference in rpmlint between F14 and F15? I would think they would be the same though. I'm building under mock, which is what koji does, right? So they should get identical results... Either way install "fixes" it. > > I'm not sure what we should do about the last warning... > > --- > > $ rpmlint -I shared-lib-calls-exit > > Complain bitterly to upstream. Seriously. I can't do anything about this > without changing the library's API. This is a bad thing for a library to do, > but repairing it is upstream's job. Works for me. Is there an upstream to complain to? There didn't seem to be much activity on the project anymore... > (In reply to comment #2) > > I can't find anywhere where the license type is specified. The license file > > just says it's ok to use/distribute as long as the license file is included. I > > didn't find any evidence of a MIT license in the source files either using > > grep. > > > > Perhaps it would be better to use: > > "Freely redistributable without restriction" per the guidelines[1]? > > It is not identified specifically as MIT, no. I just compared the terms in > dsdp-license to the various MIT variants listed here: > https://fedoraproject.org/wiki/Licensing/MIT > > This license appears to me to be substantially similar. Still, we should > proceed with caution. I'll ask about this license on fedora-legal-list. Ok! Thanks, Richard
(In reply to comment #4) > I wonder if it's a difference in rpmlint between F14 and F15? I would think > they would be the same though. I'm building under mock, which is what koji > does, right? So they should get identical results... Either way install "fixes" > it. Yes, that's what koji does, so the fix is necessary. > Works for me. Is there an upstream to complain to? There didn't seem to be much > activity on the project anymore... It certainly looks dead. I'll try sending email anyway and see if I get a response.
Go ahead and post an updated spec while we wait for legal and I'll review everything else but the licensing.
OK. All that has changed is cp -> install. Spec URL: http://jjames.fedorapeople.org/dsdp/DSDP.spec SRPM URL: http://jjames.fedorapeople.org/dsdp/DSDP-5.8-2.fc15.src.rpm
That's what I figured but didn't want to ASSume :)
Ok, I added a category since I'm still learning here and I used it on all of the licensing stuff until that gets straightened out. +: OK -: must be fixed =: should be fixed (at your discretion) ?: Question or clairification needed N: not applicable MUST: [=] rpmlint output: shown in comment: shared-lib-calls-exit (only upstream can fix) [+] follows package naming guidelines [+] spec file base name matches package name [=] package meets the packaging guidelines [?] package uses a Fedora approved license: Elevated to Fedora Legal [?] license field matches the actual license [+] license file is included in %doc [+] spec file is in American English [+] spec file is legible [+] sources match upstream: md5sum "37c15a3c6c3f13e31262f65ac4364b5e" for both. [+] package builds on at least one primary arch (F14 x86_64 & i686, F15 x86_64) [N] appropriate use of ExcludeArch [+] all build requirements in BuildRequires [+] spec file handles locales properly [+] ldconfig in %post and %postun [+] no bundled copies of system libraries [N] no relocatable packages [+] package owns all directories that it creates [+] no files listed twice in %files [+] proper permissions on files [+] consistent use of macros [+] code or permissible content [N] large documentation in -doc [+] no runtime dependencies in %doc [+] header files in -devel [N] static libraries in -static [+] .so in -devel [+] -devel requires main package [+] package contains no libtool archives [N] package contains a desktop file, uses desktop-file-install [+] package does not own files/dirs owned by other packages [+] all filenames in UTF-8 SHOULD: [?] query upstream for license text [N] description and summary contains available translations [+] package builds in mock [+] package builds on all supported arches [+] package functions as described: Ran binary and help was displayed [+] sane scriptlets [+] subpackages require the main package [N] placement of pkgconfig files [N] file dependencies versus package dependencies [+] package contains man pages for binaries/scripts
I got a response. We're to call this license "DSDP". I made that change, but didn't bump the release number again, so the URLs are the same as before. (I hope that's okay.) Under SHOULD, I don't need to query upstream for the license text, because it is already included in the file "dsdp-license".
Yup. I only added the ? under SHOULD since it would be nice if they converted to a more common license but OHWELL :) Spec file looks good so your package is approved!
New Package SCM Request ======================= Package Name: DSDP Short Description: Software for semidefinite programming Owners: jjames Branches: f14 f15 InitialCC:
Git done (by process-git-requests).
DSDP-5.8-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/DSDP-5.8-2.fc15
DSDP-5.8-2.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/DSDP-5.8-2.fc14
DSDP-5.8-2.fc14 has been pushed to the Fedora 14 testing repository.
DSDP-5.8-2.fc15 has been pushed to the Fedora 15 stable repository.
DSDP-5.8-2.fc14 has been pushed to the Fedora 14 stable repository.