]> TLD Linux GIT Repositories - packages/kernel.git/blobdiff - kernel-vanilla.spec
- updated to 3.2.43
[packages/kernel.git] / kernel-vanilla.spec
index c79a756659d4b4414aaa729619d119e7080b2306..102d008c58ad47ba16d8db4dc7f361e69f8d7a76 100644 (file)
@@ -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