Bug 1183195 - Review Request: ocaml-uutf - Non-blocking streaming codec for UTF-8, UTF-16, UTF-16LE and UTF-16BE
Summary: Review Request: ocaml-uutf - Non-blocking streaming codec for UTF-8, UTF-16, ...
Keywords:
Status: CLOSED DUPLICATE of bug 1790146
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1183825 1185099
TreeView+ depends on / blocked
 
Reported: 2015-01-17 00:53 UTC by Jon Ludlam
Modified: 2020-01-12 05:09 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-01-12 05:09:42 UTC
Type: ---
Embargoed:
rjones: fedora-review?


Attachments (Terms of Use)

Description Jon Ludlam 2015-01-17 00:53:39 UTC
Spec URL: http://www.recoil.org/~jon/ocaml-uutf.spec
SRPM URL: http://www.recoil.org/~jon/ocaml-uutf-0.9.3-4.fc21.src.rpm
Description:
Uutf is an non-blocking streaming Unicode codec for OCaml to decode and
encode the UTF-8, UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can
efficiently work character by character without blocking on IO. Decoders
perform character position tracking and support newline normalization.

Functions are also provided to fold over the characters of UTF encoded
OCaml string values and to directly encode characters in OCaml Buffer.t
values.

Uutf is made of a single, independent, module and distributed under the
BSD license.

Fedora Account System Username: jonludlam

Comment 1 Jon Ludlam 2015-01-17 00:54:31 UTC
koji link: http://koji.fedoraproject.org/koji/taskinfo?taskID=8648292

Comment 2 Richard W.M. Jones 2015-01-23 18:16:09 UTC
Patch file should probably be named '<something>.patch'.

You're defining 'native_compiler' but not actually using it.

Comment 3 Jon Ludlam 2015-01-24 22:36:39 UTC
Thanks Richard. Fixed.

Spec URL: http://www.recoil.org/~jon/ocaml-uutf.spec
SRPM URL: http://www.recoil.org/~jon/ocaml-uutf-0.9.3-5.fc21.src.rpm

Comment 4 Richard W.M. Jones 2015-02-24 10:37:38 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[-]: Package does not contain kernel modules.
[-]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[-]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[!]: License field in the package spec file matches the actual license.

I think you need to find out from upstream what on earth "BSD3" means,
ie. what precise license this is under, check that against the Fedora
licenses, and also include a license file in the package.

[!]: License file installed when any subpackage combination is installed.
[-]: %build honors applicable compiler flags or justifies otherwise.

Build system looks crazy, so it's probably impossible to use
regular %{configure} or %{_smp_mflags}.

