Bug 1333529 - Review Request: opa-fm - OPA Fabric Manager
Summary: Review Request: opa-fm - OPA Fabric Manager
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-DEADREVIEW 1315609
TreeView+ depends on / blocked
 
Reported: 2016-05-05 18:27 UTC by Scott Breyer
Modified: 2021-08-10 00:45 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-08-10 00:45:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Spec file to address Fedora issues (3.77 KB, text/plain)
2019-04-11 19:56 UTC, Scott Breyer
no flags Details
Source package to address Fedora issues (6.02 MB, application/gzip)
2019-04-11 19:58 UTC, Scott Breyer
no flags Details
Updated spec file (3.85 KB, text/plain)
2019-04-15 19:17 UTC, Scott Breyer
no flags Details
Updated source package to address Fedora issues (6.02 MB, application/gzip)
2019-04-15 19:19 UTC, Scott Breyer
no flags Details
Updated spec file (3.88 KB, text/plain)
2019-04-16 18:37 UTC, Scott Breyer
no flags Details
Updated source package to address Fedora issues (6.02 MB, application/gzip)
2019-04-16 18:38 UTC, Scott Breyer
no flags Details

Description Scott Breyer 2016-05-05 18:27:22 UTC
Spec URL: https://github.com/01org/opa-fm/releases/download/v1.0/opafm.spec
SRPM URL: https://github.com/01org/opa-fm/releases/download/v1.0/opa-fm-10.0.1.0-2.src.rpm
Description: OPA Fabric Manager is a set of software components that perform fabric management services within an OPA fabric.
Fedora Account System Username: sbreyer

Comment 1 Michal Schmidt 2016-05-06 09:43:57 UTC
Hi Scott,

the spec file needs significant changes to satisfy the Fedora packaging guidelines.

For reference, here's opa-fm.spec from RHEL 7.2:
https://git.centos.org/commit/rpms!opa-fm/86e0339280cacfb4030401f661b9c50c81db9c6d

I'll write down more specific comments later.

Comment 2 Michal Schmidt 2016-05-09 16:58:00 UTC
Many of the issues I pointed out in opa-ff in https://bugzilla.redhat.com/show_bug.cgi?id=1333531#c3 apply to opa-fm as well.

In addition to those, opa-fm has the following issues:
- The spec uses both ExclusiveArch and ExcludeArch. That does not make sense.
- The package's scriptlets must follow the packaging guidelines about systemd.

Comment 3 Erik E. Kahn 2016-06-17 14:58:10 UTC
Updated Spec and SRPM released to github addressing many of the issues identified in opa-ff, and those identified in comment #2.

Koji results: http://koji.fedoraproject.org/koji/taskinfo?taskID=14534158

Spec URL: https://github.com/01org/opa-fm/releases/download/v1.1/opa-fm.spec
SRPM URL: https://github.com/01org/opa-fm/releases/download/v1.1/opa-fm-10.1.0.0-145.fc23.src.rpm

Comment 4 Erik E. Kahn 2016-06-29 13:38:51 UTC
Spec file and SRPM updated to address more issues identified in review of sibling package opa-ff (bug 1333531):

Spec URL: https://github.com/01org/opa-fm/releases/download/v1.2/opa-fm.spec
SRPM URL: https://github.com/01org/opa-fm/releases/download/v1.2/opa-fm-10.1.0.0-145.fc23.src.rpm

Comment 5 Michal Schmidt 2017-01-11 13:40:30 UTC
Same as opa-ff (bug 1333531), I believe opa-fm would benefit from having a separate install script instead of having the install logic only in the spec file.

For opa-fm, the Fedora Packaging Guidelines about systemd must be followed.
https://fedoraproject.org/wiki/Packaging:Systemd

Comment 6 Scott Breyer 2017-02-03 16:34:53 UTC
Hi Michal,

As stated in bug 1333531, we will work a solution as per your suggestion (for and install script) into an upcoming release. Thank you for your help, and again, apologies for the delay in the response.

Regarding systemd, I will consult with our subject matter experts to make your approach compliant with the Fedora guidelines. Is there something specific here you wish to target our attention to?

Thanks,
Scott

Comment 7 Scott Breyer 2017-02-21 20:18:12 UTC
Hello Michal,

Regarding the guidelines for systemd, our subject matter expert is confident after review that we are in compliance with the Fedora Packaging Guidelines. Can you point to something specific that you believe is non-compliant?

