Bug 2028188 - Review Request: ocaml-mtime - Monotonic wall-clock time for OCaml
Summary: Review Request: ocaml-mtime - Monotonic wall-clock time for OCaml
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Olivier Lemasle
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-12-01 16:55 UTC by Jerry James
Modified: 2021-12-04 18:37 UTC (History)
2 users (show)

Fixed In Version: ocaml-mtime-1.3.0-1.fc36
Clone Of:
Environment:
Last Closed: 2021-12-04 18:37:31 UTC
Type: ---
Embargoed:
o.lemasle: fedora-review+


Attachments (Terms of Use)

Description Jerry James 2021-12-01 16:55:47 UTC
Spec URL: https://jjames.fedorapeople.org/ocaml-mtime/ocaml-mtime.spec
SRPM URL: https://jjames.fedorapeople.org/ocaml-mtime/ocaml-mtime-1.3.0-1.fc36.src.rpm
Fedora Account System Username: jjames
Description: Mtime has platform independent support for monotonic wall-clock time in pure OCaml.  This time increases monotonically and is not subject to operating system calendar time adjustments.  The library has types to represent nanosecond precision timestamps and time spans.

The additional Mtime_clock library provide access to a system monotonic clock.

Mtime has no dependencies.  Mtime_clock depends on your system library.

Comment 1 Olivier Lemasle 2021-12-03 18:17:27 UTC
- Package ocaml-mtime-devel includes both /usr/lib64/ocaml/mtime/mtime.ml and /usr/lib64/ocaml/mtime/mtime.mli, whereas the Fedora OCaml Packaging Guidelines state that for the -devel subpackage:

> .ml files are not normally included. The exception is if the file describes a module
> signature and there is no corresponding .mli file, then the .ml file should be
> included. (Note that Debian is more permissive and they often distribute *.ml files,
> allowing the programmer to peek at the implementation of a module).

Not being an OCaml developer, could you please tell me if there's a good reason to include the .ml file here?

- The tests are not executed, but only because they depend on non-packaged dependency.

Otherwise:

- Latest version is packaged (1.3.0)
- License ISC OK
- Package name OK
- Package builds in mock
- The spec, including changelog, conforms to the Packaging Guidelines and the OCaml Packaging Guidelines


Rpmlint results:

ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/.dwz/ocaml-mtime-1.3.0-1.fc36.x86_64
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/mtime/mtime.cmxs-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/mtime/mtime_top.cmxs-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/mtime/os/mtime_clock.cmxs-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/stublibs/dllmtime_clock_stubs.so-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: statically-linked-binary /usr/lib/debug/.dwz/ocaml-mtime-1.3.0-1.fc36.x86_64
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/mtime.a
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/mtime_top.a
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/os/libmtime_clock_stubs.a
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/os/mtime_clock.a
ocaml-mtime.x86_64: E: shared-library-without-dependency-information /usr/lib64/ocaml/mtime/mtime.cmxs
ocaml-mtime.x86_64: E: shared-library-without-dependency-information /usr/lib64/ocaml/mtime/mtime_top.cmxs
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/mtime/mtime.cmxs-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/mtime/mtime_top.cmxs-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/mtime/os/mtime_clock.cmxs-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/stublibs/dllmtime_clock_stubs.so-1.3.0-1.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: no-documentation
ocaml-mtime-debugsource.x86_64: W: no-documentation
ocaml-mtime-devel.x86_64: W: no-documentation
ocaml-mtime-debuginfo.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/debug/.dwz/ocaml-mtime-1.3.0-1.fc36.x86_64
ocaml-mtime-debuginfo.x86_64: W: hidden-file-or-dir /usr/lib/debug/.dwz
ocaml-mtime-debuginfo.x86_64: W: hidden-file-or-dir /usr/lib/debug/.dwz
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/8f/5e93351c169bac26642209d7f84aa368fb1e74 ../../../.build-id/8f/5e93351c169bac26642209d7f84aa368fb1e74
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/cb/b576aa886fcb61d053f8be68bd22734bd0b8b4 ../../../.build-id/cb/b576aa886fcb61d053f8be68bd22734bd0b8b4
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/df/3cce89fc1a859dcd0c2c2fa21c5e2dc1b872ba ../../../.build-id/df/3cce89fc1a859dcd0c2c2fa21c5e2dc1b872ba
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/e9/e21ef5c86e3fed27a26ee75b248b90f504ec5e ../../../.build-id/e9/e21ef5c86e3fed27a26ee75b248b90f504ec5e

