# # *mm* series kernels now use kernel.org versioning # %define kernelversion 2 %define patchlevel 6 %define sublevel 17 # kernel Makefile extraversion is substituted by # kpatch/kstable wich are either 0 (empty), pre/rc (kpatch) or stable release (kstable) %define kpatch 0 %define kstable 14 # this is the releaseversion %define kbuild 9 #sometimes it's easier to d/l an updated kernel %define kstable_tar 1 %define ktag mm %define kname kernel-multimedia %define rpmtag %distsuffix %if %kpatch %define rpmrel %mkrel 0.%{kpatch}.%{kbuild} %else %define rpmrel %mkrel %{kbuild} %endif # theese two never change, they are used to fool rpm/urpmi/smart %define fakever 1 %define fakerel %mkrel 1 # on Orion, rpm doesn't know about powerpc yet, temp workaround %define powerpc powerpc ppc %define target_arch %(echo %{_arch} | sed -e "s/ppc/powerpc/") # When we are using a pre/rc patch, the tarball is a sublevel -1 %if %kpatch %define kversion %{kernelversion}.%{patchlevel}.%{sublevel} %define tar_ver %{kernelversion}.%{patchlevel}.%(expr %{sublevel} - 1) %else %if %kstable %define kversion %{kernelversion}.%{patchlevel}.%{sublevel}.%{kstable} %define tar_ver %{kernelversion}.%{patchlevel}.%{sublevel} %else %define kversion %{kernelversion}.%{patchlevel}.%{sublevel} %define tar_ver %{kversion} %endif %endif %if %kstable_tar %define tar_ver %{kernelversion}.%{patchlevel}.%{sublevel}.%{kstable_tar} %endif %define patch_ver %{kversion}-%{ktag}%{kbuild} %define kverrel %{kversion}-%{rpmrel} # used for not making too long names for rpms or search paths %define buildrpmrel %{kbuild}%{rpmtag} %define buildrel %{kversion}-%{buildrpmrel} # having different top level names for packges means that you have to remove them by hard :( %define top_dir_name %{kname}-%{target_arch} %define build_dir %{_builddir}/%{top_dir_name} %define src_dir %{build_dir}/linux-%{tar_ver} # disable useless debug rpms... %define _enable_debug_packages %{nil} %define debug_package %{nil} #generate our own provides %define _use_internal_dependency_generator 0 %define __original_find_provides %(/bin/rpm --eval '%%{__find_provides}') %define __find_provides %{build_dir}/find-kmod-provides.sh # Build defines %define build_devel 1 %define build_debug 0 %define build_doc 0 %define build_source 1 # Build desktop i686/4GB / x86_64 / powerpc %define build_desktop_up 1 %define build_desktop_smp 1 # Build laptop i686/4GB / x86_64 / powerpc %define build_laptop_up 1 #no need for smp laptop kernel on powerpc %ifnarch %{powerpc} %define build_laptop_smp 1 %else %define build_laptop_smp 0 %endif # End of user definitions %{?_without_desktop_up: %global build_desktop_up 0} %{?_without_desktop_smp: %global build_desktop_smp 0} %{?_without_laptop_up: %global build_laptop_up 0} %{?_without_laptop_smp: %global build_laptop_smp 0} %{?_without_debug: %global build_debug 0} %{?_without_doc: %global build_doc 0} %{?_without_source: %global build_source 0} %{?_without_devel: %global build_devel 0} %{?_with_desktop_up: %global build_desktop_up 1} %{?_with_desktop_smp: %global build_desktop_smp 1} %{?_with_laptop_up: %global build_laptop_up 1} %{?_with_laptop_smp: %global build_laptop_smp 1} %{?_with_debug: %global build_debug 1} %{?_with_doc: %global build_doc 1} %{?_with_source: %global build_source 1} %{?_with_devel: %global build_devel 1} # for the nosrc rpms %define build_nosrc 0 %{?_with_nosrc: %global build_nosrc 1} %define kmake %make # there are places where parallel make don't work %define smake make # SRC RPM definitions Summary: Linux kernel built for Mandriva with modifications for low latency Name: %{kname} Version: %{kversion} Release: %{rpmrel} License: GPL Group: System/Kernel and hardware ExclusiveArch: %{ix86} x86_64 %{powerpc} ExclusiveOS: Linux URL: http://www.kernel.org/ #################################################################### # # Sources # ### This is for full SRC RPM Source0: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/linux-%{tar_ver}.tar.bz2 Source1: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/linux-%{tar_ver}.tar.bz2.sign ### This is for stripped SRC RPM %if %build_nosrc NoSource: 0 %endif Source4: README.kernel-%{ktag}-sources Source5: README.Mandriva_Linux_%{ktag} Source6: Changelog.kernel Source7: README.%{ktag}.urpmi Source10: Makefile.patch Source20: find-kmod-provides.sh Source100: linux-%{patch_ver}.tar.bz2 #################################################################### # # Patches # # Patch0 to Patch100 are for core kernel upgrades. # # Pre linus patch: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing #%if %kpatch #Patch1: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/testing/patch-%{kversion}.bz2 #Source10: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/testing/patch-%{kversion}.bz2.sign #%elseif %kstable #Patch1: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/patch-%{kversion}.bz2 #Source10: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/patch-%{kversion}.bz2.sign #%endif #END #################################################################### # Defines for the things that are needed for all the kernels # %define kinfo1 The kernel package contains the Linux kernel (vmlinuz), the core of your %define kinfo2 Mandriva Linux operating system. The kernel handles the basic functions %define kinfo3 of the operating system: memory allocation, process allocation, device %define updateinfo1 For instructions for update, see: %define updateinfo2 http://www.mandriva.com/security/kernelupdate %define info1 The %{ktag} kernels is an experimental kernel based on the kernel.org %define info2 kernels with added patches. Some of them may/will never end up in %define info3 the main kernels due to their experimental nature. Some refer to %define info4 this kernel as a 'hackkernel' ... %define info5 Use these kernels at your own risk !! %define info10 If you want more info on the various %{kname} flavours, please visit: %define info11 http://www.iki.fi/tmb/Multimedia_Kernels/ ### Global Requires/Provides %define requires1 mkinitrd >= 4.2.17-%mkrel 37 %define requires2 bootloader-utils >= 1.12-%mkrel 1 drakxtools-backend >= 10.4.67-%mkrel 1 %define requires3 sysfsutils >= 1.3.0-%mkrel 1 module-init-tools >= 3.2-0.pre8.%mkrel 2 %define kprovides %{kname} = %{kverrel}, kernel = %{kversion}, alsa, drbd-api = 83 BuildRoot: %{_tmppath}/%{kname}-%{kversion}-build Autoreqprov: no Requires(pre): %requires1 Requires(pre): %requires2 Requires(pre): %requires3 BuildRequires: gcc >= 4.0.1-%mkrel 5 module-init-tools >= 3.2-0.pre8.%mkrel 2 %description %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop: i686, up, 4GB # %package -n %{kname}-desktop-%{buildrel} Version: %{fakever} Release: %{fakerel} Provides: %kprovides Requires(pre): %requires1 Requires(pre): %requires2 Requires(pre): %requires3 Requires: %{kname}-desktop-devel-%{buildrel} %ifarch %{ix86} Summary: Linux kernel for desktop use with i686-up-4GB %else Summary: Linux kernel for desktop use with %{target_arch} %endif Group: System/Kernel and hardware %ifarch %{ix86} %description -n %{kname}-desktop-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for desktop use, single i686 processor/core and less than 4GB RAM, full preempt, low latency and cfq scheduler. %else %description -n %{kname}-desktop-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for desktop use, single %{target_arch} processor/core, full preempt, low latency and cfq scheduler. %endif %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-smp: i686, smp, 4GB # %package -n %{kname}-desktop-smp-%{buildrel} Version: %{fakever} Release: %{fakerel} Provides: %kprovides Requires(pre): %requires1 Requires(pre): %requires2 Requires(pre): %requires3 Requires: %{kname}-desktop-smp-devel-%{buildrel} %ifarch{ix86} Summary: Linux kernel for desktop use with i686-smp-4GB %else Summary: Linux kernel for desktop use with %{target_arch}-smp %endif Group: System/Kernel and hardware %ifarch{ix86} %description -n %{kname}-desktop-smp-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for desktop use, multiple i686 processors/cores and less than 4GB RAM, full preempt, low latency and cfq scheduler. %else %description -n %{kname}-desktop-smp-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for desktop use, multiple %{target_arch} processors/cores, full preempt, low latency and cfq scheduler. %endif %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop: i686, up, 4GB # %package -n %{kname}-laptop-%{buildrel} Version: %{fakever} Release: %{fakerel} Provides: %kprovides Requires(pre): %requires1 Requires(pre): %requires2 Requires(pre): %requires3 Requires: %{kname}-laptop-devel-%{buildrel} %ifarch %{ix86} Summary: Linux kernel for laptop use with i686-up-4GB %else Summary: Linux kernel for laptop use with %{target_arch} %endif Group: System/Kernel and hardware %ifarch %{ix86} %description -n %{kname}-laptop-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for laptop use, single i686 processor/core and less than 4GB RAM, using HZ_100 to save battery, voluntary preempt and cfq scheduler, and some other laptop-specific optimizations. If you want to sacrifice battery life for performance, you better use the %{kname}-desktop. %else %description -n %{kname}-laptop-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for laptop use, single %{target_arch} processor/core, using HZ_100 to save battery, voluntary preempt and cfq scheduler, and some other laptop-specific optimizations. If you want to sacrifice battery life for performance, you better use the %{kname}-desktop. %endif %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-smp: i686, smp, 4GB # %package -n %{kname}-laptop-smp-%{buildrel} Version: %{fakever} Release: %{fakerel} Provides: %kprovides Requires(pre): %requires1 Requires(pre): %requires2 Requires(pre): %requires3 Requires: %{kname}-laptop-smp-devel-%{buildrel} %ifarch{ix86} Summary: Linux kernel for laptop use with i686-smp-4GB %else Summary: Linux kernel for laptop use with %{target_arch}-smp %endif Group: System/Kernel and hardware %ifarch{ix86} %description -n %{kname}-laptop-smp-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for laptop use, multiple i686 processors/cores and less than 4GB RAM, using HZ_100 to save battery, voluntary preempt and cfq scheduler, and some other laptop-specific optimizations. If you want to sacrifice battery life for performance, you better use the %{kname}-desktop-smp. %else %description -n %{kname}-laptop-smp-%{buildrel} %{kinfo1} %{kinfo2} %{kinfo3} input and output, etc. This kernel is compiled for desktop use, multiple %{target_arch} processors/cores, using HZ_100 to save battery, voluntary preempt and cfq scheduler, and some other laptop-specific optimizations. If you want to sacrifice battery life for performance, you better use the %{kname}-desktop-smp. %endif %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-source # %package -n %{kname}-source-%{buildrel} Version: %{fakever} Release: %{fakerel} Requires: glibc-devel, ncurses-devel, make, gcc, perl, binutils Summary: The source code for the Linux %{kname}-%{buildrel} Group: Development/Kernel Autoreqprov: no Provides: kernel-source kernel-source-fbsplash Conflicts: %{kname}-source-stripped-%{buildrel} %description -n %{kname}-source-%{buildrel} The kernel-source package contains the source code files for the %{ktag} Linux kernel. These source files can be used to build a custom kernel that is better tuned to your particular hardware, if you are so inclined (and you know what you're doing). If you are looking for source files to build 3rdparty drivers (dkms), please install a kernel-*-devel package instead. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-devel # %package -n %{kname}-desktop-devel-%{buildrel} Version: %{fakever} Release: %{fakerel} Requires: glibc-devel, ncurses-devel, make, gcc, perl Summary: The kernel-devel files for %{kname}-desktop-%{buildrel} Group: Development/Kernel Autoreqprov: no Provides: kernel-source kernel-source-fbsplash kernel-devel %description -n %{kname}-desktop-devel-%{buildrel} This package contains the kernel-devel files that should be enough to build 3rdparty drivers (dkms) against for use with %{kname}-desktop-%{buildrel}. If you want to build your own kernel, you need to install the full %{kname}-source-%{buildrel} rpm. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-smp-devel # %package -n %{kname}-desktop-smp-devel-%{buildrel} Version: %{fakever} Release: %{fakerel} Requires: glibc-devel, ncurses-devel, make, gcc, perl Summary: The kernel-devel files for %{kname}-desktop-smp-%{buildrel} Group: Development/Kernel Autoreqprov: no Provides: kernel-source kernel-source-fbsplash kernel-devel %description -n %{kname}-desktop-smp-devel-%{buildrel} This package contains the kernel-devel files that should be enough to build 3rdparty drivers (dkms) against for use with %{kname}-desktop-smp-%{buildrel}. If you want to build your own kernel, you need to install the full %{kname}-source-%{buildrel} rpm. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-devel # %package -n %{kname}-laptop-devel-%{buildrel} Version: %{fakever} Release: %{fakerel} Requires: glibc-devel, ncurses-devel, make, gcc, perl Summary: The kernel-devel files for %{kname}-laptop-%{buildrel} Group: Development/Kernel Autoreqprov: no Provides: kernel-source kernel-source-fbsplash kernel-devel %description -n %{kname}-laptop-devel-%{buildrel} This package contains the kernel-devel files that should be enough to build 3rdparty drivers against for use with %{kname}-laptop-%{buildrel}. If you want to build your own kernel, you need to install the full %{kname}-source-%{buildrel} rpm. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-smp-devel # %package -n %{kname}-laptop-smp-devel-%{buildrel} Version: %{fakever} Release: %{fakerel} Requires: glibc-devel, ncurses-devel, make, gcc, perl Summary: The kernel-devel files for %{kname}-laptop-smp-%{buildrel} Group: Development/Kernel Autoreqprov: no Provides: kernel-source kernel-source-fbsplash kernel-devel %description -n %{kname}-laptop-smp-devel-%{buildrel} This package contains the kernel-devel files that should be enough to build 3rdparty drivers against for use with %{kname}-laptop-smp-%{buildrel}. If you want to build your own kernel, you need to install the full %{kname}-source-%{buildrel} rpm. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-doc: documentation for the Linux kernel # %package -n %{kname}-doc-%{buildrel} Version: %{fakever} Release: %{fakerel} Summary: Various documentation bits found in the %{kname} source Group: Books/Computer books %description -n %{kname}-doc-%{buildrel} This package contains documentation files from the %{kname} source. Various bits of information about the Linux kernel and the device drivers shipped with it are documented in these files. You also might want install this package if you need a reference to the options that can be passed to Linux kernel modules at load time. %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-latest: virtual rpm # %package -n %{kname}-desktop-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-desktop Group: System/Kernel and hardware Requires: %{kname}-desktop-%{buildrel} %description -n %{kname}-desktop-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-desktop installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-smp-latest: virtual rpm # %package -n %{kname}-desktop-smp-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-desktop-smp Group: System/Kernel and hardware Requires: %{kname}-desktop-smp-%{buildrel} %description -n %{kname}-desktop-smp-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-desktop-smp installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-latest: virtual rpm # %package -n %{kname}-laptop-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-laptop Group: System/Kernel and hardware Requires: %{kname}-laptop-%{buildrel} %description -n %{kname}-laptop-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-laptop installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-smp-latest: virtual rpm # %package -n %{kname}-laptop-smp-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-laptop-smp Group: System/Kernel and hardware Requires: %{kname}-laptop-smp-%{buildrel} %description -n %{kname}-laptop-smp-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-laptop-smp installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-source-latest: virtual rpm # %package -n %{kname}-source-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-source Group: Development/Kernel Requires: %{kname}-source-%{buildrel} Conflicts: %{kname}-source-stripped-latest %description -n %{kname}-source-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-source installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-devel-latest: virtual rpm # %package -n %{kname}-desktop-devel-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-desktop-devel Group: Development/Kernel Requires: %{kname}-desktop-devel-%{buildrel} %description -n %{kname}-desktop-devel-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-desktop-devel installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-desktop-smp-devel-latest: virtual rpm # %package -n %{kname}-desktop-smp-devel-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-desktop-smp-devel Group: Development/Kernel Requires: %{kname}-desktop-smp-devel-%{buildrel} %description -n %{kname}-desktop-smp-devel-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-desktop-smp-devel installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-devel-latest: virtual rpm # %package -n %{kname}-laptop-devel-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-laptop-devel Group: Development/Kernel Requires: %{kname}-laptop-devel-%{buildrel} %description -n %{kname}-laptop-devel-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-laptop-devel installed... %{updateinfo1} %{updateinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # kernel-multimedia-laptop-smp-devel-latest: virtual rpm # %package -n %{kname}-laptop-smp-devel-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-laptop-smp-devel Group: Development/Kernel Requires: %{kname}-laptop-smp-devel-%{buildrel} %description -n %{kname}-laptop-smp-devel-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-laptop-smp-devel installed... %{upinfo1} %{upinfo2} %{info1} %{info2} %{info3} %{info4} %{info5} %{info10} %{info11} # # End packages - here begins build stage # %prep %setup -q -n %top_dir_name -c %setup -q -n %top_dir_name -D -T -a100 %define patches_dir ../%{patch_ver}/ cd %src_dir #%if %kpatch #%patch1 -p1 #%elseif %kstable #%patch1 -p1 #%endif %{patches_dir}/scripts/apply_patches # PATCH END # # Setup Begin # # Prepare all the variables for calling create_configs %if %build_debug %define debug --debug %else %define debug --no-debug %endif %{patches_dir}/scripts/create_configs %debug --user_arch="%{target_arch}" # make sure the kernel has the sublevel we know it has... LC_ALL=C perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile # get rid of unwanted files find . -name '*~' -o -name '*.orig' -o -name '*.append' |xargs rm -f %build # Common target directories %define _kerneldir /usr/src/%{kname}-%{buildrel} %define _bootdir /boot %define _modulesdir /lib/modules # Directories definition needed for building %define temp_root %{build_dir}/temp-root %define temp_source %{temp_root}%{_kerneldir} %define temp_boot %{temp_root}%{_bootdir} %define temp_modules %{temp_root}%{_modulesdir} PrepareKernel() { name=$1 extension=$2 echo "Make dep for kernel $extension" %smake -s mrproper # We can't use only defconfig anymore because we have the autoconf patch, if [ $name = ""]; then cp arch/%{target_arch}/defconfig-maximum .config else cp arch/%{target_arch}/defconfig-$name .config fi # make sure EXTRAVERSION says what we want it to say %if %kstable LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = .%{kstable}-$extension/" Makefile %else LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -$extension/" Makefile %endif %smake oldconfig } BuildKernel() { KernelVer=$1 echo "Building kernel $KernelVer" %kmake all ## Start installing stuff install -d %{temp_boot} install -m 644 System.map %{temp_boot}/System.map-$KernelVer install -m 644 .config %{temp_boot}/config-$KernelVer %ifarch %{powerpc} cp -f vmlinux %{temp_boot}/vmlinuz-$KernelVer %else cp -f arch/%{target_arch}/boot/bzImage %{temp_boot}/vmlinuz-$KernelVer %endif # modules install -d %{temp_modules}/$KernelVer %smake INSTALL_MOD_PATH=%{temp_root} KERNELRELEASE=$KernelVer modules_install } SaveDevel() { devel_flavour=$1 devel_cpu=$2 if [ "$devel_cpu" != "" ]; then DevelRoot=/usr/src/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu else DevelRoot=/usr/src/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel} fi TempDevelRoot=%{temp_root}$DevelRoot mkdir -p $TempDevelRoot for i in $(find . -name Makefile -o -name Makefile-* -o -name Makefile.*); do cp -R --parents $i $TempDevelRoot;done for i in $(find . -name Kconfig -o -name Kconfig.* -o -name Kbuild -o -name Kbuild.*); do cp -R --parents $i $TempDevelRoot;done cp -fR include $TempDevelRoot cp -fR scripts $TempDevelRoot cp -fR arch/%{target_arch}/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/%{target_arch}/kernel/ # truecrypt needs this cp -fR drivers/md/dm.h $TempDevelRoot/drivers/md/ %ifarch %{ix86} cp -fR arch/%{target_arch}/kernel/sigframe.h $TempDevelRoot/arch/%{target_arch}/kernel/ %endif cp -fR .config .kernelrelease Module.symvers $TempDevelRoot cp -fR 3rdparty/mkbuild.pl $TempDevelRoot/3rdparty for i in alpha arm arm26 avr32 cris frv h8300 ia64 mips m32r m68knommu parisc sh sh64 sparc sparc64 s390 v850 xtensa; do rm -rf $TempDevelRoot/arch/$i rm -rf $TempDevelRoot/include/asm-$i done # ppc needs only m68k headers rm -rf $TempDevelRoot/arch/m68k %ifnarch %{ix86} x86_64 rm -rf $TempDevelRoot/arch/i386 rm -rf $TempDevelRoot/arch/x86_64 rm -rf $TempDevelRoot/include/asm-i386 rm -rf $TempDevelRoot/include/asm-x86_64 %endif %ifnarch %{powerpc} rm -rf $TempDevelRoot/arch/powerpc rm -rf $TempDevelRoot/arch/ppc rm -rf $TempDevelRoot/include/asm-m68k rm -rf $TempDevelRoot/include/asm-powerpc rm -rf $TempDevelRoot/include/asm-ppc %endif # fix permissions chmod -R a+rX $TempDevelRoot # hack Makefile to prevent deleting files with mrproper patch -d $TempDevelRoot -i %{SOURCE10} if [ "$devel_cpu" != "" ]; then output_devel=../kernel_devel_files.$devel_flavour$devel_cpu else output_devel=../kernel_devel_files.$devel_flavour fi cat > $output_devel <<EOF %defattr(-,root,root,-) %dir $DevelRoot %dir $DevelRoot/arch %dir $DevelRoot/include $DevelRoot/.config $DevelRoot/.kernelrelease $DevelRoot/3rdparty $DevelRoot/Documentation $DevelRoot/Kbuild $DevelRoot/Makefile $DevelRoot/Module.symvers %ifarch %{ix86} x86_64 $DevelRoot/arch/i386 $DevelRoot/arch/x86_64 %endif %ifarch %{powerpc} $DevelRoot/arch/powerpc $DevelRoot/arch/ppc %endif $DevelRoot/arch/um $DevelRoot/block $DevelRoot/crypto $DevelRoot/drivers $DevelRoot/fs $DevelRoot/include/acpi $DevelRoot/include/asm $DevelRoot/include/asm-generic %ifarch %{ix86} x86_64 $DevelRoot/include/asm-i386 $DevelRoot/include/asm-x86_64 %endif %ifarch %{powerpc} $DevelRoot/include/asm-m68k $DevelRoot/include/asm-powerpc $DevelRoot/include/asm-ppc %endif $DevelRoot/include/asm-um $DevelRoot/include/config $DevelRoot/include/keys $DevelRoot/include/linux $DevelRoot/include/math-emu $DevelRoot/include/media $DevelRoot/include/mtd $DevelRoot/include/net $DevelRoot/include/pcmcia $DevelRoot/include/rdma $DevelRoot/include/rxrpc $DevelRoot/include/scsi $DevelRoot/include/sound $DevelRoot/include/video $DevelRoot/init $DevelRoot/ipc $DevelRoot/kernel $DevelRoot/lib $DevelRoot/mm $DevelRoot/net $DevelRoot/scripts $DevelRoot/security $DevelRoot/sound $DevelRoot/usr %doc README.kernel-%{ktag}-sources %doc README.Mandriva_Linux_%{ktag} %doc README.urpmi EOF ### Create -devel Post script on the fly cat > $output_devel-post <<EOF if [ -d /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu ]; then ln -sf $DevelRoot /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/build ln -sf $DevelRoot /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/source fi EOF ### Create -devel Preun script on the fly cat > $output_devel-preun <<EOF if [ -L /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/build ]; then rm -f /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/build fi if [ -L /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/source ]; then rm -f /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/source fi exit 0 EOF } CreateFiles() { kernel_flavour=$1 kernel_cpu=$2 if [ "$kernel_cpu" != "" ]; then output_kernel=../kernel_files.$kernel_flavour$kernel_cpu else output_kernel=../kernel_files.$kernel_flavour fi cat > $output_kernel <<EOF %defattr(-,root,root) %{_bootdir}/config-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu %{_bootdir}/vmlinuz-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu %{_bootdir}/System.map-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu %dir %{_modulesdir}/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/ %{_modulesdir}/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/kernel %{_modulesdir}/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/modules.* %doc README.kernel-%{ktag}-sources %doc README.Mandriva_Linux_%{ktag} %doc README.urpmi EOF ### Create kernel Post script on the fly cat > $output_kernel-post <<EOF /sbin/installkernel -L %{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu pushd /boot >/dev/null if [ -L /boot/vmlinuz-%{ktag}-$kernel_flavour$kernel_cpu ]; then rm -f /boot/vmlinuz-%{ktag}-$kernel_flavour$kernel_cpu fi ln -sf vmlinuz-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu vmlinuz-%{ktag}-$kernel_flavour$kernel_cpu if [ -L /boot/initrd-%{ktag}-$kernel_flavour$kernel_cpu.img ]; then rm -f /boot/initrd-%{ktag}-$kernel_flavour$kernel_cpu.img fi ln -sf initrd-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu.img initrd-%{ktag}-$kernel_flavour$kernel_cpu.img popd >/dev/null %if %build_devel if [ -d /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu ]; then ln -sf /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/build ln -sf /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/source fi %else # modules stuff if [ -x /sys/devices/platform/i8042 ]; then grep -q -s "psmouse" /etc/modprobe.preload{,.d/*} || \ /bin/echo -e "\npsmouse" >> /etc/modprobe.preload.d/kernel-multimedia fi %ifarch %{ix86} x86_64 grep -q -s "pcspkr" /etc/modprobe.preload{,.d/*} || \ /bin/echo -e "\npcspkr" >> /etc/modprobe.preload.d/kernel-multimedia %endif grep -s "^realtime" /etc/modprobe.preload{,.d/*} &> /dev/null if [ \$? -ne 0 ] ; then grep -s "^capability" /etc/modprobe.preload{,.d/*} &> /dev/null if [ \$? -ne 0 ] ; then /bin/echo -e "\nPreloading capability security module," /bin/echo -e "if you want to activate realtime capabilities" /bin/echo -e "comment out/delete the line containing capability" /bin/echo -e "and add on a new line \"realtime\", and adjust" /bin/echo -e "the realtime module options in /etc/modprobe.conf." /bin/echo -e "\ncapability" >> /etc/modprobe.preload.d/kernel-multimedia fi fi %endif EOF ### Create kernel Preun script on the fly cat > $output_kernel-preun <<EOF pushd /boot >/dev/null if [ -L /boot/vmlinuz-%{ktag}-$kernel_flavour$kernel_cpu ]; then if [ \$(readlink vmlinuz-%{ktag}-$kernel_flavour$kernel_cpu) = "vmlinuz-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu" ]; then rm -f /boot/vmlinuz-%{ktag}-$kernel_flavour$kernel_cpu fi fi if [ -L /boot/initrd-%{ktag}-$kernel_flavour$kernel_cpu.img ]; then if [ \$(readlink initrd-%{ktag}-$kernel_flavour$kernel_cpu.img) = "initrd-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu.img" ]; then rm -f /boot/initrd-%{ktag}-$kernel_flavour$kernel_cpu.img fi fi /sbin/installkernel -R %{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu popd >/dev/null %if %build_devel if [ -L /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/build ]; then rm -f /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/build fi if [ -L /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/source ]; then rm -f /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu/source fi %endif exit 0 EOF ### Create kernel Postun script on the fly cat > $output_kernel-postun <<EOF /sbin/kernel_remove_initrd %{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}$kernel_cpu EOF } CreateKernel() { flavour=$1 processor=$2 PrepareKernel $flavour$processor %{ktag}-$flavour-%{buildrpmrel}$processor BuildKernel %{kversion}-%{ktag}-$flavour-%{buildrpmrel}$processor %if %build_devel SaveDevel $flavour $processor %endif CreateFiles $flavour $processor } ### # DO it... ### # Create a simulacro of buildroot rm -rf %{temp_root} install -d %{temp_root} #make sure we are in the directory cd %src_dir %if %build_desktop_smp CreateKernel desktop smp %endif %if %build_desktop_up CreateKernel desktop "" %endif %if %build_laptop_smp CreateKernel laptop smp %endif %if %build_laptop_up CreateKernel laptop "" %endif # We don't make to repeat the depend code at the install phase %if %build_source PrepareKernel "" %{buildrpmrel}%{ktag}custom %smake -s prepare %smake -s scripts %endif ### ### install ### %install install -m 644 %{SOURCE4} . install -m 644 %{SOURCE5} . install -m 644 %{SOURCE6} . install -m 644 %{SOURCE7} README.urpmi install -m 755 %{SOURCE20} . cd %src_dir # Directories definition needed for installing %define target_source %{buildroot}%{_kerneldir} %define target_source_stripped %{buildroot}%{_kdir_stripped} %define target_boot %{buildroot}%{_bootdir} %define target_modules %{buildroot}%{_modulesdir} # We want to be able to test several times the install part rm -rf %{buildroot} cp -a %{temp_root} %{buildroot} # Create directories infastructure %if %build_source install -d %{target_source} tar cf - . | tar xf - -C %{target_source} chmod -R a+rX %{target_source} # we remove all the source files that we don't ship # first architecture files for i in alpha arm arm26 cris frv h8300 ia64 mips m32r m68knommu parisc sh sh64 sparc sparc64 s390 v850 xtensa; do rm -rf %{target_source}/arch/$i rm -rf %{target_source}/include/asm-$i done # ppc only needs m68k headers rm -rf %{target_source}/arch/m68k %ifnarch %{ix86} x86_64 rm -rf %{target_source}/arch/i386 rm -rf %{target_source}/arch/x86_64 rm -rf %{target_source}/include/asm-i386 rm -rf %{target_source}/include/asm-x86_64 %endif %ifnarch %{powerpc} rm -rf %{target_source}/arch/powerpc rm -rf %{target_source}/arch/ppc rm -rf %{target_source}/include/asm-m68k rm -rf %{target_source}/include/asm-powerpc rm -rf %{target_source}/include/asm-ppc %endif # other misc files rm -f %{target_source}/{.config.old,.config.cmd,.tmp_gas_check} #endif %build_source %endif # gzipping modules find %{target_modules} -name "*.ko" | xargs gzip -9 # We used to have a copy of PrepareKernel here # Now, we make sure that the thing in the linux dir is what we want it to be for i in %{target_modules}/*; do rm -f $i/build $i/source $i/modules.* done # sniff, if we gzipped all the modules, we change the stamp :( # we really need the depmod -ae here pushd %{target_modules} for i in *; do /sbin/depmod -u -ae -b %{buildroot} -r -F %{target_boot}/System.map-$i $i echo $? done #Create the modules.description file #provide the module versions that we ship in this kernel for i in *; do pushd $i echo "Creating module.description for $i" modules=`find . -name "*.ko.gz"` echo $modules | xargs /sbin/modinfo \ | perl -lne 'print "$name\t$1" if $name && /^description:\s*(.*)/; $name = $1 if m!^filename:\s*(.*)\.k?o!; $name =~ s!.*/!!' > modules.description popd done popd ### ### clean ### %clean rm -rf %{buildroot} # We don't want to remove this, the whole reason of its existence is to be # able to do several rpm --short-circuit -bi for testing install # phase without repeating compilation phase #rm -rf %{temp_root} ### ### scripts ### ### desktop scripts %post -n %{kname}-desktop-%{buildrel} -f kernel_files.desktop-post %preun -n %{kname}-desktop-%{buildrel} -f kernel_files.desktop-preun %postun -n %{kname}-desktop-%{buildrel} -f kernel_files.desktop-postun ### desktop-smp scripts %post -n %{kname}-desktop-smp-%{buildrel} -f kernel_files.desktopsmp-post %preun -n %{kname}-desktop-smp-%{buildrel} -f kernel_files.desktopsmp-preun %postun -n %{kname}-desktop-smp-%{buildrel} -f kernel_files.desktopsmp-postun ### laptop scripts %post -n %{kname}-laptop-%{buildrel} -f kernel_files.laptop-post %preun -n %{kname}-laptop-%{buildrel} -f kernel_files.laptop-preun %postun -n %{kname}-laptop-%{buildrel} -f kernel_files.laptop-postun ### laptop-smp scripts %post -n %{kname}-laptop-smp-%{buildrel} -f kernel_files.laptopsmp-post %preun -n %{kname}-laptop-smp-%{buildrel} -f kernel_files.laptopsmp-preun %postun -n %{kname}-laptop-smp-%{buildrel} -f kernel_files.laptopsmp-postun ### kernel-desktop-devel %post -n %{kname}-desktop-devel-%{buildrel} -f kernel_devel_files.desktop-post %preun -n %{kname}-desktop-devel-%{buildrel} -f kernel_devel_files.desktop-preun ### kernel-desktop-smp-devel %post -n %{kname}-desktop-smp-devel-%{buildrel} -f kernel_devel_files.desktopsmp-post %preun -n %{kname}-desktop-smp-devel-%{buildrel} -f kernel_devel_files.desktopsmp-preun ### kernel-laptop-devel %post -n %{kname}-laptop-devel-%{buildrel} -f kernel_devel_files.laptop-post %preun -n %{kname}-laptop-devel-%{buildrel} -f kernel_devel_files.laptop-preun ### kernel-laptop-smp-devel %post -n %{kname}-laptop-smp-devel-%{buildrel} -f kernel_devel_files.laptopsmp-post %preun -n %{kname}-laptop-smp-devel-%{buildrel} -f kernel_devel_files.laptopsmp-preun ### ### file lists ### %if %build_desktop_up %files -n %{kname}-desktop-%{buildrel} -f kernel_files.desktop %endif %if %build_desktop_smp %files -n %{kname}-desktop-smp-%{buildrel} -f kernel_files.desktopsmp %endif %if %build_laptop_up %files -n %{kname}-laptop-%{buildrel} -f kernel_files.laptop %endif %if %build_laptop_smp %files -n %{kname}-laptop-smp-%{buildrel} -f kernel_files.laptopsmp %endif %if %build_devel %if %build_desktop_up %files -n %{kname}-desktop-devel-%{buildrel} -f kernel_devel_files.desktop %endif %if %build_desktop_smp %files -n %{kname}-desktop-smp-devel-%{buildrel} -f kernel_devel_files.desktopsmp %endif %if %build_laptop_up %files -n %{kname}-laptop-devel-%{buildrel} -f kernel_devel_files.laptop %endif %if %build_laptop_smp %files -n %{kname}-laptop-smp-devel-%{buildrel} -f kernel_devel_files.laptopsmp %endif %endif %if %build_source %files -n %{kname}-source-%{buildrel} %defattr(-,root,root) %dir %{_kerneldir} %dir %{_kerneldir}/arch %dir %{_kerneldir}/include %{_kerneldir}/.config %{_kerneldir}/.gitignore %{_kerneldir}/.kconfig.d %{_kerneldir}/.kernelrelease %{_kerneldir}/3rdparty %{_kerneldir}/COPYING %{_kerneldir}/CREDITS %{_kerneldir}/Documentation %{_kerneldir}/Kbuild %{_kerneldir}/MAINTAINERS %{_kerneldir}/Makefile %{_kerneldir}/README %{_kerneldir}/REPORTING-BUGS %ifarch %{ix86} x86_64 %{_kerneldir}/arch/i386 %{_kerneldir}/arch/x86_64 %endif %{_kerneldir}/arch/um %ifarch %{powerpc} %{_kerneldir}/arch/powerpc %{_kerneldir}/arch/ppc %endif %{_kerneldir}/block %{_kerneldir}/crypto %{_kerneldir}/drivers %{_kerneldir}/fs %{_kerneldir}/include/acpi %{_kerneldir}/include/asm %{_kerneldir}/include/asm-generic %ifarch %{ix86} x86_64 %{_kerneldir}/include/asm-i386 %{_kerneldir}/include/asm-x86_64 %endif %{_kerneldir}/include/asm-um %ifarch %{powerpc} %{_kerneldir}/include/asm-m68k %{_kerneldir}/include/asm-powerpc %{_kerneldir}/include/asm-ppc %endif %{_kerneldir}/include/config %{_kerneldir}/include/keys %{_kerneldir}/include/linux %{_kerneldir}/include/math-emu %{_kerneldir}/include/media %{_kerneldir}/include/mtd %{_kerneldir}/include/net %{_kerneldir}/include/pcmcia %{_kerneldir}/include/rdma %{_kerneldir}/include/rxrpc %{_kerneldir}/include/scsi %{_kerneldir}/include/sound %{_kerneldir}/include/video %{_kerneldir}/init %{_kerneldir}/ipc %{_kerneldir}/kernel %{_kerneldir}/lib %{_kerneldir}/mm %{_kerneldir}/net %{_kerneldir}/scripts %{_kerneldir}/security %{_kerneldir}/sound %{_kerneldir}/usr %doc README.kernel-%{ktag}-sources %doc README.Mandriva_Linux_%{ktag} %doc README.urpmi %doc Changelog.kernel #endif %build_source %endif %if %build_doc %files -n %{kname}-doc-%{buildrel} %defattr(-,root,root) %doc linux-%{kversion}/Documentation/* %endif %if %build_desktop_up %files -n %{kname}-desktop-latest %defattr(-,root,root) %endif %if %build_desktop_smp %files -n %{kname}-desktop-smp-latest %defattr(-,root,root) %endif %if %build_laptop_up %files -n %{kname}-laptop-latest %defattr(-,root,root) %endif %if %build_laptop_smp %files -n %{kname}-laptop-smp-latest %defattr(-,root,root) %endif %if %build_devel %if %build_desktop_up %files -n %{kname}-desktop-devel-latest %defattr(-,root,root) %endif %if %build_desktop_smp %files -n %{kname}-desktop-smp-devel-latest %defattr(-,root,root) %endif %if %build_laptop_up %files -n %{kname}-laptop-devel-latest %defattr(-,root,root) %endif %if %build_laptop_smp %files -n %{kname}-laptop-smp-devel-latest %defattr(-,root,root) %endif %endif %if %build_source %files -n %{kname}-source-latest %defattr(-,root,root) %endif #TODO #- include IPP2P? #- add DU01_usb-rndis-lite from tmb (#30128) #- libata update, add pata support for sata_via %changelog * Sat Aug 11 2007 Danny Tholen <dtholen@mandriva.org> 2.6.17.14-9mdv2008.0 + Revision: 61963 - DU72_usb-storage-add-super_top-to-unusual_dev (#30803) - BK14_alsa-atiixp-ac97_codec (#30651) - truly fix reiser4fs oops (FS22, #30795) - ME73_shfs-truncate_inode_pages (ME73, #21167) - update sheepnet to 2.3pre (MJ80) and drop obsolete MJ81, MJ82 - update uvc (MC85) to revision 120 (20070804) - post script cleanup and fixes (including #31160) - disable IRQ_BALANCE - modinfo-25 invocation in find-provides changed to modinfo - update mkinitrd req and remove suspend2 hack - add NW8XX driver (MK60) - Sync with Giuseppe Ghibo's stock kernel prelease: DB61_3ware9650se_support (#29471), DB62_3ware9650se_9411, BK15_hda_azx (#29398), DN95_ide_nv_mcp65, DU30_asix_88178 (#31572), DA90_te_cf100, DA91_pcmcia_multifunction (#28175), CA86_watchdog_nmi_30s (RH#237655), ZZ31_mm-udf, ZZ27_ZZ30_CVE-2006-7203_skip_data_compatsys, ZZ27_ZZ31_CVE-2007-1353_hci_bluetooth, ZZ27_ZZ32_CVE-2007-1861_ipv4_fib_netlink_oops, ZZ27_ZZ33_CVE-2007-2172_ipv4_fib_semantics, ZZ27_ZZ34_CVE-2007-2242_ipv6_disallow_rh0, ZZ27_ZZ35_CVE-2007-2525_ppoe_memleak, DN32_ifpacket_missing_headers (RH#238749), FS40_ext3_unlink_racing (RH#239787), ZZ27_ZZ39_CVE-2007-2453_seeding_devrandom, DV30_i965gm_ids, ZZ40_nfs_missing_braces, DU31_teac_hd15puk (#30803), DB64_smb700_combined_mode (31445), DI38_atiixp_sb700_has_one_channel (#31448), DB65_ahci_ati_sb700 (#31449), FS60_xfs_umount_fix (RH#209062), ZZ42_serial_460800, ZZ27_ZZ43_CVE-2007-1497_fragments-bypass-nf_conntrack-netfilter (#29723), ZZ27_ZZ45_dont_leak_NT_bit, ZZ27_ZZ46_dont_leak_NT_bit_newline, ZZ27_ZZ47_CVE-2007-1496_netfilter_null_pointer_dereferences (#29722), ZZ27_ZZ48_netfilter_null_pointer_dereferences_multiple, ZZ27_ZZ49_netfilter_crash_on_bridged_packet, ZZ22_appletalk_endianess_annotations, ZZ27_ZZ50_CVE-2007-1357_appletalk_length_mismatch, DU32_sony_ericcson_p990i, DU33_nokia_n80, MD77_i2c_nforce2, ZZ44_oldide_fixsata_detection, BK16_alsa-intel-id-otherquirks, ZZ27_ZZ53_CVE-2006-6054_ext2-readdir-fpos, MC83_ipw2200_pci_shutdown_handler, DN10_forcedeth_mcp61, DN11_forcedeth_059_update, DA86_areca_arcmsr_1, DA87_areca_arcmsr_2, DA88_areca_arcmsr_3, DA20_default_poweroff_up_machines (#26228, #25161), ZZ35_v4l_dma32, DV31_i965_agp_suspend, ZZ47_nameif_track_rename, DN20_tulip_quad_nic_down, DN58_r8169_more_alignment_8168, MJ25_qla3xxx_2.02 (RH#208182), DB22_qla1280_fix_bus_reset_typo, DB23_qla1280_fix_command_timeout, DN09_e1000_not_truncate_dso_with_82544_workaround, CA90_x86_dont_check_microcode_size, DN43_libertas, DI39_atiixp_fix_cable_detection (DEB#411024), MC80_ipw2200_update_1.2.0, DB29_aic94xx_1.0.3, DU34_asix_20060614, ZZ48_make_swiotlb_use_bus_to_virt, CA95_debug_apic_up_quiet, DA70_acpi_thinkpad_r40e_1set70w, FS61_xfs_unlink_recovery_fix, FS62_xfs_26040a_dont_dirty_inode, FS63_xfs_28000a_buffer_unwritten, ZZ41_it8716_it8718f_v4 (#30900), CA15_820_area_page_aligned (RH#210499), DN46_netfilter_fix_conntrack_overpassed_heavy_load, CA20_kprobe_fix_deadlock, CA11_lockdep_fix_ide_proc_interaction(RH#210678), DN31_net_compute_checksum_in_netpoll_send_udp (RH#214542), CA12_memory_gdb_fix_backtrace_output (RH#222826), ZZ49_net_gact_division_by_zero (RH#218348), DN29_network_rpc_krb5_memleak (RH#223348), CA18_memory_less_node (RH#228564), ZZ27_ZZ86_CVE-2007-2875_cpuset_underflow (#31374), ZZ27_ZZ87_CVE-2007-2876_netfilter_remote_triggerable_panic (#31376), CA83_enable_nmi_watchdog_amd_0x10 (RH#222123), CA84_increase_nmi_watchdog_probing_timeout, CA91_force_data_segment_4k_aligned_i386, CA92_force_data_segment_4k_aligned_x86_64, ZZ36_sbp2_dont_prefer_modesense_10, ZZ37_sbp2_fix_probing_some_dvd, DA95_sd_fix_unknown_capacity, DN48_ieee82011_1217, CA96_make_gart_pe_uncacheable_x86_64, CA97_shorten_x86_64_boot_setup_gdt (RH#214736), DN98_bonding_fix_deadlock_high_load, ZZ33_mm_swap_write_failure, CA98_mm_fix_bugon_for_shmem_truncate_range, DA08_acpi_change_memhotplug_loglevel, CA93_module_unaligned_access_fix (RH#198572, RH#210013, UB#43913), DU03_psmouse_suspend_cleanups, FS41_ext3_fix_buffer_memorder, CA50_proc_mtrr_size_and_mask, CA51_stack_overflow_non4k_pagesize, CA52_elevator_move_clearing_unplug_flag, ZZ34_md_fix_rebuild_spares, DN41_nat_t_udp_encap (SU#196747), DN80_bnx2_add_rx_drop_counter (#32073, #31723), DN92_skb_trim_audit (#32073, #31723), ZZ27_ZZC0_CVE-2007-2878_fix_vfat_compat_ioctls, FS42_ext3_dont_do_orphan_processing, CA67_mm_hugetlb_fix_absurd_HugePages_Rsvd, * Sun May 27 2007 Danny Tholen <dtholen@mandriva.org> 2.6.17.14-8mdv2008.0 + Revision: 31784 - use normal depmod/modinfo instead of -25 version - reiser4-radix-tree-direct-data-fix (FS21, #30795) - update gspcav1 to 20070508 (MK50) - make gspcav1 actually build (MK51,52, #29459) - update suspend2 to 2.2.8.5 (ZZ75) - prevent scripts removal by mrproper in devel package - update ipw3945 to 1.2.1 (MC75) - add a device id for zd1211rw (DN60, #30020) - update bcm43xx (DN40, DN65) - kernel now requires devel-rpms - make psmouse insertion in modprobe.preload unconditional (#30795) - bluetooth update (DU50, #30690) * Sun May 13 2007 Danny Tholen <dtholen@mandriva.org> 2.6.17.14-7mdv2008.0 + Revision: 26532 - ide-generic should be module (thx for report JPB) - Potential fix for bluetooth crash (#30690) - usb blacklisting (#26728) - Fix cardbus detection on yenta sockets - dkms can no longer delete devel files with make mrproper - spec tweaks, including fix for rpm descriptions - From main: * CA89_pci_remove_invalid_message.patch * CA89_usb_check_return_values.patch - cleanup spec (remove echos) - add dm.h for truecrypt - make devel trees read-only (if a dkms module fails because of this, it is broken) - do not autoload eth1394 (bug #20126) - enable CONFIG_AUDIT* to fix pam perm errors - fix initialization of e1000 on thinkpad when no cable plugged (DN08) - add some sata_via ids (DB60) * Sun Apr 01 2007 Thomas Backlund <tmb@mandriva.org> 2.6.17.14-6mdv2007.1 + Revision: 150130 - change IEEE80211 & IEEE80211_SOFTMAC to modular - fix 3rdparty/adm8211/Kconfig as it broke IEEE80211_CRYPT_CCMP & IEEE80211_CRYPT_TKIP build (problem reported by Massimiliano Liccardo), this one also fixes #24699 - security sync with main: ZZ23_CVE-2007-1592_ipv6_fl_socklist_inadvertently_shared_fix.patch * Wed Mar 21 2007 Thomas Backlund <tmb@mandriva.org> 2.6.17.14-5mdv2007.1 + Revision: 147311 - from Danny: - add patch DA07: fixes acpi oops on some broken dstds - add patch MC57: rt61 64bit fixes - update patch PP42: blacklist apple bluetooth - Merge with main: DU25_samsung_usb_floppy_unusual_dev.patch DU26_macbook_keyboard_support.patch ZZ19_CVE-2007-0005_cm4040_cs_buffer_overflow_fix.patch ZZ20_CVE-2007-1217_capi_debug_buffer_overflow_fix.patch ZZ21_CVE-2007-1388_ipv6_sockglue_null_ptr_fix.patch ZZ22_CVE-2007-1000_ipv6_getsockopt_sticky.patch - drop patch PP51: replaced by patch DU25 * Sun Mar 11 2007 Thomas Backlund <tmb@mandriva.org> 2.6.17.14-4mdv2007.1 + Revision: 141354 - disable RT61 on x86_64 for now as it broke the build - from Danny Tholen <obiwan@mailmij.org> - remove some unused files - update DU50 with upstream bluetooth fixes (2.6.17-mh5) - update spca5xx to MK50_gspcav1-20070110.tar - fix Makefile of acer_acpi to make it build - drop DA16_wacom_acpi_enable_future_usage.patch, we don't need it anymore - mv MC50 to MC45_qc-usb-0.6.4.tar - mv MC54 to MC46_qc-usb-2.6.11-endian.patch - mv CA72 to CA10_fix-ide-locking-error.patch - drop nozomi (replaced with in-tree driver) - drop BK11_alsa_hda-intel_realtek_subdevid.patch (already in alsa) - Merge with main: DI31_ata_piix_ich8_mapdb_fix.patch, CA61_swsusp_debugging1.patch CA62_s3_ide_nmi.patch, CA63_s3_routine_resume.patch CA64_swsusp_pnp_bios.patch, CA65_do_suspend_lowlevel_segment.patch CA66_flush_tlb_all_suspend.patch, CA67_suspend_clock_skew.patch CA68_cpu_hotplug_mutex.patch, CA69_cpu_init_avoid_gfpkernel.patch CA70_fix_broken_vm86.patch, DA78_serial_suspend_vs_pnp.patch HB02_core2_rdtsc.patch, MC51_rt73-cvs-20070124.tar MC52_rt61-cvs-20070124.tar, MC53_rt73_mdv_paths.patch MC54_rt73_use_firmware_hotplug.patch, MC55_rt61_mdv_paths.patch MC56_rt61_firmware.patch, CA71_irq_quirk_ich9.patch CA72_i2ci801_ich9_ids.patch, CA73_i2ci801_ich9.patch DA79_hda_ich9.patch, DI32_ata_piix_ich9.patch DI33_ahci_ich9.patch, FS14_exit3_avoid_sector_t_overflow.patch CA74_mm_msync_lsb_fix.patch, DU20_uhci_introduces_rapid_enum_opt.patch DU21_unusual_dev_sony_floppy.patch, DB50_sata_sis_update.patch DB51_sis190_sis968-2.patch, DB52_sis190_eeprom_mac.patch enable CONFIG_IKCONFIG on x86_64, MC65_gregkh-driver-nozomi.patch DU22_rndis_host_nokia_mobile_crash_fix.patch, DI34_atiixp_sb600_has_one_channel.patch CA78_zeromap_may_find_a_pte.patch, CA79_ppc64_make_current_preempt_safe.patch MC85_uvc-r88.tar, DI55_jmicron_cable_detect.patch CA75_sysrq_blocked_task.patch, CA76_sysrq-showblockedtasks-is-sysrq-w.patch DN30_ct_sync.patch, DI25_add_marvell_ide.patch, DI26_add_jmicron_ide.patch DI27_fix_jmicron_ide.patch, DI28_add_jmicron_ahci_did.patch DI29_ahci_ignore_if_err_jmb.patch CA85_warn_on_once.patch, CE12_suspend_speedup.patch CA81_core2_nmi_watchdog.patch DU23_let_option_driver_handle_anydata_cdma_modems.patch DN93_r8169_suspend.patch, DV29_mach64_fix_bogus_delay_loop.patch DI60_ide_acpi_1.patch, DI61_ide_acpi_2.patch CE13_restore_eoi_status_resume.patch CE14_ondemand_suspend1.patch, CE15_ondemand_suspend2.patch * Wed Mar 07 2007 Thomas Backlund <tmb@mandriva.org> 2.6.17.14-3mdv2007.1 + Revision: 134169 - security updates from main 2.6.17.12: ZZ14_CVE-2007-0958_unreadable_binaries_pt_interp_fix.patch ZZ16_CVE-2006-6056_hfs_null_pointer_fix.patch - rename *-headers to the more appropriate *-devel - remove the kernel-*devel requires kernel-* - install devel files in /usr/src/'uname -r' - install full source in /usr/src/<version>-mm-<release> - create post/postun/preun scripts at build time (removes code duplication) - update README.urpmi - create post/postun/preun scripts at buildtime to minimize code duplication - drop kernel-source requires: libqt-devel, gtk2-devel, libglade2.0-devel, to minimize install requirements - update patch MD40: ndiswrapper to 1.37 - From Danny Tholen <obiwan@mailmij.org>: add patch ZZ97: try to fix usb locking related system hang at boot (#24683) - fix RC versioning - add "static" symlinks to /boot - fix the whole autoconf mess dont rely on /etc/init.d/kheader and /boot/kernel.h anymore drop all of the old autoconf hacks drop kernel-multimedia-source-stripped(-latest) rpms introduce kernel-multimedia-$flavour-headers(-latest) rpms to build 3rdparty drivers against (survives test: make mrproper oldconfig prepare scripts) kernel-multimedia-source rpm does not include any autoconf stuff anymore add info regarding this to README.urpmi * Sat Feb 24 2007 Thomas Backlund <tmb@mandriva.org> 2.6.17.14-2mdv2007.1 + Revision: 125305 - import 2.6.17.14-2mdv from 2007.0 Contrib/Updates - update patch MD70: squashfs-3.2-r2 - drop patch FS06_max-symlink-to-10.patch, as it creates security issues on x86_64 (#27955) - add support for "flush" on fat filesystems (from main): FS12_fat_add_flush.patch (#28574) - security updates from main 2.6.17.11mdv: ZZ03_CVE-2006-5173_eflags_reset.patch ZZ04_CVE-2006-5619_ip6_flowlabel_seqfile_fix.patch ZZ05_CVE-2006-5751_bridge_overflow_fix.patch ZZ06_CVE-2006-6106_bluetooth_add_capi_packet_checks.patch ZZ07_CVE-2006-5757_fs_grow_buffers_infinite_loop_fix.patch ZZ08_CVE-2006-5749_isdn_ppp_init_reset_state_timer.patch ZZ09_CVE-2006-5753_fix_bad_inode_retun_values.patch ZZ10_CVE-2006-6053_ext3_handle_dir_corruption.patch ZZ11_CVE-2006-4814_mincore_fix_user_access_locking.patch ZZ12_CVE-2007-0006_key_serial_number_collision_fix.patch ZZ13_CVE-2006-5823_cramfs_zlib_inflate.patch - security update from tmb 2.6.17.14-4mdv ZZ14_CVE-2007-0772_Fix_a_free-wrong-pointer_bug_in_nfsacl_server.patch - import the 2.6.14-1mdv only released to http://tmb.kkc.fi/Kernels/2007.0/ update to 2.6.17.14 drop DV13, DB40 (merged) DU51_usb-suspend-check-driver.patch (another try at fixing #25956) DI37_libata-resource-conflict-for-legacy-mode.patch (upstream, #23279) x86_64 config changes (enable modversions, AGP as module on laptop) add DN45_bcm43xx_hotfix.patch (upstream) add DN36_ieee80211-1.2.15.patch (upstream) update ndiswrapper to 1.28 DA10_acpi_resume.patch (upstream) disable REGPARM (suspend problems?) Support for jmicron in legacy mode (DI54) (upstream, #25155) add MJ11_avmaster-have_v4l2.patch (me) update alsa to 1.0.13 except snd-aoa stuff (upstream) MH95_acer_acpi.tar (upstream) drop BK02 (merged) drop BK15_ppc-irq_of_parse_and_map-not-on-2.6.17.patch for now (broken) from tmb: update ZZ30_v4l_dvb_2.6.18.1.patch from main: DA75_pcmcia_deadlock.patch DN89_r8169_pcmcia_hot_unplug.patch BK13_alsa_hda-intel-oops.patch DA76_cardbus_hotplug_api_safe.patch DA77_pccard_store_cis_fix_error_handling.patch ZZ25_CVE-2005-4997_clip_do_not_refer_freed_skbuff.patch ZZ26_CVE-2006-4572_netfilter_ipv6_fragmention_attacks_fixes.patch CA60_x86_64_adds_nx_mask_bit_for_pte_entry.patch DN90_netfilter_missing_check_for_cap_net_admin.patch DV20_mach64_drm.patch DV21_mach64_drm_fixes.patch DV22_mach64_drm_driver_init_members.patch - import src.rpm from 2007.0/contrib/release - Created package structure for kernel-multimedia.