Bug 1186964

Summary: Review Request: courier-unicode - A library implementing algorithms related to the Unicode Standard
Product: [Fedora] Fedora Reporter: Brian Lane <bcl>
Component: Package ReviewAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: i18n-bugs, package-review, panemade, tagoh, zbyszek
Target Milestone: ---Flags: zbyszek: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-09 14:41:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Brian Lane 2015-01-29 01:07:08 UTC
Spec URL: https://bcl.fedorapeople.org/libunicode/libunicode.spec
SRPM URL: https://bcl.fedorapeople.org/libunicode/libunicode-1.1-1.fc22.src.rpm
Description: 
This library implements several algorithms related to the Unicode Standard:

* Look up uppercase, lowercase, and titlecase equivalents of a unicode character.
* Implementation of grapheme and work breaking rules.
* Implementation of line breaking rules.

Several ancillary functions, like looking up the unicode character that
corresponds to some HTML 4.0 entity (such as “&amp;”, for example), and
determining the normal width or a double-width status of a unicode character.
Also, an adaptation of the iconv(3) API for this unicode library.

This library also implements C++ bindings for these algorithms.
The current release of the Courier Unicode library is based on the Unicode 6.3.0 standard.

Fedora Account System Username: bcl


Note that the upstream archive is named courier-unicode, but the library it installs is libunicode. I chose the latter as the name of the package.

Comment 1 Akira TAGOH 2015-01-29 04:01:36 UTC
I imagined one from the package name which GNOME had ever used:
  https://git.gnome.org/browse/archive/libunicode/

but seems not. though it is a dead project I think but the package name should follow the upstream's name according to the guidelines.

Comment 2 Brian Lane 2015-01-29 17:39:01 UTC
(In reply to Akira TAGOH from comment #1)
> I imagined one from the package name which GNOME had ever used:
>   https://git.gnome.org/browse/archive/libunicode/
> 
> but seems not. though it is a dead project I think but the package name
> should follow the upstream's name according to the guidelines.

Can you point to a specific guideline for libraries? I didn't find one and from looking at a few other lib* packages it looks like we generally name them after what gets installed.

Comment 3 Akira TAGOH 2015-02-03 04:16:30 UTC
No guidelines for libraries AFAIK. General naming rule should be simply applied.

I just pointed out the above confusion anyway.

Comment 4 Brian Lane 2015-02-17 23:38:34 UTC
Ok, package name changed to courier-unicode

Spec URL: https://bcl.fedorapeople.org/courier-unicode/courier-unicode.spec
SRPM URL: https://bcl.fedorapeople.org/courier-unicode/courier-unicode-1.1-2.fc22.src.rpm

Comment 5 Zbigniew Jędrzejewski-Szmek 2015-02-18 04:24:54 UTC
===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2 or later)", "Unknown or generated". 30 files have unknown
     license. Detailed output of licensecheck in /var/tmp/1186964-courier-
     unicode/licensecheck.txt
Upstream specified GPLv3 as the license, as does .spec, so everything seems fine.

[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
Should be removed unless it'll be build for old EPELs.

[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
Same comment as before.

[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: 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.
     Note: Test run failed
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Test run failed
[x]: Packages must not store files under /srv, /opt or /usr/local
     Note: Test run failed
[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.
     Note: There are rpmlint messages (see attachment).
[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]: 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.

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

Generic:
[x]: Buildroot is not present
     Note: Buildroot: present but not needed
Same comment as above.

[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[ ]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in courier-
     unicode-devel
%{?_isa} should be added, to make sure that -devel is always installed with the matching main package.

[ ]: Package functions as described.
Didn't test it, but it looks OK.

[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[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.
     Note: Test run failed
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: courier-unicode-1.1-2.fc22.x86_64.rpm
          courier-unicode-devel-1.1-2.fc22.x86_64.rpm
          courier-unicode-1.1-2.fc22.src.rpm
courier-unicode.x86_64: W: spelling-error %description -l en_US titlecase -> title case, title-case, telecast
courier-unicode.x86_64: W: spelling-error %description -l en_US grapheme -> ephemera
courier-unicode.x86_64: W: spelling-error %description -l en_US iconv -> icon, icons, icon v
courier-unicode.x86_64: E: description-line-too-long C * Look up uppercase, lowercase, and titlecase equivalents of a unicode character.
courier-unicode.x86_64: E: description-line-too-long C The current release of the Courier Unicode library is based on the Unicode 6.3.0 standard.
courier-unicode-devel.x86_64: W: spelling-error Summary(en_US) libunicode -> Unicode
courier-unicode-devel.x86_64: W: spelling-error %description -l en_US libunicode -> Unicode
courier-unicode-devel.x86_64: W: only-non-binary-in-usr-lib
courier-unicode.src: W: spelling-error %description -l en_US titlecase -> title case, title-case, telecast
courier-unicode.src: W: spelling-error %description -l en_US grapheme -> ephemera
courier-unicode.src: W: spelling-error %description -l en_US iconv -> icon, icons, icon v
courier-unicode.src: E: description-line-too-long C * Look up uppercase, lowercase, and titlecase equivalents of a unicode character.
courier-unicode.src: E: description-line-too-long C The current release of the Courier Unicode library is based on the Unicode 6.3.0 standard.
3 packages and 0 specfiles checked; 4 errors, 9 warnings.

OK.


Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
courier-unicode (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

courier-unicode-devel (rpmlib, GLIBC filtered):
    courier-unicode



Provides
--------
courier-unicode:
    courier-unicode
    courier-unicode(x86-64)
    libunicode.so.1()(64bit)

courier-unicode-devel:
    courier-unicode-devel
    courier-unicode-devel(x86-64)



Source checksums
----------------
http://sourceforge.net/projects/courier/files/courier-unicode/1.1/courier-unicode-1.1.tar.bz2 :
  CHECKSUM(SHA256) this package     : a10e61d20f3bf25bebdec495dea54258948f333a29f29a7f155a31f9bfb3f56c
  CHECKSUM(SHA256) upstream package : a10e61d20f3bf25bebdec495dea54258948f333a29f29a7f155a31f9bfb3f56c
http://sourceforge.net/projects/courier/files/courier-unicode/1.1/courier-unicode-1.1.tar.bz2.sig :
  CHECKSUM(SHA256) this package     : 2c016d1015acc3112cf67032d184bd1f0db75be34c483e571062e55a6ce90501
  CHECKSUM(SHA256) upstream package : 2c016d1015acc3112cf67032d184bd1f0db75be34c483e571062e55a6ce90501


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

http://koji.fedoraproject.org/koji/taskinfo?taskID=8976108

There are some suggestions and one minor issue listed above. Please take into consideration and/or fix.
Package is APPROVED.

Comment 6 Brian Lane 2015-02-18 19:52:30 UTC
New Package SCM Request
=======================
Package Name: courier-unicode
Short Description: A library implementing algorithms related to the Unicode Standard
Upstream URL: http://www.courier-mta.org/unicode/
Owners: bcl bruno athimm
Branches: f22 f21
InitialCC:

Comment 7 Gwyn Ciesla 2015-02-18 20:12:20 UTC
Git done (by process-git-requests).