X-Git-Url: https://git.tld-linux.org/?p=packages%2Fkernel.git;a=blobdiff_plain;f=kernel-vanilla.spec;h=66e039debf5c6358baf515ee2c00e7f7436aaf1f;hp=f31b8f5edecc62bb9dd288967b8d5e20e95ab1a6;hb=3248229d47e64e98ffcad4bcf70d3096327d8a3c;hpb=77f8f4c70b315daaecb6eeedeed03dec72e65367 diff --git a/kernel-vanilla.spec b/kernel-vanilla.spec index f31b8f5..66e039d 100644 --- a/kernel-vanilla.spec +++ b/kernel-vanilla.spec @@ -1,53 +1,40 @@ -# $Revision: 1.43.2.11.2.121 $, $Date: 2010/10/04 15:47:07 $ -# # Conditional build: -%bcond_without source # don't build kernel-vanilla-source package -%bcond_without pcmcia # don't build pcmcia +%bcond_without source # don't build kernel-source package +%bcond_without doc # don't build kernel-doc package %bcond_with verbose # verbose build (V=1) -%bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor -%{?debug:%define with_verbose 1} +%define basever 4.3 +%define postver 0 +%define rel 1 -%define have_drm 1 -%define have_oss 1 -%define have_sound 1 -%define have_isa 1 - -%define _basever 2.6.32 -%define _postver .24 -%define _rel 1 - -%define _enable_debug_packages 0 - -%define alt_kernel vanilla%{?with_pae:-pae} +%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}-%{_localversion} +# localversion is just that without version for "> localversion" +%define localversion %{rel} +%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(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum) 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} -Release: %{_rel} +Name: kernel%{_alt_kernel} +Version: %{basever}.%{postver} +Release: %{rel} Epoch: 3 License: GPL v2 Group: Base/Kernel -Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{_basever}.tar.bz2 -# Source0-md5: 260551284ac224c3a43c4adac7df4879 -%if "%{_postver}" != "%{nil}" -Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2 -# Source1-md5: e3346e3b4b92f048b8ecded829f45cdf +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-vanilla-autoconf.h -Source3: kernel-vanilla-config.h -Source4: kernel-vanilla-module-build.pl +Source2: kernel-module-build.pl +Source3: kernel.make Source10: kernel-vanilla-x86.config Source11: kernel-vanilla-x86_64.config @@ -56,21 +43,35 @@ URL: http://www.kernel.org/ BuildRequires: binutils >= 3:2.18 BuildRequires: /sbin/depmod BuildRequires: gcc >= 5:3.2 -# for hostname command -BuildRequires: net-tools +BuildRequires: xz >= 1:4.999.7 +AutoReqProv: no +BuildRequires: hostname +BuildRequires: kmod BuildRequires: perl-base -BuildRequires: rpm-build >= 4.4.9-56 -BuildRequires: rpmbuild(macros) >= 1.217 -Autoreqprov: no +BuildRequires: rpm >= 4.5-74 +BuildRequires: rpmbuild(macros) >= 1.652 Requires(post): coreutils -Requires(post): geninitrd >= 2.57 -Requires(post): module-init-tools >= 0.9.9 +Requires(post): dracut +Requires(post): kmod >= 12-2 Requires: /sbin/depmod Requires: coreutils -Requires: geninitrd >= 2.57 -Requires: module-init-tools >= 0.9.9 -Obsoletes: kernel%{_alt_kernel}-firmware +Requires: dracut +Requires: kmod >= 12-2 +%ifarch i686 +Requires: cpuinfo(pae) +%endif +Suggests: crda +Suggests: keyutils +Suggests: linux-firmware +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 @@ -79,57 +80,55 @@ Obsoletes: kernel-net-ar81 Obsoletes: kernel-net-hostap Obsoletes: kernel-net-ieee80211 Obsoletes: kernel-net-ipp2p +Obsoletes: kernel-net-rt61 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: linux-firmware < 20120720 +Conflicts: lvm2 < 2.02.40 +Conflicts: module-init-tools < 3.16 Conflicts: nfs-utils < 1.0.5 Conflicts: oprofile < 0.9 Conflicts: ppp < 1:2.4.0 Conflicts: procps < 3.2.0 Conflicts: quota-tools < 3.09 Conflicts: reiserfsprogs < 3.6.3 -Conflicts: udev < 1:071 +Conflicts: rpm < 4.4.2-0.2 +Conflicts: udev < 1:081 Conflicts: util-linux < 2.10o Conflicts: xfsprogs < 2.6.0 -%if %{with pae} -ExclusiveArch: %{ix86} -ExcludeArch: i386 i486 i586 -%else -ExclusiveArch: %{ix86} %{x8664} -%endif +ExclusiveArch: i686 x86_64 ExclusiveOS: Linux BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%ifarch %{ix86} %{x8664} +%ifarch i686 x86_64 %define target_arch_dir x86 -%endif -%ifnarch %{ix86} %{x8664} -%define target_arch_dir %{_target_base_arch} -%endif - -%ifarch %{ix86} -%define kernel_config x86 %else -%define kernel_config %{_target_base_arch} +%define target_arch_dir %{_target_base_arch} %endif %define defconfig arch/%{target_arch_dir}/defconfig # No ELF objects there to strip (skips processing 27k files) -%define _noautostrip .*%{_kernelsrcdir}/.* +%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\) %define _noautochrpath .*%{_kernelsrcdir}/.* +%define _enable_debug_packages 0 %define initrd_dir /boot -%define _kernelsrcdir /usr/src/linux-%{version}-%{alt_kernel} +%define topdir %{_builddir}/%{name}-%{version} +%define srcdir %{topdir}/linux-%{basever} +%define objdir %{topdir}/%{targetobj} +%define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion) + +%define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version} -%if "%{_target_base_arch}" != "%{_arch}" - %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux- +%if "%{_target_base_arch}" != "%{_host_base_arch}" + %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux- %define DepMod /bin/true - %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386" + %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386" %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}" %define DepMod /sbin/depmod %endif @@ -138,39 +137,30 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}" %define DepMod /sbin/depmod %endif - -%define Features %(echo "%{__features}" | sed '/^$/d') +%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}" %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 @@ -195,7 +185,7 @@ Group: Base/Kernel Requires(postun): %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release} Obsoletes: kernel-smp-drm -Autoreqprov: no +AutoReqProv: no %description drm DRM kernel modules. @@ -216,7 +206,7 @@ Requires: %{name} = %{epoch}:%{version}-%{release} Obsoletes: kernel-smp-pcmcia Conflicts: pcmcia-cs < 3.1.21 Conflicts: pcmciautils < 004 -Autoreqprov: no +AutoReqProv: no %description pcmcia PCMCIA modules. @@ -235,7 +225,7 @@ Group: Base/Kernel Requires(postun): %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release} Obsoletes: kernel-smp-sound-alsa -Autoreqprov: no +AutoReqProv: no %description sound-alsa ALSA (Advanced Linux Sound Architecture) sound drivers. @@ -254,7 +244,7 @@ Group: Base/Kernel Requires(postun): %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release} Obsoletes: kernel-smp-sound-oss -Autoreqprov: no +AutoReqProv: no %description sound-oss OSS (Open Sound System) drivers. @@ -270,7 +260,8 @@ Summary: Header files for the Linux kernel Summary(de.UTF-8): Header Dateien für den Linux-Kernel Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa Group: Development/Building -Autoreqprov: no +Provides: %{name}-headers(netfilter) = 20070806 +AutoReqProv: no %description headers These are the C header files for the Linux kernel, which define @@ -292,8 +283,8 @@ Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebra Summary(pl.UTF-8): Pliki służące do budowania modułów jądra Group: Development/Building Requires: %{name}-headers = %{epoch}:%{version}-%{release} -Conflicts: rpmbuild(macros) < 1.321 -Autoreqprov: no +Conflicts: rpmbuild(macros) < 1.652 +AutoReqProv: no %description module-build Development files from kernel source tree needed to build Linux kernel @@ -313,7 +304,7 @@ Summary(de.UTF-8): Der Kernel Quelltext Summary(pl.UTF-8): Kod źródłowy jądra Linuksa Group: Development/Building Requires: %{name}-module-build = %{epoch}:%{version}-%{release} -Autoreqprov: no +AutoReqProv: no %description source This is the source code for the Linux kernel. You can build a custom @@ -343,7 +334,7 @@ Summary: Kernel documentation Summary(de.UTF-8): Kernel Dokumentation Summary(pl.UTF-8): Dokumentacja do jądra Linuksa Group: Documentation -Autoreqprov: no +AutoReqProv: no %description doc This is the documentation for the Linux kernel, as found in @@ -358,211 +349,163 @@ Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu /usr/src/linux/Documentation. %prep -%setup -q -n linux-%{_basever} +%setup -qc +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 = %{_postver}-%{alt_kernel}#g' Makefile - -# on sparc this line causes CONFIG_INPUT=m (instead of =y), thus breaking build -sed -i -e '/select INPUT/d' net/bluetooth/hidp/Kconfig +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 %build -TuneUpConfigForIX86 () { - set -x -%ifarch %{ix86} - pae= - [ "$2" = "yes" ] && pae=yes - %if %{with pae} - pae=yes - %endif - %ifnarch i386 - sed -i 's:CONFIG_M386=y:# CONFIG_M386 is not set:' $1 - %endif - %ifarch i486 - sed -i 's:# CONFIG_M486 is not set:CONFIG_M486=y:' $1 - %endif - %ifarch i586 - sed -i 's:# CONFIG_M586 is not set:CONFIG_M586=y:' $1 - %endif - %ifarch i686 - sed -i 's:# CONFIG_M686 is not set:CONFIG_M686=y:' $1 - %endif - %ifarch pentium3 - sed -i 's:# CONFIG_MPENTIUMIII is not set:CONFIG_MPENTIUMIII=y:' $1 - %endif - %ifarch pentium4 - sed -i 's:# CONFIG_MPENTIUM4 is not set:CONFIG_MPENTIUM4=y:' $1 - %endif - %ifarch athlon - sed -i 's:# CONFIG_MK7 is not set:CONFIG_MK7=y:' $1 - %endif - %ifarch i686 athlon pentium3 pentium4 - if [ "$pae" = "yes" ]; then - sed -i "s:CONFIG_HIGHMEM4G=y:# CONFIG_HIGHMEM4G is not set:" $1 - sed -i "s:# CONFIG_HIGHMEM64G is not set:CONFIG_HIGHMEM64G=y\nCONFIG_X86_PAE=y:" $1 - fi - sed -i 's:CONFIG_MATH_EMULATION=y:# CONFIG_MATH_EMULATION is not set:' $1 - %endif - return 0 +install -d %{objdir} +cat > %{targetobj}.mk <<'EOF' +# generated by %{name}.spec +KERNELSRC := %{srcdir} +KERNELOUTPUT := %{objdir} + +SRCARCH := %{target_arch_dir} +ARCH := %{_target_base_arch} +Q := %{!?with_verbose:@} +MAKE_OPTS := %{MakeOpts} +DEFCONFIG := %{defconfig} +EOF + +cd %{objdir} +install -d arch/%{target_arch_dir} +%ifarch i686 + cat %{SOURCE10} > %{defconfig} %endif -} - -BuildConfig() { - %{?debug:set -x} - # is this a special kernel we want to build? - Config="%{kernel_config}" - 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}} -%{?debug:sed -i "s:# CONFIG_RT_DEADLOCK_DETECT is not set:CONFIG_RT_DEADLOCK_DETECT=y:" %{defconfig}} - -} - -BuildKernel() { - %{?debug:set -x} - echo "Building kernel $1 ..." - %{__make} %CrossOpts mrproper \ - RCS_FIND_IGNORE='-name build-done -prune -o' - ln -sf %{defconfig} .config - - %{__make} %CrossOpts clean \ - RCS_FIND_IGNORE='-name build-done -prune -o' - %{__make} %CrossOpts include/linux/version.h \ - %{?with_verbose:V=1} - - %{__make} %CrossOpts scripts/mkcompile_h \ - %{?with_verbose:V=1} - - %{__make} %CrossOpts \ - %{?with_verbose:V=1} -} - -PreInstallKernel() { - Config="%{kernel_config}" - KernelVer=%{kernel_release} - - mkdir -p $KERNEL_INSTALL_DIR/boot - install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer -%ifarch %{ix86} %{x8664} - install arch/x86/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer - install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer +%ifarch x86_64 + cat %{SOURCE11} > %{defconfig} %endif +sed -i "s:CONFIG_LOCALVERSION=\"\":CONFIG_LOCALVERSION=\"-%{localversion}\":" %{defconfig} - %{__make} %CrossOpts modules_install firmware_install \ - %{?with_verbose:V=1} \ - DEPMOD=%DepMod \ - INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \ - INSTALL_FW_PATH=$KERNEL_INSTALL_DIR/lib/firmware/$KernelVer \ - KERNELRELEASE=$KernelVer - - # You'd probabelly want to make it somewhat different - install -d $KERNEL_INSTALL_DIR%{_kernelsrcdir} - install Module.symvers $KERNEL_INSTALL_DIR%{_kernelsrcdir}/Module.symvers-dist - - echo "CHECKING DEPENDENCIES FOR KERNEL MODULES" - if [ %DepMod = /sbin/depmod ]; then - /sbin/depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer -r $KernelVer || : - fi - touch $KERNEL_INSTALL_DIR/lib/modules/$KernelVer/modules.dep - echo "KERNEL RELEASE $KernelVer DONE" -} +ln -sf %{defconfig} .config +cd - -KERNEL_BUILD_DIR=`pwd` -echo "-%{_localversion}" > localversion +%{__make} \ + TARGETOBJ=%{targetobj} \ + %{?with_verbose:V=1} \ + oldconfig -KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR/build-done/kernel" -rm -rf $KERNEL_INSTALL_DIR -BuildConfig -ln -sf %{defconfig} .config -install -d $KERNEL_INSTALL_DIR%{_kernelsrcdir}/include/linux -rm -f include/linux/autoconf.h -%{__make} %CrossOpts include/linux/autoconf.h -install include/linux/autoconf.h \ - $KERNEL_INSTALL_DIR%{_kernelsrcdir}/include/linux/autoconf-dist.h -install .config \ - $KERNEL_INSTALL_DIR%{_kernelsrcdir}/config-dist -BuildKernel -PreInstallKernel - -%{__make} %CrossOpts include/linux/utsrelease.h -cp include/linux/utsrelease.h{,.save} -cp include/linux/version.h{,.save} -cp scripts/mkcompile_h{,.save} +# build kernel +%{__make} \ + TARGETOBJ=%{targetobj} \ + %{?with_verbose:V=1} \ + all %install rm -rf $RPM_BUILD_ROOT -umask 022 +%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \ + -C %{objdir} \ + %{?with_verbose:V=1} \ + DEPMOD=%{DepMod} \ + INSTALL_MOD_PATH=$RPM_BUILD_ROOT \ + INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \ + KERNELRELEASE=%{kernel_release} -export DEPMOD=%DepMod +install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc -install -d $RPM_BUILD_ROOT%{_kernelsrcdir} -install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release} +# create directories which may be missing, to simplyfy %files +install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm} -# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition -if cp -al COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then - l=l - rm -f $RPM_BUILD_ROOT/COPYING -fi - -KERNEL_BUILD_DIR=`pwd` +# rpm obeys filelinkto checks for ghosted symlinks, convert to files +rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} +touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} -cp -a$l $KERNEL_BUILD_DIR/build-done/kernel/* $RPM_BUILD_ROOT +# no point embed content for %ghost files. empty them +for a in \ + dep{,.bin} \ + alias{,.bin} \ + devname \ + softdep \ + symbols{,.bin} \ +; do + test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a + > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a +done + +# /boot +install -d $RPM_BUILD_ROOT/boot +cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release} +cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release} +cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} +install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release} -if [ -e $RPM_BUILD_ROOT/lib/modules/%{kernel_release} ] ; then - rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/build - ln -sf %{_kernelsrcdir} $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/build - install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{cluster,misc} -fi +# ghosted initrd +touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img -find . -maxdepth 1 ! -name "build-done" ! -name "." -exec cp -a$l "{}" "$RPM_BUILD_ROOT%{_kernelsrcdir}/" ";" +%if "%{_target_base_arch}" != "%{_host_base_arch}" +touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep +%endif -cd $RPM_BUILD_ROOT%{_kernelsrcdir} +# /etc/modrobe.d +install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release} -%{__make} %CrossOpts mrproper archclean \ - RCS_FIND_IGNORE='-name build-done -prune -o' +# /usr/src/linux +install -d $RPM_BUILD_ROOT%{_kernelsrcdir} -if [ -e $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/include/linux/autoconf-dist.h ]; then - install $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/include/linux/autoconf-dist.h \ - $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux - install $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/config-dist \ - $RPM_BUILD_ROOT%{_kernelsrcdir} +# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition +if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then + l=l + rm -f $RPM_BUILD_ROOT/COPYING fi -cp -Rdp$l $KERNEL_BUILD_DIR/include/linux/* \ - $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux +cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir} +cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir} +cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir} +cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir} +# copy arch/x86/include/generated +for dir in $(cd %{objdir} && find arch -name generated -type d); do + cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir + find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";" +done -%{__make} %CrossOpts mrproper -mv -f include/linux/utsrelease.h.save $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/utsrelease.h -cp include/linux/version.h{.save,} -cp scripts/mkcompile_h{.save,} -rm -rf include/linux/version.h.save -rm -rf scripts/mkcompile_h.save -install %{SOURCE2} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h -install %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h +# version.h location changed in 3.7, but a lot of external modules don't know about it +# add a compatibility symlink +ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h -# collect module-build files and directories -perl %{SOURCE4} %{_kernelsrcdir} $KERNEL_BUILD_DIR - -# ghosted initrd -touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz +# disable this here, causes a lot of build-time problems and our rpm-build disables it anyway +%{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile -# rpm obeys filelinkto checks for ghosted symlinks, convert to files -rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} -touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} +# collect module-build files and directories +# Usage: kernel-module-build.pl $rpmdir $fileoutdir +fileoutdir=$(pwd) +cd $RPM_BUILD_ROOT%{_kernelsrcdir} +%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir +cd - -# remove unnecessary dir with dead symlink -rm -rf $RPM_BUILD_ROOT/arch/i386 +for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do + ff=${f##%{objdir}/} + if [ -x "$f" ]; then + echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs + else + echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs + fi + echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs + cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff" +done + +%if %{with doc} +# move to %{_docdir} so we wouldn't depend on any kernel package for dirs +install -d $RPM_BUILD_ROOT%{_docdir} +mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}} + +%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff +%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile +%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile +%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile +%else +%{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -573,35 +516,20 @@ 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} - -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' +%posttrans +# generate initramfs +if [ -x /sbin/dracut ]; then + /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release} +fi +# 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 - - title="$title %{alt_kernel}" - - /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "$title" -elif [ -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} @@ -627,13 +555,13 @@ ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel} %depmod %{kernel_release} %post headers -ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux-%{alt_kernel} +ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel} %postun headers if [ "$1" = "0" ]; then - if [ -L %{_prefix}/src/linux-%{alt_kernel} ]; then - if [ "$(readlink %{_prefix}/src/linux-%{alt_kernel})" = "linux-%{version}-%{alt_kernel}" ]; then - rm -f %{_prefix}/src/linux-%{alt_kernel} + if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then + if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then + rm -f %{_prefix}/src/linux%{_alt_kernel} fi fi fi @@ -651,80 +579,81 @@ fi %defattr(644,root,root,755) /boot/vmlinuz-%{kernel_release} /boot/System.map-%{kernel_release} -%ghost %{initrd_dir}/initrd-%{kernel_release}.gz +/boot/config-%{kernel_release} +%ghost %{initrd_dir}/initramfs-%{kernel_release}.img /lib/firmware/%{kernel_release} + %dir /lib/modules/%{kernel_release} %dir /lib/modules/%{kernel_release}/kernel /lib/modules/%{kernel_release}/kernel/arch /lib/modules/%{kernel_release}/kernel/crypto /lib/modules/%{kernel_release}/kernel/drivers -%if %{have_drm} -%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu/drm -%endif +%exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu /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 %{x8664} -/lib/modules/%{kernel_release}/kernel/mm -%endif /lib/modules/%{kernel_release}/kernel/net -%if %{have_sound} +/lib/modules/%{kernel_release}/kernel/mm %dir /lib/modules/%{kernel_release}/kernel/sound /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko* /lib/modules/%{kernel_release}/kernel/sound/sound*.ko* -%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko* -%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko* -%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko* -%endif +%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko* +%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko* +%exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko* %dir /lib/modules/%{kernel_release}/misc -%if %{with pcmcia} -%dir /lib/modules/%{kernel_release}/kernel/drivers/pcmcia -/lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko* %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]* %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko* %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko* %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/telephony/ixj_pcmcia.ko* -%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko* +%exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.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/drivers/net/wireless/hostap/hostap_cs.ko* %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko* %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko* -%exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko* +%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko* %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko* -%endif -%ghost /lib/modules/%{kernel_release}/modules.* +/lib/modules/%{kernel_release}/kernel/security + +%dir %{_sysconfdir}/modprobe.d/%{kernel_release} + +# provided by build +/lib/modules/%{kernel_release}/modules.order +/lib/modules/%{kernel_release}/modules.builtin* + +# rest modules.* are ghost (regenerated by post depmod -a invocation) +%ghost /lib/modules/%{kernel_release}/modules.alias +%ghost /lib/modules/%{kernel_release}/modules.alias.bin +%ghost /lib/modules/%{kernel_release}/modules.dep +%ghost /lib/modules/%{kernel_release}/modules.dep.bin +%ghost /lib/modules/%{kernel_release}/modules.devname +%ghost /lib/modules/%{kernel_release}/modules.softdep +%ghost /lib/modules/%{kernel_release}/modules.symbols +%ghost /lib/modules/%{kernel_release}/modules.symbols.bin + # symlinks pointing to kernelsrcdir %ghost /lib/modules/%{kernel_release}/build %ghost /lib/modules/%{kernel_release}/source -%dir %{_sysconfdir}/modprobe.d/%{kernel_release} %files vmlinux %defattr(644,root,root,755) /boot/vmlinux-%{kernel_release} -%if %{have_drm} %files drm %defattr(644,root,root,755) -/lib/modules/%{kernel_release}/kernel/drivers/gpu/drm -%endif +/lib/modules/%{kernel_release}/kernel/drivers/gpu -%if %{with pcmcia} %files pcmcia %defattr(644,root,root,755) -%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko* /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko* /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia +%exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko* /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko* /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko* -/lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko* +/lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko* /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko* /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko* /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko* @@ -732,33 +661,25 @@ fi /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko* /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko* /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko* -/lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko* +/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko* /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko* -%endif -%if %{have_sound} %files sound-alsa %defattr(644,root,root,755) /lib/modules/%{kernel_release}/kernel/sound %exclude %dir /lib/modules/%{kernel_release}/kernel/sound %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko* %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko* -%if %{have_oss} %exclude /lib/modules/%{kernel_release}/kernel/sound/oss -%endif -/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko* -/lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko* -/lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko* -/lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.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* -%if %{have_oss} %files sound-oss %defattr(644,root,root,755) /lib/modules/%{kernel_release}/kernel/sound/oss -%endif -%endif -%files headers +%files headers -f files.headers_exclude_kbuild %defattr(644,root,root,755) %dir %{_kernelsrcdir} %{_kernelsrcdir}/include @@ -768,56 +689,81 @@ fi %dir %{_kernelsrcdir}/security %dir %{_kernelsrcdir}/security/selinux %{_kernelsrcdir}/security/selinux/include -%{_kernelsrcdir}/config-dist -%{_kernelsrcdir}/Module.symvers-dist +%{_kernelsrcdir}/.config +%{_kernelsrcdir}/Module.symvers -%files module-build -f aux_files +%files module-build -f files.mb_include_modulebuild_and_dirs %defattr(644,root,root,755) -# symlinks pointint to kernelsrcdir -%dir /lib/modules/%{kernel_release} -/lib/modules/%{kernel_release}/build -%{_kernelsrcdir}/Kbuild -%{_kernelsrcdir}/localversion +%exclude %dir %{_kernelsrcdir}/arch/um %{_kernelsrcdir}/arch/*/kernel/asm-offsets* %{_kernelsrcdir}/arch/*/kernel/sigframe*.h %{_kernelsrcdir}/drivers/lguest/lg.h +%{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h %{_kernelsrcdir}/kernel/bounds.c -%dir %{_kernelsrcdir}/scripts -%dir %{_kernelsrcdir}/scripts/kconfig -%{_kernelsrcdir}/scripts/Kbuild.include -%{_kernelsrcdir}/scripts/Makefile* -%{_kernelsrcdir}/scripts/basic +%{_kernelsrcdir}/scripts/basic/*.c +%attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh +%{_kernelsrcdir}/scripts/kconfig/*.in +%{_kernelsrcdir}/scripts/kconfig/*_shipped +%{_kernelsrcdir}/scripts/kconfig/*.pl +%{_kernelsrcdir}/scripts/kconfig/*.glade +%{_kernelsrcdir}/scripts/kconfig/*.gperf +%{_kernelsrcdir}/scripts/kconfig/*.cc +%{_kernelsrcdir}/scripts/kconfig/*.y +%{_kernelsrcdir}/scripts/kconfig/*.l +%{_kernelsrcdir}/scripts/kconfig/[c-k]*.c +%{_kernelsrcdir}/scripts/kconfig/[c-k]*.h +%{_kernelsrcdir}/scripts/kconfig/l*.h +%{_kernelsrcdir}/scripts/kconfig/[m-u]*.c +%{_kernelsrcdir}/scripts/kconfig/[m-u]*.h +%{_kernelsrcdir}/scripts/kconfig/lxdialog +%{_kernelsrcdir}/scripts/mod/*.c +%{_kernelsrcdir}/scripts/mod/[^e]*.h +%attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h %{_kernelsrcdir}/scripts/mkmakefile -%{_kernelsrcdir}/scripts/mod %{_kernelsrcdir}/scripts/module-common.lds -%{_kernelsrcdir}/scripts/setlocalversion +%attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion %{_kernelsrcdir}/scripts/*.c -%{_kernelsrcdir}/scripts/*.sh -%{_kernelsrcdir}/scripts/kconfig/* -%{_kernelsrcdir}/scripts/mkcompile_h -%dir %{_kernelsrcdir}/scripts/selinux -%{_kernelsrcdir}/scripts/selinux/Makefile -%dir %{_kernelsrcdir}/scripts/selinux/mdp -%{_kernelsrcdir}/scripts/selinux/mdp/Makefile +%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh +%{_kernelsrcdir}/scripts/selinux/genheaders/*.c %{_kernelsrcdir}/scripts/selinux/mdp/*.c +%exclude %dir %{_kernelsrcdir}/security +%exclude %dir %{_kernelsrcdir}/security/selinux +%if %{with doc} %files doc %defattr(644,root,root,755) -%dir %{_kernelsrcdir} -%{_kernelsrcdir}/Documentation +%dir %{_docdir}/%{name}-%{version} + +%{_docdir}/%{name}-%{version}/[!jkz]* +%{_docdir}/%{name}-%{version}/[jkz]*.txt +%{_docdir}/%{name}-%{version}/kbuild +%{_docdir}/%{name}-%{version}/kdump +%lang(ja) %{_docdir}/%{name}-%{version}/ja_JP +%lang(ko) %{_docdir}/%{name}-%{version}/ko_KR +%lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN +%endif %if %{with source} -%files source -f aux_files_exc +%files source -f files.source_exclude_modulebuild_and_dirs %defattr(644,root,root,755) -%{_kernelsrcdir}/arch/*/[!Mk]* +%{_kernelsrcdir}/arch/*/[!Mik]* %{_kernelsrcdir}/arch/*/kernel/[!M]* -%{_kernelsrcdir}/arch/ia64/kvm +%{_kernelsrcdir}/arch/ia64/install.sh +%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]* +%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC +%{_kernelsrcdir}/arch/m68k/install.sh +%{_kernelsrcdir}/arch/parisc/install.sh +%{_kernelsrcdir}/arch/x86/ia32/[!M]* +%{_kernelsrcdir}/arch/arm/kvm +%{_kernelsrcdir}/arch/arm64/kvm +%{_kernelsrcdir}/arch/mips/kvm %{_kernelsrcdir}/arch/powerpc/kvm %{_kernelsrcdir}/arch/s390/kvm %{_kernelsrcdir}/arch/x86/kvm %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets* %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h %exclude %{_kernelsrcdir}/drivers/lguest/lg.h +%exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h %{_kernelsrcdir}/block %{_kernelsrcdir}/crypto %{_kernelsrcdir}/drivers @@ -830,588 +776,36 @@ fi %{_kernelsrcdir}/lib %{_kernelsrcdir}/mm %{_kernelsrcdir}/net +%{_kernelsrcdir}/virt %{_kernelsrcdir}/samples %{_kernelsrcdir}/scripts/* %exclude %{_kernelsrcdir}/scripts/Kbuild.include %exclude %{_kernelsrcdir}/scripts/Makefile* %exclude %{_kernelsrcdir}/scripts/basic %exclude %{_kernelsrcdir}/scripts/kconfig +%exclude %{_kernelsrcdir}/scripts/mkcompile_h %exclude %{_kernelsrcdir}/scripts/mkmakefile %exclude %{_kernelsrcdir}/scripts/mod +%exclude %{_kernelsrcdir}/scripts/module-common.lds %exclude %{_kernelsrcdir}/scripts/setlocalversion %exclude %{_kernelsrcdir}/scripts/*.c %exclude %{_kernelsrcdir}/scripts/*.sh +%exclude %dir %{_kernelsrcdir}/scripts/selinux +%exclude %{_kernelsrcdir}/scripts/selinux/Makefile +%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders +%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile +%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c +%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp +%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile +%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c %{_kernelsrcdir}/sound %{_kernelsrcdir}/security -%{_kernelsrcdir}/tools +%exclude %{_kernelsrcdir}/security/selinux/include +%{_kernelsrcdir}/tools/* %{_kernelsrcdir}/usr -%{_kernelsrcdir}/virt %{_kernelsrcdir}/COPYING %{_kernelsrcdir}/CREDITS %{_kernelsrcdir}/MAINTAINERS %{_kernelsrcdir}/README %{_kernelsrcdir}/REPORTING-BUGS -%{_kernelsrcdir}/.mailmap %endif - -%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`) -%changelog -* %{date} PLD Team -All persons listed below can be reached at @pld-linux.org - -$Log: kernel-vanilla.spec,v $ -Revision 1.43.2.11.2.121 2010/10/04 15:47:07 hawk -- updated to 2.6.32.24 - -Revision 1.43.2.11.2.120 2010/08/28 12:21:03 hawk -- don't mess with NoSource (won't work), we will handle it at source builder - -Revision 1.43.2.11.2.119 2010/08/27 11:03:40 hawk -- NoSource for Source 1 if needed too - -Revision 1.43.2.11.2.118 2010/08/27 08:49:13 hawk -- don't duplicate sources for pae builds to save ftp space - -Revision 1.43.2.11.2.117 2010/08/27 07:54:24 hawk -- updated to 2.6.32.21 - -Revision 1.43.2.11.2.116 2010/06/01 19:35:43 hawk -- updated to 2.6.32.15 - -Revision 1.43.2.11.2.115 2010/04/30 08:45:53 hawk -- updated to 2.6.32.12 - -Revision 1.43.2.11.2.114 2010/04/15 08:17:50 hawk -- updated to 2.6.32.11 - -Revision 1.43.2.11.2.113 2010/03/22 07:59:33 hawk -- updated to 2.6.32.10 - -Revision 1.43.2.11.2.112 2010/02/25 12:06:19 hawk -- fixed module-build for 2.6.32.x, release 1 - -Revision 1.43.2.11.2.111 2010/02/25 10:25:24 hawk -- kernel/mm only on x86_64 - -Revision 1.43.2.11.2.110 2010/02/24 19:42:55 hawk -- updated for 2.6.32.9, not tested yet - -Revision 1.43.2.11.2.109 2009/12/20 22:28:31 hawk -- updated to 2.6.31.9 - -Revision 1.43.2.11.2.108 2009/12/11 15:36:35 hawk -- updated to 2.6.31.7 - -Revision 1.43.2.11.2.107 2009/10/23 17:23:44 hawk -- updated to 2.6.31.5 - -Revision 1.43.2.11.2.106 2009/10/15 15:47:52 hawk -- updated to 2.6.31.4 - -Revision 1.43.2.11.2.105 2009/10/12 12:33:28 hawk -- updated to 2.6.31.3 - -Revision 1.43.2.11.2.104 2009/09/26 10:19:01 hawk -- added tools directory to source package - -Revision 1.43.2.11.2.103 2009/09/24 20:53:29 hawk -- updated to 2.6.31.1 -- killed firmware subpackage (merged into main package) -- fixed /lib/firmware path - -Revision 1.43.2.11.2.102 2009/09/13 22:42:02 hawk -- seems ready, release 1 - -Revision 1.43.2.11.2.101 2009/09/13 22:00:26 hawk -- updated %files - -Revision 1.43.2.11.2.100 2009/09/12 17:37:55 hawk -- started work with 2.6.31 - -Revision 1.43.2.11.2.99 2009/08/16 22:24:40 hawk -- updated to 2.6.30.5 - -Revision 1.43.2.11.2.98 2009/08/01 20:48:09 hawk -- updated to 2.6.30.4 - -Revision 1.43.2.11.2.97 2009/07/21 08:06:30 shadzik -- rel 3 - -Revision 1.43.2.11.2.96 2009/07/20 22:35:18 hawk -- release 2 - -Revision 1.43.2.11.2.95 2009/07/20 15:10:26 hawk -- updated to 2.6.30.2 - -Revision 1.43.2.11.2.94 2009/07/14 17:54:15 hawk -- update module-build and headers %files so external modules can be build - -Revision 1.43.2.11.2.93 2009/07/14 14:22:54 hawk -- one more %files update - -Revision 1.43.2.11.2.92 2009/07/14 12:30:15 hawk -- updated %files - -Revision 1.43.2.11.2.91 2009/07/14 10:45:44 hawk -- started work on 2.6.30.1 - -Revision 1.43.2.11.2.90 2009/07/12 14:23:40 hawk -- fix for drivers/md/dm.c patch in 2.6.27.26 - -Revision 1.43.2.11.2.89 2009/07/10 17:16:24 hawk -- updated to 2.6.27.26 - -Revision 1.43.2.11.2.88 2009/06/20 15:27:54 hawk -- updated to 2.6.27.25 - -Revision 1.43.2.11.2.87 2009/04/06 21:49:18 charles -- updated to 2.6.27.21 - -Revision 1.43.2.11.2.86 2009/03/17 13:37:18 hawk -- updated to 2.6.27.20 - -Revision 1.43.2.11.2.85 2009/02/20 23:54:46 hawk -- updated to 2.6.27.19 - -Revision 1.43.2.11.2.84 2009/02/17 23:18:34 hawk -- updated to 2.6.27.18 - -Revision 1.43.2.11.2.83 2009/02/13 12:36:28 hawk -- updated to 2.6.27.17 - -Revision 1.43.2.11.2.82 2009/02/07 17:31:42 hawk -- updated to 2.6.27.15 - -Revision 1.43.2.11.2.81 2009/02/04 22:52:36 hawk -- updated to 2.6.27.14 - -Revision 1.43.2.11.2.80 2009/01/15 13:16:58 hawk -- updated to 2.6.27.11 - -Revision 1.43.2.11.2.79 2008/12/20 11:37:47 hawk -- updated to 2.6.27.10 - -Revision 1.43.2.11.2.78 2008/12/16 09:06:45 hawk -- updated to 2.6.27.9 - -Revision 1.43.2.11.2.77 2008/12/05 23:28:39 hawk -- updated to 2.6.27.8 - -Revision 1.43.2.11.2.76 2008/11/21 22:07:41 hawk -- updated to 2.6.27.7 - -Revision 1.43.2.11.2.75 2008/11/14 18:13:39 hawk -- blah, updated configs for 2.6.27.6 -- release 2 - -Revision 1.43.2.11.2.74 2008/11/14 16:27:20 hawk -- updated BRs and Os from kernel.spec:LINUX_2_6 - -Revision 1.43.2.11.2.73 2008/11/14 16:18:47 hawk -- updated to 2.6.27.6 - -Revision 1.43.2.11.2.72 2008/11/12 22:03:07 hawk -- updated md5 - -Revision 1.43.2.11.2.71 2008/11/08 13:37:22 hawk -- updated to 2.6.27.5 - -Revision 1.43.2.11.2.70 2008/10/31 19:30:03 twittner -- omitted /lib/firmware/yamaha directory added to %files - -Revision 1.43.2.11.2.69 2008/10/27 09:34:20 hawk -- updated to 2.6.27.4 - -Revision 1.43.2.11.2.68 2008/10/25 22:16:15 hawk -- release 2 - -Revision 1.43.2.11.2.67 2008/10/25 15:33:17 hawk -- more %files fixes - -Revision 1.43.2.11.2.66 2008/10/25 13:57:52 hawk -- updated %files for 2.6.27, added firmware subpackage - -Revision 1.43.2.11.2.65 2008/10/24 12:05:20 hawk -- updated to 2.6.27.3 - -Revision 1.43.2.11.2.64 2008/10/09 13:13:33 hawk -- updated to 2.6.26.6 - -Revision 1.43.2.11.2.63 2008/09/09 06:32:48 hawk -- updated to 2.6.26.5 - -Revision 1.43.2.11.2.62 2008/09/08 13:04:14 hawk -- updated to 2.6.26.4 - -Revision 1.43.2.11.2.61 2008/08/29 11:50:41 hawk -- updated to 2.6.26.3 - -Revision 1.43.2.11.2.60 2008/08/06 19:55:13 hawk -- updated to 2.6.26.2 - -Revision 1.43.2.11.2.59 2008/08/04 13:41:48 hawk -- updated to 2.6.26.1 - -Revision 1.43.2.11.2.58 2008/07/28 09:57:04 hawk -- blah, really fixed 'make prepare scripts' - -Revision 1.43.2.11.2.57 2008/07/26 13:28:46 hawk -- kernel/bounds.c is required by 'make prepare scripts' -- drop KABI - -Revision 1.43.2.11.2.56 2008/07/22 15:52:11 hawk -- updated to 2.6.26 - -Revision 1.43.2.11.2.55 2008/06/25 12:37:27 hawk -- updated to 2.6.25.9 - -Revision 1.43.2.11.2.54 2008/06/23 06:17:53 hawk -- updated to 2.6.25.8 - -Revision 1.43.2.11.2.53 2008/06/17 08:10:55 hawk -- updated to 2.6.25.7, dropped unused libs package - -Revision 1.43.2.11.2.52 2008/06/09 20:27:55 hawk -- updated to 2.6.25.6 - -Revision 1.43.2.11.2.51 2008-06-09 19:27:21 hawk -- use proper kernel config, release 3 - -Revision 1.43.2.11.2.50 2008-06-09 17:15:36 hawk -- seems to work, release 2 - -Revision 1.43.2.11.2.49 2008-06-09 16:51:21 hawk -- reworked from current kernel.spec:LINUX_2_6 - -Revision 1.43.2.11.2.48 2008-06-07 13:00:43 hawk -- updated to 2.6.25.5 - -Revision 1.43.2.11.2.47 2008-05-23 15:45:18 hawk -- no PAE for i{3,4,5}86 - -Revision 1.43.2.11.2.46 2008-05-19 07:07:32 hawk -- release 2 - -Revision 1.43.2.11.2.45 2008-05-18 20:13:23 hawk -- EA: %{ix86} if with pae - -Revision 1.43.2.11.2.44 2008-05-15 21:23:11 hawk -- 2.6.25.4 - -Revision 1.43.2.11.2.43 2008-05-10 15:51:50 hawk -- updated to 2.6.25.3 - -Revision 1.43.2.11.2.42 2008-05-07 10:58:09 hawk -- updated to 2.6.25.2 - -Revision 1.43.2.11.2.41 2008-05-06 07:53:08 hawk -- suffix -pae to alt_kernel if with_pae - -Revision 1.43.2.11.2.40 2008-05-04 19:15:15 hawk -- .old /boot symlinks are back - -Revision 1.43.2.11.2.39 2008-05-04 15:13:10 hawk -- updated to 2.6.25.1 - -Revision 1.43.2.11.2.38 2008-04-30 20:38:27 hawk -- make sure that CONFIG_LOCALVERSION gets replaced - -Revision 1.43.2.11.2.37 2008-04-21 18:56:41 hawk -- use 'make archclean' instead of hacking Makefile with sed - -Revision 1.43.2.11.2.36 2008-04-21 09:06:14 hawk -- lets go with release 1 - -Revision 1.43.2.11.2.35 2008-04-20 20:13:14 hawk -- back to linux-%{version}-%{alt_kernel}, darn it, stupid versioning - scheme, now it builds, not tested yet - -Revision 1.43.2.11.2.34 2008-04-20 18:38:10 hawk -- fixed sed for killing obsolete arch/{i386,x86_64}/boot directories - -Revision 1.43.2.11.2.33 2008-04-20 14:14:33 hawk -- /boot symlinks fix, dropped creating *.old files -- use linux-%{alt_kernel}-%{version} instead of linux-%{version}_%{alt_kernel} -- cleanup - -Revision 1.43.2.11.2.32 2008-04-19 15:15:27 hawk -- killed version macros - -Revision 1.43.2.11.2.31 2008-04-19 15:14:04 hawk -- started update to 2.6.25, NFY - -Revision 1.43.2.11.2.30 2008-04-12 21:17:08 hawk -- allow PAE on ix86 - -Revision 1.43.2.11.2.29 2008-03-27 14:48:44 hawk -- updated to 2.6.24.4 - -Revision 1.43.2.11.2.28 2008-02-28 20:39:41 hawk -- release 2 - -Revision 1.43.2.11.2.27 2008-02-28 09:59:34 hawk -- updated to 2.6.24.3 - -Revision 1.43.2.11.2.26 2008-02-11 11:23:08 hawk -- uppdated to 2.6.24.2, official fix for local root hole - -Revision 1.43.2.11.2.25 2008-02-10 23:30:34 hawk -- fix for local root hole, release 2 - -Revision 1.43.2.11.2.24 2008-02-08 22:14:40 hawk -- updated to 2.6.24.1 - -Revision 1.43.2.11.2.23 2008-02-03 14:17:42 hawk -- removed %ghost %{_kernelsrcdir} from %files, breaks %releq_kernel rpm macro - -Revision 1.43.2.11.2.22 2008-02-02 17:07:35 hawk -- fixed kernel release -- %ghost %{_kernelsrcdir} in %files - -Revision 1.43.2.11.2.21 2008-01-29 19:42:43 hawk -- fixed broken deps in *-source subpackage -- include samples in source -- release 3 - -Revision 1.43.2.11.2.20 2008-01-29 10:21:58 hawk -- fixed files, release 2 - -Revision 1.43.2.11.2.19 2008-01-28 21:06:36 hawk -- fixed typo, now it should build ok, lets go with release 1 - -Revision 1.43.2.11.2.18 2008-01-28 19:51:25 hawk -- more s/i386/x86/ fixes - -Revision 1.43.2.11.2.17 2008-01-28 19:18:13 hawk -- updated x86 config source name - -Revision 1.43.2.11.2.16 2008-01-28 18:42:51 hawk -- fixed arch dir (x86 and x86_64 were merged) - -Revision 1.43.2.11.2.15 2008-01-28 15:51:21 hawk -- 2.6.24, fetch sources only, NFY - -Revision 1.43.2.11.2.14 2008-01-20 15:39:37 hawk -- updated to 2.6.23.14 - -Revision 1.43.2.11.2.13 2008-01-01 12:41:23 hawk -- updated to 2.6.23.12 - -Revision 1.43.2.11.2.12 2007-11-16 19:58:34 hawk -- blah, release down to 1 - -Revision 1.43.2.11.2.11 2007-11-16 19:57:23 hawk -- updated to 2.6.23.8 - -Revision 1.43.2.11.2.10 2007-11-11 22:21:11 hawk -- adapterized a bit - -Revision 1.43.2.11.2.9 2007-11-11 11:32:30 hawk -- release 3 - -Revision 1.43.2.11.2.8 2007-11-10 21:18:04 hawk -- fixed preempt build -- fixed kernel localversion - -Revision 1.43.2.11.2.7 2007/11/10 19:32:31 hawk -- more up/smp cleanups -- release 2 - -Revision 1.43.2.11.2.6 2007/11/10 17:54:13 hawk -- fixed one more up/smp leftover - -Revision 1.43.2.11.2.5 2007/11/10 16:39:12 hawk -- seems ready, release 1 - -Revision 1.43.2.11.2.4 2007/11/10 15:32:33 hawk -- killed additional .config files, keep everything in one config for - easier updates - -Revision 1.43.2.11.2.3 2007/11/10 14:34:39 hawk -- fixed %define Features - -Revision 1.43.2.11.2.2 2007/11/10 14:27:55 hawk -- killed up/smp, Titanium kernel will be smp by default - -Revision 1.43.2.11.2.1 2007/11/10 14:05:22 hawk -- killed kernel-common.config for easier updates -- killed archs not supported by Titanium -- updated to 2.6.23.1 - -Revision 1.43.2.11 2007/08/24 18:29:49 shadzik -- linux-2.6.21.7 - -Revision 1.43.2.10 2007/08/18 09:59:16 glen -- -source is not needed to compile C programs - -Revision 1.43.2.9 2007/06/23 22:20:19 hawk -- removed ppc compilation fix, let it be vanilla kernel - -Revision 1.43.2.8 2007/06/14 07:05:17 hawk -- oops! copy paste error - -Revision 1.43.2.7 2007/06/14 06:58:44 hawk -- fix for PPC failing when compiling Intel network drivers - -Revision 1.43.2.6 2007/06/12 06:53:03 hawk -- updated to 2.6.21.5 - -Revision 1.43.2.5 2007/06/09 07:39:12 hawk -- updated to 2.6.21.4 - -Revision 1.43.2.4 2007/05/25 08:08:40 hawk -- 2.6.21.3 - -Revision 1.43.2.3 2007/04/28 16:00:56 hawk -- updated to 2.6.21.1 - -Revision 1.43.2.2 2007/04/26 11:13:47 hawk -- updated to 2.6.21 - -Revision 1.43.2.1 2007/03/27 10:44:18 hawk -- AC-branch - -Revision 1.43 2007/03/25 02:08:42 shadzik -- rel 1 - -Revision 1.42 2007/03/25 00:31:18 shadzik -- linux-2.6.20.4 -- it's still old-style, till now I will try to adapt it to new-style macros - so it's rather your last chance to build this on AC - -Revision 1.41 2007/03/25 00:23:22 shadzik -- linux-2.6.20.3 - -Revision 1.40 2007/03/25 00:12:56 shadzik -- linux-2.6.20.2 - -Revision 1.39 2007/02/22 08:06:37 shadzik -- Source1 you friggin bastard... be DF friendly ! - -Revision 1.38 2007/02/22 05:31:01 shadzik -- more informative commitlog for rev. 1.37 - -Revision 1.37 2007/02/22 05:18:15 shadzik -- linux-2.6.20.1 (resolves CVE-2007-0772) -- configs stay the same - -Revision 1.36 2007/02/22 05:16:50 shadzik -- md5 for Source10 (testing patch) - -Revision 1.35 2007/02/22 05:13:39 shadzik -- hopefully fixed patch applying for both testing and stable versions - -Revision 1.34 2007/02/19 07:29:26 shadzik -- fix versioning (version-.release issue <- the dot shouldn't be there) - -Revision 1.33 2007/02/14 18:28:00 shadzik -- make TuneUpConfigForIX86 always return 0, fixes build on i386 - -Revision 1.32 2007/02/14 18:23:06 shadzik -- start playing with linux-2.6.20 -- fixed versioning (after those _rc releses messed it up) -- definitely NFY - configs need to be adapted - -Revision 1.31 2007/02/13 08:06:37 glen -- tabs in preamble - -Revision 1.30 2007/02/12 00:49:00 baggins -- converted to UTF-8 - -Revision 1.29 2007/01/08 16:46:57 glen -- 2.6.20-rc4 (LINUX_2_6_19 branch created for 2.6.19) - -Revision 1.28 2006/12/18 22:22:57 glen -- skip stripping sourcedir - -Revision 1.27 2006/12/16 23:44:27 shadzik -- add config.h -- rel 2 - -Revision 1.26 2006/12/15 19:02:58 glen -- use macros for same location to be able to merge different kernel specs - -Revision 1.25 2006/12/15 18:21:13 glen -- unify /usr/src/linux paths (/usr vs %{_prefix}) - -Revision 1.24 2006/12/15 17:38:22 glen -- hardlink over copy speedup from kernel.spec -- partial adapter - -Revision 1.23 2006/12/15 08:56:36 shadzik -- rel 1; seems stable - -Revision 1.22 2006/12/14 01:23:04 darekr -- BR: sed4. shadzik bijacz - -Revision 1.21 2006/12/14 00:56:55 shadzik -- fix smp build if passed --without up (try not to BuildConfig for an UP mashine when you just want the SMP one and vice versa) - -Revision 1.20 2006/12/11 23:16:27 shadzik -- 2.6.19.1, not tested yet - -Revision 1.19 2006/12/08 00:40:15 shadzik -- rel 2 -- re-add vmlinux.aout for smp on sparc(64) - -Revision 1.18 2006/12/06 03:57:06 shadzik -- no, it's %endif not %else - fixed -- also fixed smp (there's no vmlinux.aout for it) - -Revision 1.17 2006/12/06 03:48:14 shadzik -- merged from LINUX_2_6_18 -- endif -> else - -Revision 1.16 2006/12/04 15:50:30 shadzik -- make it build on sparc (abram says it doesn't work anyway on sparc64, I guess on sparc too - so fix it !) - -Revision 1.15 2006/12/04 00:17:32 shadzik -- start playing with linux-2.6.19 - -Revision 1.14 2006/12/04 00:00:39 shadzik -- BR goes for sparc32 too - -Revision 1.13 2006/12/04 00:00:00 shadzik -- add sparc32 support - -Revision 1.12 2006/12/02 18:15:44 shadzik -- add sparc64 BR -- cosmetics - -Revision 1.11 2006/12/02 17:39:50 shadzik -- sparc64 smp %files fixes - -Revision 1.10 2006/12/02 17:31:00 shadzik -- sparc64 support (hope I didn't break other archs) - -Revision 1.9 2006/11/30 00:03:19 shadzik -- linux-2.6.18.4 - -Revision 1.8 2006/11/29 00:27:34 shadzik -- ugly workaround to fix smp build on alpha; works ! - -Revision 1.7 2006/11/22 12:03:13 shadzik -- alpha support (fix smp config, up builds with has_isa 0) - -Revision 1.6 2006/11/22 01:34:45 shadzik -- ups, now you can really disable preemption - -Revision 1.5 2006/11/21 16:47:47 shadzik -- bcond prempt-nort kernel build - -Revision 1.4 2006/11/21 11:44:00 paszczus -- adaptarized - -Revision 1.3 2006/11/21 01:26:53 shadzik -- linux-2.6.18.3 -- remove features description we don't have anyway - -Revision 1.2 2006/11/20 19:33:55 shadzik -- kill some bogus C: and P: - -Revision 1.1 2006/11/20 15:33:01 shadzik -- new -- inspired by kernel-desktop.spec -- vanilla kernel without any patches ! why ? to fill the hole, should be useful -- there still may be lots of bugs -- Linux version 2.6.18.2