[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[-]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[-]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.

Ocaml:
[x]: This should never happen

===== SHOULD items =====

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[ ]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.

See comment above.

[x]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in ocaml-uutf-
     devel

You probably need to add %{?_isa} as described.

[x]: Package functions as described.
[x]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[-]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[ ]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: ocaml-uutf-0.9.3-5.fc21.x86_64.rpm
          ocaml-uutf-devel-0.9.3-5.fc21.x86_64.rpm
          ocaml-uutf-0.9.3-5.fc21.src.rpm
ocaml-uutf.x86_64: W: spelling-error Summary(en_US) codec -> codex, code, codes
ocaml-uutf.x86_64: W: spelling-error %description -l en_US codec -> codex, code, codes
ocaml-uutf-devel.x86_64: W: no-documentation
ocaml-uutf.src: W: spelling-error Summary(en_US) codec -> codex, code, codes
ocaml-uutf.src: W: spelling-error %description -l en_US codec -> codex, code, codes
3 packages and 0 specfiles checked; 0 errors, 5 warnings.




Requires
--------
ocaml-uutf-devel (rpmlib, GLIBC filtered):
    ocaml-uutf

ocaml-uutf (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    ocaml(Array)
    ocaml(Buffer)
    ocaml(Char)
    ocaml(Format)
    ocaml(Int32)
    ocaml(Obj)
    ocaml(Pervasives)
    ocaml(Printf)
    ocaml(String)
    ocaml(runtime)
    rtld(GNU_HASH)



Provides
--------
ocaml-uutf-devel:
    ocaml-uutf-devel
    ocaml-uutf-devel(x86-64)

ocaml-uutf:
    ocaml(Uutf)
    ocaml-uutf
    ocaml-uutf(x86-64)



Source checksums
----------------
https://github.com/dbuenzli/uutf/archive/v0.9.3/uutf-0.9.3.tar.gz :
  CHECKSUM(SHA256) this package     : 51c8b96b33949397ab6db50029d925400634b41fb74b91db85875e297562788a
  CHECKSUM(SHA256) upstream package : 51c8b96b33949397ab6db50029d925400634b41fb74b91db85875e297562788a


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -b 1183195
Buildroot used: fedora-21-x86_64
Active plugins: Generic, Shell-api, Ocaml, C/C++
Disabled plugins: Java, Python, SugarActivity, fonts, Haskell, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 5 Jon Ludlam 2015-02-24 14:33:50 UTC
Thanks! BSD3 refers to the 3-clause BSD. The license is included in the source repo, but only as comments in the source files rather than as a separate file (e.g. https://github.com/dbuenzli/uutf/blob/master/src/uutf.ml#L779-L810). I have extracted this into a separate file and included it as a new SOURCE. I've also fixed the missing {?_isa}.

Spec URL: http://www.recoil.org/~jon/ocaml-uutf.spec
SRPM URL: http://www.recoil.org/~jon/ocaml-uutf-0.9.3-6.fc21.src.rpm

Comment 6 Upstream Release Monitoring 2015-10-21 23:38:34 UTC
jonludlam's scratch build of ocaml-uutf-0.9.4-1.fc23.src.rpm for f23 failed http://koji.fedoraproject.org/koji/taskinfo?taskID=11536924

Comment 7 Jon Ludlam 2015-10-21 23:39:13 UTC
New upstream release.

Spec URL: http://www.recoil.org/~jon/ocaml-uutf.spec
SRPM URL: http://www.recoil.org/~jon/ocaml-uutf-0.9.4-1.fc23.src.rpm

Comment 8 Jon Ludlam 2015-10-21 23:42:37 UTC
Koji build failed as it needs ocaml-cmdliner (see https://bugzilla.redhat.com/show_bug.cgi?id=1172771)

Comment 9 Jon Ludlam 2015-10-21 23:54:25 UTC
It looks like I managed to make the previous version build with koji - I've no idea how any more though :-(

Comment 10 Jerry James 2020-01-05 16:25:19 UTC
Jon, are you still interested in pushing this review forward?

Comment 11 Jerry James 2020-01-09 19:41:46 UTC
I'm asking because I need this package for both markup and tyxml.  If you are not still interested in pushing this review forward, I would like to take over as the package submitter.  The current version is 1.0.2.  I've put together an ocaml-topkg package so that the native build system can be used.  I will probably submit that for review for tonight, along with a few other of Daniel Bünzli's packages.

Comment 12 Jon Ludlam 2020-01-09 21:42:57 UTC
Hi Jerry, I'm afraid I'm not actively using Fedora (or anything related) any more, so I'm quite happy for you to take over.

Comment 13 Richard W.M. Jones 2020-01-10 07:32:43 UTC
Do we still have the spec file and source RPM?  It would be a good place
to restart the review probably.

Comment 14 Jerry James 2020-01-12 04:25:54 UTC
The recoil.org URLs are timing out for me.  That's okay, though.  I've created my own.  I think it's best to close this bug and open a new one, so I show up as the submitter.

Comment 15 Jerry James 2020-01-12 05:09:42 UTC

*** This bug has been marked as a duplicate of bug 1790146 ***


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