X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=kernel-vanilla.spec;h=102d008c58ad47ba16d8db4dc7f361e69f8d7a76;hb=3fbf77591451157897b9c24cd43d1eb04dfd8ac3;hp=c79a756659d4b4414aaa729619d119e7080b2306;hpb=cc869b11a3795aff2e7239bf466b1d9edd82df83;p=packages%2Fkernel.git diff --git a/kernel-vanilla.spec b/kernel-vanilla.spec index c79a756..102d008 100644 --- a/kernel-vanilla.spec +++ b/kernel-vanilla.spec @@ -5,8 +5,8 @@ %{?debug:%define with_verbose 1} %define _basever 3.2 -%define _postver .4 -%define _rel 0.1 +%define _postver .43 +%define _rel 1 %define _enable_debug_packages 0 @@ -29,16 +29,17 @@ Release: %{_rel} Epoch: 3 License: GPL v2 Group: Base/Kernel -Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{_basever}.tar.bz2 -# Source0-md5: 7ceb61f87c097fc17509844b71268935 +Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{_basever}.tar.xz +# Source0-md5: 364066fa18767ec0ae5f4e4abcf9dc51 %if "%{_postver}" != "%{nil}" Source1: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2 -# Source1-md5: 02adf3e0450969dec6219ca52ff2a68a +# Source1-md5: c7fb90a2d200f0baf281c54884415e79 %endif Source2: kernel-vanilla-autoconf.h Source3: kernel-vanilla-config.h Source4: kernel-vanilla-module-build.pl +Source5: kernel.sysconfig Source10: kernel-vanilla-x86.config Source11: kernel-vanilla-x86_64.config @@ -56,12 +57,12 @@ BuildRequires: rpm-build >= 4.4.9-56 BuildRequires: rpmbuild(macros) >= 1.217 Autoreqprov: no Requires(post): coreutils -Requires(post): geninitrd >= 2.57 -Requires(post): module-init-tools >= 0.9.9 +Requires(post): geninitrd >= 12639-1 +Requires(post): virtual(module-tools) Requires: /sbin/depmod Requires: coreutils -Requires: geninitrd >= 2.57 -Requires: module-init-tools >= 0.9.9 +Requires: geninitrd >= 12639-1 +Requires: virtual(module-tools) Obsoletes: kernel%{_alt_kernel}-firmware Obsoletes: kernel%{_alt_kernel}-isdn-mISDN Obsoletes: kernel-misc-acer_acpi @@ -76,7 +77,7 @@ Obsoletes: kernel-smp Conflicts: e2fsprogs < 1.29 Conflicts: isdn4k-utils < 3.1pre1 Conflicts: jfsutils < 1.1.3 -Conflicts: module-init-tools < 0.9.10 +Conflicts: module-init-tools < 3.16 Conflicts: nfs-utils < 1.0.5 Conflicts: oprofile < 0.9 Conflicts: ppp < 1:2.4.0 @@ -86,17 +87,17 @@ Conflicts: reiserfsprogs < 3.6.3 Conflicts: udev < 1:071 Conflicts: util-linux < 2.10o Conflicts: xfsprogs < 2.6.0 -ExclusiveArch: i586 i686 x86_64 +ExclusiveArch: i686 x86_64 ExclusiveOS: Linux BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%ifarch i586 i686 x86_64 +%ifarch i686 x86_64 %define target_arch_dir x86 %else %define target_arch_dir %{_target_base_arch} %endif -%ifarch i586 i686 +%ifarch i686 %define kernel_config x86 %else %define kernel_config %{_target_base_arch} @@ -113,7 +114,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _kernelsrcdir /usr/src/linux-%{version}-%{alt_kernel} %if "%{_target_base_arch}" != "%{_arch}" - %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux- + %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux- %define DepMod /bin/true %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386" @@ -126,38 +127,28 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define DepMod /sbin/depmod %endif -%define Features %(echo "%{__features}" | sed '/^$/d') - %description This package contains the Linux kernel that is used to boot and run your system. It contains few device drivers for specific hardware. Most hardware is instead supported by modules loaded after booting. -%{Features} - %description -l de.UTF-8 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des Linux-Betriebssystems. Der Kernel ist für grundliegende Systemfunktionen verantwortlich: Speicherreservierung, Prozeß-Management, Geräte Ein- und Ausgaben, usw. -%{Features} - %description -l fr.UTF-8 Le package kernel contient le kernel linux (vmlinuz), la partie centrale d'un système d'exploitation Linux. Le noyau traite les fonctions basiques d'un système d'exploitation: allocation mémoire, allocation de process, entrée/sortie de peripheriques, etc. -%{Features} - %description -l pl.UTF-8 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego się w komputerze, takiego jak sterowniki dysków itp. -%{Features} - %package vmlinux Summary: vmlinux - uncompressed kernel image Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild @@ -354,27 +345,12 @@ Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu %patch0 -p1 # Fix EXTRAVERSION in main Makefile -sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{_postver}-%{alt_kernel}#g' Makefile +sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = -%{alt_kernel}#g' Makefile # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f %build -TuneUpConfigForIX86 () { - set -x -%ifarch i586 i686 - %ifarch i586 - sed -i "s:# CONFIG_HIGHMEM4G is not set:CONFIG_HIGHMEM4G=y:" $1 - sed -i "s:CONFIG_HIGHMEM64G=y:# CONFIG_HIGHMEM64G is not set:" $1 - sed -i ":CONFIG_X86_PAE=y:d" $1 - %else - sed -i 's:CONFIG_M586=y# CONFIG_M586 is not set::' $1 - sed -i 's:# CONFIG_M686 is not set:CONFIG_M686=y:' $1 - %endif - return 0 -%endif -} - BuildConfig() { %{?debug:set -x} # is this a special kernel we want to build? @@ -382,7 +358,6 @@ BuildConfig() { KernelVer=%{kernel_release} echo "Building config file using $Config.conf..." cat $RPM_SOURCE_DIR/kernel-vanilla-$Config.config > %{defconfig} - TuneUpConfigForIX86 %{defconfig} %{?debug:sed -i "s:# CONFIG_DEBUG_SLAB is not set:CONFIG_DEBUG_SLAB=y:" %{defconfig}} %{?debug:sed -i "s:# CONFIG_DEBUG_PREEMPT is not set:CONFIG_DEBUG_PREEMPT=y:" %{defconfig}} @@ -512,7 +487,8 @@ install %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h perl %{SOURCE4} %{_kernelsrcdir} $KERNEL_BUILD_DIR # ghosted initrd -touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz +touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.img +touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img # rpm obeys filelinkto checks for ghosted symlinks, convert to files rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} @@ -521,6 +497,9 @@ touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} # remove unnecessary dir with dead symlink rm -rf $RPM_BUILD_ROOT/arch/i386 +install -d $RPM_BUILD_ROOT/etc/sysconfig +install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/kernel + %clean rm -rf $RPM_BUILD_ROOT @@ -530,35 +509,34 @@ if [ -x /sbin/new-kernel-pkg ]; then fi %post -mv -f /boot/vmlinuz-%{alt_kernel} /boot/vmlinuz-%{alt_kernel}.old 2> /dev/null > /dev/null -ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz-%{alt_kernel} -mv -f /boot/System.map-%{alt_kernel} /boot/System.map-%{alt_kernel}.old 2> /dev/null > /dev/null -ln -sf System.map-%{kernel_release} /boot/System.map-%{alt_kernel} - %depmod %{kernel_release} -/sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} -mv -f %{initrd_dir}/initrd-%{alt_kernel} %{initrd_dir}/initrd-%{alt_kernel}.old 2> /dev/null > /dev/null -ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd-%{alt_kernel} +[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel +if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then + # generate initrd after all dependant modules are installed + /sbin/geninitrd -f %{initrd_dir}/initrd-%{kernel_release}.img %{kernel_release} +fi -if [ -x /sbin/new-kernel-pkg ]; then - if [ -f /etc/pld-release ]; then - title=$(sed 's/^[0-9.]\+ //' < /etc/pld-release) - else - title='PLD Linux' +# if dracut is present then generate full-featured initramfs +if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then + /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release} +fi + +# update boot loaders when old package files are gone from filesystem +if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then + if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then + /sbin/update-grub >/dev/null fi +fi - title="$title %{alt_kernel}" +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}" +fi - /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "$title" -elif [ -x /sbin/rc-boot ]; then +if [ -x /sbin/rc-boot ]; then /sbin/rc-boot 1>&2 || : fi -%post vmlinux -mv -f /boot/vmlinux-%{alt_kernel} /boot/vmlinux-%{alt_kernel}.old 2> /dev/null > /dev/null -ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel} - %post drm %depmod %{kernel_release} @@ -606,9 +584,11 @@ fi %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} -%ghost %{initrd_dir}/initrd-%{kernel_release}.gz +%ghost %{initrd_dir}/initrd-%{kernel_release}.img +%ghost %{initrd_dir}/initramfs-%{kernel_release}.img /lib/firmware/%{kernel_release} %dir /lib/modules/%{kernel_release} %dir /lib/modules/%{kernel_release}/kernel @@ -619,14 +599,9 @@ fi %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu/drm /lib/modules/%{kernel_release}/kernel/fs -# this directory will be removed after disabling rcutorture mod. in 2.6.20. /lib/modules/%{kernel_release}/kernel/kernel /lib/modules/%{kernel_release}/kernel/lib -%ifarch x86_64 -/lib/modules/%{kernel_release}/kernel/mm -%endif - /lib/modules/%{kernel_release}/kernel/net %dir /lib/modules/%{kernel_release}/kernel/sound