https://bugzilla.redhat.com/show_bug.cgi?id=1703477 --- Comment #2 from Christophe de Dinechin <dinechin@xxxxxxxxxx> --- (In reply to Elliott Sales de Andrade from comment #1) > - Drop "A " from Summary. Done > - Please end Description sentences with a period. Done > - You have mixed tabs and spaces. Fixed > - The license seems to be GPL, not LGPL. Please clarify this with > upstream, as the COPYING file contains the LGPL, but all license > headers state GPL. An error when I applied my "header renormalization tool" in e7df1041176eda88aea6102d1c4ecd9f144321a6. Fixed. There are really two licences: - LGPLv2+ for the library - GPLv3+ for the scope application The license change was necessary for another project that uses the recorder library. > - devel and scope packages should depend on %{name}%{?_isa} = > %{version}-%{release} (though you won't need the latter once some > Changes go through). Ah? Ok. > - You don't need Requires:qt5-qtcharts as the executable is linked > with the library and will have automatic dependency on it. OK. Is it harmful? I see it as useful documentation. Left it for now. > - The makefile is not verbose, so I cannot verify if the required flags are > being used from the log. Made build verbose so that you can check. (For information, a verbose build log is produced by the make-it-quick build system under .logs/make.log) This comment caught my attention, and I made additional modifications to make sure the "hardeing" CFLAGS were correctly captured, basically adding a "fake" %configure step that is only used to capture these flags. > - Don't use %{__install} macros (also the cd is kind of unneeded). Done. Would you be kind enough to share the rationale? (I'm sort of new to Fedora packaging) > - buildroot is always defined; don't need to %{?...} Changed. > - Pass -p to install to preserve timestamps. Done in a first pass. In a second pass, I decided to use the %make_install feature for qmake-qt5, so I removed the explicit install. > - There's a segfault in %check, but it doesn't fail. I don't know if that's on purpose or it's broken. It's on purpose. The recorder library has a function to automatically dump what has been recorded in case of crash. That's what this test checks by provoking a sefault. > - ldconfig post(un) scriptlets are no longer necessary. Removed. Do you think this is also true on other distros (trying to make sure my .spec is reasonably reusable). > - Use *.1.* (etc.) for man pages instead of hardcoding a compression extension. Done. > - Add soversion to library path to be certain of any ABI breaks > before building (%{_libdir}/lib%{name}.so.1, etc.) Done. I also changed the version number of the package to match. > > > Package Review > ============== > > Legend: > [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated > [ ] = Manual review needed > > > Issues: > ======= > > > ===== MUST items ===== > > C/C++: > [x]: Package does not contain kernel modules. > [x]: Package contains no static executables. > [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: "GPL (v2 or later)", "GPL (v3 or later)", "Unknown or > generated", "GNU General Public License (v3)". 23 files have unknown > license. Detailed output of licensecheck in > 1703477-recorder/licensecheck.txt > [x]: License file installed when any subpackage combination is installed. > [x]: Package does not own files or directories owned by other packages. > [!]: %build honors applicable compiler flags or justifies otherwise. Of note: I may be mistaken, but my experiments tend to demonstrate that the interesting flags (hardening) are only setup if you run %configure. As written above, %configure step added with "fake" configure script for that purpose. Let me know if there is a better way. > [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. The recorder_scope has a GUI, but I believe it is not a GUI application in the sense of the above test, since it requires command-line options for any operation (in other words, you can't launch it by double-clicking an icon). > [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. > [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. Fixed. > [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. > [x]: Large documentation must go in a -doc subpackage. Large could be size > (~1MB) or number of files. > Note: Documentation size is 40960 bytes in 3 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 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. > [!]: Final provides and requires are sane (see attachments). > [!]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in > recorder-devel , recorder-scope , recorder-debuginfo , recorder- > debugsource > [?]: Package functions as described. > [x]: Latest version is packaged. > [x]: Package does not include license text files separate from upstream. > [!]: Scriptlets must be sane, if used. > [-]: Description and summary sections in the package spec file contains > translations for supported Non-English languages, if available. > [?]: Package should compile and build into binary rpms on all supported > architectures. > [!]: %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]: The placement of pkgconfig(.pc) files are correct. > [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: recorder-1.0.7-1.fc31.x86_64.rpm > recorder-devel-1.0.7-1.fc31.x86_64.rpm > recorder-scope-1.0.7-1.fc31.x86_64.rpm > recorder-debuginfo-1.0.7-1.fc31.x86_64.rpm > recorder-debugsource-1.0.7-1.fc31.x86_64.rpm > recorder-1.0.7-1.fc31.src.rpm > recorder.x86_64: W: name-repeated-in-summary C recorder Intentional, part of the phrase "flight recorder" > recorder.x86_64: W: spelling-error %description -l en_US printf -> print, > prints, print f Intentional, refers to the C printf function > recorder-devel.x86_64: W: no-dependency-on recorder/recorder-libs/librecorder Fixed > recorder-devel.x86_64: W: spelling-error %description -l en_US librecorder > -> lib recorder, lib-recorder, recorder Reworded > recorder-devel.x86_64: W: manual-page-warning > /usr/share/man/man3/recorder_dump.3.gz 177: warning: macro `TR' not defined > recorder-scope.x86_64: W: manual-page-warning Fixed > /usr/share/man/man1/recorder_scope.1.gz 71: warning: macro `TR' not defined > recorder.src: W: name-repeated-in-summary C recorder > recorder.src: W: spelling-error %description -l en_US printf -> print, > prints, print f > recorder.src:9: W: mixed-use-of-spaces-and-tabs (spaces: line 9, tab: line 1) > 6 packages and 0 specfiles checked; 0 errors, 9 warnings. > > > > > Rpmlint (debuginfo) > ------------------- > Checking: recorder-debuginfo-1.0.7-1.fc31.x86_64.rpm > recorder-scope-debuginfo-1.0.7-1.fc31.x86_64.rpm > 2 packages and 0 specfiles checked; 0 errors, 0 warnings. > > > > > > Rpmlint (installed packages) > ---------------------------- > recorder-debuginfo.x86_64: W: invalid-url URL: > https://github.com/c3d/recorder <urlopen error [Errno -2] Name or service > not known> > recorder-scope.x86_64: W: invalid-url URL: https://github.com/c3d/recorder > <urlopen error [Errno -2] Name or service not known> > recorder-scope.x86_64: W: manual-page-warning > /usr/share/man/man1/recorder_scope.1.gz 71: warning: macro `TR' not defined Fixed. > recorder-devel.x86_64: W: no-dependency-on recorder/recorder-libs/librecorder > recorder-devel.x86_64: W: spelling-error %description -l en_US librecorder > -> lib recorder, lib-recorder, recorder > recorder-devel.x86_64: W: invalid-url URL: https://github.com/c3d/recorder > <urlopen error [Errno -2] Name or service not known> > recorder-devel.x86_64: W: manual-page-warning > /usr/share/man/man3/recorder_dump.3.gz 177: warning: macro `TR' not defined > recorder-debugsource.x86_64: W: invalid-url URL: > https://github.com/c3d/recorder <urlopen error [Errno -2] Name or service > not known> > recorder.x86_64: W: name-repeated-in-summary C recorder > recorder.x86_64: W: spelling-error %description -l en_US printf -> print, > prints, print f > recorder.x86_64: W: invalid-url URL: https://github.com/c3d/recorder > <urlopen error [Errno -2] Name or service not known> > recorder.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/librecorder.so.1.0.7 /lib64/libm.so.6 > recorder-scope-debuginfo.x86_64: W: invalid-url URL: > https://github.com/c3d/recorder <urlopen error [Errno -2] Name or service > not known> > 6 packages and 0 specfiles checked; 0 errors, 13 warnings. > > > > Requires > -------- > recorder (rpmlib, GLIBC filtered): > /sbin/ldconfig > libc.so.6()(64bit) > libm.so.6()(64bit) > libpthread.so.0()(64bit) > rtld(GNU_HASH) > > recorder-scope (rpmlib, GLIBC filtered): > libGL.so.1()(64bit) > libQt5Charts.so.5()(64bit) > libQt5Charts.so.5(Qt_5)(64bit) > libQt5Core.so.5()(64bit) > libQt5Core.so.5(Qt_5)(64bit) > libQt5Core.so.5(Qt_5.12)(64bit) > libQt5Gui.so.5()(64bit) > libQt5Gui.so.5(Qt_5)(64bit) > libQt5Widgets.so.5()(64bit) > libQt5Widgets.so.5(Qt_5)(64bit) > libc.so.6()(64bit) > libgcc_s.so.1()(64bit) > libgcc_s.so.1(GCC_3.0)(64bit) > libm.so.6()(64bit) > libpthread.so.0()(64bit) > librecorder.so.1()(64bit) > libstdc++.so.6()(64bit) > libstdc++.so.6(CXXABI_1.3)(64bit) > libstdc++.so.6(CXXABI_1.3.9)(64bit) > qt5-qtcharts > rtld(GNU_HASH) > > recorder-debugsource (rpmlib, GLIBC filtered): > > recorder-devel (rpmlib, GLIBC filtered): > /usr/bin/pkg-config > librecorder.so.1()(64bit) > > recorder-debuginfo (rpmlib, GLIBC filtered): > > > > Provides > -------- > recorder: > librecorder.so.1()(64bit) > recorder > recorder(x86-64) > > recorder-scope: > recorder-scope > recorder-scope(x86-64) > > recorder-debugsource: > recorder-debugsource > recorder-debugsource(x86-64) > > recorder-devel: > pkgconfig(recorder) > recorder-devel > recorder-devel(x86-64) > > recorder-debuginfo: > debuginfo(build-id) > recorder-debuginfo > recorder-debuginfo(x86-64) > > > > Source checksums > ---------------- > https://github.com/c3d/recorder/archive/v1.0.7/recorder-1.0.7.tar.gz : > CHECKSUM(SHA256) this package : > 653634a3378654af6e2ab168492f4bb033c3a25a30148d02d98bbd3b8e2a2b50 > CHECKSUM(SHA256) upstream package : > 653634a3378654af6e2ab168492f4bb033c3a25a30148d02d98bbd3b8e2a2b50 > > > Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 > Command line :/usr/bin/fedora-review -b 1703477 -m fedora-rawhide-x86_64 > Buildroot used: fedora-rawhide-x86_64 > Active plugins: Generic, Shell-api, C/C++ > Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, > R, PHP > Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx