Bug 436033 - Review Request: mona - a solver for the WS1S and WS2S logics
Summary: Review Request: mona - a solver for the WS1S and WS2S logics
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-03-04 22:14 UTC by Jerry James
Modified: 2008-05-07 19:59 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-05-07 19:59:27 UTC
Type: ---
Embargoed:
rjones: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Jerry James 2008-03-04 22:14:23 UTC
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.

Comment 1 Jason Tibbitts 2008-03-06 23:01:41 UTC
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

Comment 2 Jerry James 2008-03-10 21:50:55 UTC
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


Comment 3 Richard W.M. Jones 2008-05-01 15:17:08 UTC
Taking for review.

Comment 4 Richard W.M. Jones 2008-05-02 07:41:27 UTC
+ 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.

Comment 5 Jerry James 2008-05-05 20:45:53 UTC
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


Comment 6 Richard W.M. Jones 2008-05-06 12:52:06 UTC
OK, I've read the MultilibTricks page now, and I approved (either version).

=========

APPROVED.

Comment 7 Jerry James 2008-05-06 16:21:40 UTC
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.


Comment 8 Jerry James 2008-05-06 16:23:11 UTC
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

Comment 9 Kevin Fenzi 2008-05-06 20:54:40 UTC
cvs done.


Note You need to log in before you can comment on or make changes to this bug.