%bcond_without aufs # aufs4 support
-%bcond_with vserver # support for VServer
+%bcond_without vserver # support for VServer
%bcond_with rt # real-time kernel (CONFIG_PREEMPT_RT) for low latencies
%define rel 1
%define basever 4.9
-%define postver .64
+%define postver .299
# define this to '-%{basever}' for longterm branch
%define versuffix -%{basever}
# Source0-md5: 0a68ef3615c64bd5ee54a3320e46667d
%if "%{postver}" != ".0"
Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5: eafb628f45cc97fbc69938017db2787c
+# Patch0-md5: bcb6bf56e94dc38866865fdd610895a4
%endif
Source1: kernel.sysconfig
# 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
+%define vserver_patch 4.9.217-vs2.3.9.12
+# http://vserver.13thfloor.at/Experimental/patch-4.9.217-vs2.3.9.12.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)
Patch250: kernel-fix_256colors_menuconfig.patch
# https://rt.wiki.kernel.org/
-# https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.27-rt18.patch.xz
+# http://www.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.68-rt60.patch.xz
Patch500: kernel-rt.patch
Patch2000: kernel-small_fixes.patch
BuildRequires: elftoaout
%endif
BuildRequires: elfutils-devel
-BuildRequires: gcc >= 5:3.2
+BuildRequires: gcc >= 6:7.2.0-6
BuildRequires: hostname
BuildRequires: kmod >= 12-2
BuildRequires: openssl-devel
%endif
BuildRequires: xz >= 1:4.999.7
Requires(post): coreutils
-Requires(post): geninitrd >= 12749
+Requires(post): geninitrd >= 12787-6
Requires(post): kmod >= 12-2
Requires: /sbin/depmod
Requires: coreutils
-Requires: geninitrd >= 12749
+Requires: geninitrd >= 12787-6
Requires: kmod >= 12-2
%if %{with pae}
%ifarch i686 athlon pentium3 pentium4
%endif
Provides: %{name}(netfilter) = 20070806
Provides: %{name}(vermagic) = %{kernel_release}
-Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
-Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
-Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
-Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
-Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
-Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
-Obsoletes: kernel-firmware
-Obsoletes: kernel-misc-acer_acpi
-Obsoletes: kernel-misc-fuse
-Obsoletes: kernel-misc-uvc
-Obsoletes: kernel-modules
-Obsoletes: kernel-net-ar81
-Obsoletes: kernel-net-hostap
-Obsoletes: kernel-net-ieee80211
-Obsoletes: kernel-net-ipp2p
-Obsoletes: kernel-net-rt61
-Obsoletes: kernel-smp
+Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100 < 0.9.0
+Obsoletes: kernel%{_alt_kernel}-char-lirc-it87 < 0.9.0
+Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709 < 0.9.0
+Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb < 0.9.0
+Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap < 0.9.0
+Obsoletes: kernel%{_alt_kernel}-isdn-mISDN < 2.0.35
+Obsoletes: kernel-firmware < 3:2.6.33
+Obsoletes: kernel-misc-acer_acpi < 0.3-2
+Obsoletes: kernel-misc-fuse < 2.8.5-2
+Obsoletes: kernel-misc-uvc < 0.215.1-10
+Obsoletes: kernel-modules < 2.2.2-2
+Obsoletes: kernel-net-ar81 < 1.0.1.0-3
+Obsoletes: kernel-net-hostap < 0.4.7-2
+Obsoletes: kernel-net-ieee80211 < 1.2.18-7
+Obsoletes: kernel-net-ipp2p < 0.8.2.-17
+Obsoletes: kernel-net-rt61 < 1.1.0-2.2007122707.13
+Obsoletes: kernel-smp < 3:2.6.21
Conflicts: e2fsprogs < 1.29
Conflicts: isdn4k-utils < 3.1pre1
Conflicts: jfsutils < 1.1.3
Conflicts: rpm < 4.4.2-0.2
Conflicts: udev < 1:081
Conflicts: util-linux < 2.10o
-Conflicts: util-vserver < 0.30.216
+Conflicts: util-vserver < 0.30.216-1.pre3126.3
Conflicts: xfsprogs < 2.6.0
%if %{without pae}
ExclusiveArch: i686 pentium3 pentium4 athlon
Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
Group: Base/Kernel
-Obsoletes: kernel-smp-vmlinux
+Obsoletes: kernel-smp-vmlinux < 3:2.6.21
%description vmlinux
vmlinux - uncompressed kernel image.
Group: Base/Kernel
Requires(postun): %{name} = %{epoch}:%{version}-%{release}
Requires: %{name} = %{epoch}:%{version}-%{release}
-Obsoletes: kernel-smp-drm
+Obsoletes: kernel-smp-drm < 3:2.6.21
AutoReqProv: no
%description drm
Group: Base/Kernel
Requires(postun): %{name} = %{epoch}:%{version}-%{release}
Requires: %{name} = %{epoch}:%{version}-%{release}
-Obsoletes: kernel-smp-pcmcia
+Obsoletes: kernel-smp-pcmcia < 3:2.6.21
Conflicts: pcmcia-cs < 3.1.21
Conflicts: pcmciautils < 004
AutoReqProv: no
Group: Base/Kernel
Requires(postun): %{name} = %{epoch}:%{version}-%{release}
Requires: %{name} = %{epoch}:%{version}-%{release}
-Obsoletes: kernel-smp-sound-alsa
+Obsoletes: kernel-smp-sound-alsa < 3:2.6.21
AutoReqProv: no
%description sound-alsa
Group: Development/Building
Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
AutoReqProv: no
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description source
This is the source code for the Linux kernel. You can build a custom
Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
Group: Documentation
AutoReqProv: no
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc
This is the documentation for the Linux kernel, as found in
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
+find -name '*.py' -print0 | \
+ xargs -0 %{__sed} -i -e '1s,/usr/bin/python,%{__python},' \
+ -e '1s,/usr/bin/env python,%{__python},' \
+ -e '1s,/usr/bin/env python3,%{__python3},'
+
+%{__sed} -i -e '1s,/usr/bin/python,%{__python},' \
+ -e '1s,/usr/bin/env python,%{__python},' \
+ -e '1s,/usr/bin/env python3,%{__python3},' \
+ drivers/staging/greybus/tools/lbtest \
+ scripts/bloat-o-meter \
+ scripts/diffconfig \
+ scripts/show_delta \
+ tools/kvm/kvm_stat/kvm_stat
+
+find -name '*.pl' -print0 | \
+ xargs -0 %{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
+
+%{__sed} -i -e '1s,/usr/bin/env perl,%{__perl},' \
+ scripts/dtc/dt_to_config \
+ scripts/cleanfile \
+ scripts/cleanpatch \
+ scripts/get_dvb_firmware \
+ scripts/kernel-doc \
+ scripts/stackdelta
+
+%{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \
+ scripts/config
+
%build
install -d %{objdir}
cat > %{targetobj}.mk <<'EOF'
touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
%endif
-# /etc/modrobe.d
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
+# /etc/depmod.d /etc/modrobe.d
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/{depmod.d,modprobe.d}/%{kernel_release}
install -d $RPM_BUILD_ROOT/etc/sysconfig
install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
/lib/modules/%{kernel_release}/kernel/security
/lib/modules/%{kernel_release}/kernel/virt
+%dir %{_sysconfdir}/depmod.d/%{kernel_release}
%dir %{_sysconfdir}/modprobe.d/%{kernel_release}
# provided by build