%bcond_without doc # don't build kernel-doc package
%bcond_with verbose # verbose build (V=1)
-%define basever 3.8
-%define postver .8
+%define basever 4.3
+%define postver 0
%define rel 1
-%define alt_kernel 3.8-vanilla
+%define alt_kernel 4.3-vanilla
# kernel release (used in filesystem and eventually in uname -r)
# modules will be looked from /lib/modules/%{kernel_release}
# localversion is just that without version for "> localversion"
%define localversion %{rel}
-%define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
+%define kernel_release %{version}%{?alt_kernel:-%{alt_kernel}}-%{localversion}
Summary: The Linux kernel (the core of the Linux operating system)
Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
Summary(pl.UTF-8): Jądro Linuksa
Name: kernel%{_alt_kernel}
-Version: %{basever}%{postver}
+Version: %{basever}.%{postver}
Release: %{rel}
Epoch: 3
License: GPL v2
Group: Base/Kernel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
-# Source0-md5: 1c738edfc54e7c65faeb90c436104e2f
-%if "%{_postver}" != "%{nil}"
-Source1: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Source1-md5: 95224572ecb1f4c7089683c1f06ef2b4
+Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
+# Source0-md5: 58b35794eee3b6d52ce7be39357801e7
+%if "%{postver}" != "0"
+Source1: http://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
+# Source1-md5: 408f9975969da326b5804a04dbf0d4de
%endif
-Source2: kernel.sysconfig
-Source3: kernel-module-build.pl
-Source4: kernel.make
+Source2: kernel-module-build.pl
+Source3: kernel.make
+
+Source10: kernel-vanilla-x86.config
+Source11: kernel-vanilla-x86_64.config
URL: http://www.kernel.org/
BuildRequires: binutils >= 3:2.18
BuildRequires: hostname
BuildRequires: kmod
BuildRequires: perl-base
-BuildRequires: rpm-build >= 4.5-24
+BuildRequires: rpm >= 4.5-74
BuildRequires: rpmbuild(macros) >= 1.652
Requires(post): coreutils
-Requires(post): geninitrd >= 12639-1
+Requires(post): dracut
Requires(post): kmod >= 12-2
Requires: /sbin/depmod
Requires: coreutils
-Requires: geninitrd >= 12639-1
+Requires: dracut
Requires: kmod >= 12-2
%ifarch i686
Requires: cpuinfo(pae)
%endif
Suggests: crda
-Suggests: dracut
Suggests: keyutils
Suggests: linux-firmware
Provides: %{name}(netfilter) = 20070806
%prep
%setup -qc
-ln -s %{SOURCE3} kernel-module-build.pl
-ln -s %{SOURCE4} Makefile
+ln -s %{SOURCE2} kernel-module-build.pl
+ln -s %{SOURCE3} Makefile
cd linux-%{basever}
-%if "%{_postver}" != "%{nil}"
-%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
+%if "%{postver}" != "0"
+%{__xz} -dc %{SOURCE1} | patch -p1 -s
%endif
# Fix EXTRAVERSION in main Makefile
-sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
+sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:-%{alt_kernel}}#g' Makefile
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
cd %{objdir}
install -d arch/%{target_arch_dir}
%ifarch i686
-%define kernel_config kernel-%{alt_kernel}-x86.config
-%else
-%define kernel_config kernel-%{alt_kernel}-%{_target_base_arch}.config
+ cat %{SOURCE10} > %{defconfig}
+%endif
+%ifarch x86_64
+ cat %{SOURCE11} > %{defconfig}
%endif
-echo "Building config file using %{kernel_config}..."
-cat $RPM_SOURCE_DIR/%{kernel_config} > %{defconfig}
+sed -i "s:CONFIG_LOCALVERSION=\"\":CONFIG_LOCALVERSION=\"-%{localversion}\":" %{defconfig}
ln -sf %{defconfig} .config
cd -
install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
# ghosted initrd
-touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.img
touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
%if "%{_target_base_arch}" != "%{_host_base_arch}"
# /etc/modrobe.d
install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
-install -d $RPM_BUILD_ROOT/etc/sysconfig
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/kernel
-
# /usr/src/linux
install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
%depmod %{kernel_release}
%posttrans
-[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
-if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
- # generate initrd after all dependant modules are installed
- /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.img %{kernel_release}
-fi
-
-# if dracut is present then generate full-featured initramfs
-if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
+# generate initramfs
+if [ -x /sbin/dracut ]; then
/sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
fi
-
-# update boot loaders
-[ -x /sbin/update-grub -a -f /etc/sysconfig/grub ] && . /etc/sysconfig/grub
-if [[ "$UPDATE_GRUB" != [Nn][Oo] ]]; then
- /sbin/update-grub
-fi
-if [ -x /sbin/new-kernel-pkg ]; then
- /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.img --install %{kernel_release} --banner "TLD Linux%{?alt_kernel: %{alt_kernel}}"
-fi
-if [ -x /sbin/rc-boot ]; then
- /sbin/rc-boot 1>&2 || :
+# update boot loader
+if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
+ if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-yes})" = "yes" ]; then
+ /sbin/update-grub >/dev/null
+ fi
fi
%post drm
%files
%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
/boot/vmlinuz-%{kernel_release}
/boot/System.map-%{kernel_release}
/boot/config-%{kernel_release}
-%ghost %{initrd_dir}/initrd-%{kernel_release}.img
%ghost %{initrd_dir}/initramfs-%{kernel_release}.img
/lib/firmware/%{kernel_release}
%exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
-%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
%exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
%exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
%exclude /lib/modules/%{kernel_release}/kernel/sound/oss
-/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
/lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
/lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
/lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
%{_kernelsrcdir}/arch/m68k/install.sh
%{_kernelsrcdir}/arch/parisc/install.sh
%{_kernelsrcdir}/arch/x86/ia32/[!M]*
-%{_kernelsrcdir}/arch/ia64/kvm
+%{_kernelsrcdir}/arch/arm/kvm
+%{_kernelsrcdir}/arch/arm64/kvm
+%{_kernelsrcdir}/arch/mips/kvm
%{_kernelsrcdir}/arch/powerpc/kvm
%{_kernelsrcdir}/arch/s390/kvm
%{_kernelsrcdir}/arch/x86/kvm