Spec URL: http://jjames.fedorapeople.org/mona/mona.spec SRPM URL: http://jjames.fedorapeople.org/mona/mona-1.4r9-1.src.rpm Description: MONA is a tool that translates formulas in the logics WS1S and WS2S into finite-state automata represented by BDDs. The formulas may express search patterns, temporal properties of reactive systems, parse tree constraints, etc. MONA also analyzes the automaton resulting from the compilation, and determines whether the formula is valid and, if the formula is not valid, generates a counterexample. Upstream produces a single binary. I have patched the build system to split out the guts as libraries. I did this because I am aware of multiple other projects that ship the MONA sources with their projects specifically so they can get access to those guts (e.g., the formal proof assistant PVS). I am working with upstream (the differences between 1.4-8 and 1.4-9 are largely my doing), and will try to get this change incorporated as well.
You might want to check the emacs packaging guidelines for info on packaging emacs and xemacs stuff. For example, your package seems to be missing dependencies on the actual emacs interpreters. http://fedoraproject.org/wiki/Packaging/Emacs
Thanks. Also, upstream accepted the rest of my patches and pushed a new version, and I realized that some people might want the examples, so I put them into a subpackage as well. Let me address two rpmlint complaints. First, the -devel subpackage does not depend on the main package. That is because it depends on the -libs subpackage, where its true dependencies lie. I was urged to split out -libs as a subpackage for multiarch reasons, but it seems that rpmlint doesn't recognize this use. Second, rpmlint complains about an undefined non-weak symbol "guide" in the libmonagta library. That is upstream's doing; that symbol has to be defined by anything that links with this library. I'll look into refactoring the code so that we can avoid this, but for this release, that rpmlint warning is unavoidable. Spec URL: http://jjames.fedorapeople.org/mona/mona.spec SRPM URL: http://jjames.fedorapeople.org/mona/mona-1.4r10-1.src.rpm
Taking for review.
+ rpmlint output mona-devel.i386: W: no-documentation mona-emacs.i386: W: no-documentation mona-emacs-el.i386: W: no-documentation mona-libs.i386: W: no-documentation mona-xemacs.i386: W: no-documentation mona-xemacs-el.i386: W: no-documentation mona-devel.i386: W: no-dependency-on mona This one is caused because you've split the libraries into a 'libs' subpackage. This is wrong. *.so should go in devel subpackage. *.so.* should go in the main package. + package name satisfies the packaging naming guidelines + specfile name matches the package base name + package should satisfy packaging guidelines + license meets guidelines and is acceptable to Fedora + license matches the actual package license + %doc includes license file + spec file written in American English + spec file is legible + upstream sources match sources in the srpm 47842cbed7ee11310ef9747ef0d0d42c + package successfully builds on at least one architecture i386 n/a ExcludeArch bugs filed + BuildRequires list all build dependencies n/a %find_lang instead of %{_datadir}/locale/* + binary RPM with shared library files must call ldconfig in %post and %postun + does not use Prefix: /usr + package owns all directories it creates + no duplicate files in %files + %defattr line + %clean contains rm -rf $RPM_BUILD_ROOT + consistent use of macros + package must contain code or permissible content n/a large documentation files should go in -doc subpackage + files marked %doc should not affect package appear to be just examples that shouldn't affect anything + header files should be in -devel n/a static libraries should be in -static n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig' - libfoo.so must go in -devel *.so should go in devel subpackage. *.so.* should go in the main package. - -devel must require the fully versioned base Depends on -libs, should depend on base. + packages should not contain libtool .la files n/a packages containing GUI apps must include %{name}.desktop file + packages must not own files or directories owned by other packages + %install must start with rm -rf %{buildroot} etc. + filenames must be valid UTF-8 Optional: n/a if there is no license file, packager should query upstream n/a translations of description and summary for non-English languages, if available + reviewer should build the package in mock + the package should build into binary RPMs on all supported architectures reviewer built it in Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=592445 - review should test the package functions as described + scriptlets should be sane n/a pkgconfig files should go in -devel n/a shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin ========================= Please fix the -libs thing as described above.
As described in comment #2, the -libs subpackage was supposed to address multiarch issues, as described here: http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks However, I have made the change as requested. New versions are here: Spec: http://jjames.fedorapeople.org/mona/mona.spec SRPM: http://jjames.fedorapeople.org/mona/mona-1.4r10-2.src.rpm
OK, I've read the MultilibTricks page now, and I approved (either version). ========= APPROVED.
Thanks, Richard. I appreciate your help. I'll go with the first version, then, to avoid multiarch problems later on when I get some programs that use the -libs into Fedora.
New Package CVS Request ======================= Package Name: mona Short Description: A decision procedure for the WS1S and WS2S logics Owners: jjames Branches: F-8 F-9 InitialCC: Cvsextras Commits: yes
cvs done.