Thanks,
Scott

Comment 8 Scott Breyer 2017-02-21 22:43:34 UTC
We've made changes to our spec file that should be in line with what you are asking. The patch is presently making its way through our internal review and test process.

Comment 9 Michal Schmidt 2017-02-22 21:24:07 UTC
(In reply to Scott Breyer from comment #7)
When referring to the directory with systemd units the %_unitdir macro should be used.
https://fedoraproject.org/wiki/Packaging:Systemd#Filesystem_locations

The package's scriptlets should use %systemd_post and similar macros as described in https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd

Comment 10 Michal Schmidt 2017-02-22 21:27:47 UTC
Please do not test for the presence of systemctl at package install time
(as in "if [ $(command -v systemctl) ]").
In fact I would recommend to drop the chkconfig branches entirely. All active Fedora releases use systemd and so does RHEL 7.

Comment 11 Scott Breyer 2017-02-24 19:17:34 UTC
New tag/sha has been pushed to v10_3_1 branch of 01org/opa-fm:

tag v10.3.1.0.6 : 4a98a65

Comment 12 Honggang LI 2017-03-14 02:19:18 UTC
Please consider to fix these issues:

1) opafm.service is executable. The opafm.service file was installed by copy opa-fm/Esm/ib/src/linux/startup/opafm.service, which is executable in source code. The right mode is 0644.

$ ls -l /usr/lib/systemd/system/opafm.service
-rwxr-xr-x. 1 root root 2075 Mar 13 21:46 /usr/lib/systemd/system/opafm.service

2) opafm should require libhfi1, otherwise opafm.service can't start.

Mar 13 22:16:03 rdma-qe-14 fm0_sm[89692]: PROGR[main]: SM: [VF:Default] : Base SL:0 Base SC:0 NumScs:1 QOS:0 HP:0
Mar 13 22:16:03 rdma-qe-14 fm0_sm[89692]: PROGR[main]: SM: [VF:Admin] : Base SL:0 Base SC:0 NumScs:1 QOS:0 HP:0
Mar 13 22:16:04 rdma-qe-14 fm0_sm[89692]: oib_utils ERROR: [89692] open_verbs_ctx: failed to find verbs device
Mar 13 22:16:04 rdma-qe-14 fm0_sm[89692]: ERROR[main]: APP: ib_init_devport: Failed to bind to device 1, port ...us: 5
Mar 13 22:16:04 rdma-qe-14 fm0_sm[89692]: ; MSG:NOTICE|SM:Default SM:port 1|COND:#7 SM shutdown|DETAIL:sm_main...ating
Mar 13 22:16:04 rdma-qe-14 fm0_sm[89692]: FATAL[main]: SM: sm_main: sm_main: Failed to bind to device; terminating
Mar 13 22:16:04 rdma-qe-14 FATAL:[89692]: sm_main: Failed to bind to device; terminating
Mar 13 22:16:06 rdma-qe-14 systemd[1]: opafm.service stop-post timed out. Terminating.

Please insert "Requires: libhfi1" into the opa-fm.spec.in file.

Comment 13 Honggang LI 2017-03-14 02:25:05 UTC
opa-fm require /var/usr/lib/opa-fm/ to run, oap-fm must create and own this directory.

===========
%install
....
mkdir -p %{buildroot}/%{_localstatedir}/usr/lib/opa-fm/
...
%file
%{_localstatedir}/usr/lib/opa-fm/
....
============

Comment 14 Scott Breyer 2017-04-04 15:37:00 UTC
New tag/sha has been pushed to v10_3_1-spec-rework temporary branch of 01org/opa-fm for your review:

tag v10.3.1.0.7-pre : d8485ef

Comment 15 Honggang LI 2018-12-21 01:58:47 UTC
I'm taking over this review request.

Comment 16 Scott Breyer 2019-04-11 19:56:57 UTC
Created attachment 1554625 [details]
Spec file to address Fedora issues

Comment 17 Scott Breyer 2019-04-11 19:58:14 UTC
Created attachment 1554626 [details]
Source package to address Fedora issues

Comment 18 Honggang LI 2019-04-12 11:10:40 UTC
I failed to build the src create by the spec and tarball in previous two comments. My laptop is running fedora29.

I added these BuildRequires to your spec file.

BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: python-unversioned-command