Comment 2 Jerry James 2021-12-03 20:48:46 UTC
You're right about the .ml files.  I was thinking the toplevel-related .ml files might be needed, but it looks like that is not the case.  I have removed them from the package.

The rpmlint messages did turn up the fact that the shared objects were not linked with Fedora linker flags.  I have corrected that, but some of the rpmlint warnings remain.  That's because most of the shared objects only need symbols from the OCaml runtime, not the C library, and rpmlint issues warnings and errors about such shared objects.  However, there is no error here.  The shared objects function as they should.

New URLs:

Spec URL: https://jjames.fedorapeople.org/ocaml-mtime/ocaml-mtime.spec
SRPM URL: https://jjames.fedorapeople.org/ocaml-mtime/ocaml-mtime-1.3.0-2.fc36.src.rpm

Comment 3 Olivier Lemasle 2021-12-03 22:41:34 UTC
Thanks for the changes.

Package is APPROVED.

rpmlint results:

ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/.dwz/ocaml-mtime-1.3.0-2.fc36.x86_64
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/mtime/mtime.cmxs-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/mtime/mtime_top.cmxs-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/mtime/os/mtime_clock.cmxs-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/ocaml/stublibs/dllmtime_clock_stubs.so-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: statically-linked-binary /usr/lib/debug/.dwz/ocaml-mtime-1.3.0-2.fc36.x86_64
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/mtime.a
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/mtime_top.a
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/os/libmtime_clock_stubs.a
ocaml-mtime-devel.x86_64: E: static-library-without-debuginfo /usr/lib64/ocaml/mtime/os/mtime_clock.a
ocaml-mtime.x86_64: E: shared-library-without-dependency-information /usr/lib64/ocaml/mtime/mtime_top.cmxs
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/mtime/mtime.cmxs-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/mtime/mtime_top.cmxs-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/mtime/os/mtime_clock.cmxs-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: E: shared-library-without-dependency-information /usr/lib/debug/usr/lib64/ocaml/stublibs/dllmtime_clock_stubs.so-1.3.0-2.fc36.x86_64.debug
ocaml-mtime-debuginfo.x86_64: W: no-documentation
ocaml-mtime-debugsource.x86_64: W: no-documentation
ocaml-mtime-devel.x86_64: W: no-documentation
ocaml-mtime-debuginfo.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/debug/.dwz/ocaml-mtime-1.3.0-2.fc36.x86_64
ocaml-mtime.x86_64: W: library-not-linked-against-libc /usr/lib64/ocaml/mtime/mtime.cmxs
ocaml-mtime-debuginfo.x86_64: W: hidden-file-or-dir /usr/lib/debug/.dwz
ocaml-mtime-debuginfo.x86_64: W: hidden-file-or-dir /usr/lib/debug/.dwz
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/58/02de16afd17908e49f466dd8c06c01cf104898 ../../../.build-id/58/02de16afd17908e49f466dd8c06c01cf104898
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/5b/22d5407ad74465f83cf77c62eae821504ac4af ../../../.build-id/5b/22d5407ad74465f83cf77c62eae821504ac4af
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/7f/ebeb394e23480d94bd78d873fd105241770073 ../../../.build-id/7f/ebeb394e23480d94bd78d873fd105241770073
ocaml-mtime-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/f3/c4a3da29daf2c3d28888c7ce7636196920e230 ../../../.build-id/f3/c4a3da29daf2c3d28888c7ce7636196920e230

Comment 4 Jerry James 2021-12-04 01:35:51 UTC
Thank you for the review!  https://pagure.io/releng/fedora-scm-requests/issue/38806

Comment 5 Gwyn Ciesla 2021-12-04 04:47:16 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/ocaml-mtime

Comment 6 Jerry James 2021-12-04 18:37:31 UTC
This package has been built in Rawhide.


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