Bug 491712 - (ocaml-mlgmpidl) Review Request: ocaml-mlgmpidl - OCaml interface to GMP and MPFR libraries
Review Request: ocaml-mlgmpidl - OCaml interface to GMP and MPFR libraries
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Richard W.M. Jones
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-23 13:42 EDT by Alan Dunn
Modified: 2009-03-31 16:39 EDT (History)
4 users (show)

See Also:
Fixed In Version: 1.0-1.fc10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-03-31 16:33:20 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rjones: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Alan Dunn 2009-03-23 13:42:37 EDT
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 07:07:06 EDT
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 07:20:02 EDT
+ 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 08:00:56 EDT
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 08:22:04 EDT
OK that fixes the problem.

----------------------------------
This package is APPROVED by rjones
----------------------------------
Comment 5 Alan Dunn 2009-03-25 08:30:02 EDT
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 16:21:44 EDT
cvs done.
Comment 7 Fedora Update System 2009-03-29 19:42:56 EDT
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 19:43:01 EDT
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 16:33:14 EDT
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 16:39:22 EDT
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.