fc29@localhost:~/intel-src$ mock -mock --rebuild --resultdir=fc31 -r fedora-rawhide-x86_64  ./opa-fm-10.9.1.1-1.fc29.src.rpm
........
+ set +x
Build Errors:
Patch failed for filename: sm
make: *** [Makefile.linux:256: prepfiles] Error 1
make[2]: *** [Makefile:178: STAGE] Error 1
make[3]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Maketargets.toplevel:89: STAGE] Error 2                                            
make[4]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Maketargets.stage:49: STAGE] Error 1                                               
make[4]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Rules.Common:224: buildcmdsonly] Error 2                                           
make[5]: *** No rule to make target 'libpm.a', needed by 'build.VIEO_HOST.release/sm'.  Stop.                                                    
make[6]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Rules.Common:220: buildlibsonly] Error 2                                           
make[6]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Rules.Common:224: buildcmdsonly] Error 2                                           
make[7]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Maketargets.toplevel:145: LIBS] Error 2                                            
make[7]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Maketargets.toplevel:96: CMDS] Error 2                                             
make[8]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Rules.Common:224: buildcmdsonly] Error 2                                           
make[8]: *** [/builddir/build/BUILD/opa-fm-10.9.1.1/Makerules/Rules.Common:416: build.VIEO_HOST.release/pm_sweep.c.dep] Error 1                  
make[9]: *** No rule to make target 'libpm.a', needed by 'opamkdsapdb'.  Stop.                                                                   

FAILED Build, errors detected: VIEO_HOST  X86_64 release
error: Bad exit status from /var/tmp/rpm-tmp.9ngYiu (%build)

Comment 19 Scott Breyer 2019-04-15 19:17:49 UTC
Created attachment 1555304 [details]
Updated spec file

This works for me with the updated tarball.

Comment 20 Scott Breyer 2019-04-15 19:19:29 UTC
Created attachment 1555305 [details]
Updated source package to address Fedora issues

This works for me with the updated spec file

