Spec URL: http://people.redhat.com/honli/.b3bbdef3ae55a2527d90257c7efa4ed6/infinipath-psm.spec SRPM URL: http://people.redhat.com/honli/.b3bbdef3ae55a2527d90257c7efa4ed6/infinipath-psm-3.3-22_g4abbc60_open.1.fc25.src.rpm Description: The PSM Messaging API, or PSM API, is Intel's low-level user-level communications interface for the True Scale family of products. PSM users are enabled with mechanisms necessary to implement higher level communications interfaces in parallel environments. Fedora Account System Username: honli Additional info: Four issues had been reported to upstream. https://github.com/01org/psm/issues/10 https://github.com/01org/psm/issues/9 https://github.com/01org/psm/issues/8 https://github.com/01org/psm/issues/7
koji task: https://koji.fedoraproject.org/koji/taskinfo?taskID=13712910
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://fedoraproject.org/wiki/Packaging:Guidelines - 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 See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 ===== 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. [! ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "BSD (4 clause)", "zlib/libpng", "*No copyright* BSD (3 clause)", "BSD (3 clause)", "BSD (2 clause)". 130 files have unknown license. Detailed output of licensecheck in /home/nhorman/1328390-infinipath-psm/licensecheck.txt <NH> Needs to be BSD _and_ GPLv2 [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [!]: %build honors applicable compiler flags or justifies otherwise. <NH> NEED to include the rpm build opts macro [!]: Package contains no bundled libraries without FPC exception. <NH> this package builds its own UUID library. Shouldn't do that, opting instead to BuildRequire: libuuid-devel and link against the libuuid package libraries [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: 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. [!]: Package does not generate any conflict. <NH> I don't think that you need to specify both Obsoletes and Conflicts in spec [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: Requires correct, justified where necessary. <NH> Should add libuuid [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. Note: Documentation size is 10240 bytes in 1 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [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 does not own files or directories owned by other packages. [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]: 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). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in infinipath-psm-debuginfo [!]: Package functions as described. <NH> Can't test this, have you verified? [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: Scriptlets must be sane, if used. [!]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments It would be perferable to use the tagged release URL to get the pristine sources, to prevent inadvertent changes to the md5sum [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: %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]: 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]: Uses parallel make %{?_smp_mflags} macro. [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: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint [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. Installation errors ------------------- INFO: mock.py version 1.2.17 starting (python version = 3.4.3)... Start: init plugins INFO: selinux enabled Finish: init plugins Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata Mock Version: 1.2.17 INFO: Mock Version: 1.2.17 Finish: chroot init INFO: installing package(s): /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-devel-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-debuginfo-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-debuginfo-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm ERROR: Command failed. See logs for output. # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 25 --disableplugin=local --setopt=deltarpm=false install /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-devel-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-debuginfo-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm /home/nhorman/1328390-infinipath-psm/results/infinipath-psm-debuginfo-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm --setopt=tsflags=nocontexts Rpmlint ------- Checking: infinipath-psm-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm infinipath-psm-devel-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm infinipath-psm-debuginfo-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm infinipath-psm-3.3-22_g4abbc60_open.1.fc25.src.rpm infinipath-psm.x86_64: W: obsolete-not-provided infinipath-libs infinipath-psm.x86_64: W: shared-lib-calls-exit /usr/lib64/libpsm_infinipath.so.1.16 exit.5 infinipath-psm.x86_64: W: shared-lib-calls-exit /usr/lib64/libinfinipath.so.4.0 exit.5 infinipath-psm.x86_64: W: non-conffile-in-etc /etc/udev/rules.d/60-ipath.rules infinipath-psm-devel.x86_64: W: obsolete-not-provided infinipath-devel infinipath-psm-devel.x86_64: W: only-non-binary-in-usr-lib infinipath-psm-devel.x86_64: W: no-documentation infinipath-psm.src: W: invalid-url Source0: infinipath-psm-3.3-22_g4abbc60_open.tar.gz 4 packages and 0 specfiles checked; 0 errors, 8 warnings. <NH> These warnings save for the no-documentatino notice and the only-non-binary-in-usr-lib should be addressed Requires -------- infinipath-psm-devel (rpmlib, GLIBC filtered): /sbin/ldconfig infinipath-psm(x86-64) libinfinipath.so.4()(64bit) libpsm_infinipath.so.1()(64bit) infinipath-psm (rpmlib, GLIBC filtered): /sbin/ldconfig libc.so.6()(64bit) libdl.so.2()(64bit) libinfinipath.so.4()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) rtld(GNU_HASH) udev infinipath-psm-debuginfo (rpmlib, GLIBC filtered): Provides -------- infinipath-psm-devel: infinipath-psm-devel infinipath-psm-devel(x86-64) infinipath-psm: infinipath-psm infinipath-psm(x86-64) libinfinipath.so.4()(64bit) libpsm_infinipath.so.1()(64bit) infinipath-psm-debuginfo: infinipath-psm-debuginfo infinipath-psm-debuginfo(x86-64) Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20 Command line :/usr/bin/fedora-review -b 1328390 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, DISTTAG, EPEL5, BATCH, EPEL6
(In reply to Neil Horman from comment #2) > [x]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in > infinipath-psm-debuginfo > [!]: Package functions as described. > <NH> Can't test this, have you verified? In order to test this, you have to rebuild openmpi to enable PSM support and then run openmpi over QLogic (Intel) Infiniband. openmpi for Fedora does not support PSM yet. And you also need compile intel or OSU MPI benchmark. I rebuilt the src package/openmpi/osu benchmark on rdma-qe-08/09. The test passed. [root@rdma-qe-08 ~]$ [root@rdma-qe-08 ~]$ /opt/openmpi-1.10.0-psm-only/bin/mpirun -x PSM_IDENTIFY=1 --allow-run-as-root --map-by node -mca mtl psm -hostfile /root/n2 -np 2 /opt/osu_benchmarks-3.1.1/osu_bw rdma-qe-08.lab.bos.redhat.com.60844__psm_init: $Date: 2016-04-20 02:20 InfiniPath $ from /lib64/libpsm_infinipath.so.1:/lib64/libinfinipath.so.4 rdma-qe-09.lab.bos.redhat.com.4713__psm_init: $Date: 2016-04-20 02:20 InfiniPath $ from /lib64/libpsm_infinipath.so.1:/lib64/libinfinipath.so.4 # OSU MPI Bandwidth Test v3.1.1 # Size Bandwidth (MB/s) 1 4.71 2 9.45 4 17.18 8 37.65 16 67.36 32 133.26 64 246.02 128 514.60 256 881.81 512 1499.61 1024 2289.89 2048 2577.62 4096 2694.68 8192 3151.55 16384 3326.18 32768 3381.68 65536 3368.80 131072 3395.98 262144 3415.21 524288 3424.83 1048576 3429.94 2097152 3432.25 4194304 3433.32 [root@rdma-qe-08 ~]$ rpm -qf /lib64/libpsm_infinipath.so.1 infinipath-psm-3.3-22_g4abbc60_open.1.fc23.x86_64 [root@rdma-qe-08 ~]$ cat /etc/redhat-release Fedora release 23 (Twenty Three) [root@rdma-qe-08 ~]$ I will working on other issues pointed out by you. Thanks
(In reply to Neil Horman from comment #2) > [! ]: License field in the package spec file matches the actual license. > Note: Checking patched sources after %prep for licenses. Licenses > found: "Unknown or generated", "BSD (4 clause)", "zlib/libpng", "*No > copyright* BSD (3 clause)", "BSD (3 clause)", "BSD (2 clause)". 130 > files have unknown license. Detailed output of licensecheck in > /home/nhorman/1328390-infinipath-psm/licensecheck.txt > <NH> Needs to be BSD _and_ GPLv2 No, I don't think so. The COPYING file says: ------- COPYING ------ This software is available to you under a choice of one of two licenses. You may choose to be licensed under the terms of the the OpenIB.org BSD license or the GNU General Public License (GPL) Version 2, both included below. ------- COPYING ------ > [!]: %build honors applicable compiler flags or justifies otherwise. > <NH> NEED to include the rpm build opts macro Added "export CFLAGS="$RPM_OPT_FLAGS"". > [!]: Package contains no bundled libraries without FPC exception. > <NH> > this package builds its own UUID library. Shouldn't do that, opting instead > to > BuildRequire: libuuid-devel and link against the libuuid package libraries > Its own UUID had been removed and PSM_USE_SYS_UUID=1 had been setup too. It is no longer an issue. > [!]: Package does not generate any conflict. > <NH> I don't think that you need to specify both Obsoletes and Conflicts in > spec > Removed duplicated Cnflicts tags. > [!]: Requires correct, justified where necessary. > <NH> Should add libuuid No need. As rpm tools will take care it for us. > [!]: Package functions as described. > <NH> Can't test this, have you verified? Yes, it works as expected. > [!]: SourceX tarball generation or download is documented. > Note: Package contains tarball without URL, check comments > It would be perferable to use the tagged release URL to get the pristine > sources, to prevent inadvertent changes to the md5sum Upstream maintainer told me to create the tag ball by run 'make dist'.
# diff -up infinipath-psm.spec.old infinipath-psm.spec --- infinipath-psm.spec.old 2016-04-19 05:36:53.000000000 -0400 +++ infinipath-psm.spec 2016-04-20 05:57:31.648800734 -0400 @@ -4,7 +4,7 @@ Name: infinipath-psm Summary: Intel Performance Scaled Messaging (PSM) Libraries Version: 3.3 -Release: %{git_version}.1%{?dist} +Release: %{git_version}.2%{?dist} License: GPLv2 or BSD ExclusiveArch: x86_64 URL: https://github.com/01org/psm @@ -22,7 +22,6 @@ Requires: udev BuildRequires: gcc BuildRequires: libuuid-devel Obsoletes: infinipath-libs <= %{version}-%{release} -Conflicts: infinipath-libs <= %{version}-%{release} Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -38,7 +37,6 @@ interfaces in parallel environments. Summary: Development files for Intel PSM Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: infinipath-devel <= %{version}-%{release} -Conflicts: infinipath-devel <= %{version}-%{release} Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -50,9 +48,11 @@ Development files for the %{name} librar %patch1 -p1 %patch2 -p1 %patch3 -p1 +find libuuid -type f -not -name 'psm_uuid.[c|h]' -not -name Makefile -delete %build -make %{?_smp_mflags} USE_PSM_UUID=1 %{MAKEARG} CC=gcc +export CFLAGS="$RPM_OPT_FLAGS" +%make_build PSM_USE_SYS_UUID=1 %{MAKEARG} CC=gcc %install %make_install %{MAKEARG} @@ -78,5 +78,10 @@ install -m 0644 %{SOURCE1} %{buildroot}% %{_includedir}/psm_mq.h %changelog +* Wed Apr 20 2016 Honggang Li <honli> - 3.3-22_g4abbc60_open.2 +- Honors RPM_OPT_FLAGS. +- Link against system libuuid package. +- Remove duplicated Conflicts tags. + * Mon Apr 18 2016 Honggang Li <honli> - 3.3-22_g4abbc60_open.1 - Import infinipath-psm for Fedora.
(In reply to Neil Horman from comment #2) > Rpmlint > ------- > Checking: infinipath-psm-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm > infinipath-psm-devel-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm > infinipath-psm-debuginfo-3.3-22_g4abbc60_open.1.fc25.x86_64.rpm > infinipath-psm-3.3-22_g4abbc60_open.1.fc25.src.rpm > infinipath-psm.x86_64: W: obsolete-not-provided infinipath-libs > infinipath-psm.x86_64: W: shared-lib-calls-exit > /usr/lib64/libpsm_infinipath.so.1.16 exit.5 > infinipath-psm.x86_64: W: shared-lib-calls-exit > /usr/lib64/libinfinipath.so.4.0 exit.5 > infinipath-psm.x86_64: W: non-conffile-in-etc > /etc/udev/rules.d/60-ipath.rules > infinipath-psm-devel.x86_64: W: obsolete-not-provided infinipath-devel > infinipath-psm-devel.x86_64: W: only-non-binary-in-usr-lib [root@rdma-qe-09 tmp]$ rpm -qpl infinipath-psm-devel-3.3-22_g4abbc60_open.1.fc23.x86_64.rpm | grep lib /usr/lib64/libinfinipath.so /usr/lib64/libpsm_infinipath.so Those two .so files are symbolic links. It should be safe to ignore this warning message, as those files should be installed in /usr/lib64. It seems a fedora-rewiew tool bug/issue. > infinipath-psm-devel.x86_64: W: no-documentation This is a upstream issue, as n document available in the git repo. > infinipath-psm.src: W: invalid-url Source0: > infinipath-psm-3.3-22_g4abbc60_open.tar.gz > 4 packages and 0 specfiles checked; 0 errors, 8 warnings. > > <NH> These warnings save for the no-documentatino notice and the > only-non-binary-in-usr-lib should be addressed
> infinipath-psm-devel.x86_64: W: no-documentation This is an upstream issue, as no document available in the git repo.
Spec URL: http://people.redhat.com/honli/.b3bbdef3ae55a2527d90257c7efa4ed6/infinipath-psm.spec SRPM URL: http://people.redhat.com/honli/.b3bbdef3ae55a2527d90257c7efa4ed6/infinipath-psm-3.3-22_g4abbc60_open.2.fc25.src.rpm koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=13731153
The upstream maintainer doesn't know or care about the requirements for Fedora. Fedora would really like to have a canonical url to pull pristine sources from when at all possible, and its possible here and you are wrong on the libuuid issue. You correctly specify the libuuid-devel, but from my read of the makefile the uuid library is always built and included in TARGLIB, meaning the local uuid symbols will get resolved first (or for any internal use). We need to modify the makefile and just link the DSO against libuuid.
Ok, review looks good, I had missed the removal of the uuid library and the use os the USE_SYS_UUID macro. REview ACK.
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/infinipath-psm
infinipath-psm-3.3-22_g4abbc60_open.2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-4837354e9a
infinipath-psm-3.3-22_g4abbc60_open.2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-cb590a5bfa
infinipath-psm had been imported into the SCM.
infinipath-psm-3.3-22_g4abbc60_open.2.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-cb590a5bfa
infinipath-psm-3.3-22_g4abbc60_open.2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-4837354e9a
infinipath-psm-3.3-22_g4abbc60_open.2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
infinipath-psm-3.3-22_g4abbc60_open.2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.