Bug 491712 (ocaml-mlgmpidl) - Review Request: ocaml-mlgmpidl - OCaml interface to GMP and MPFR libraries
Summary: Review Request: ocaml-mlgmpidl - OCaml interface to GMP and MPFR libraries
Keywords:
Status: CLOSED NEXTRELEASE
Alias: ocaml-mlgmpidl
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: 2009-03-23 17:42 UTC by Alan Dunn
Modified: 2009-03-31 20:39 UTC (History)
4 users (show)

Fixed In Version: 1.0-1.fc10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-03-31 20:33:20 UTC
rjones: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Alan Dunn 2009-03-23 17:42:37 UTC
Spec URL: http://www.phy.duke.edu/~amd34/mlgmpidl/ocaml-mlgmpidl.spec
SRPM URL: http://www.phy.duke.edu/~amd34/mlgmpidl/ocaml-mlgmpidl-1.0-1.fc10.src.rpm
Description: OCaml interface to GMP and MPFR libraries

MLGMPIDL is an OCaml interface to the GMP and MPFR rational and real
number math libraries. Although there is another such interface, this
one is different in that it provides a more imperative (rather than
functional) interface to conserve memory and that this one uses
CAMLIDL to take care of the C/OCaml interface in a convenient and
modular way.

I have tested this package in F-10. It builds on Koji (http://koji.fedoraproject.org/koji/taskinfo?taskID=1214252). The rpmlint output is as follows:

ocaml-mlgmpidl.i386: W: unstripped-binary-or-object /usr/bin/gmptop
ocaml-mlgmpidl.i386: W: ocaml-mixed-executable /usr/bin/gmptop
ocaml-mlgmpidl.i386: W: conffile-without-noreplace-flag /etc/prelink.conf.d/ocaml-mlgmpidl-prelink.conf
ocaml-mlgmpidl-devel.i386: W: no-documentation

I am under the impression that the first three are ok: gmptop is an OCaml toplevel with the library's capabilities built in.

If desired, I can include some form of stub documentation for ocaml-mlgmpidl-devel, but there is a doc package that has the program documentation.

I would also appreciate comments on whether I should be going back and modifying the package's makefile to attempt to build libgmp_caml.a as a shared object - I believe this would be necessary to allow gmp.cma to be loaded dynamically.

Comment 1 Richard W.M. Jones 2009-03-25 11:07:06 UTC
Koji scratch-build in Rawhide:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1257820

/usr/bin/gmptop is an OCaml toplevel, but is protected from
being damaged by prelink .. Good.

$ hexdump -C /usr/bin/gmptop  | tail -3
00239d20  00 0e 23 44 42 55 47 00  0d 2c 9f 00 00 00 06 43  |..#DBUG..,.....C|
00239d30  61 6d 6c 31 39 39 39 58  30 30 38                 |aml1999X008|
00239d3b

> I would also appreciate comments on whether I should be going back and
> modifying the package's makefile to attempt to build libgmp_caml.a as a shared
> object - I believe this would be necessary to allow gmp.cma to be loaded
> dynamically.  

I have no idea about this, but it shouldn't affect the review.

Comment 2 Richard W.M. Jones 2009-03-25 11:20:02 UTC
+ rpmlint output

rpmlint output all looks fine, and the things it notices
can be ignored.

+ 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
  LGPLv2 (not +)
+ %doc includes license file
+ spec file written in American English
+ spec file is legible
+ upstream sources match sources in the srpm
  63ec244511e58bd1cbf5513dc7aaad8e 169186
+ package successfully builds on at least one architecture
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

  Package should own %{my_ocaml_lib_dir}.
  Then %files should add %exclude lines for everything in -devel.
  See the example: http://fedoraproject.org/w/uploads/5/5c/Packaging_OCaml_ocaml-foolib.spec

+ 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
+ large documentation files should go in -doc subpackage
+ files marked %doc should not affect package
n/a header files should be in -devel
n/a static libraries should be in -static
n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
n/a libfoo.so must go in -devel
+ -devel must require the fully versioned base
n/a 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
- review should test the package functions as described
n/a scriptlets should be sane
n/a pkgconfig files should go in -devel
+ shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin

------------

Please fix the directory ownership issue.

Comment 3 Alan Dunn 2009-03-25 12:00:56 UTC
Should be fixed now in files at the same location (though in this case, unlike in the example, %{my_ocaml_lib_dir}/*.a should be excluded from main and put into devel in not just opt build due to libgmp_caml.a)

(In reply to comment #2)
> + rpmlint output
> 
> rpmlint output all looks fine, and the things it notices
> can be ignored.
> 
> + 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
>   LGPLv2 (not +)
> + %doc includes license file
> + spec file written in American English
> + spec file is legible
> + upstream sources match sources in the srpm
>   63ec244511e58bd1cbf5513dc7aaad8e 169186
> + package successfully builds on at least one architecture
> 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
> 
>   Package should own %{my_ocaml_lib_dir}.
>   Then %files should add %exclude lines for everything in -devel.
>   See the example:
> http://fedoraproject.org/w/uploads/5/5c/Packaging_OCaml_ocaml-foolib.spec
> 
> + 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
> + large documentation files should go in -doc subpackage
> + files marked %doc should not affect package
> n/a header files should be in -devel
> n/a static libraries should be in -static
> n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
> n/a libfoo.so must go in -devel
> + -devel must require the fully versioned base
> n/a 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
> - review should test the package functions as described
> n/a scriptlets should be sane
> n/a pkgconfig files should go in -devel
> + shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or
> /usr/sbin
> 
> ------------
> 
> Please fix the directory ownership issue.

Comment 4 Richard W.M. Jones 2009-03-25 12:22:04 UTC
OK that fixes the problem.

----------------------------------
This package is APPROVED by rjones
----------------------------------

Comment 5 Alan Dunn 2009-03-25 12:30:02 UTC
New Package CVS Request
=======================
Package Name: ocaml-mlgmpidl
Short Description: OCaml interface to GMP and MPFR libraries
Owners: amdunn
Branches: F-9 F-10

Comment 6 Kevin Fenzi 2009-03-27 20:21:44 UTC
cvs done.

Comment 7 Fedora Update System 2009-03-29 23:42:56 UTC
ocaml-mlgmpidl-1.0-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/ocaml-mlgmpidl-1.0-1.fc10

Comment 8 Fedora Update System 2009-03-29 23:43:01 UTC
ocaml-mlgmpidl-1.0-1.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/ocaml-mlgmpidl-1.0-1.fc9

Comment 9 Fedora Update System 2009-03-31 20:33:14 UTC
ocaml-mlgmpidl-1.0-1.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2009-03-31 20:39:22 UTC
ocaml-mlgmpidl-1.0-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.


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