Comment 21 Honggang LI 2019-04-16 07:17:17 UTC
(In reply to Scott Breyer from comment #19)
> Created attachment 1555304 [details]
> Updated spec file
> 
> This works for me with the updated tarball.

(In reply to Scott Breyer from comment #20)
> Created attachment 1555305 [details]
> Updated source package to address Fedora issues
> 
> This works for me with the updated spec file

Issue persists.

https://koji.fedoraproject.org/koji/taskinfo?taskID=34204428
https://kojipkgs.fedoraproject.org//work/tasks/4428/34204428/build.log

Please use 'fedpkg' to submit a scratch build.

1) Update your krb5 ticket
$ kinit sbreyer

2) clone libpsm2 to cheat fedora
$ fedpkg clone libpsm2
$ cd libpsm2
$ rm -fr ./*

3) save the spec and tarball linked in comment #19 and #20 into the libpsm2 directory.

4) update the 'sources' file
$ md5sum opa-fm.tar.gz > sources
$ libpsm2 (master)]$ ls
opa-fm.spec  opa-fm.tar.gz  source

5) create the srpm file
libpsm2 (master)]$ fedpkg srpm
Wrote: xxxx/libpsm2/opa-fm-10.9.1.1-1.fc31.src.rpm

6) submit a scratch build
libpsm2 (master)]$ fedpkg build --scratch --skip-tag --srpm opa-fm-10.9.1.1-1.fc31.src.rpm
[====================================] 100% 00:00:02   5.97 MiB   2.74 MiB/sec
Building opa-fm-10.9.1.1-1.fc31.src.rpm for rawhide
Created task: 34204804
Task info: https://koji.fedoraproject.org/koji/taskinfo?taskID=34204804
Watching tasks (this may be safely interrupted)...
34204804 build (rawhide, opa-fm-10.9.1.1-1.fc31.src.rpm): free

7) wait for the build completed and check the log file.

Comment 22 Scott Breyer 2019-04-16 18:33:48 UTC
Having trouble getting fedpkg to work, probably a kerberos or proxy issue.

I looked at your log and see another missing dependency, uploading a new spec file and source package.

Comment 23 Scott Breyer 2019-04-16 18:37:11 UTC
Created attachment 1555632 [details]
Updated spec file

Comment 24 Scott Breyer 2019-04-16 18:38:25 UTC
Created attachment 1555633 [details]
Updated source package to address Fedora issues

Comment 25 Honggang LI 2019-04-17 03:34:59 UTC
(In reply to Scott Breyer from comment #22)
> Having trouble getting fedpkg to work, probably a kerberos or proxy issue.
> 
> I looked at your log and see another missing dependency, uploading a new
> spec file and source package.

Confirmed it works now.

(In reply to Scott Breyer from comment #23)
> Created attachment 1555632 [details]
> Updated spec file

This spec file needs clean up please next comment for details.

(In reply to Scott Breyer from comment #24)
> Created attachment 1555633 [details]
> Updated source package to address Fedora issues

I have to rename the source tarball. We will have to upload the source tarball to Fedora internal
source control system (SCM). Each time upload a file exists in SCM will trigger a security alert.

I rename the top directory of source as opa-fm-10.9.1.1 . And rename opa-fm.tar.gz as opa-fm-10.9.1.1.tar.gz .

Comment 26 Honggang LI 2019-04-17 03:49:17 UTC
(In reply to Scott Breyer from comment #23)
> Created attachment 1555632 [details]
> Updated spec file

 cat -n opa-fm.spec 
     1	# BEGIN_ICS_COPYRIGHT8 ****************************************
     2	# 
     3	# Copyright (c) 2015-2018, Intel Corporation
     4	# 
     5	# Redistribution and use in source and binary forms, with or without
     6	# modification, are permitted provided that the following conditions are met:
     7	# 
     8	#     * Redistributions of source code must retain the above copyright notice,
     9	#       this list of conditions and the following disclaimer.
    10	#     * Redistributions in binary form must reproduce the above copyright
    11	#       notice, this list of conditions and the following disclaimer in the
    12	#       documentation and/or other materials provided with the distribution.
    13	#     * Neither the name of Intel Corporation nor the names of its contributors
    14	#       may be used to endorse or promote products derived from this software
    15	#       without specific prior written permission.
    16	# 
    17	# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    18	# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    19	# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    20	# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    21	# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    22	# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    23	# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    24	# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    25	# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    26	# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    27	# 
    28	# END_ICS_COPYRIGHT8   ****************************************
    29	
    30	#[ICS VERSION STRING: unknown]


I removed line 1 - 30. As we have a LICENSE file in the top directory of the source code.


    31	Name: opa-fm
    32	Version: 10.9.1.1
    33	Release: 1%{?dist}

    34	%if 0%{?rhel}
    35	Epoch: 1
    36	%endif

I deleted line 34-36, as rhelX will not use this spec file.

    37	Summary: Intel Omni-Path Fabric Management Software
    38	
    39	License: BSD
    40	Url: https://github.com/intel/opa-fm
    41	# tarball created by:
    42	# git clone https://github.com/01org/opa-fm.git

line 42 uses a outdated url.

    43	# cd opa-fm
    44	# tar czf opa-fm.tar.gz --exclude-cvs .

I deleted line 41-44, as I have to rename the source tarball. See previous comment for explanation.

    45	Source0: %{name}.tar.gz
    46	ExclusiveArch: x86_64
    47	# The Intel OPA product line is only available on x86_64 platforms at this time.
    48	
    49	Requires: rdma

line 49 is no longer needed.


    50	
    51	BuildRequires: expat-devel, rdma-core-devel, openssl-devel
    52	BuildRequires: gcc
    53	BuildRequires: gcc-c++
    54	BuildRequires: python-unversioned-command
    55	BuildRequires: zlib-devel
    56	
    57	BuildRequires: systemd %{?systemd_requires} %{?BuildRequires}
    58	Requires: systemd %{?systemd_requires}
    59	Requires: libibumad%{?_isa}, libibverbs%{?_isa}, rdma, expat%{?_isa}, libhfi1, openssl%{?_isa}

line 57-59 had been deleted, only libhfi1 and %{?systemd_requires} kept. The rpm building tool will
handle those dependency for us. So, no need to explicitly state them.

    60	
    61	%description
    62	The %{name} contains Intel Omni-Path fabric management applications. This 

replace %{name} in line 62 with opa-fm.

    63	includes: the Subnet Manager, Baseboard Manager, Performance Manager, 
    64	Fabric Executive, and some fabric management tools.
    65	IFSComponent: FM 10.9.1.1.1%{?dist}

remove %{dist} in line 65.

    66	
    67	%prep
    68	%setup -q -c
    69	
    70	%build
    71	cd Esm
    72	OPA_FEATURE_SET= ./fmbuild $BUILD_ARGS

line 71 and 72 use hardcode compiler flags. I fixed it.

    73	
    74	%install
    75	BUILDDIR=%{_builddir} DESTDIR=%{buildroot} LIBDIR=%{_libdir} RPM_INS=n ./Esm/fm_install.sh
    76	mkdir -p %{buildroot}/%{_localstatedir}/usr/lib/opa-fm/
    77	
    78	%post
    79	if [ $1 = 1 ]; then
    80		if [ $(command -v systemctl) ]; then
    81			/bin/systemctl daemon-reload >/dev/null 2>&1 || :
    82		else
    83			/sbin/chkconfig --add opafm
    84		fi
    85	fi
    86	%preun
    87	if [ $1 = 1 ] || [ $1 = 0 ]; then
    88		if [ $(command -v systemctl) ]; then
    89			systemctl stop opafm.service >/dev/null 2>&1 || :
    90		else
    91			/sbin/chkconfig --del opafm
    92		fi
    93	fi
    94	


line 78 - 94 is unnecessary complex, as fedora no longer use init scripts. I fix this too.

    95	%files
    96	%doc Esm/README 
    97	

I add the LINCENSE file.

    98	/usr/lib/systemd/system/opafm.service
    99	%config(noreplace) %{_sysconfdir}/opa-fm/opafm.xml
   100	%config(noreplace) %{_sysconfdir}/opa-fm/opafm_pp.xml
   101	%{_sysconfdir}/opa-fm/vfs
   102	%{_sysconfdir}/opa-fm/dgs
   103	/usr/lib/opa-fm/bin/*
   104	/usr/lib/opa-fm/runtime/*
   105	/usr/share/opa-fm/*
   106	%{_sbindir}/opafmcmd
   107	%{_sbindir}/opafmcmdall
   108	%{_sbindir}/opafmconfigpp
   109	%{_sbindir}/opafmvf
   110	%{_mandir}/man8/*

I remove hardcode path.

   111	
   112	%changelog
   113	* Mon Feb 26 2018 Jijun Wang <jijun.wang> - 10.8.0.0
   114	- Added epoch for RHEL
   115	- Added component information in description
   116	* Thu Oct 09 2014 Kaike Wan <kaike.wan> - 10.0.0.0-177
   117	- Initial version
   118	
   119	

I replace the changelog.

Please conside use this updated spec file: http://people.redhat.com/honli/opa-fm-10.9.1.1-1-review/opa-fm.spec

I also upload renamed tarball and a dummy manpage patch in here: http://people.redhat.com/honli/opa-fm-10.9.1.1-1-review/

Comment 27 Honggang LI 2019-04-17 03:53:04 UTC
Fedora review result of spec and tarball, which had been upload to http://people.redhat.com/honli/opa-fm-10.9.1.1-1-review/


NOTE: The fedora-review tool of fedora-rawhide distro always failed. So, I run fedora-review with fedora-29 distro.


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

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


Issues:
=======
- Header files in -devel subpackage, if present.
  Note: opa-fm-debugsource : /usr/src/debug/opa-
<deleted many lines>

honli: OK, opa-fm-debugsource should include all source files, which include the header files.

  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
- Package does not contain duplicates in %files.
  Note: BUILDSTDERR: warning: File listed twice: /etc/opa-fm/opafm.xml

honli: OK, confirmed there are two copies of opafm.xml in different directories. 
opa-fm-10.9.1.1-1.fc29.x86_64.rpm]$ find | grep opafm.xml
./etc/opa-fm/opafm.xml
./usr/share/opa-fm/opafm.xml


- All build dependencies are listed in BuildRequires, except for any that
  are listed in the exceptions section of Packaging Guidelines.
  Note: These BR are not needed: gcc gcc-c++
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2

honli: OK, as gcc/gcc-c++ is no longer the default compiler for fedora rpm building system.

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

C/C++:
[ ]: Package does not contain kernel modules.

honli: OK, no kernel modules.

[ ]: Package contains no static executables.

honli: OK, no static executables.
review-opa-fm]$ find  rpms-unpacked/opa-fm-10.9.1.1-1.fc29.x86_64.rpm/ -type f  | xargs file | grep static | wc
      0       0       0


[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.

honli: OK, see the BSD LICENSE file in top directory.

[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "BSD 3-clause "New" or "Revised" License", "BSD 3-clause "New"
     or "Revised" License GNU General Public License (v2)", "Unknown or
     generated". 123 files have unknown license. Detailed output of
     licensecheck in /home/hli/review/review-opa-fm/licensecheck.txt

honli: OK, see the BSD LICENSE file in top directory.

[ ]: License file installed when any subpackage combination is installed.

honli: OK
review-opa-fm]$ rpm -qpl results/opa-fm-10.9.1.1-1.fc29.x86_64.rpm  | grep -i license
/usr/share/licenses/opa-fm
/usr/share/licenses/opa-fm/LICENSE

[ ]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib/.build-
     (libwayland-server, vim-common, python3-tornado, qt5-qtdeclarative,

honli: OK, saft to ignore this.

     kf5-kiconthemes, lksctp-tools, python2-gssapi, python3-libdnf, cantor,
     evolution, pulseaudio-module-bluetooth, hdf5, SuperLU, alliance-libs,
     kdelibs3, pipewire, python36, libnl3-cli, binutils)
[ ]: %build honors applicable compiler flags or justifies otherwise.

honli: OK, default fedora comiler flags used after we removed the hardcode compiler flags.

[ ]: Package contains no bundled libraries without FPC exception.
honli: OK, no bundled libraries.

[ ]: Changelog in prescribed format.
honli: OK

[ ]: Sources contain only permissible code or content.
honli: OK

[ ]: Package contains desktop file if it is a GUI application.
honli: OK, as not a GUI application.

[ ]: Development files must be in a -devel package
honli: OK, no development files.

[ ]: Package uses nothing in %doc for runtime.
honli: OK, only a README in %doc

[ ]: Package consistently uses macros (instead of hard-coded directory
     names).
honli: OK

[ ]: Package is named according to the Package Naming Guidelines.
honli: OK

[ ]: Package does not generate any conflict.
honli: OK

[ ]: Package obeys FHS, except libexecdir and /usr/target.
honli: OK

[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
honli: OK, it is a new package. It is not a rename.

[ ]: Requires correct, justified where necessary.
honli: OK

[ ]: Spec file is legible and written in American English.
honli: OK

[ ]: Package contains systemd file(s) if in need.
honli: OK, systemd service files included.

[ ]: Useful -debuginfo package or justification otherwise.
honli: OK

[ ]: Package is not known to require an ExcludeArch tag.
honli: OK. Use ExclusiveArch as it x64 only package.

[ ]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 1 files.
honli: OK

[ ]: Package complies to the Packaging Guidelines
honli: OK

[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 must own all directories that it creates.
[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]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[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]: No %config files under /usr.
[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:
[ ]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
honli: OK, see the LICENSE file in top directory of source code

[ ]: Final provides and requires are sane (see attachments).
honli:OK

[ ]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in opa-fm-
     debuginfo , opa-fm-debugsource
honli: OK

[ ]: Package functions as described.
honli: OK

[ ]: Latest version is packaged.
honli: OK, yes, source tarball was generated from latest upstream repo.

[ ]: Package does not include license text files separate from upstream.
honli: OK, the license file from upstream repo.

[ ]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
honli: OK, manpage-format.patch removes undefined manpage macro. This dummy patch
should be applied in upstream repo. 

[ ]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
honli: OK

[ ]: %check is present and all tests pass.
honli: OK, no %check, as opa-fm needs specific hardware to run. Most building systems unlikely
has OPA hardware.

[ ]: Packages should try to preserve timestamps of original installed
     files.
honli: OK

[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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: SourceX is a working URL.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: opa-fm-10.9.1.1-1.fc29.x86_64.rpm
          opa-fm-debuginfo-10.9.1.1-1.fc29.x86_64.rpm
          opa-fm-debugsource-10.9.1.1-1.fc29.x86_64.rpm
          opa-fm-10.9.1.1-1.fc29.src.rpm
opa-fm.x86_64: E: explicit-lib-dependency libhfi1
honli: OK, libhfi1 is the userspace driver, without it opa-fm will fail to start.

opa-fm.x86_64: W: no-manual-page-for-binary opafmconfigpp
opa-fm.x86_64: W: no-manual-page-for-binary opafmvf

honli: OK, will notify upstream to create manpages for those two tools.

opa-fm.src:64: E: hardcoded-library-path in %{_prefix}/lib/opa-fm
honli: OK

opa-fm.src: W: invalid-url Source0: opa-fm-10.9.1.1.tar.gz
honli: OK, tarball was generated from upstream repo.

4 packages and 0 specfiles checked; 2 errors, 3 warnings.




Rpmlint (debuginfo)
-------------------
Checking: opa-fm-debuginfo-10.9.1.1-1.fc29.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
honli: OK, /usr/bin/python is only used in building opa-fm. No python scripts in the opa-fm-10.9.1.1-1.fc29.x86_64.rpm

opa-fm.x86_64: E: explicit-lib-dependency libhfi1
opa-fm.x86_64: W: invalid-url URL: https://github.com/intel/opa-fm <urlopen error [Errno -2] Name or service not known>
opa-fm.x86_64: W: no-manual-page-for-binary opafmconfigpp
opa-fm.x86_64: W: no-manual-page-for-binary opafmvf
honli: OK, duplicated warning, see previous comments.


opa-fm-debuginfo.x86_64: W: invalid-url URL: https://github.com/intel/opa-fm <urlopen error [Errno -2] Name or service not known>
opa-fm-debugsource.x86_64: W: invalid-url URL: https://github.com/intel/opa-fm <urlopen error [Errno -2] Name or service not known>
honli: OK, https://github.com/intel/opa-fm is valid.

3 packages and 0 specfiles checked; 1 errors, 5 warnings.



Requires
--------
opa-fm (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/bash
    /usr/bin/sh
    config(opa-fm)
    libc.so.6()(64bit)
    libcrypto.so.1.1()(64bit)
    libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
    libexpat.so.1()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libgomp.so.1()(64bit)
    libgomp.so.1(GOMP_4.0)(64bit)
    libgomp.so.1(OMP_1.0)(64bit)
    libhfi1
    libibumad.so.3()(64bit)
    libibumad.so.3(IBUMAD_1.0)(64bit)
    libibverbs.so.1()(64bit)
    libibverbs.so.1(IBVERBS_1.0)(64bit)
    libibverbs.so.1(IBVERBS_1.1)(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libssl.so.1.1()(64bit)
    libssl.so.1.1(OPENSSL_1_1_0)(64bit)
    libz.so.1()(64bit)
    libz.so.1(ZLIB_1.2.0)(64bit)
    rtld(GNU_HASH)
    systemd

opa-fm-debuginfo (rpmlib, GLIBC filtered):

opa-fm-debugsource (rpmlib, GLIBC filtered):



Provides
--------
opa-fm:
    config(opa-fm)
    opa-fm
    opa-fm(x86-64)

opa-fm-debuginfo:
    debuginfo(build-id)
    opa-fm-debuginfo
    opa-fm-debuginfo(x86-64)

opa-fm-debugsource:
    opa-fm-debugsource
    opa-fm-debugsource(x86-64)



Source checksums
----------------
Using local file /home/hli/review/opa-fm-10.9.1.1.tar.gz as upstream
file:///home/hli/review/opa-fm-10.9.1.1.tar.gz :
  CHECKSUM(SHA256) this package     : 9a88f8794346f56e20b03897dd1cc9dd0660c08bb4d880580f25cbb6f20f3989
  CHECKSUM(SHA256) upstream package : 9a88f8794346f56e20b03897dd1cc9dd0660c08bb4d880580f25cbb6f20f3989


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -n opa-fm
Buildroot used: fedora-29-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 28 Honggang LI 2019-04-17 03:56:46 UTC
Hi, Scott

Please see https://fedoraproject.org/wiki/Package_Review_Process for next step.

Comment 29 Honggang LI 2019-04-22 13:55:13 UTC
Package approved with updated spec and src package.

Comment 30 Honggang LI 2019-05-05 14:34:31 UTC
Hi, Scott

https://pagure.io/releng/fedora-scm-requests/issue/11429

You are a packager now. If nobody re-open this ticket when you back to work on this.
Please submit a new request.

BTW, we will be co-maintainers for opa-fm.

Comment 31 Scott Breyer 2019-10-23 14:37:04 UTC
It seems that the information has been provided by the previous comment.

Comment 32 Mattia Verga 2021-07-10 11:09:31 UTC
Stalled review

Comment 33 Package Review 2021-08-10 00:45:27 UTC
This is an automatic action taken by review-stats script.

The ticket submitter failed to clear the NEEDINFO flag in a month.
As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews
we consider this ticket as DEADREVIEW and proceed to close it.


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