#
# TODO:
# - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
-# - IPv4 source address selection for multihomed vservers is completely broken
-# meaning routing table is ignored except for default
#
# HOWTO update configuration files:
# - run build
%bcond_without aufs # aufs4 support
-%bcond_with vserver # support for VServer
-
%bcond_with rt # real-time kernel (CONFIG_PREEMPT_RT) for low latencies
%bcond_with vanilla # don't include any patches
%define have_pcmcia 1
%if %{with rescuecd}
-%unglobal with_vserver
%define have_drm 0
%define have_sound 0
%endif
%endif
%define rel 1
-%define basever 6.6
-%define postver .4
+%define basever 6.7
+%define postver .8
# define this to '-%{basever}' for longterm branch
%define versuffix %{nil}
License: GPL v2
Group: Base/Kernel
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{basever}.tar.xz
-# Source0-md5: 452098d80ba925af3a4ab35998f3aef5
+# Source0-md5: 7861a2ed9d33c0694df738203532b715
%if "%{postver}" != ".0"
Patch0: https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
-# Patch0-md5: 0d2c1c3ef1c023d9c5f34d19eaad4cb0
+# Patch0-md5: 2e67e18776a3fe7ecf66e70f28aab2f7
%endif
Source1: kernel.sysconfig
Source22: kernel-sparc.config
Source23: kernel-alpha.config
Source24: kernel-powerpc.config
-Source25: kernel-ia64.config
Source26: kernel-arm.config
Source27: kernel-arm64.config
Source41: kernel-patches.config
-Source43: kernel-vserver.config
Source44: kernel-rt.config
Source58: kernel-inittmpfs.config
Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
-# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
-Patch37: kernel-owner-xid.patch
-
### End netfilter
# by Baggins request:
# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
Patch85: kernel-hostap.patch
-%define vserver_patch 3.18.5-vs2.3.7.3
-# http://vserver.13thfloor.at/Experimental/patch-3.18.5-vs2.3.7.3.diff
-# note there are additional patches from above url:
-# - *fix* are real fixes (we want these)
-# - *feat* are new features/tests (we don't want these)
-Patch100: kernel-vserver-2.3.patch
-Patch101: kernel-vserver-fixes.patch
-
# see update-source.sh
Patch145: kernel-aufs.patch
-Patch146: kernel-aufs+vserver.patch
Patch147: kernel-aufs-make.patch
+Patch148: kernel-aufs-fixes.patch
# Show normal colors in menuconfig with ncurses ABI 6
Patch250: kernel-fix_256colors_menuconfig.patch
Patch8004: ath-regd.patch
Patch8005: rkvdec-hevc.patch
-# Do not remove this line, please. It is easier for me to uncomment two lines, then patch
-# kernel.spec every time.
-#Patch50000: kernel-usb_reset.patch
-
URL: https://www.kernel.org/
AutoReqProv: no
BuildRequires: /sbin/depmod
Requires: cpuinfo(pae)
%endif
%endif
-Suggests: crda
Suggests: dracut
Suggests: keyutils
Suggests: linux-firmware
Conflicts: rpm < 4.4.2-0.2
Conflicts: udev < 1:081
Conflicts: util-linux < 2.10o
-Conflicts: util-vserver < 0.30.216
Conflicts: xfsprogs < 2.6.0
%if %{with pae}
ExclusiveArch: i686 pentium3 pentium4 athlon
%else
-ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha %{arm} ia64 ppc ppc64 sparc sparc64 aarch64
+ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha %{arm} ppc ppc64 sparc sparc64 aarch64
%endif
ExclusiveOS: Linux
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautochrpath .*%{_kernelsrcdir}/.*
%define _enable_debug_packages 0
-%ifarch ia64
-%define initrd_dir /boot/efi
-%else
%define initrd_dir /boot
-%endif
%define topdir %{_builddir}/%{name}-%{version}
%define srcdir %{topdir}/linux-%{basever}
%define MakeOpts %{CrossOpts} HOSTCC="%{__cc} -D_FILE_OFFSET_BITS=64"
%define __features \
-%{?with_vserver:Vserver - enabled}\
-%{!?with_vserver:WARNING: VSERVER IS DISABLED IN THIS KERNEL BUILD!}\
%{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
%{?with_nfsroot:Root on NFS - enabled}\
-%{?with_vserver:Linux-VServer - %{vserver_patch}}\
%{?with_rt:CONFIG_PREEMPT_RT - enabled}\
%define Features %(echo "%{__features}" | sed '/^$/d')
# kernel-pom-ng-IPV4OPTSSTRIP.patch
%patch10 -p1
-# kernel-owner-xid.patch
-%if %{with vserver}
-%patch37 -p1
-%endif
-
##
# end of netfilter
# hostap enhancements from/for aircrack-ng
%patch85 -p1
-# vserver
-%if %{with vserver}
-%patch100 -p1
-%patch101 -p1
-%endif
-
%if %{with aufs}
# aufs
%patch145 -p1
%patch147 -p1
-%if %{with vserver}
-%patch146 -p1
-%endif
+%patch148 -p1
%endif
%if %{with rescuecd}
%patch2000 -p1
%patch2001 -p1
-# Do not remove this, please!
-#%%patch50000 -p1
-
chmod 755 tools/objtool/sync-check.sh
# Fix EXTRAVERSION in main Makefile
LOCALVERSION="-%{localversion}"
%if 0%{?debug:1}
- CONFIG_DEBUG_SLAB=y
- CONFIG_DEBUG_SLAB_LEAK=y
CONFIG_DEBUG_PREEMPT=y
CONFIG_RT_DEADLOCK_DETECT=y
+%else
+ CONFIG_DEBUG_PREEMPT=n
%endif
%if %{without ipv6}
rescue.config \
%endif
\
-%if %{with vserver}
- %{SOURCE43} \
-%endif
%if %{with rt}
%{SOURCE44} \
%endif
install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
%endif
-%ifarch ia64
- %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
- cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
- ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
-%endif
%ifarch alpha sparc sparc64
%{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
%post
[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
-%ifarch ia64
- mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
- ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
-%if 0%{?alt_kernel:1}
- mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
- ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
-%endif
-%endif
mv -f /boot/vmlinuz{,.old} 2> /dev/null
mv -f /boot/System.map{,.old} 2> /dev/null
ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
+%ifarch %{arm} aarch64
+ test -L /boot/dtb%{_alt_kernel}.old && rm /boot/dtb%{_alt_kernel}.old
+ test ! -e /boot/dtb%{_alt_kernel}.old && mv -f /boot/dtb%{_alt_kernel}{,.old} 2> /dev/null
+ ln -sf dtb-%{kernel_release} /boot/dtb%{_alt_kernel}
+%endif
%endif
fi
%depmod %{kernel_release}
-%if %{without vserver}
-%banner -e -a kernel <<EOF
-
-WARNING: Vserver support is DISABLED in this kernel build!
-
-EOF
-%endif
-
%posttrans
# use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
%ifarch sparc sparc64
/boot/vmlinux.aout-%{kernel_release}
%endif
-%ifarch ia64
-/boot/efi/vmlinuz-%{kernel_release}
-%endif
%ifarch %{arm} aarch64
/boot/dtb-%{kernel_release}
%endif
%endif
%exclude %dir %{_kernelsrcdir}/arch/um
%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
-%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
%{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
%{_kernelsrcdir}/kernel/bounds.c
%{_kernelsrcdir}/scripts/basic/*.c
%defattr(644,root,root,755)
%{_kernelsrcdir}/arch/*/[!Mik]*
%{_kernelsrcdir}/arch/*/kernel/[!M]*
-%{_kernelsrcdir}/arch/ia64/install.sh
%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
%{_kernelsrcdir}/arch/m68k/install.sh
%exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
%endif
%{_kernelsrcdir}/arch/arm64/kvm
+%{_kernelsrcdir}/arch/loongarch/kvm
%{_kernelsrcdir}/arch/mips/kvm
%{_kernelsrcdir}/arch/s390/kvm
%{_kernelsrcdir}/arch/x86/kvm
%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
-%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
%exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
%{_kernelsrcdir}/block
%{_kernelsrcdir}/certs
%exclude %{_kernelsrcdir}/scripts/Kbuild.include
%exclude %{_kernelsrcdir}/scripts/Makefile*
%exclude %{_kernelsrcdir}/scripts/basic
-%exclude %{_kernelsrcdir}/scripts/check-local-export
%exclude %{_kernelsrcdir}/scripts/kconfig
%exclude %{_kernelsrcdir}/scripts/mkcompile_h
%exclude %{_kernelsrcdir}/scripts/mod