Bug 1294587

Summary: Review Request: erlang-p1_utils - Erlang utility modules from ProcessOne
Product: [Fedora] Fedora Reporter: Randy Barlow <rbarlow>
Component: Package ReviewAssignee: Jeremy Cline <jeremy>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jeremy, package-review
Target Milestone: ---Flags: jeremy: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-01-03 18:16:20 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:
Bug Depends On:    
Bug Blocks: 1204119, 1295075    

Description Randy Barlow 2015-12-29 05:51:40 UTC
Spec URL: https://rbarlow.fedorapeople.org/erlang-p1_utils.spec
SRPM URL: https://rbarlow.fedorapeople.org/erlang-p1_utils-1.0.2-1.fc24.src.rpm
Description: p1_utils is an application containing ProcessOne modules and tools that are leveraged in other development projects.
Fedora Account System Username: rbarlow

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=12339591

There are two warnings from rpmlint:

Checking: erlang-p1_utils-1.0.2-1.fc24.noarch.rpm
          erlang-p1_utils-1.0.2-1.fc24.src.rpm
erlang-p1_utils.noarch: W: only-non-binary-in-usr-lib
erlang-p1_utils.src:48: W: libdir-macro-in-noarch-package (main package) %{_libdir}/erlang/lib/%{srcname}-%{version}
2 packages and 0 specfiles checked; 0 errors, 2 warnings.

I believe we can ignore these warnings, as it is Erlang packaging convention to include all Erlang pacakges in %{_libdir}/erlang, and not all Erlang packages have binaries (like this one):

https://fedoraproject.org/wiki/User:Peter/Erlang_Packaging_Guidelines#Debug_symbols_.2F_source_installation_.2F_dialyzer

Comment 1 Jeremy Cline 2016-01-02 20:09:36 UTC
My only quibble is having:

%install
install -d $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{srcname}-%{version}
install -d $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{srcname}-%{version}/ebin

since it is equivalent to:

%install
install -d $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{srcname}-%{version}/ebin


However, it doesn't do any harm so I leave it up to you to keep or remove.



Package Review
==============

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



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

Generic:
[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]: 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 %license.
[x]: Package requires other packages for directories it uses.
[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]: Dist tag is present.
[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 does not use a name that already exists.
[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.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[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]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[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:
[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: erlang-p1_utils-1.0.2-1.fc24.noarch.rpm
          erlang-p1_utils-1.0.2-1.fc24.src.rpm
erlang-p1_utils.noarch: W: spelling-error %description -l en_US utils -> tills
erlang-p1_utils.noarch: W: only-non-binary-in-usr-lib
erlang-p1_utils.src: W: spelling-error %description -l en_US utils -> tills
erlang-p1_utils.src:48: W: libdir-macro-in-noarch-package (main package) %{_libdir}/erlang/lib/%{srcname}-%{version}
2 packages and 0 specfiles checked; 0 errors, 4 warnings.




Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
erlang-p1_utils.noarch: W: only-non-binary-in-usr-lib
1 packages and 0 specfiles checked; 0 errors, 1 warnings.



Requires
--------
erlang-p1_utils (rpmlib, GLIBC filtered):



Provides
--------
erlang-p1_utils:
    erlang-p1_utils



Source checksums
----------------
https://github.com/processone/p1_utils/archive/1.0.2.tar.gz :
  CHECKSUM(SHA256) this package     : 308f84c6d0ed8dc0fb79cb9534f52aa839c3e7a5c2d22fc94d43aacf2e853523
  CHECKSUM(SHA256) upstream package : 308f84c6d0ed8dc0fb79cb9534f52aa839c3e7a5c2d22fc94d43aacf2e853523

Comment 2 Randy Barlow 2016-01-02 23:43:52 UTC
Thank you for the review Jeremy! I will go ahead and submit the package as-is, and then I'll make a follow-up -2 package with the change you suggested.

Comment 3 Gwyn Ciesla 2016-01-03 15:47:05 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/erlang-p1_utils

Comment 4 Randy Barlow 2016-01-03 18:16:20 UTC
erlang-p1_utils-1.0.2-1 is now built for Rawhide:

https://koji.fedoraproject.org/koji/taskinfo?taskID=12396373

I also made a follow up release, erlang-p1_utils-1.0.2-2 that addresses the unneeded install -d that you pointed out:

https://koji.fedoraproject.org/koji/taskinfo?taskID=12396612

I also filed a pull request to address something I had been fixing in the spec file: https://github.com/processone/p1_utils/pull/4