Spec URL: https://dcavalca.fedorapeople.org/review/wdt/wdt.spec SRPM URL: https://dcavalca.fedorapeople.org/review/wdt/wdt-1.32.1910230-1.20210128git6aec23c.fc34.src.rpm Description: Warp speed Data Transfer is aiming to transfer data between two systems as fast as possible. Fedora Account System Username: dcavalca
Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=60767348 This is a replacement for https://bugzilla.redhat.com/show_bug.cgi?id=1891040
*** Bug 1891040 has been marked as a duplicate of this bug. ***
Fedora 35 (rawhide) scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=63328734 Requests: 1) Please add comment explaining why this package has to use a specific commit hash 2) There is a typo in the Summary of libs subpackage. ibraries -> libraries 3) Rpmlint is complaining about, please solve it or add a waiver: wdt.src:119: E: hardcoded-library-path in %{_prefix}/lib wdt.src:128: E: hardcoded-library-path in %{_prefix}/lib/*.a Suggestions: 1) I have run tests a couple of times through koji builds and noticed that x86_64 always completes successfully. Did you have the same experience? If yes, the tests could be enabled on this architecture so it would at least verify in one of them. e.g.: https://koji.fedoraproject.org/koji/taskinfo?taskID=63339323 Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [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: "Unknown or generated", "BSD 3-clause "New" or "Revised" License". 160 files have unknown license. Detailed output of licensecheck in /tmp/1922315-wdt/licensecheck.txt [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]: 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. [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. [-]: 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. Note: Documentation size is 20480 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]: 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 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 must not depend on deprecated() packages. [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]: Static libraries in -static or -devel subpackage, providing -devel if present. Note: Package has .a files: wdt-static. [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. [x]: Final provides and requires are sane (see attachments). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not 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. [x]: %check is present and all tests pass. [?]: Packages should try to preserve timestamps of original installed files. [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]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [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: wdt-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-devel-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-libs-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-static-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-debuginfo-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-debugsource-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-1.32.1910230-1.20210128git6aec23c.fc35.src.rpm wdt.x86_64: W: no-manual-page-for-binary wcp wdt.x86_64: W: no-manual-page-for-binary wdt wdt-devel.x86_64: W: no-documentation wdt-libs.x86_64: W: spelling-error Summary(en_US) ibraries -> libraries, brasseries wdt-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libwdt_min.so.1.32.1910230 exit.5 wdt-libs.x86_64: W: no-documentation wdt-static.x86_64: W: no-documentation wdt.src:78: W: setup-not-quiet wdt.src:119: E: hardcoded-library-path in %{_prefix}/lib wdt.src:128: E: hardcoded-library-path in %{_prefix}/lib/*.a 7 packages and 0 specfiles checked; 2 errors, 8 warnings. Rpmlint (debuginfo) ------------------- Checking: wdt-debuginfo-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm wdt-libs-debuginfo-1.32.1910230-1.20210128git6aec23c.fc35.x86_64.rpm 2 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- wdt-static.x86_64: W: no-documentation wdt-libs.x86_64: W: spelling-error Summary(en_US) ibraries -> libraries, brasseries wdt-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libwdt_min.so.1.32.1910230 exit.5 wdt-libs.x86_64: W: no-documentation wdt.x86_64: W: no-manual-page-for-binary wcp wdt.x86_64: W: no-manual-page-for-binary wdt wdt-devel.x86_64: W: no-documentation 7 packages and 0 specfiles checked; 0 errors, 7 warnings. Source checksums ---------------- https://github.com/facebook/wdt/archive/6aec23c367d9c0aacade597dedd0b2ccc373a43f.tar.gz#/wdt-6aec23c367d9c0aacade597dedd0b2ccc373a43f.tar.gz : CHECKSUM(SHA256) this package : 5a46dd5afa460fb781c4dae688ec41dc5871d185323d5eed88590f722d11f5d5 CHECKSUM(SHA256) upstream package : 5a46dd5afa460fb781c4dae688ec41dc5871d185323d5eed88590f722d11f5d5 Requires -------- wdt (rpmlib, GLIBC filtered): /usr/bin/bash bash libc.so.6()(64bit) libfolly.so.2021.01.25.00()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgflags.so.2.2()(64bit) libglog.so.0()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libwdt_min.so.1.32.1910230()(64bit) rtld(GNU_HASH) wdt-libs(x86-64) wdt-devel (rpmlib, GLIBC filtered): libwdt.so.1.32.1910230()(64bit) libwdt_min.so.1.32.1910230()(64bit) wdt-libs(x86-64) wdt-libs (rpmlib, GLIBC filtered): libc.so.6()(64bit) libcrypto.so.1.1()(64bit) libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) libfolly.so.2021.01.25.00()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgflags.so.2.2()(64bit) libglog.so.0()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libwdt_min.so.1.32.1910230()(64bit) rtld(GNU_HASH) wdt-static (rpmlib, GLIBC filtered): wdt-devel(x86-64) wdt-debuginfo (rpmlib, GLIBC filtered): wdt-debugsource (rpmlib, GLIBC filtered): Provides -------- wdt: wdt wdt(x86-64) wdt-devel: wdt-devel wdt-devel(x86-64) wdt-libs: libwdt.so.1.32.1910230()(64bit) libwdt_min.so.1.32.1910230()(64bit) wdt-libs wdt-libs(x86-64) wdt-static: wdt-static wdt-static(x86-64) wdt-debuginfo: debuginfo(build-id) wdt-debuginfo wdt-debuginfo(x86-64) wdt-debugsource: wdt-debugsource wdt-debugsource(x86-64) Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10 Command line :/usr/bin/fedora-review -b 1922315 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: Haskell, Perl, SugarActivity, Python, Java, Ocaml, R, fonts, PHP Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
- Is there any need for the static subpackage? We shouldn't ship static libs without strong reason, e.g. from the packaging guidelines [1]: "In general, packagers SHOULD NOT ship static libraries." - wdt-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libwdt_min.so.1.32.1910230 exit.5 This is not good for shared library, it should be reported to upstream. Generally, API errors shouldn't terminate the main program. But this is not review blocker. - Source0: https://github.com/facebook/wdt/archive/%{commit}.tar.gz#/%{name}-%{commit}.tar.gz This could be simplified to: Source0: https://github.com/facebook/wdt/archive/%{commit}/%{name}-%{commit}.tar.gz - https://github.com/facebook/wdt/blob/master/PATENTS This pose additional constraints to the license (line 14). Although I personally think it's OK, I opened fedora-legal ticket [2] to be 100% sure. [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_static_libraries [2] https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/2AVHXQD3C2JBSZQT7E6HK3HHQ4O5KBDV/
Approved by Legal
1) Please add comment explaining why this package has to use a specific commit hash Last release is from 2016, so I guess it's better to package the tip. CMakeLists.txt contains the actual version. 3) Rpmlint is complaining about, please solve it or add a waiver: wdt.src:119: E: hardcoded-library-path in %{_prefix}/lib wdt.src:128: E: hardcoded-library-path in %{_prefix}/lib/*.a Not an issue, they are renamed in the SPEC. - Source0: https://github.com/facebook/wdt/archive/%{commit}.tar.gz#/%{name}-%{commit}.tar.gz → Source0: https://github.com/facebook/wdt/archive/%{commit}/%{name}-%{commit}.tar.gz - To avoid unintentional soname bump, we recommend not globbing the soname version: %{_libdir}/*.so.1*
Thank you all for the review and comments! - yes, the last tagged release is ancient and doesn't build properly, so packaging tip is best here. - I'm packaging the static libraries because folly doesn't have a stable ABI, we do this for all libraries that depend on folly. See #1887621 for a discussion on that - I tried reenabling the tests but I still get spurious failures about half of the time, so I'm inclined to keep them off for now, at least until I can figure out how to make them more reliable - how do I add a waiver for rpmlint? - the exit() comes from TransferLogManager::checkLog(); I agree that this should be fixed if possible, I'll follow up with upstream to see what we can do about that
Spec URL: https://dcavalca.fedorapeople.org/review/wdt/wdt.spec SRPM URL: https://dcavalca.fedorapeople.org/review/wdt/wdt-1.32.1910230-2.20210128git6aec23c.fc35.src.rpm Changelog: - Fix typos in summary - Use more strict globbing for the soname version
(In reply to Davide Cavalca from comment #7) > - how do I add a waiver for rpmlint? To be honest I don't know. I saw some people adding .rpmlintrc files, but it didn't work for me. I would simply ignore them as false positives, or you can add comment to the spec.
I would approve it but Gabriel Gaspar Becker is the assignee.
Robert added a comment about the rpmlint error. That's is enough. Thanks for the update. I approve the request.
hardcoded-library-path in %{_prefix}/lib/*.a I think you should fix it to be arch, i.e. %{_libdir}.
Thanks! I'll double check the library-path thing and fix it on import. $ fedpkg request-repo wdt 1922315 https://pagure.io/releng/fedora-scm-requests/issue/32711
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/wdt
FEDORA-2021-ad6a063cce has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-ad6a063cce
FEDORA-2021-9221c9d18b has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-9221c9d18b
FEDORA-2021-315b5a9a8f has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-315b5a9a8f
FEDORA-2021-9221c9d18b has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-9221c9d18b \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-9221c9d18b See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-315b5a9a8f has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-315b5a9a8f \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-315b5a9a8f See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-ad6a063cce has been pushed to the Fedora 34 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-ad6a063cce \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-ad6a063cce See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-0e1c5bb517 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-0e1c5bb517
FEDORA-2021-56fe02602d has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-56fe02602d
FEDORA-2021-0e1c5bb517 has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-0e1c5bb517` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-0e1c5bb517 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-56fe02602d has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-56fe02602d` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-56fe02602d See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-ad6a063cce has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-0e1c5bb517 has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-56fe02602d has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.