Spec URL: https://labbott.fedorapeople.org/kernel-tools/kernel-tools.spec SRPM URL: https://labbott.fedorapeople.org/kernel-tools/kernel-tools-4.15.0-0.rc2.git0.1.fc28.src.rpm Description: This is an extraction of several subpackages from the kernel.spec to a separate repository. I discussed reasons for wanting to do so on the kernel list https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/thread/H76G53CCMOJCWFL7LTCV5BXFDOGRFEGI/ You can see the packages as they exist in the kernel.spec , https://src.fedoraproject.org/rpms/kernel/blob/master/f/kernel.spec Name: kernel-tools %description -n kernel-tools This package contains the tools/ directory from the kernel source and the supporting documentation. %package -n perf %description -n perf This package contains the perf tool, which enables performance monitoring of the Linux kernel. %package -n python-perf %description -n python-perf The python-perf package contains a module that permits applications written in the Python programming language to use the interface to manipulate perf events. %package -n kernel-tools-libs %description -n kernel-tools-libs This package contains the libraries built from the tools/ directory from the kernel source. %package -n kernel-tools-libs-devel %description -n kernel-tools-libs-devel This package contains the development files for the tools/ directory from the kernel source. Fedora Account System Username: labbott
I don't know if I am experienced enough to review this complex package, but here a few preliminary remarks: - Group: is not used anymore in Fedora. See: https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections - L103: generally the BuildRoot shouldn't need to be redefined. - L117: cpuspeed is obsoleted but there is no corresponding Provides - L141: python_sitearch is already defined by default, no need to redefine it. - L187: No need for rm -rf $RPM_BUILD_ROOT - Multiple times: make %{?_smp_mflags} → %make_build - Multiple times: make DESTDIR=%{buildroot} install → %make_install - L297-303: %clean is not needed anymore. Remove it: ### ### clean ### %clean rm -rf $RPM_BUILD_ROOT - L308-312 Since /sbin/ldconfig is the only thing called in %post and %postun, use the -p syntax to avoid spawning a shell: %post -n kernel-tools-libs -p /sbin/ldconfig %postun -n kernel-tools-libs -p /sbin/ldconfig - In the %files, %defattr(-,root,root) is not needed, it is already the default. - The %changelog must contain the version and release. * Tue Nov 21 2017 Laura Abbott <labbott> - VERSION-RELEASE - Add "%license COPYING" in %files for all packages combinations (I believe it's in perf, python-perf, and kernel-tools-libs)
I forgot a thing' if you install a systemd service file (%{_unitdir}/cpupower.service), you must run the systemd scripplet as described in: https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd
kvm_stat should be compatible with Python 3 in v4.15[0] so we could bring back the python3 shebang patch[1] from https://bugzilla.redhat.com/show_bug.cgi?id=1456722 and drop that "%define __requires_exclude ^%{_bindir}/python". I'm happy to deal with that later, but this just made me remember. [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9cc5fbbb8ca2178d94f2eeeb2ce675293a3f8ae2 [1] https://src.fedoraproject.org/rpms/kernel/blob/eb93a3ce59422165822f28eae402ae9b5fd10a34/f/force-python3-in-kvm_stat.patch
(In reply to Robert-André Mauchin from comment #1) > - Group: is not used anymore in Fedora. See: > https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections > Done > - L103: generally the BuildRoot shouldn't need to be redefined. > Done. I think this was a holdover from how the real kernel works. > - L117: cpuspeed is obsoleted but there is no corresponding Provides > This has been present since 2011. I don't think it makes sense to addit now > - L141: python_sitearch is already defined by default, no need to redefine > it. > Done > - L187: No need for rm -rf $RPM_BUILD_ROOT > Done > - Multiple times: make %{?_smp_mflags} → %make_build > > - Multiple times: make DESTDIR=%{buildroot} install → %make_install > Given how there are multiple invocations of make build and make install and not all of them can use the macro, I'd rather be consistent and just not use it at all. It makes the spec file more unreadable. > - L297-303: %clean is not needed anymore. Remove it: > > ### > ### clean > ### > > %clean > rm -rf $RPM_BUILD_ROOT > Done > - L308-312 Since /sbin/ldconfig is the only thing called in %post and > %postun, use the -p syntax to avoid spawning a shell: > > %post -n kernel-tools-libs -p /sbin/ldconfig > %postun -n kernel-tools-libs -p /sbin/ldconfig > Done > - In the %files, %defattr(-,root,root) is not needed, it is already the > default. > Done > - The %changelog must contain the version and release. > > * Tue Nov 21 2017 Laura Abbott <labbott> - VERSION-RELEASE > Done > - Add "%license COPYING" in %files for all packages combinations (I > believe it's in perf, python-perf, and kernel-tools-libs) Done Also added the systemd scriplet stuff per the instructions. Thanks for the review. As you can tell, some of this stuff has gotten crufty. I updated the srpm and spec file at the same location. @Jeremy Since you have more experience here, I'll let you fix this up later. I agree it's good cleanup to have though.
(In reply to Laura Abbott from comment #4) > (In reply to Robert-André Mauchin from comment #1) > > > - Group: is not used anymore in Fedora. See: > > https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections > > > > Done You still have Group: fields in the subpackages. - You shouldn't use both %{buildroot} and $RPM_BUILD_ROOT. Choose one on another. - You should have a dependency to python2-devel or python3-devel, not python-devel. - perl-Carp → perl(Carp) - perl → perl-interpreter - Notice the typo: %{?systemd_requres} BuildRequires: systemd → %{?systemd_requires}. - You should own the following directories: [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/traceevent, /usr/share/perf-core [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/traceevent, /usr/share/perf-core, You should probably fix your %files like this: %files -n perf %{_bindir}/perf %dir %{_libdir}/traceevent %{_libdir}/traceevent/plugins/ %{_libexecdir}/perf-core/ %{_datadir}/perf-core/ - Use global instead of %define which is deprecated - You're missing the URL: field in the header - Plenty of files are marked executable when they shouldn't be: kernel-tools.x86_64: W: spurious-executable-perm /usr/share/man/man8/turbostat.8.gz kernel-tools.x86_64: W: spurious-executable-perm /usr/share/man/man8/x86_energy_perf_policy.8.gz perf.x86_64: E: executable-sourced-script /etc/bash_completion.d/perf 755 All of these should probably not be marked as executables: perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Context.pm perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Core.pm perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Util.pm perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/check-perf-trace.pl perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/failed-syscalls.pl perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Core.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/SchedGui.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/check-perf-trace.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/compaction-times.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/event_analyzing_sample.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/export-to-postgresql.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/export-to-sqlite.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/failed-syscalls-by-pid.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/futex-contention.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/intel-pt-events.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/net_dropmonitor.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/netdev-times.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/sctop.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/stackcollapse.py perf.x86_64: E: wrong-script-interpreter /usr/libexec/perf-core/scripts/python/stat-cpi.py /usr/bin/env python perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/syscall-counts-by-pid.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/syscall-counts.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/README perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/base-record perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/base-stat perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-C0 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-basic perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-any perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_call perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_ret perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-hv perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-ind_call perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-k perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-u perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-count perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-data perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-freq perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-graph-default perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-graph-dwarf perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-graph-fp perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-group perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-group-sampling perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-group1 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-no-buffering perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-no-inherit perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-no-samples perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-period perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-raw perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-C0 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-basic perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-default perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-detailed-1 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-detailed-2 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-detailed-3 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-group perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-group1 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-no-inherit perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/lib/probe.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/lib/probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/record+script_probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/trace+probe_libc_inet_pton.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/trace+probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/share/perf-core/strace/groups/file - These files have an older, incorrect FSF address, patch them with the new one in %prep and report it upstream: kernel-tools-libs-devel.x86_64: E: incorrect-fsf-address /usr/include/cpufreq.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/arch/x86/include/uapi/asm/vmx.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/include/linux/rbtree.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/include/linux/rbtree_augmented.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/lib/rbtree.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/arch/x86/util/dwarf-regs.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/builtin-probe.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/scripts/python/Perf-Trace-Util/Context.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/dwarf-aux.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/dwarf-aux.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/inat.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/inat.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/inat_types.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/insn.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/insn.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/probe-event.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/probe-finder.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/scripting-engines/trace-event-perl.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/scripting-engines/trace-event-python.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-info.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-parse.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-read.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-scripting.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/power/cpupower/lib/cpufreq.h Full fedora-review report below: Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package contains BR: python2-devel or python3-devel See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 - Package uses either %{buildroot} or $RPM_BUILD_ROOT Note: Using both %{buildroot} and $RPM_BUILD_ROOT See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [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. 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: "BSD (3 clause) GPL (with incorrect FSF address)", "CC0 (v3) GPL", "GPL (v2) (with incorrect FSF address)", "*No copyright* CC0", "BSD (2 clause) GPL (v2 or later) (with incorrect FSF address)", "*No copyright* MIT/X11 (BSD like) GPL (v2)", "ISC GPL (v2 or later)", "BSD (unspecified)", "ISC GPL", "ISC", "LGPL (v2.1)", "*No copyright* GPL (with incorrect FSF address)", "GPL (v2.0)", "GPL (with incorrect FSF address)", "*No copyright* GPL (v2 or later)", "*No copyright* MIT/X11 (BSD like)", "BSD (unspecified) GPL (v2 or later) (with incorrect FSF address)", "*No copyright* GPL (v2 or later) (with incorrect FSF address)", "LGPL (v2 or later)", "GPL (v3 or later)", "*No copyright* GPL", "*No copyright* BSD (3 clause)", "BSD (unspecified) GPL (v2 or later)", "zlib/libpng", "*No copyright* BSD (unspecified) GPL", "*No copyright* LGPL (v2)", "MIT/X11 (BSD like) GPL (v2 or later)", "GPL (v1)", "BSD (2 clause) GPL (v2 or later)", "GPL (v2 or later) (with incorrect FSF address)", "BSD (2 clause)", "BSD (2 clause) GPL", "GPL (v1 or later)", "GPL (v3)", "*No copyright* MIT/X11 (BSD like) GPL (v2 or later)", "NTP (legal disclaimer) GPL (v2)", "GPL", "BSD (3 clause) GPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or later)", "*No copyright* GPL (v2)", "CC0 GPL (v2)", "BSD (3 clause) GPL", "MIT/X11 (BSD like)", "GPL (v1) (with incorrect FSF address)", "Perl GPL (v2)", "MPL (v1.1) GPL (v2 or later)", "*No copyright* Public domain", "*No copyright* GPL (v2) (with incorrect FSF address)", "NTP (legal disclaimer)", "CC0 GPL (v2 or later)", "*No copyright* BSD (unspecified)", "BSD (3 clause)", "CC0 (v1) GPL (v2)", "*No copyright* CC0 (v1)", "MIT/X11 (BSD like) GPL (v2)", "LGPL (v2)", "BSD (2 clause) GPL (v2)", "LGPL", "*No copyright* BSD (unspecified) GPL (v2 or later)", "BSD (3 clause) GPL (v2)", "Unknown or generated", "BSD (4 clause)", "*No copyright* BSD (2 clause)", "NTP", "MPL (v1.1) GPL", "*No copyright* LGPL (v2.1 or later)", "CC0", "MPL (v1.1) GPL (v2)", "*No copyright* BSD (unspecified) GPL (v2 or later) (with incorrect FSF address)", "BSD (unspecified) GPL (v2)", "LGPL (v2.1 or later)", "BSD (3 clause) GPL (v2 or later)", "GPL (v2)", "*No copyright* MIT/X11 (BSD like) GPL", "*No copyright* GPL (v2.0)", "MIT/X11 (BSD like) GPL". 31370 files have unknown license. Detailed output of licensecheck in /home/bob/packaging/review/kernel-tools/review-kernel- tools/licensecheck.txt [ ]: License file installed when any subpackage combination is installed. [-]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/traceevent, /usr/share/perf-core [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/traceevent, /usr/share/perf-core, /usr/lib/systemd/system, /usr/lib/systemd [x]: Package does not own files or directories owned by other packages. [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]: The spec file handles locales properly. [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. Note: Package contains Conflicts: tag(s) needing fix or justification. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: 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 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]: 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]: 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 Python: [x]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [!]: Uses parallel make %{?_smp_mflags} macro. [-]: 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 perf , python-perf , kernel-tools-libs , kernel-tools-libs-devel , kernel- tools-debuginfo , kernel-tools-debugsource [?]: Package functions as described. [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. [-]: 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. [x]: Packages should try to preserve timestamps of original installed files. [!]: Spec use %global instead of %define unless justified. Note: %define requiring justification: %define base_sublevel 14, %define stable_update 0, %define stablerev %{stable_update}, %define stable_base %{stable_update}, %define rpmversion 4.%{base_sublevel}.%{stable_update}, %define upstream_sublevel %(echo $((%{base_sublevel} + 1))), %define rpmversion 4.%{upstream_sublevel}.0, %define pkg_release %{fedora_build}%{?buildid}%{?dist}, %define rctag .rc%rcrev, %define rctag .rc0, %define gittag .git0, %define pkg_release 0%{?rctag}%{?gittag}.%{fedora_build}%{?buildid}%{?dist}, %define kversion 4.%{base_sublevel}, %define KVERREL %{version}-%{release}.%{_target_cpu}, %define debuginfodir /usr/lib/debug, %define __requires_exclude ^%{_bindir}/python [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. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: There are rpmlint messages (see attachment). [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: kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm perf-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm python-perf-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm kernel-tools-libs-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm kernel-tools-libs-devel-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm kernel-tools-debuginfo-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm kernel-tools-debugsource-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm kernel-tools-4.15.0-0.rc2.git0.1.fc28.src.rpm kernel-tools.x86_64: W: no-url-tag kernel-tools.x86_64: W: obsolete-not-provided cpuspeed kernel-tools.x86_64: W: spurious-executable-perm /usr/share/man/man8/turbostat.8.gz kernel-tools.x86_64: W: spurious-executable-perm /usr/share/man/man8/x86_energy_perf_policy.8.gz kernel-tools.x86_64: W: no-manual-page-for-binary centrino-decode kernel-tools.x86_64: W: no-manual-page-for-binary gpio-event-mon kernel-tools.x86_64: W: no-manual-page-for-binary gpio-hammer kernel-tools.x86_64: W: no-manual-page-for-binary iio_event_monitor kernel-tools.x86_64: W: no-manual-page-for-binary iio_generic_buffer kernel-tools.x86_64: W: no-manual-page-for-binary lsgpio kernel-tools.x86_64: W: no-manual-page-for-binary lsiio kernel-tools.x86_64: W: no-manual-page-for-binary powernow-k8-decode kernel-tools.x86_64: W: no-manual-page-for-binary tmon kernel-tools.x86_64: W: empty-%postun perf.x86_64: W: no-url-tag perf.x86_64: E: executable-sourced-script /etc/bash_completion.d/perf 755 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Context.pm perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Core.pm perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Util.pm perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/check-perf-trace.pl perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/perl/failed-syscalls.pl perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Core.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/SchedGui.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/check-perf-trace.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/compaction-times.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/event_analyzing_sample.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/export-to-postgresql.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/export-to-sqlite.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/failed-syscalls-by-pid.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/futex-contention.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/intel-pt-events.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/net_dropmonitor.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/netdev-times.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/sctop.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/stackcollapse.py perf.x86_64: E: wrong-script-interpreter /usr/libexec/perf-core/scripts/python/stat-cpi.py /usr/bin/env python perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/syscall-counts-by-pid.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/scripts/python/syscall-counts.py perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/README perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/base-record perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/base-stat perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-C0 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-basic perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-any perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_call perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_ret perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-hv perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-ind_call perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-k perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-branch-filter-u perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-count perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-data perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-freq perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-graph-default perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-graph-dwarf perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-graph-fp perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-group perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-group-sampling perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-group1 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-no-buffering perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-no-inherit perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-no-samples perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-period perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-record-raw perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-C0 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-basic perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-default perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-detailed-1 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-detailed-2 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-detailed-3 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-group perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-group1 perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/attr/test-stat-no-inherit perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/lib/probe.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/lib/probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/record+script_probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/trace+probe_libc_inet_pton.sh perf.x86_64: E: script-without-shebang /usr/libexec/perf-core/tests/shell/trace+probe_vfs_getname.sh perf.x86_64: E: script-without-shebang /usr/share/perf-core/strace/groups/file python-perf.x86_64: W: no-url-tag python-perf.x86_64: W: no-documentation kernel-tools-libs.x86_64: W: no-url-tag kernel-tools-libs.x86_64: W: no-documentation kernel-tools-libs-devel.x86_64: W: no-url-tag kernel-tools-libs-devel.x86_64: W: only-non-binary-in-usr-lib kernel-tools-libs-devel.x86_64: W: no-documentation kernel-tools-libs-devel.x86_64: E: incorrect-fsf-address /usr/include/cpufreq.h kernel-tools-debuginfo.x86_64: W: no-url-tag kernel-tools-debugsource.x86_64: W: no-url-tag kernel-tools-debugsource.x86_64: W: no-documentation kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/arch/x86/include/uapi/asm/vmx.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/include/linux/rbtree.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/include/linux/rbtree_augmented.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/lib/rbtree.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/arch/x86/util/dwarf-regs.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/builtin-probe.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/scripts/python/Perf-Trace-Util/Context.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/dwarf-aux.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/dwarf-aux.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/inat.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/inat.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/inat_types.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/insn.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/intel-pt-decoder/insn.h kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/probe-event.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/probe-finder.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/scripting-engines/trace-event-perl.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/scripting-engines/trace-event-python.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-info.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-parse.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-read.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/perf/util/trace-event-scripting.c kernel-tools-debugsource.x86_64: E: incorrect-fsf-address /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/power/cpupower/lib/cpufreq.h kernel-tools.src: W: no-url-tag kernel-tools.src:61: E: hardcoded-library-path in /usr/lib/debug kernel-tools.src:156: W: unversioned-explicit-provides kernel-tools-devel kernel-tools.src: W: invalid-url Source10: perf-man-4.14.tar.gz 8 packages and 0 specfiles checked; 93 errors, 28 warnings.
(In reply to Robert-André Mauchin from comment #5) > (In reply to Laura Abbott from comment #4) > > (In reply to Robert-André Mauchin from comment #1) > > > > > - Group: is not used anymore in Fedora. See: > > > https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections > > > > > > > Done > > You still have Group: fields in the subpackages. > Done > > - You shouldn't use both %{buildroot} and $RPM_BUILD_ROOT. Choose one on > another. > Done, used the standard %{buildroot} macro > - You should have a dependency to python2-devel or python3-devel, not > python-devel. > Done > - perl-Carp → perl(Carp) > Done > - perl → perl-interpreter > Done > - Notice the typo: > > %{?systemd_requres} > BuildRequires: systemd > > → %{?systemd_requires}. > Done > - You should own the following directories: > > [!]: Package requires other packages for directories it uses. > Note: No known owner of /usr/lib64/traceevent, /usr/share/perf-core > [!]: Package must own all directories that it creates. > Note: Directories without known owners: /usr/lib64/traceevent, > /usr/share/perf-core, > > You should probably fix your %files like this: > > %files -n perf > %{_bindir}/perf > %dir %{_libdir}/traceevent > %{_libdir}/traceevent/plugins/ > %{_libexecdir}/perf-core/ > %{_datadir}/perf-core/ > Done > - Use global instead of %define which is deprecated > Done (mostly a holdover from the kernel which needs to be fixed up) > - You're missing the URL: field in the header > Done > - Plenty of files are marked executable when they shouldn't be: > > kernel-tools.x86_64: W: spurious-executable-perm > /usr/share/man/man8/turbostat.8.gz > kernel-tools.x86_64: W: spurious-executable-perm > /usr/share/man/man8/x86_energy_perf_policy.8.gz > perf.x86_64: E: executable-sourced-script /etc/bash_completion.d/perf 755 > > All of these should probably not be marked as executables: > > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Context.pm > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Core.pm > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Util.pm > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/check-perf-trace.pl > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/failed-syscalls.pl > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Core.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/ > EventClass.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/ > SchedGui.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/check-perf-trace.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/compaction-times.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/event_analyzing_sample.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/export-to-postgresql.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/export-to-sqlite.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/failed-syscalls-by-pid.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/futex-contention.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/intel-pt-events.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/net_dropmonitor.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/netdev-times.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/sctop.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/stackcollapse.py > perf.x86_64: E: wrong-script-interpreter > /usr/libexec/perf-core/scripts/python/stat-cpi.py /usr/bin/env python > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/syscall-counts-by-pid.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/syscall-counts.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/README > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/base-record > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/base-stat > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-C0 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-basic > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-any > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_call > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_ret > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-hv > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-ind_call > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-k > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-u > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-count > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-data > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-freq > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-graph-default > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-graph-dwarf > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-graph-fp > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-group > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-group-sampling > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-group1 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-no-buffering > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-no-inherit > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-no-samples > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-period > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-raw > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-C0 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-basic > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-default > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-detailed-1 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-detailed-2 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-detailed-3 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-group > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-group1 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-no-inherit > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/lib/probe.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/lib/probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/record+script_probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/trace+probe_libc_inet_pton.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/trace+probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/share/perf-core/strace/groups/file > Most of these are problems with the package itself. I'd rather fix those up later. > - These files have an older, incorrect FSF address, patch them with the new > one in %prep and report it upstream: > > kernel-tools-libs-devel.x86_64: E: incorrect-fsf-address > /usr/include/cpufreq.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > arch/x86/include/uapi/asm/vmx.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > include/linux/rbtree.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > include/linux/rbtree_augmented.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > lib/rbtree.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/arch/x86/util/dwarf-regs.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/builtin-probe.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/scripts/python/Perf-Trace-Util/Context.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/dwarf-aux.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/dwarf-aux.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/inat.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/inat.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/inat_types.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/insn.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/insn.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/probe-event.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/probe-finder.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/scripting-engines/trace-event-perl.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/scripting-engines/trace-event-python.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-info.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-parse.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-read.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-scripting.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > power/cpupower/lib/cpufreq.h > Done, patches put in the package and pending upstream > > Full fedora-review report below: > > Package Review > ============== > > Legend: > [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated > [ ] = Manual review needed > > > Issues: > ======= > - Package contains BR: python2-devel or python3-devel > See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 > - Package uses either %{buildroot} or $RPM_BUILD_ROOT > Note: Using both %{buildroot} and $RPM_BUILD_ROOT > See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros > > > ===== MUST items ===== > > C/C++: > [x]: Package does not contain kernel modules. > [x]: Package contains no static executables. > [x]: Development (unversioned) .so files in -devel subpackage, if present. > Note: Unversioned so-files in private %_libdir subdirectory (see > attachment). Verify they are not in ld path. > [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. > > 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: "BSD (3 clause) GPL (with incorrect FSF address)", "CC0 (v3) > GPL", "GPL (v2) (with incorrect FSF address)", "*No copyright* CC0", > "BSD (2 clause) GPL (v2 or later) (with incorrect FSF address)", "*No > copyright* MIT/X11 (BSD like) GPL (v2)", "ISC GPL (v2 or later)", "BSD > (unspecified)", "ISC GPL", "ISC", "LGPL (v2.1)", "*No copyright* GPL > (with incorrect FSF address)", "GPL (v2.0)", "GPL (with incorrect FSF > address)", "*No copyright* GPL (v2 or later)", "*No copyright* MIT/X11 > (BSD like)", "BSD (unspecified) GPL (v2 or later) (with incorrect FSF > address)", "*No copyright* GPL (v2 or later) (with incorrect FSF > address)", "LGPL (v2 or later)", "GPL (v3 or later)", "*No copyright* > GPL", "*No copyright* BSD (3 clause)", "BSD (unspecified) GPL (v2 or > later)", "zlib/libpng", "*No copyright* BSD (unspecified) GPL", "*No > copyright* LGPL (v2)", "MIT/X11 (BSD like) GPL (v2 or later)", "GPL > (v1)", "BSD (2 clause) GPL (v2 or later)", "GPL (v2 or later) (with > incorrect FSF address)", "BSD (2 clause)", "BSD (2 clause) GPL", "GPL > (v1 or later)", "GPL (v3)", "*No copyright* MIT/X11 (BSD like) GPL (v2 > or later)", "NTP (legal disclaimer) GPL (v2)", "GPL", "BSD (3 clause) > GPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or later)", > "*No copyright* GPL (v2)", "CC0 GPL (v2)", "BSD (3 clause) GPL", > "MIT/X11 (BSD like)", "GPL (v1) (with incorrect FSF address)", "Perl > GPL (v2)", "MPL (v1.1) GPL (v2 or later)", "*No copyright* Public > domain", "*No copyright* GPL (v2) (with incorrect FSF address)", "NTP > (legal disclaimer)", "CC0 GPL (v2 or later)", "*No copyright* BSD > (unspecified)", "BSD (3 clause)", "CC0 (v1) GPL (v2)", "*No copyright* > CC0 (v1)", "MIT/X11 (BSD like) GPL (v2)", "LGPL (v2)", "BSD (2 clause) > GPL (v2)", "LGPL", "*No copyright* BSD (unspecified) GPL (v2 or > later)", "BSD (3 clause) GPL (v2)", "Unknown or generated", "BSD (4 > clause)", "*No copyright* BSD (2 clause)", "NTP", "MPL (v1.1) GPL", > "*No copyright* LGPL (v2.1 or later)", "CC0", "MPL (v1.1) GPL (v2)", > "*No copyright* BSD (unspecified) GPL (v2 or later) (with incorrect > FSF address)", "BSD (unspecified) GPL (v2)", "LGPL (v2.1 or later)", > "BSD (3 clause) GPL (v2 or later)", "GPL (v2)", "*No copyright* > MIT/X11 (BSD like) GPL", "*No copyright* GPL (v2.0)", "MIT/X11 (BSD > like) GPL". 31370 files have unknown license. Detailed output of > licensecheck in /home/bob/packaging/review/kernel-tools/review-kernel- > tools/licensecheck.txt > [ ]: License file installed when any subpackage combination is installed. > [-]: Package requires other packages for directories it uses. > Note: No known owner of /usr/lib64/traceevent, /usr/share/perf-core > [!]: Package must own all directories that it creates. > Note: Directories without known owners: /usr/lib64/traceevent, Fixed > /usr/share/perf-core, /usr/lib/systemd/system, /usr/lib/systemd > [x]: Package does not own files or directories owned by other packages. > [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]: The spec file handles locales properly. > [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. > Note: Package contains Conflicts: tag(s) needing fix or justification. > [x]: Package obeys FHS, except libexecdir and /usr/target. > [-]: If the package is a rename of another package, proper Obsoletes and > Provides are present. > [x]: Requires correct, justified where necessary. > [x]: Spec file is legible and written in American English. > [x]: 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 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]: 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]: 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 > > Python: > [x]: Python eggs must not download any dependencies during the build > process. > [-]: A package which is used by another package via an egg interface should > provide egg info. > [x]: Package meets the Packaging Guidelines::Python > [x]: Binary eggs must be removed in %prep > > ===== SHOULD items ===== > > Generic: > [!]: Uses parallel make %{?_smp_mflags} macro. I'm not sure why this was a failure? > [-]: 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 perf , > python-perf , kernel-tools-libs , kernel-tools-libs-devel , kernel- > tools-debuginfo , kernel-tools-debugsource > [?]: Package functions as described. > [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. > [-]: 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. > [x]: Packages should try to preserve timestamps of original installed > files. > [!]: Spec use %global instead of %define unless justified. > Note: %define requiring justification: %define base_sublevel 14, > %define stable_update 0, %define stablerev %{stable_update}, %define > stable_base %{stable_update}, %define rpmversion > 4.%{base_sublevel}.%{stable_update}, %define upstream_sublevel %(echo > $((%{base_sublevel} + 1))), %define rpmversion > 4.%{upstream_sublevel}.0, %define pkg_release > %{fedora_build}%{?buildid}%{?dist}, %define rctag .rc%rcrev, %define > rctag .rc0, %define gittag .git0, %define pkg_release > 0%{?rctag}%{?gittag}.%{fedora_build}%{?buildid}%{?dist}, %define > kversion 4.%{base_sublevel}, %define KVERREL > %{version}-%{release}.%{_target_cpu}, %define debuginfodir > /usr/lib/debug, %define __requires_exclude ^%{_bindir}/python Fixed > [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. > > ===== EXTRA items ===== > > Generic: > [x]: Rpmlint is run on debuginfo package(s). > Note: There are rpmlint messages (see attachment). > [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: kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > perf-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > python-perf-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > kernel-tools-libs-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > kernel-tools-libs-devel-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > kernel-tools-debuginfo-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > kernel-tools-debugsource-4.15.0-0.rc2.git0.1.fc28.x86_64.rpm > kernel-tools-4.15.0-0.rc2.git0.1.fc28.src.rpm > kernel-tools.x86_64: W: no-url-tag > kernel-tools.x86_64: W: obsolete-not-provided cpuspeed > kernel-tools.x86_64: W: spurious-executable-perm > /usr/share/man/man8/turbostat.8.gz > kernel-tools.x86_64: W: spurious-executable-perm > /usr/share/man/man8/x86_energy_perf_policy.8.gz > kernel-tools.x86_64: W: no-manual-page-for-binary centrino-decode > kernel-tools.x86_64: W: no-manual-page-for-binary gpio-event-mon > kernel-tools.x86_64: W: no-manual-page-for-binary gpio-hammer > kernel-tools.x86_64: W: no-manual-page-for-binary iio_event_monitor > kernel-tools.x86_64: W: no-manual-page-for-binary iio_generic_buffer > kernel-tools.x86_64: W: no-manual-page-for-binary lsgpio > kernel-tools.x86_64: W: no-manual-page-for-binary lsiio > kernel-tools.x86_64: W: no-manual-page-for-binary powernow-k8-decode > kernel-tools.x86_64: W: no-manual-page-for-binary tmon > kernel-tools.x86_64: W: empty-%postun > perf.x86_64: W: no-url-tag > perf.x86_64: E: executable-sourced-script /etc/bash_completion.d/perf 755 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Context.pm > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Core.pm > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Util.pm > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/check-perf-trace.pl > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/perl/failed-syscalls.pl > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Core.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/ > EventClass.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/ > SchedGui.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/check-perf-trace.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/compaction-times.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/event_analyzing_sample.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/export-to-postgresql.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/export-to-sqlite.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/failed-syscalls-by-pid.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/futex-contention.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/intel-pt-events.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/net_dropmonitor.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/netdev-times.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/sctop.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/stackcollapse.py > perf.x86_64: E: wrong-script-interpreter > /usr/libexec/perf-core/scripts/python/stat-cpi.py /usr/bin/env python > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/syscall-counts-by-pid.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/scripts/python/syscall-counts.py > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/README > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/base-record > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/base-stat > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-C0 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-basic > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-any > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_call > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-any_ret > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-hv > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-ind_call > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-k > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-branch-filter-u > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-count > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-data > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-freq > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-graph-default > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-graph-dwarf > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-graph-fp > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-group > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-group-sampling > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-group1 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-no-buffering > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-no-inherit > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-no-samples > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-period > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-record-raw > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-C0 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-basic > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-default > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-detailed-1 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-detailed-2 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-detailed-3 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-group > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-group1 > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/attr/test-stat-no-inherit > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/lib/probe.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/lib/probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/record+script_probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/trace+probe_libc_inet_pton.sh > perf.x86_64: E: script-without-shebang > /usr/libexec/perf-core/tests/shell/trace+probe_vfs_getname.sh > perf.x86_64: E: script-without-shebang > /usr/share/perf-core/strace/groups/file > python-perf.x86_64: W: no-url-tag > python-perf.x86_64: W: no-documentation > kernel-tools-libs.x86_64: W: no-url-tag > kernel-tools-libs.x86_64: W: no-documentation > kernel-tools-libs-devel.x86_64: W: no-url-tag > kernel-tools-libs-devel.x86_64: W: only-non-binary-in-usr-lib > kernel-tools-libs-devel.x86_64: W: no-documentation > kernel-tools-libs-devel.x86_64: E: incorrect-fsf-address > /usr/include/cpufreq.h > kernel-tools-debuginfo.x86_64: W: no-url-tag > kernel-tools-debugsource.x86_64: W: no-url-tag > kernel-tools-debugsource.x86_64: W: no-documentation > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > arch/x86/include/uapi/asm/vmx.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > include/linux/rbtree.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > include/linux/rbtree_augmented.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > lib/rbtree.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/arch/x86/util/dwarf-regs.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/builtin-probe.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/scripts/python/Perf-Trace-Util/Context.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/dwarf-aux.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/dwarf-aux.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/inat.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/inat.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/inat_types.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/insn.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/intel-pt-decoder/insn.h > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/probe-event.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/probe-finder.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/scripting-engines/trace-event-perl.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/scripting-engines/trace-event-python.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-info.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-parse.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-read.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > perf/util/trace-event-scripting.c > kernel-tools-debugsource.x86_64: E: incorrect-fsf-address > /usr/src/debug/kernel-tools-4.15.0-0.rc2.git0.1.fc28.x86_64/linux-4.14/tools/ > power/cpupower/lib/cpufreq.h > kernel-tools.src: W: no-url-tag > kernel-tools.src:61: E: hardcoded-library-path in /usr/lib/debug > kernel-tools.src:156: W: unversioned-explicit-provides kernel-tools-devel > kernel-tools.src: W: invalid-url Source10: perf-man-4.14.tar.gz > 8 packages and 0 specfiles checked; 93 errors, 28 warnings. spec and srpm updated
>> Generic: >> [!]: Uses parallel make %{?_smp_mflags} macro. > >I'm not sure why this was a failure? Because it detects "make" without %{?_smp_mflags} (or %make_build), which it the recommended method unless parallel make makes the build fail. > Most of these are problems with the package itself. I'd rather fix those up later. At least fix the man pages and bash completion file: > kernel-tools.x86_64: W: spurious-executable-perm > /usr/share/man/man8/turbostat.8.gz > kernel-tools.x86_64: W: spurious-executable-perm > /usr/share/man/man8/x86_energy_perf_policy.8.gz > perf.x86_64: E: executable-sourced-script /etc/bash_completion.d/perf 755 Here's a simple patch to fix it: diff -up linux-4.14/tools/perf/Makefile.perf.fix_executable_perm linux-4.14/tools/perf/Makefile.perf --- linux-4.14/tools/perf/Makefile.perf.fix_executable_perm 2017-11-12 19:46:13.000000000 +0100 +++ linux-4.14/tools/perf/Makefile.perf 2017-12-15 21:52:16.638189892 +0100 @@ -765,7 +765,7 @@ ifndef NO_LIBPYTHON endif $(call QUIET_INSTALL, perf_completion-script) \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \ - $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf' + $(INSTALL) -m 644 perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf' $(call QUIET_INSTALL, perf-tip) \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(tip_instdir_SQ)'; \ $(INSTALL) Documentation/tips.txt -t '$(DESTDIR_SQ)$(tip_instdir_SQ)' diff -up linux-4.14/tools/power/x86/turbostat/Makefile.fix_executable_perm linux-4.14/tools/power/x86/turbostat/Makefile --- linux-4.14/tools/power/x86/turbostat/Makefile.fix_executable_perm 2017-11-12 19:46:13.000000000 +0100 +++ linux-4.14/tools/power/x86/turbostat/Makefile 2017-12-15 20:47:32.123941300 +0100 @@ -25,4 +25,4 @@ install : turbostat install -d $(DESTDIR)$(PREFIX)/bin install $(BUILD_OUTPUT)/turbostat $(DESTDIR)$(PREFIX)/bin/turbostat install -d $(DESTDIR)$(PREFIX)/share/man/man8 - install turbostat.8 $(DESTDIR)$(PREFIX)/share/man/man8 + install -m 644 turbostat.8 $(DESTDIR)$(PREFIX)/share/man/man8 diff -up linux-4.14/tools/power/x86/x86_energy_perf_policy/Makefile.fix_executable_perm linux-4.14/tools/power/x86/x86_energy_perf_policy/Makefile --- linux-4.14/tools/power/x86/x86_energy_perf_policy/Makefile.fix_executable_perm 2017-11-12 19:46:13.000000000 +0100 +++ linux-4.14/tools/power/x86/x86_energy_perf_policy/Makefile 2017-12-15 20:48:10.671831448 +0100 @@ -24,5 +24,5 @@ install : x86_energy_perf_policy install -d $(DESTDIR)$(PREFIX)/bin install $(BUILD_OUTPUT)/x86_energy_perf_policy $(DESTDIR)$(PREFIX)/bin/x86_energy_perf_policy install -d $(DESTDIR)$(PREFIX)/share/man/man8 - install x86_energy_perf_policy.8 $(DESTDIR)$(PREFIX)/share/man/man8 + install -m 644 x86_energy_perf_policy.8 $(DESTDIR)$(PREFIX)/share/man/man8
Okay, I fixed up the executable perms and reuploaded the spec and srpm.
Seems good to me, package approved. Thanks for all your work on the kernel.
(fedrepo-req-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/kernel-tools
Built successfully this morning