%bcond_with verbose # verbose build (V=1)
%bcond_with reiser4 # support for reiser4 fs (experimental)
-%bcond_without grsecurity # don't build grsecurity nor pax at all
+%bcond_with grsecurity # don't build grsecurity nor pax at all
%bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
%bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
%bcond_with nfsroot # build with root on NFS support
%bcond_without imq # imq support
-%bcond_without wrr # wrr support
%bcond_without esfq # esfq support
%bcond_without ipv6 # ipv6 support
%define have_pcmcia 0
%endif
-%define rel 0.1
-%define basever 3.2
-%define postver .0
-
-%define module_init_tools_ver 3.16
+%define rel 1
+%define basever 3.3
+%define postver .5
# __alt_kernel is list of features, empty string if none set
# _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
# alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
-%define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}
+%define __alt_kernel %{?with_pax:pax}%{?with_grsecurity:grsecurity}
%if "%{__alt_kernel}" != ""
%define alt_kernel %{__alt_kernel}
# modules will be looked from /lib/modules/%{kernel_release}
# localversion is just that without version for "> localversion"
%define localversion %{rel}
-%define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
+%define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
Summary: The Linux kernel (the core of the Linux operating system)
Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
License: GPL v2
Group: Base/Kernel
Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
-# Source0-md5: 364066fa18767ec0ae5f4e4abcf9dc51
+# Source0-md5: 7133f5a2086a7d7ef97abac610c094f5
%if "%{postver}" != ".0"
Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Patch0-md5: 13ea1e611a0a580138b8203e6f1353ed
+# Patch0-md5: c44a49dcdaad9ba5385694859c4a9fea
%endif
Source3: kernel-autoconf.h
Source50: kernel-no-pax.config
Source55: kernel-imq.config
Source56: kernel-reiser4.config
-Source57: kernel-wrr.config
Source58: kernel-inittmpfs.config
Patch22: kernel-pom-ng-rsh.patch
Patch23: kernel-pom-ng-rpc.patch
-# based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
-Patch36: kernel-nf_rtsp.patch
-
# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
Patch37: kernel-owner-xid.patch
# http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
Patch49: kernel-zph.patch
-# based on http://www.linuximq.net/patchs/patch-imqmq-3.0.diff.bz2
+# based on http://www.linuximq.net/patchs/patch-imqmq-3.1.diff.bz2
Patch50: kernel-imq.patch
# http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
Patch51: kernel-reiser4.patch
-# http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
-Patch52: kernel-wrr.patch
-
# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
Patch53: kernel-esfq.patch
-# http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
-Patch54: kernel-toshiba_acpi.patch
-
# by Baggins request:
# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
Patch55: kernel-atm-vbr.patch
# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
Patch85: kernel-hostap.patch
-# http://vserver.13thfloor.at/Experimental/patch-3.1.1-vs2.3.2.diff
+# http://vserver.13thfloor.at/Experimental/patch-3.3.1-vs2.3.3.2.diff
Patch100: kernel-vserver-2.3.patch
Patch101: kernel-vserver-fixes.patch
-# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.10_for_3.1.0-rc4.diff.gz
+# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.11_for_3.2.2.diff.gz
Patch140: kernel-unionfs.patch
# git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
# Patch creation:
# git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
# cd aufs3-standalone
-# git checkout -b aufs3.0 origin/aufs3.0
+# git checkout -b aufs3.2 origin/aufs3.2
# cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
# mkdir linux
# cp -a Documentation fs include linux
-# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
+# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
#
Patch145: kernel-aufs3.patch
Patch146: kernel-aufs2-unionfs.patch
BuildRequires: xz >= 1:4.999.7
AutoReqProv: no
BuildRequires: hostname
-BuildRequires: module-init-tools >= %{module_init_tools_ver}
+BuildRequires: virtual(module-tools)
BuildRequires: perl-base
BuildRequires: rpm-build >= 4.5-24
BuildRequires: rpmbuild(macros) >= 1.217
Requires(post): coreutils
Requires(post): geninitrd >= 10000-3
-Requires(post): module-init-tools >= %{module_init_tools_ver}
+Requires(post): virtual(module-tools)
Requires: /sbin/depmod
Requires: coreutils
Requires: geninitrd >= 10000-3
-Requires: module-init-tools >= %{module_init_tools_ver}
+Requires: virtual(module-tools)
%if %{with pae}
%ifarch i686 athlon pentium3 pentium4
Requires: cpuinfo(pae)
%endif
%endif
+Suggests: dracut
Suggests: keyutils
+Suggests: linux-firmware
Provides: %{name}(netfilter) = 20070806
Provides: %{name}(vermagic) = %{kernel_release}
-Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
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
Conflicts: isdn4k-utils < 3.1pre1
Conflicts: jfsutils < 1.1.3
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
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.619
+Conflicts: rpmbuild(macros) < 1.642
AutoReqProv: no
%description module-build
# kernel-pom-ng-rpc.patch
%patch23 -p1
-# kernel-nf_rtsp.patch
-%patch36 -p1
-
# kernel-owner-xid.patch
%if %{with vserver}
%patch37 -p1
%patch53 -p1
%endif
-%if %{with wrr}
-%patch52 -p1
-%endif
-
-# toshiba_acpi
-%patch54 -p1
-
%patch55 -p1
%patch56 -p1
# grsecurity & pax stuff
#
-exit 0
%if %{with grsecurity}
+exit 0
%patch9999 -p1
# aufs needs this
%patch147 -p1
#%patch50000 -p1
# Fix EXTRAVERSION in main Makefile
-sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
+sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
%if %{with reiser4}
%{SOURCE56} \
%endif
-%if %{with wrr}
- %{SOURCE57} \
-%endif
%if %{with imq}
%{SOURCE55} \
%endif
fi
cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
-cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
-cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
-cp -a %{objdir}/include/generated $RPM_BUILD_ROOT%{_kernelsrcdir}/include
-mv $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf{,-dist}.h
-cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
-cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
+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
+
+# 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
# collect module-build files and directories
# Usage: kernel-module-build.pl $rpmdir $fileoutdir
%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
cd -
+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
+
# 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}}
ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
+# if dracut is present then generate full-featured initramfs
+if [ -x /sbin/dracut ]; then
+ /sbin/dracut --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
+fi
+
# update boot loaders when old package files are gone from filesystem
if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
%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/tty/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
%if %{with myown}
/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/tty/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
%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 files.mb_include_modulebuild_and_dirs
%defattr(644,root,root,755)
%{_kernelsrcdir}/drivers/lguest/lg.h
%{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
%{_kernelsrcdir}/kernel/bounds.c
-%dir %{_kernelsrcdir}/scripts
-%{_kernelsrcdir}/scripts/Kbuild.include
-%{_kernelsrcdir}/scripts/Makefile*
-%{_kernelsrcdir}/scripts/basic
-%{_kernelsrcdir}/scripts/kconfig
-%{_kernelsrcdir}/scripts/mkcompile_h
+%{_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
-%dir %{_kernelsrcdir}/scripts/selinux
-%{_kernelsrcdir}/scripts/selinux/Makefile
-%dir %{_kernelsrcdir}/scripts/selinux/genheaders
-%{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
+%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
-%dir %{_kernelsrcdir}/scripts/selinux/mdp
-%{_kernelsrcdir}/scripts/selinux/mdp/Makefile
%{_kernelsrcdir}/scripts/selinux/mdp/*.c
%exclude %dir %{_kernelsrcdir}/security
%exclude %dir %{_kernelsrcdir}/security/selinux