Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 33 additions & 8 deletions nobara/kernel.spec
Original file line number Diff line number Diff line change
Expand Up @@ -406,12 +406,12 @@ gcc ./scripts/sign-file.c -o ./scripts/sign-file -lssl -lcrypto
# perf
# make sure check-headers.sh is executable
chmod +x tools/perf/check-headers.sh
%{perf_make} DESTDIR=$RPM_BUILD_ROOT all
%{perf_make} DESTDIR=%{buildroot} all

# libperf
%global libperf_make \
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/lib/perf V=1
%{libperf_make} DESTDIR=$RPM_BUILD_ROOT
%{libperf_make} DESTDIR=%{buildroot}

%define make %{__make} %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"

Expand Down Expand Up @@ -468,14 +468,31 @@ popd

%install

ImageName=$(make image_name | tail -n 1)
%ifarch aarch64
# Build + install DTBs into /boot/dtb-%{kverstr}
mkdir -p %{buildroot}/boot/dtb-%{kverstr}
make %{?_smp_mflags} %{?llvm_build_env_vars} ARCH=arm64 dtbs
make %{?_smp_mflags} %{?llvm_build_env_vars} ARCH=arm64 dtbs_install \
INSTALL_DTBS_PATH=%{buildroot}/boot/dtb-%{kverstr}

# Also ship DTBs under /lib/modules/%{kverstr}/dtb (same contents, no extra nesting)
mkdir -p %{buildroot}/lib/modules/%{kverstr}/dtb
cp -a %{buildroot}/boot/dtb-%{kverstr}/. %{buildroot}/lib/modules/%{kverstr}/dtb/
%endif

ImageName=$(make KERNELRELEASE=%{kverstr} image_name | tail -n 1)

mkdir -p %{buildroot}/boot

cp -v $ImageName %{buildroot}/boot/vmlinuz-%{kverstr}
chmod 755 %{buildroot}/boot/vmlinuz-%{kverstr}

ZSTD_CLEVEL=19 make %{?_smp_mflags} %{?llvm_build_env_vars} INSTALL_MOD_PATH=%{buildroot} INSTALL_MOD_STRIP=1 modules_install mod-fw=
ZSTD_CLEVEL=19 make %{?_smp_mflags} %{?llvm_build_env_vars} \
KERNELRELEASE=%{kverstr} \
INSTALL_MOD_PATH=%{buildroot} \
INSTALL_MOD_STRIP=1 \
modules_install mod-fw=

make %{?_smp_mflags} %{?llvm_build_env_vars} INSTALL_HDR_PATH=%{buildroot}/usr headers_install

# prepare -devel files
Expand Down Expand Up @@ -704,7 +721,7 @@ cp -v %{buildroot}/boot/vmlinuz-%{kverstr} %{buildroot}/lib/modules/%{kverstr}/
dd if=/dev/zero of=%{buildroot}/boot/initramfs-%{kverstr}.img bs=1M count=48

# perf tool binary and supporting scripts/binaries
%{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin
%{perf_make} DESTDIR=%{buildroot} lib=%{_lib} install-bin
# remove the 'trace' symlink.
rm -f %{buildroot}%{_bindir}/trace

Expand All @@ -717,11 +734,11 @@ rm -rf %{buildroot}/usr/lib/perf/examples
rm -rf %{buildroot}/usr/lib/perf/include

# python-perf extension
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
%{perf_make} DESTDIR=%{buildroot} install-python_ext

# perf man pages (note: implicit rpm magic compresses them later)
mkdir -p %{buildroot}/%{_mandir}/man1
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man
%{perf_make} DESTDIR=%{buildroot} install-man

# remove any tracevent files, eg. its plugins still gets built and installed,
# even if we build against system's libtracevent during perf build (by setting
Expand All @@ -735,7 +752,7 @@ rm -rf %{buildroot}%{_libdir}/traceevent
rm -rf %{buildroot}%{_libdir}/libperf.a

# kernel-tools
%{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
%{make} -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
%find_lang cpupower
cp cpupower.lang ../../
%ifarch x86_64
Expand Down Expand Up @@ -857,6 +874,14 @@ fi
/lib/modules/%{kverstr}/vmlinuz
/lib/modules/%{kverstr}/System.map
/lib/modules/%{kverstr}/symvers.gz
%ifarch aarch64
%dir /boot/dtb-%{kverstr}
%dir /lib/modules/%{kverstr}/dtb
/boot/dtb-%{kverstr}/*
/boot/dtb-%{kverstr}/*/*
/lib/modules/%{kverstr}/dtb/*
/lib/modules/%{kverstr}/dtb/*/*
%endif

%files modules
/lib/modules/%{kverstr}/
Expand Down
Loading