Toshaan Bharvani
2 years ago
commit
c66cb0b0ec
4 changed files with 13186 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||||||
|
# See 'cpupower help' and cpupower(1) for more info |
||||||
|
CPUPOWER_START_OPTS="frequency-set -g performance" |
||||||
|
CPUPOWER_STOP_OPTS="frequency-set -g ondemand" |
@ -0,0 +1,13 @@ |
|||||||
|
[Unit] |
||||||
|
Description=Configure CPU power related settings |
||||||
|
After=syslog.target |
||||||
|
|
||||||
|
[Service] |
||||||
|
Type=oneshot |
||||||
|
RemainAfterExit=yes |
||||||
|
EnvironmentFile=/etc/sysconfig/cpupower |
||||||
|
ExecStart=/usr/bin/cpupower $CPUPOWER_START_OPTS |
||||||
|
ExecStop=/usr/bin/cpupower $CPUPOWER_STOP_OPTS |
||||||
|
|
||||||
|
[Install] |
||||||
|
WantedBy=multi-user.target |
@ -0,0 +1,944 @@ |
|||||||
|
%global __spec_install_pre %{___build_pre} |
||||||
|
|
||||||
|
# Define the version of the Linux Kernel Archive tarball. |
||||||
|
%define LKAver 6.1.2 |
||||||
|
|
||||||
|
# Define the buildid, if required. |
||||||
|
#define buildid . |
||||||
|
|
||||||
|
# The following build options are enabled by default. |
||||||
|
# Use either --without <option> on your rpmbuild command line |
||||||
|
# or force the values to 0, here, to disable them. |
||||||
|
|
||||||
|
# kernel-ml |
||||||
|
%define with_default %{?_without_default: 0} %{?!_without_default: 1} |
||||||
|
# kernel-ml-doc |
||||||
|
%define with_doc %{?_without_doc: 0} %{?!_without_doc: 1} |
||||||
|
# kernel-ml-headers |
||||||
|
%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} |
||||||
|
# perf |
||||||
|
%define with_perf %{?_without_perf: 0} %{?!_without_perf: 1} |
||||||
|
# tools |
||||||
|
%define with_tools %{?_without_tools: 0} %{?!_without_tools: 1} |
||||||
|
# bpf tool |
||||||
|
%define with_bpftool %{?_without_bpftool: 0} %{?!_without_bpftool: 0} |
||||||
|
# bootwrapper |
||||||
|
%define with_bootwrapper %{?_without_bootwrapper: 0} %{?!_without_bootwrapper: 1} |
||||||
|
|
||||||
|
# python |
||||||
|
%define __python /usr/bin/python3 |
||||||
|
|
||||||
|
# These architectures install vdso/ directories. |
||||||
|
%define vdso_arches i686 x86_64 ppc64 ppc64le |
||||||
|
|
||||||
|
|
||||||
|
# Per-architecture tweaks. |
||||||
|
|
||||||
|
# Architecture defaults. |
||||||
|
%define buildarch %{_target_cpu} |
||||||
|
%define hdrarch %{_target_cpu} |
||||||
|
%ifarch noarch |
||||||
|
# Documentation only. |
||||||
|
%define with_default 0 |
||||||
|
%define with_headers 0 |
||||||
|
%define with_perf 0 |
||||||
|
%define with_tools 0 |
||||||
|
%define with_bootwrapper 0 |
||||||
|
%endif |
||||||
|
|
||||||
|
%ifarch i686 |
||||||
|
# 32-bit kernel-ml, headers, perf & tools. |
||||||
|
%define buildarch i386 |
||||||
|
%define hdrarch i386 |
||||||
|
%define with_doc 0 |
||||||
|
%define with_bootwrapper 0 |
||||||
|
%endif |
||||||
|
|
||||||
|
%ifarch x86_64 |
||||||
|
# 64-bit kernel-ml, headers, perf & tools. |
||||||
|
%define asmarch x86_64 |
||||||
|
%define buildarch x86_64 |
||||||
|
%define hdrarch x86_64 |
||||||
|
%define configarch x86_64 |
||||||
|
%define with_doc 0 |
||||||
|
%define with_bootwrapper 0 |
||||||
|
%define make_target bzImage |
||||||
|
%endif |
||||||
|
|
||||||
|
%ifarch ppc64 |
||||||
|
# 64-bit kernel-ml, headers, perf & tools. |
||||||
|
%define asmarch ppc64 |
||||||
|
%define buildarch powerpc |
||||||
|
%define hdrarch powerpc |
||||||
|
%define configarch ppc64 |
||||||
|
%define with_doc 0 |
||||||
|
%define with_bootwrapper 1 |
||||||
|
%define make_target vmlinux |
||||||
|
%endif |
||||||
|
|
||||||
|
%ifarch ppc64le |
||||||
|
# 64-bit kernel-ml, headers, perf & tools. |
||||||
|
%define asmarch ppc64le |
||||||
|
%define buildarch powerpc |
||||||
|
%define hdrarch powerpc |
||||||
|
%define configarch ppc64le |
||||||
|
%define with_doc 0 |
||||||
|
%define with_bootwrapper 1 |
||||||
|
%define make_target vmlinux |
||||||
|
%endif |
||||||
|
|
||||||
|
%ifarch aarch64 |
||||||
|
%define asmarch aarch64 |
||||||
|
%define buildarch arm64 |
||||||
|
%define hdrarch arm64 |
||||||
|
%define configarch rpi3b64 |
||||||
|
%define with_doc 0 |
||||||
|
%define with_bootwrapper 0 |
||||||
|
%define make_target vmlinux |
||||||
|
%endif |
||||||
|
|
||||||
|
|
||||||
|
# Determine the sublevel number and set pkg_version. |
||||||
|
%define sublevel %(echo %{LKAver} | %{__awk} -F\. '{ print $3 }') |
||||||
|
%if "%{sublevel}" == "" |
||||||
|
%define pkg_version %{LKAver}.0 |
||||||
|
%else |
||||||
|
%define pkg_version %{LKAver} |
||||||
|
%endif |
||||||
|
|
||||||
|
# Set pkg_release. |
||||||
|
%define pkg_release 1%{?buildid}%{?dist} |
||||||
|
|
||||||
|
# |
||||||
|
# Three sets of minimum package version requirements in the form of Conflicts. |
||||||
|
# |
||||||
|
|
||||||
|
# |
||||||
|
# Packages that need to be installed before the kernel because the %%post scripts make use of them. |
||||||
|
# |
||||||
|
%define kernel_prereq coreutils, systemd >= 203-2, /usr/bin/kernel-install |
||||||
|
%define initrd_prereq dracut >= 027 |
||||||
|
|
||||||
|
Name: kernel |
||||||
|
Summary: The Linux kernel. (The core of any Linux-based operating system.) |
||||||
|
License: GPLv2 |
||||||
|
URL: https://www.kernel.org/ |
||||||
|
Version: %{pkg_version} |
||||||
|
Release: %{pkg_release} |
||||||
|
################################## |
||||||
|
#ExclusiveArch: noarch i686 x86_64 |
||||||
|
ExclusiveArch: noarch x86_64 ppc64 ppc64le aarch64 |
||||||
|
################################## |
||||||
|
ExclusiveOS: Linux |
||||||
|
Provides: kernel = %{version}-%{release} |
||||||
|
Provides: kernel-%{_target_cpu} = %{version}-%{release} |
||||||
|
Provides: kernel-uname-r = %{version}-%{release}.%{_target_cpu} |
||||||
|
Provides: kernel-drm = 4.4.0 |
||||||
|
Provides: kernel-drm-nouveau = 16 |
||||||
|
Provides: kernel-modeset = 1 |
||||||
|
Provides: %{name} = %{version}-%{release} |
||||||
|
Provides: %{name}-%{_target_cpu} = %{version}-%{release} |
||||||
|
Provides: %{name}-uname-r = %{version}-%{release}.%{_target_cpu} |
||||||
|
Provides: %{name}-drm = 4.4.0 |
||||||
|
Provides: %{name}-drm-nouveau = 16 |
||||||
|
Provides: %{name}-modeset = 1 |
||||||
|
Requires(pre): %{kernel_prereq} |
||||||
|
Requires(pre): %{initrd_prereq} |
||||||
|
Requires(pre): linux-firmware >= 20100806-2 |
||||||
|
Requires(post): %{_sbindir}/new-kernel-pkg |
||||||
|
Requires(preun): %{_sbindir}/new-kernel-pkg |
||||||
|
# We can't let RPM do the dependencies automatic because it'll then pick up |
||||||
|
# a correct but undesirable perl dependency from the module headers which |
||||||
|
# isn't required for the kernel proper to function |
||||||
|
AutoReq: no |
||||||
|
AutoProv: yes |
||||||
|
|
||||||
|
# |
||||||
|
# List the packages used during the kernel build |
||||||
|
# |
||||||
|
BuildRequires: asciidoc bash >= 2.03, bc, binutils >= 2.12, diffutils, findutils |
||||||
|
BuildRequires: gawk, gcc >= 3.4.2, gzip, hostname, m4, make >= 3.78, module-init-tools |
||||||
|
BuildRequires: net-tools, openssl, openssl-devel, patch >= 2.5.4, perl |
||||||
|
BuildRequires: powerel-rpm-config >= 9.1.0, sh-utils, tar, xmlto, xz |
||||||
|
%if %{with_perf} |
||||||
|
BuildRequires: audit-libs-devel, binutils-devel, bison, elfutils-devel, newt-devel, numactl-devel, |
||||||
|
BuildRequires: perl(ExtUtils::Embed), python3-devel, slang-devel, xz-devel, zlib-devel |
||||||
|
%endif |
||||||
|
%if %{with_tools} |
||||||
|
BuildRequires: gettext, pciutils, pciutils-devel, zlib-devel |
||||||
|
%endif |
||||||
|
|
||||||
|
# Sources. |
||||||
|
Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{LKAver}.tar.xz |
||||||
|
####################################### |
||||||
|
Source1: config-%{cpuarch} |
||||||
|
Source4: cpupower.service |
||||||
|
Source5: cpupower.config |
||||||
|
Source2002: kvm_stat.logrotate |
||||||
|
####################################### |
||||||
|
Source9999: logo_powerel_clut224.ppm |
||||||
|
|
||||||
|
%description |
||||||
|
This package provides the Linux kernel (vmlinuz), the core of any |
||||||
|
Linux-based operating system. The kernel handles the basic functions |
||||||
|
of the OS: memory allocation, process allocation, device I/O, etc. |
||||||
|
|
||||||
|
%package devel |
||||||
|
Summary: Development package for building modules to match the kernel. |
||||||
|
Group: System Environment/Kernel |
||||||
|
Provides: kernel-devel = %{version}-%{release} |
||||||
|
Provides: kernel-devel-%{_target_cpu} = %{version}-%{release} |
||||||
|
Provides: kernel-devel-uname-r = %{version}-%{release}.%{_target_cpu} |
||||||
|
Provides: %{name}-devel = %{version}-%{release} |
||||||
|
Provides: %{name}-devel-%{_target_cpu} = %{version}-%{release} |
||||||
|
Provides: %{name}-devel-uname-r = %{version}-%{release}.%{_target_cpu} |
||||||
|
AutoReqProv: no |
||||||
|
Requires(pre): /usr/bin/find |
||||||
|
Requires: perl |
||||||
|
%description devel |
||||||
|
This package provides the kernel header files and makefiles |
||||||
|
sufficient to build modules against the kernel package. |
||||||
|
|
||||||
|
%if %{with_doc} |
||||||
|
%package doc |
||||||
|
Summary: Various bits of documentation found in the kernel sources. |
||||||
|
Group: Documentation |
||||||
|
Provides: kernel-doc = %{version}-%{release} |
||||||
|
Provides: %{name}-doc = %{version}-%{release} |
||||||
|
Conflicts: kernel-doc < %{version}-%{release} |
||||||
|
%description doc |
||||||
|
This package provides documentation files from the kernel sources. |
||||||
|
Various bits of information about the Linux kernel and the device |
||||||
|
drivers shipped with it are documented in these files. |
||||||
|
|
||||||
|
You'll want to install this package if you need a reference to the |
||||||
|
options that can be passed to the kernel modules at load time. |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_headers} |
||||||
|
%package headers |
||||||
|
Summary: Header files of the kernel, for use by glibc. |
||||||
|
Group: Development/System |
||||||
|
Obsoletes: glibc-kernheaders < 3.0-46 |
||||||
|
Provides: glibc-kernheaders = 3.0-46 |
||||||
|
Provides: kernel-headers = %{version}-%{release} |
||||||
|
Provides: %{name}-headers = %{version}-%{release} |
||||||
|
Conflicts: kernel-headers < %{version}-%{release} |
||||||
|
%description headers |
||||||
|
This package provides the C header files that specify the interface |
||||||
|
between the Linux kernel and userspace libraries & programs. The |
||||||
|
header files define structures and constants that are needed when |
||||||
|
building most standard programs. They are also required when |
||||||
|
rebuilding the glibc package. |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_perf} |
||||||
|
%package -n perf |
||||||
|
Summary: Performance monitoring of the kernel. |
||||||
|
Group: Development/System |
||||||
|
License: GPLv2 |
||||||
|
%description -n perf |
||||||
|
This package provides the perf tool and the supporting documentation |
||||||
|
for performance monitoring of the Linux kernel. |
||||||
|
|
||||||
|
%package -n perf-devel |
||||||
|
Summary: Performance monitoring of the kernel. |
||||||
|
Group: Development/System |
||||||
|
License: GPLv2 |
||||||
|
%description -n perf-devel |
||||||
|
This package provides the perf tool and the supporting documentation |
||||||
|
for performance monitoring of the Linux kernel. |
||||||
|
|
||||||
|
%package -n python3-perf |
||||||
|
Summary: Python bindings for applications that will manipulate perf events. |
||||||
|
Group: Development/Libraries |
||||||
|
%description -n python3-perf |
||||||
|
This package provides a module that permits applications written in the |
||||||
|
Python programming language to use the interface to manipulate perf events. |
||||||
|
|
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_tools} |
||||||
|
%package -n %{name}-tools |
||||||
|
Summary: Assortment of tools for the kernel. |
||||||
|
Group: Development/System |
||||||
|
License: GPLv2 |
||||||
|
Provides: cpupowerutils = 1:009-0.6.p1 |
||||||
|
Obsoletes: cpupowerutils < 1:009-0.6.p1 |
||||||
|
Provides: cpufreq-utils = 1:009-0.6.p1 |
||||||
|
Obsoletes: cpufreq-utils < 1:009-0.6.p1 |
||||||
|
Provides: cpufrequtils = 1:009-0.6.p1 |
||||||
|
Obsoletes: cpufrequtils < 1:009-0.6.p1 |
||||||
|
Obsoletes: cpuspeed < 1:2.0 |
||||||
|
Requires: %{name}-tools-libs = %{version}-%{release} |
||||||
|
Conflicts: kernel-tools < %{version}-%{release} |
||||||
|
%description -n %{name}-tools |
||||||
|
This package contains the tools/ directory and its supporting |
||||||
|
documentation, derived from the kernel source. |
||||||
|
|
||||||
|
%package -n %{name}-tools-libs |
||||||
|
Summary: Libraries for the kernel tools. |
||||||
|
Group: Development/System |
||||||
|
License: GPLv2 |
||||||
|
Conflicts: kernel-tools-libs < %{version}-%{release} |
||||||
|
%description -n %{name}-tools-libs |
||||||
|
This package contains the libraries built from the |
||||||
|
tools/ directory, derived from the kernel source. |
||||||
|
|
||||||
|
%package -n %{name}-tools-libs-devel |
||||||
|
Summary: Development package for the kernel tools libraries. |
||||||
|
Group: Development/System |
||||||
|
License: GPLv2 |
||||||
|
Requires: %{name}-tools = %{version}-%{release} |
||||||
|
Requires: %{name}-tools-libs = %{version}-%{release} |
||||||
|
Provides: cpupowerutils-devel = 1:009-0.6.p1 |
||||||
|
Obsoletes: cpupowerutils-devel < 1:009-0.6.p1 |
||||||
|
Provides: %{name}-tools-devel |
||||||
|
Conflicts: kernel-tools-libs-devel < %{version}-%{release} |
||||||
|
%description -n %{name}-tools-libs-devel |
||||||
|
This package contains the development files for the tools/ directory |
||||||
|
libraries, derived from the kernel source. |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bpftool} |
||||||
|
%package -n bpftool |
||||||
|
Summary: Inspection and simple manipulation of eBPF programs and maps. |
||||||
|
License: GPLv2 |
||||||
|
%description -n bpftool |
||||||
|
This package contains the bpftool, which allows inspection |
||||||
|
and simple manipulation of eBPF programs and maps. |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bootwrapper} |
||||||
|
%package bootwrapper |
||||||
|
Summary: Boot wrapper files for generating combined kernel + initrd images |
||||||
|
Group: Development/System |
||||||
|
Requires: gzip binutils |
||||||
|
%description bootwrapper |
||||||
|
Kernel-bootwrapper contains the wrapper code which makes bootable "zImage" |
||||||
|
files combining both kernel and initial ramdisk. |
||||||
|
%endif |
||||||
|
|
||||||
|
# Disable the building of the debug package(s). |
||||||
|
%define debug_package %{nil} |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q -n %{name}-%{version} -c |
||||||
|
%{__mv} linux-%{LKAver} linux-%{version}-%{release}.%{_target_cpu} |
||||||
|
|
||||||
|
pushd linux-%{version}-%{release}.%{_target_cpu} > /dev/null |
||||||
|
|
||||||
|
##################### |
||||||
|
%{__cp} %{SOURCE1} . |
||||||
|
|
||||||
|
# Run make listnewconfig over all the configuration files. |
||||||
|
%ifarch i686 || x86_64 || ppc64 || ppc64le |
||||||
|
for C in config-%{cpuarch}* |
||||||
|
do |
||||||
|
%{__cp} $C .config |
||||||
|
%{__make} -s ARCH=%{buildarch} listnewconfig | grep -E '^CONFIG_' > .newoptions || true |
||||||
|
if [ -s .newoptions ]; then |
||||||
|
cat .newoptions |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
%{__rm} .newoptions |
||||||
|
done |
||||||
|
%endif |
||||||
|
|
||||||
|
# Remove unnecessary files. |
||||||
|
/usr/bin/find . -type f \( -name .gitignore -o -name .mailmap \) | xargs --no-run-if-empty %{__rm} -f |
||||||
|
|
||||||
|
# PowerEL FB Logo Linux |
||||||
|
%{__cp} %{SOURCE9999} drivers/video/logo/logo_linux_clut224.ppm |
||||||
|
|
||||||
|
popd > /dev/null |
||||||
|
|
||||||
|
%build |
||||||
|
|
||||||
|
export AFTER_LINK='sh -xc "/usr/lib/rpm/debugedit -b $$RPM_BUILD_DIR -d /usr/src/debug -i $@ > $@.id"' |
||||||
|
|
||||||
|
BuildKernel() { |
||||||
|
Flavour=$1 |
||||||
|
|
||||||
|
%{__make} -s distclean |
||||||
|
|
||||||
|
# Select the correct flavour configuration file. |
||||||
|
if [ -z "${Flavour}" ]; then |
||||||
|
%{__cp} config-%{cpuarch} .config |
||||||
|
else |
||||||
|
%{__cp} config-%{cpuarch}-${Flavour} .config |
||||||
|
fi |
||||||
|
|
||||||
|
%define KVRFA %{version}-%{release}${Flavour}.%{_target_cpu} |
||||||
|
|
||||||
|
# Set the EXTRAVERSION string in the main Makefile. |
||||||
|
%{__perl} -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}${Flavour}.%{_target_cpu}/" Makefile |
||||||
|
|
||||||
|
%{__make} -s ARCH=%{buildarch} %{?_smp_mflags} %make_target V=1 |
||||||
|
%{__make} -s ARCH=%{buildarch} %{?_smp_mflags} modules V=1 |
||||||
|
|
||||||
|
# Install the results into the RPM_BUILD_ROOT directory. |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/boot |
||||||
|
%{__install} -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KVRFA} |
||||||
|
%{__install} -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KVRFA} |
||||||
|
|
||||||
|
# We estimate the size of the initramfs because rpm needs to take this size |
||||||
|
# into consideration when performing disk space calculations. (See bz #530778) |
||||||
|
dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-%{KVRFA}.img bs=1M count=20 |
||||||
|
|
||||||
|
#%{__cp} arch/%{buildarch}/boot/%make_target $RPM_BUILD_ROOT/boot/vmlinuz-%{KVRFA} |
||||||
|
#%{__cp} %make_target $RPM_BUILD_ROOT/boot/vmlinuz-%{KVRFA} |
||||||
|
if [ %make_target == 'bzImage' ]; then |
||||||
|
%{__cp} arch/%{buildarch}/boot/%make_target $RPM_BUILD_ROOT/boot/vmlinuz-%{KVRFA} |
||||||
|
else |
||||||
|
eu-strip --remove-comment -o $RPM_BUILD_ROOT/boot/vmlinuz-%{KVRFA} %make_target |
||||||
|
fi |
||||||
|
%{__chmod} 755 $RPM_BUILD_ROOT/boot/vmlinuz-%{KVRFA} |
||||||
|
|
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA} |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/kernel |
||||||
|
# Override $(mod-fw) because we don't want it to install any firmware. |
||||||
|
# We'll get it from the linux-firmware package and we don't want conflicts. |
||||||
|
%{__make} -s ARCH=%{buildarch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT KERNELRELEASE=%{KVRFA} INSTALL_MOD_STRIP=1 modules_install mod-fw= |
||||||
|
|
||||||
|
%ifarch %{vdso_arches} |
||||||
|
%{__make} -s ARCH=%{buildarch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT KERNELRELEASE=%{KVRFA} vdso_install |
||||||
|
/usr/bin/find $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/vdso -type f -name 'vdso*.so' | xargs --no-run-if-empty %{__strip} |
||||||
|
if grep '^CONFIG_XEN=y$' .config > /dev/null; then |
||||||
|
echo > ldconfig-%{name}.conf "\ |
||||||
|
# This directive teaches ldconfig to search in nosegneg subdirectories |
||||||
|
# and cache the DSOs there with extra bit 1 set in their hwcap match |
||||||
|
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to |
||||||
|
# search in nosegneg subdirectories and to match this extra hwcap bit |
||||||
|
# in the ld.so.cache file. |
||||||
|
hwcap 1 nosegneg" |
||||||
|
fi |
||||||
|
if [ ! -s ldconfig-%{name}.conf ]; then |
||||||
|
echo > ldconfig-%{name}.conf "\ |
||||||
|
# Placeholder file, no vDSO hwcap entries used in this kernel." |
||||||
|
fi |
||||||
|
%{__install} -D -m 444 ldconfig-%{name}.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{KVRFA}.conf |
||||||
|
%endif |
||||||
|
|
||||||
|
# Save the headers/makefiles, etc, for building modules against. |
||||||
|
# |
||||||
|
# This looks scary but the end result is supposed to be: |
||||||
|
# |
||||||
|
# - all arch relevant include/ files |
||||||
|
# - all Makefile & Kconfig files |
||||||
|
# - all script/ files |
||||||
|
# |
||||||
|
%{__rm} -f $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
%{__rm} -f $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/source |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
pushd $RPM_BUILD_ROOT/lib/modules/%{KVRFA} > /dev/null |
||||||
|
%{__ln_s} build source |
||||||
|
popd > /dev/null |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/extra |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/updates |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/weak-updates |
||||||
|
|
||||||
|
# First copy everything . . . |
||||||
|
%{__cp} --parents `/usr/bin/find -type f -name 'Makefile*' -o -name 'Kconfig*'` $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
%{__cp} Module.symvers $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
%{__cp} System.map $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
if [ -s Module.markers ]; then |
||||||
|
%{__cp} Module.markers $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
fi |
||||||
|
|
||||||
|
%{__gzip} -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KVRFA}.gz |
||||||
|
|
||||||
|
# . . . then drop all but the needed Makefiles & Kconfig files. |
||||||
|
%{__rm} -rf $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Documentation |
||||||
|
%{__rm} -rf $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/scripts |
||||||
|
%{__rm} -rf $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include |
||||||
|
%{__cp} .config $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
%{__cp} -a scripts $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
if [ -d arch/%{buildarch}/scripts ]; then |
||||||
|
%{__cp} -a arch/%{buildarch}/scripts $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/arch/%{_arch} || : |
||||||
|
fi |
||||||
|
if [ -f arch/%{buildarch}/*lds ]; then |
||||||
|
%{__cp} -a arch/%{buildarch}/*lds $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/arch/%{_arch}/ || : |
||||||
|
fi |
||||||
|
%{__rm} -f $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/scripts/*.o |
||||||
|
%{__rm} -f $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/scripts/*/*.o |
||||||
|
%ifarch ppc64 ppc64le |
||||||
|
%{__cp} -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/ |
||||||
|
%endif |
||||||
|
if [ -d arch/%{asmarch}/include ]; then |
||||||
|
%{__cp} -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/ |
||||||
|
fi |
||||||
|
if [ -d arch/%{asmarch}/syscalls ]; then |
||||||
|
%{__cp} -a --parents arch/%{asmarch}/syscalls $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/ |
||||||
|
fi |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include |
||||||
|
pushd include > /dev/null |
||||||
|
%{__cp} -a * $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/ |
||||||
|
popd > /dev/null |
||||||
|
%{__rm} -f $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/Kbuild |
||||||
|
# Ensure a copy of the version.h file is in the include/linux/ directory. |
||||||
|
#%{__cp} usr/include/linux/version.h $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/linux/ |
||||||
|
# Copy the generated autoconf.h file to the include/linux/ directory. |
||||||
|
%{__cp} include/generated/autoconf.h $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/linux/ |
||||||
|
# Copy .config to include/config/auto.conf so a "make prepare" is unnecessary. |
||||||
|
%{__cp} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/.config $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/config/auto.conf |
||||||
|
# Now ensure that the Makefile, .config, auto.conf, autoconf.h and version.h files |
||||||
|
# all have matching timestamps so that external modules can be built. |
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/.config |
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/config/auto.conf |
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/linux/autoconf.h |
||||||
|
#touch -r $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/linux/version.h |
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/generated/autoconf.h |
||||||
|
touch -r $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build/include/generated/uapi/linux/version.h |
||||||
|
|
||||||
|
# Remove any 'left-over' .cmd files. |
||||||
|
/usr/bin/find $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build -type f -name '*.cmd' | xargs --no-run-if-empty %{__rm} -f |
||||||
|
|
||||||
|
/usr/bin/find $RPM_BUILD_ROOT/lib/modules/%{KVRFA} -type f -name '*.ko' > modnames |
||||||
|
|
||||||
|
# Mark the modules executable, so that strip-to-file can strip them. |
||||||
|
xargs --no-run-if-empty %{__chmod} u+x < modnames |
||||||
|
|
||||||
|
# Generate a list of modules for block and networking. |
||||||
|
grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA | sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef |
||||||
|
|
||||||
|
collect_modules_list() |
||||||
|
{ |
||||||
|
sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef | LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/modules.$1 |
||||||
|
if [ ! -z "$3" ]; then |
||||||
|
sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/modules.$1 |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
collect_modules_list networking \ |
||||||
|
'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt2x00(pci|usb)_probe|register_netdevice' |
||||||
|
|
||||||
|
collect_modules_list block \ |
||||||
|
'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size|pktcdvd.ko|dm-mod.ko' |
||||||
|
|
||||||
|
collect_modules_list drm \ |
||||||
|
'drm_open|drm_init' |
||||||
|
|
||||||
|
collect_modules_list modesetting \ |
||||||
|
'drm_crtc_init' |
||||||
|
|
||||||
|
# Detect any missing or incorrect license tags. |
||||||
|
%{__rm} -f modinfo |
||||||
|
|
||||||
|
while read i |
||||||
|
do |
||||||
|
echo -n "${i#$RPM_BUILD_ROOT/lib/modules/%{KVRFA}/} " >> modinfo |
||||||
|
%{_sbindir}/modinfo -l $i >> modinfo |
||||||
|
done < modnames |
||||||
|
|
||||||
|
grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' modinfo && exit 1 |
||||||
|
|
||||||
|
%{__rm} -f modinfo modnames |
||||||
|
|
||||||
|
# Remove all the files that will be auto generated by depmod at the kernel install time. |
||||||
|
#for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap |
||||||
|
#do |
||||||
|
# %{__rm} -f $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/modules.$i |
||||||
|
#done |
||||||
|
|
||||||
|
# Move the development files out of the /lib/modules/ file system. |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/usr/src/kernels |
||||||
|
%{__mv} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build $RPM_BUILD_ROOT/usr/src/kernels/%{KVRFA} |
||||||
|
%{__ln_s} -f /usr/src/kernels/%{KVRFA} $RPM_BUILD_ROOT/lib/modules/%{KVRFA}/build |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare the directories. |
||||||
|
%{__rm} -rf $RPM_BUILD_ROOT |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT/boot |
||||||
|
%{__mkdir_p} $RPM_BUILD_ROOT%{_libexecdir} |
||||||
|
|
||||||
|
pushd linux-%{version}-%{release}.%{_target_cpu} > /dev/null |
||||||
|
|
||||||
|
%if %{with_default} |
||||||
|
BuildKernel |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_doc} |
||||||
|
# Make the HTML and man pages. |
||||||
|
%{__make} -s htmldocs mandocs 2> /dev/null |
||||||
|
|
||||||
|
# Sometimes non-world-readable files sneak into the kernel source tree. |
||||||
|
%{__chmod} -R a=rX Documentation |
||||||
|
/usr/bin/find Documentation -type d | xargs %{__chmod} u+w |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bpftool} |
||||||
|
# Generate a vmlinux.h file. |
||||||
|
bpftool btf dump file vmlinux format c > tools/bpf/bpftool/vmlinux.h |
||||||
|
RPM_VMLINUX_H=vmlinux.h |
||||||
|
%endif |
||||||
|
|
||||||
|
|
||||||
|
%if %{with_perf} |
||||||
|
%global perf_make \ |
||||||
|
%{__make} -s -C tools/perf NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 LIBTRACEEVENT_DYNAMIC=1 %{?perf_build_extra_opts} prefix=%{_prefix} PYTHON=%{__python3} |
||||||
|
|
||||||
|
|
||||||
|
%{perf_make} all |
||||||
|
%{perf_make} man |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_tools} |
||||||
|
# Make sure that version-gen.sh is executable. |
||||||
|
%{__chmod} +x tools/power/cpupower/utils/version-gen.sh |
||||||
|
pushd tools/power/cpupower > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} CPUFREQ_BENCH=false |
||||||
|
popd > /dev/null |
||||||
|
%ifarch x86_64 |
||||||
|
pushd tools/power/cpupower/debug/x86_64 > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} centrino-decode powernow-k8-decode |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/power/x86/x86_energy_perf_policy > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/power/x86/turbostat > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/power/x86/intel-speed-select > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
pushd tools/thermal/tmon > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/iio > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/gpio > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/vm > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} slabinfo page_owner_sort |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bpftool} |
||||||
|
pushd tools/bpf/bpftool > /dev/null |
||||||
|
%{__make} -s EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" DESTDIR=$RPM_BUILD_ROOT VMLINUX_H="${RPM_VMLINUX_H}" |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
|
||||||
|
popd > /dev/null |
||||||
|
|
||||||
|
%install |
||||||
|
pushd linux-%{version}-%{release}.%{_target_cpu} > /dev/null |
||||||
|
|
||||||
|
%if %{with_headers} |
||||||
|
# We have to do the headers install before the tools install because the |
||||||
|
# kernel headers_install will remove any header files in /usr/include that |
||||||
|
# it doesn't install itself. |
||||||
|
|
||||||
|
# Install kernel headers |
||||||
|
%{__make} -s ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install |
||||||
|
|
||||||
|
# Do headers_check but don't die if it fails. |
||||||
|
%{__make} -s ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_check > hdrwarnings.txt || : |
||||||
|
if grep -q exist hdrwarnings.txt; then |
||||||
|
sed s:^$RPM_BUILD_ROOT/usr/include/:: hdrwarnings.txt |
||||||
|
# Temporarily cause a build failure if header inconsistencies. |
||||||
|
# exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
# Remove the unrequired files. |
||||||
|
/usr/bin/find $RPM_BUILD_ROOT/usr/include -type f \ |
||||||
|
\( -name .install -o -name .check -o -name ..install.cmd -o -name ..check.cmd \) | \ |
||||||
|
xargs --no-run-if-empty %{__rm} -f |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_doc} |
||||||
|
DOCDIR=$RPM_BUILD_ROOT%{_datadir}/doc/%{name}-doc-%{version} |
||||||
|
MAN9DIR=$RPM_BUILD_ROOT%{_datadir}/man/man9 |
||||||
|
|
||||||
|
# Copy the documentation over. |
||||||
|
%{__mkdir_p} $DOCDIR |
||||||
|
%{__tar} -f - --exclude=man --exclude='.*' -c Documentation | %{__tar} xf - -C $DOCDIR |
||||||
|
|
||||||
|
# Install the man pages for the kernel API. |
||||||
|
%{__mkdir_p} $MAN9DIR |
||||||
|
/usr/bin/find Documentation/DocBook/man -type f -name '*.9.gz' -print0 \ |
||||||
|
| xargs -0 --no-run-if-empty %{__cp} -u -t $MAN9DIR |
||||||
|
/usr/bin/find $MAN9DIR -type f -name '*.9.gz' -print0 \ |
||||||
|
| xargs -0 --no-run-if-empty %{__chmod} 444 |
||||||
|
ls $MAN9DIR | grep -q '' || > $MAN9DIR/BROKEN |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_perf} |
||||||
|
# perf tool binary and supporting scripts/binaries. |
||||||
|
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install |
||||||
|
|
||||||
|
# perf-python extension. |
||||||
|
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext |
||||||
|
|
||||||
|
# perf man pages. (Note: implicit rpm magic compresses them later.) |
||||||
|
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_tools} |
||||||
|
%{__make} -s -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install |
||||||
|
%{__rm} -f %{buildroot}%{_libdir}/*.{a,la} |
||||||
|
%find_lang cpupower |
||||||
|
mv cpupower.lang ../ |
||||||
|
%ifarch x86_64 |
||||||
|
pushd tools/power/cpupower/debug/x86_64 > /dev/null |
||||||
|
%{__install} -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode |
||||||
|
%{__install} -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
%{__chmod} 0755 %{buildroot}%{_libdir}/libcpupower.so* |
||||||
|
%{__mkdir_p} %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig |
||||||
|
%{__install} -m644 %{SOURCE4} %{buildroot}%{_unitdir}/cpupower.service |
||||||
|
%{__install} -m644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/cpupower |
||||||
|
%{__mkdir_p} %{buildroot}%{_mandir}/man8 |
||||||
|
%ifarch x86_64 |
||||||
|
pushd tools/power/x86/x86_energy_perf_policy > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} DESTDIR=%{buildroot} install |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/power/x86/turbostat > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} DESTDIR=%{buildroot} install |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
pushd tools/thermal/tmon > /dev/null |
||||||
|
%{__install} -m755 tmon %{buildroot}%{_bindir}/tmon |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/iio > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/gpio > /dev/null |
||||||
|
%{__make} -s %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install |
||||||
|
popd > /dev/null |
||||||
|
install -m644 -D %{SOURCE2002} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/kvm_stat |
||||||
|
pushd tools/kvm/kvm_stat > /dev/null |
||||||
|
%{__make} -s INSTALL_ROOT=$RPM_BUILD_ROOT install-tools |
||||||
|
%{__make} -s INSTALL_ROOT=$RPM_BUILD_ROOT install-man |
||||||
|
install -m644 -D kvm_stat.service $RPM_BUILD_ROOT%{_unitdir}/kvm_stat.service |
||||||
|
popd > /dev/null |
||||||
|
pushd tools/vm > /dev/null |
||||||
|
install -m755 slabinfo $RPM_BUILD_ROOT%{_bindir}/slabinfo |
||||||
|
install -m755 page_owner_sort $RPM_BUILD_ROOT%{_bindir}/page_owner_sort |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bpftool} |
||||||
|
pushd tools/bpf/bpftool > /dev/null |
||||||
|
%{bpftool_make} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install |
||||||
|
popd > /dev/null |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bootwrapper} |
||||||
|
make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kernel-wrapper WRAPPER_DTSDIR=%{_libdir}/kernel-wrapper/dts |
||||||
|
%endif |
||||||
|
|
||||||
|
popd > /dev/null |
||||||
|
|
||||||
|
# try to compress the module |
||||||
|
%define __spec_install_post \ |
||||||
|
find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' -exec strip --strip-unneeded {} +; \ |
||||||
|
#find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs xz -9 -e -T0 |
||||||
|
find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs zstd --ultra -22 -T0 |
||||||
|
# replaced by .config settings |
||||||
|
|
||||||
|
%clean |
||||||
|
# need to test some stuff |
||||||
|
#%{__rm} -rf $RPM_BUILD_ROOT |
||||||
|
|
||||||
|
|
||||||
|
# Scripts section. |
||||||
|
%posttrans |
||||||
|
%if %{with_default} |
||||||
|
%{_sbindir}/new-kernel-pkg --package %{name} --mkinitrd --dracut --depmod --update %{version}-%{release}.%{_target_cpu} || exit $? |
||||||
|
#/bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $? |
||||||
|
if [ -x %{_sbindir}/weak-modules ] |
||||||
|
then |
||||||
|
%{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $? |
||||||
|
fi\ |
||||||
|
|
||||||
|
|
||||||
|
%post |
||||||
|
%{_sbindir}/new-kernel-pkg --package %{name} --mkinitrd --dracut --depmod --install %{version}-%{release}.%{_target_cpu} || exit $? |
||||||
|
#/bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $? |
||||||
|
if [ -x %{_sbindir}/weak-modules ] |
||||||
|
then |
||||||
|
%{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $? |
||||||
|
fi |
||||||
|
/sbin/depmod -a %{KVERREL}%{?1:+%{1}} |
||||||
|
|
||||||
|
|
||||||
|
%preun |
||||||
|
%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{version}-%{release}.%{_target_cpu} || exit $? |
||||||
|
#/bin/kernel-install remove %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $? |
||||||
|
if [ -x %{_sbindir}/weak-modules ] |
||||||
|
then |
||||||
|
%{_sbindir}/weak-modules --remove-kernel %{KVERREL}%{?1:+%{1}} || exit $? |
||||||
|
fi |
||||||
|
|
||||||
|
%post devel |
||||||
|
if [ -f /etc/sysconfig/kernel ]; then |
||||||
|
. /etc/sysconfig/kernel || exit $? |
||||||
|
fi |
||||||
|
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]; then |
||||||
|
pushd /usr/src/kernels/%{version}-%{release}.%{_target_cpu} > /dev/null |
||||||
|
/usr/bin/find . -type f | while read f; do |
||||||
|
/usr/sbin/hardlink -c /usr/src/kernels/*.fc*.*/$f $f |
||||||
|
done |
||||||
|
popd > /dev/null |
||||||
|
fi |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_tools} |
||||||
|
%post -n %{name}-tools |
||||||
|
%{_sbindir}/ldconfig || exit $? |
||||||
|
|
||||||
|
%postun -n %{name}-tools |
||||||
|
%{_sbindir}/ldconfig || exit $? |
||||||
|
%endif |
||||||
|
|
||||||
|
# Files section. |
||||||
|
%if %{with_default} |
||||||
|
%files |
||||||
|
%defattr(-,root,root) |
||||||
|
/boot/vmlinuz-%{version}-%{release}.%{_target_cpu} |
||||||
|
%attr(600,root,root) /boot/System.map-%{version}-%{release}.%{_target_cpu} |
||||||
|
/boot/symvers-%{version}-%{release}.%{_target_cpu}.gz |
||||||
|
/boot/config-%{version}-%{release}.%{_target_cpu} |
||||||
|
%dir /lib/modules/%{version}-%{release}.%{_target_cpu} |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/kernel |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/build |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/source |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/extra |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/updates |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/weak-updates |
||||||
|
%ifarch %{vdso_arches} |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/vdso |
||||||
|
/etc/ld.so.conf.d/%{name}-%{version}-%{release}.%{_target_cpu}.conf |
||||||
|
%endif |
||||||
|
/lib/modules/%{version}-%{release}.%{_target_cpu}/modules.* |
||||||
|
%ghost /boot/initramfs-%{version}-%{release}.%{_target_cpu}.img |
||||||
|
|
||||||
|
%files devel |
||||||
|
%defattr(-,root,root) |
||||||
|
/usr/src/kernels/%{version}-%{release}.%{_target_cpu} |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_headers} |
||||||
|
%files headers |
||||||
|
%defattr(-,root,root) |
||||||
|
/usr/include/* |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_doc} |
||||||
|
%files doc |
||||||
|
%defattr(-,root,root) |
||||||
|
%{_datadir}/doc/%{name}-doc-%{version}/Documentation/* |
||||||
|
%dir %{_datadir}/doc/%{name}-doc-%{version}/Documentation |
||||||
|
%dir %{_datadir}/doc/%{name}-doc-%{version} |
||||||
|
%{_datadir}/man/man9/* |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_perf} |
||||||
|
%files -n perf |
||||||
|
%defattr(-,root,root) |
||||||
|
%{_bindir}/perf |
||||||
|
%{_bindir}/trace |
||||||
|
%ifarch x86_64 |
||||||
|
%{_libdir}/libperf-jvmti.so |
||||||
|
%{_libdir}/traceevent/plugins/* |
||||||
|
%endif |
||||||
|
%ifarch ppc64 |
||||||
|
/usr/lib/libperf-jvmti.so |
||||||
|
%endif |
||||||
|
%ifarch ppc64 ppc64le |
||||||
|
/usr/lib/traceevent/plugins/* |
||||||
|
%endif |
||||||
|
%dir %{_libexecdir}/perf-core |
||||||
|
%{_libexecdir}/perf-core/* |
||||||
|
%{_mandir}/man[1-8]/perf* |
||||||
|
%dir %{_datadir}/perf-core |
||||||
|
%{_datadir}/perf-core/* |
||||||
|
%exclude %{_docdir}/perf-tip/ |
||||||
|
%{_sysconfdir}/bash_completion.d/perf |
||||||
|
|
||||||
|
%files -n perf-devel |
||||||
|
%defattr(-,root,root) |
||||||
|
/usr/lib/perf/examples/bpf/* |
||||||
|
/usr/lib/perf/include/bpf/* |
||||||
|
|
||||||
|
%files -n python3-perf |
||||||
|
%defattr(-,root,root) |
||||||
|
%{python_sitearch} |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_tools} |
||||||
|
%files -n %{name}-tools -f cpupower.lang |
||||||
|
%defattr(-,root,root) |
||||||
|
%{_bindir}/cpupower |
||||||
|
%{_unitdir}/cpupower.service |
||||||
|
%{_mandir}/man[1-8]/cpupower* |
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower |
||||||
|
%{_datadir}/bash-completion/completions/cpupower |
||||||
|
%ifarch x86_64 |
||||||
|
%{_bindir}/centrino-decode |
||||||
|
%{_bindir}/powernow-k8-decode |
||||||
|
%{_bindir}/x86_energy_perf_policy |
||||||
|
%{_mandir}/man8/x86_energy_perf_policy* |
||||||
|
%{_bindir}/turbostat |
||||||
|
%{_mandir}/man8/turbostat* |
||||||
|
#%{_bindir}/intel-speed-select |
||||||
|
%endif |
||||||
|
%{_bindir}/tmon |
||||||
|
%{_bindir}/iio_event_monitor |
||||||
|
%{_bindir}/iio_generic_buffer |
||||||
|
%{_bindir}/lsiio |
||||||
|
%{_bindir}/lsgpio |
||||||
|
%{_bindir}/gpio-hammer |
||||||
|
%{_bindir}/gpio-event-mon |
||||||
|
%{_bindir}/gpio-watch |
||||||
|
%{_mandir}/man1/kvm_stat* |
||||||
|
%{_bindir}/kvm_stat |
||||||
|
%{_unitdir}/kvm_stat.service |
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/kvm_stat |
||||||
|
%{_bindir}/page_owner_sort |
||||||
|
%{_bindir}/slabinfo |
||||||
|
|
||||||
|
%files -n %{name}-tools-libs |
||||||
|
%defattr(-,root,root) |
||||||
|
%{_libdir}/libcpupower.so.0 |
||||||
|
%{_libdir}/libcpupower.so.0.0.1 |
||||||
|
|
||||||
|
%files -n %{name}-tools-libs-devel |
||||||
|
%defattr(-,root,root) |
||||||
|
%{_libdir}/libcpupower.so |
||||||
|
%{_includedir}/cpufreq.h |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bootwrapper} |
||||||
|
%files bootwrapper |
||||||
|
%defattr(-,root,root) |
||||||
|
/usr/sbin/* |
||||||
|
%{_libdir}/kernel-wrapper |
||||||
|
%endif |
||||||
|
|
||||||
|
%if %{with_bpftool} |
||||||
|
%files -n bpftool |
||||||
|
%{_sbindir}/bpftool |
||||||
|
%{_sysconfdir}/bash_completion.d/bpftool |
||||||
|
%{_mandir}/man8/bpftool-cgroup.8.gz |
||||||
|
%{_mandir}/man8/bpftool-gen.8.gz |
||||||
|
%{_mandir}/man8/bpftool-iter.8.gz |
||||||
|
%{_mandir}/man8/bpftool-link.8.gz |
||||||
|
%{_mandir}/man8/bpftool-map.8.gz |
||||||
|
%{_mandir}/man8/bpftool-prog.8.gz |
||||||
|
%{_mandir}/man8/bpftool-perf.8.gz |
||||||
|
%{_mandir}/man8/bpftool.8.gz |
||||||
|
%{_mandir}/man8/bpftool-net.8.gz |
||||||
|
%{_mandir}/man8/bpftool-feature.8.gz |
||||||
|
%{_mandir}/man8/bpftool-btf.8.gz |
||||||
|
%{_mandir}/man8/bpftool-struct_ops.8.gz |
||||||
|
%endif |
||||||
|
|
||||||
|
|
||||||
|
%changelog |
Loading…
Reference in new issue