diff --git a/config.sh b/config.sh index 0117f685..0cde657e 100644 --- a/config.sh +++ b/config.sh @@ -1,5 +1,5 @@ # The version of the main tarball to use -SRCVERSION=2.6.32 +SRCVERSION=2.6.33 # variant of the kernel-source package, either empty or "-rt" VARIANT= # buildservice projects to build the kernel against diff --git a/config.tar.bz2 b/config.tar.bz2 index 28a3e5fc..e6cba09f 100644 --- a/config.tar.bz2 +++ b/config.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e2eda99e4a791749f8a979a3f371a2a8714d61d0e199c8f0c2a2c86d6661d34 -size 203062 +oid sha256:18b6fb0811ee21fdfeb307510fb668c70659baaf7c8c9b4cc5deb5bf70385bee +size 203076 diff --git a/kabi.pl b/kabi.pl index 3ca2d286..09c8be80 100644 --- a/kabi.pl +++ b/kabi.pl @@ -7,6 +7,7 @@ use Data::Dumper; # ( { sym => regexp, mod => regexp, fail => 0/1 }, ... ) my @rules; +my ($opt_verbose, $opt_rules); sub load_rules { my $file = shift; @@ -82,6 +83,7 @@ sub kabi_change { last; } } + return unless $fail or $opt_verbose; print STDERR "KABI: symbol $sym($mod) "; if ($newcrc) { print STDERR "changed crc from $oldcrc to $newcrc" @@ -100,7 +102,6 @@ sub xopen { open($_[0], $_[1], @_[2..$#_]) or die "$_[2]: $!\n"; } -my ($opt_verbose, $opt_rules); my $res = GetOptions( 'verbose|v' => \$opt_verbose, 'rules|r=s' => \$opt_rules, diff --git a/kernel-debug.changes b/kernel-debug.changes index c3e882a4..2758bb3e 100644 --- a/kernel-debug.changes +++ b/kernel-debug.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-debug.spec b/kernel-debug.spec index b5687f48..458afa40 100644 --- a/kernel-debug.spec +++ b/kernel-debug.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor debug %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-debug Summary: A Debug Version of the Kernel Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -119,6 +128,7 @@ Provides: kernel = %version-%source_rel Provides: kernel-kdump Obsoletes: kernel-kdump %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -152,6 +162,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 ia64 ppc64 x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -166,6 +177,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -194,8 +206,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -211,33 +225,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -247,6 +271,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -256,27 +281,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -451,6 +503,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -460,11 +513,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -472,6 +527,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -479,6 +535,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -487,12 +544,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -501,11 +560,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -522,6 +583,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -536,6 +598,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -552,6 +615,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -560,15 +624,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -588,6 +655,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -595,6 +663,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -606,6 +675,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -686,11 +757,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-default.changes b/kernel-default.changes index c3e882a4..2758bb3e 100644 --- a/kernel-default.changes +++ b/kernel-default.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-default.spec b/kernel-default.spec index 3965efb8..e611bf70 100644 --- a/kernel-default.spec +++ b/kernel-default.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor default %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-default Summary: The Standard Kernel Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -135,6 +144,7 @@ Obsoletes: kernel-64bit Provides: smp kernel-smp Obsoletes: smp kernel-smp %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -168,6 +178,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 ia64 ppc ppc64 s390x x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -182,6 +193,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -210,8 +222,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -226,33 +240,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -262,6 +286,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -271,27 +296,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -466,6 +518,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -475,11 +528,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -487,6 +542,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -494,6 +550,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -502,12 +559,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -516,11 +575,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -537,6 +598,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -551,6 +613,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -567,6 +630,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -575,15 +639,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -603,6 +670,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -610,6 +678,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -621,6 +690,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -660,6 +730,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -699,11 +770,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-desktop.changes b/kernel-desktop.changes index c3e882a4..2758bb3e 100644 --- a/kernel-desktop.changes +++ b/kernel-desktop.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-desktop.spec b/kernel-desktop.spec index b06b123a..8768cc38 100644 --- a/kernel-desktop.spec +++ b/kernel-desktop.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor desktop %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-desktop Summary: Kernel optimized for the desktop Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33 Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -162,6 +173,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -204,11 +218,13 @@ disabled. This kernel supports up to 64GB of main memory. It requires Physical Addressing Extensions (PAE), which were introduced with the Pentium Pro processor. + PAE is not only more physical address space but also important for the "no execute" feature which disables execution of code that is marked as non-executable. Therefore, the PAE kernel should be used on any systems that support it, regardless of the amount of main memory. %endif + %source_timestamp %prep @@ -217,33 +233,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -253,6 +279,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -262,27 +289,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -457,6 +511,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -466,11 +521,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -478,6 +535,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -485,6 +543,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -493,12 +552,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -507,11 +568,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -528,6 +591,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -542,6 +606,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -558,6 +623,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -566,15 +632,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -594,6 +663,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -601,6 +671,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -612,6 +683,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -646,12 +718,15 @@ disabled. This kernel supports up to 64GB of main memory. It requires Physical Addressing Extensions (PAE), which were introduced with the Pentium Pro processor. + PAE is not only more physical address space but also important for the "no execute" feature which disables execution of code that is marked as non-executable. Therefore, the PAE kernel should be used on any systems that support it, regardless of the amount of main memory. %endif + This package contains only the base modules, required in all installs. + %source_timestamp %preun base -f preun-base.sh @@ -661,6 +736,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -695,12 +771,15 @@ disabled. This kernel supports up to 64GB of main memory. It requires Physical Addressing Extensions (PAE), which were introduced with the Pentium Pro processor. + PAE is not only more physical address space but also important for the "no execute" feature which disables execution of code that is marked as non-executable. Therefore, the PAE kernel should be used on any systems that support it, regardless of the amount of main memory. %endif + This package contains additional modules not supported by Novell. + %source_timestamp %preun extra -f preun-extra.sh @@ -710,11 +789,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-docs.changes b/kernel-docs.changes index c3e882a4..2758bb3e 100644 --- a/kernel-docs.changes +++ b/kernel-docs.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-docs.spec b/kernel-docs.spec index 59d88593..3b111125 100644 --- a/kernel-docs.spec +++ b/kernel-docs.spec @@ -27,7 +27,7 @@ License: GPLv2+ Group: Documentation/Man AutoReqProv: on Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,7 +78,9 @@ if [ -d Documentation/kdb ] ; then cp $i $RPM_BUILD_ROOT/%{_mandir}/man9/$k done fi + ln -s /usr/share/man/man9/request_threaded_irq.9.gz $RPM_BUILD_ROOT/usr/share/man/man9/request_irq.9.gz + cp -a /usr/src/linux-%{version}-%{release_major}/{COPYING,CREDITS,MAINTAINERS,README,REPORTING-BUGS} . %clean diff --git a/kernel-ec2.changes b/kernel-ec2.changes index c3e882a4..2758bb3e 100644 --- a/kernel-ec2.changes +++ b/kernel-ec2.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-ec2.spec b/kernel-ec2.spec index cd07c2af..9be3e174 100644 --- a/kernel-ec2.spec +++ b/kernel-ec2.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor ec2 %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-ec2 Summary: The Amazon EC2 Xen Kernel Version: 2.6.33 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33 Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -162,6 +173,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -209,33 +223,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -245,6 +269,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -254,27 +279,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -449,6 +501,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -458,11 +511,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -470,6 +525,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -477,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -485,12 +542,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -499,11 +558,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -520,6 +581,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -534,6 +596,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -550,6 +613,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -558,15 +622,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -586,6 +653,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -593,6 +661,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -604,6 +673,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -688,11 +759,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-pae.changes b/kernel-pae.changes index c3e882a4..2758bb3e 100644 --- a/kernel-pae.changes +++ b/kernel-pae.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-pae.spec b/kernel-pae.spec index 8b1f832b..47b1386f 100644 --- a/kernel-pae.spec +++ b/kernel-pae.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor pae %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-pae Summary: Kernel with PAE Support Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -119,6 +128,7 @@ Provides: kernel = %version-%source_rel Provides: kernel-bigsmp Obsoletes: kernel-bigsmp %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -152,6 +162,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -166,6 +177,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -194,8 +206,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -217,33 +231,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -253,6 +277,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -262,27 +287,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -457,6 +509,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -466,11 +519,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -478,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -485,6 +541,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -493,12 +550,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -507,11 +566,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -528,6 +589,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -542,6 +604,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -558,6 +621,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -566,15 +630,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -594,6 +661,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -601,6 +669,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -612,6 +681,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -658,6 +728,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -704,11 +775,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-ppc64.changes b/kernel-ppc64.changes index c3e882a4..2758bb3e 100644 --- a/kernel-ppc64.changes +++ b/kernel-ppc64.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-ppc64.spec b/kernel-ppc64.spec index fb434570..02e14b30 100644 --- a/kernel-ppc64.spec +++ b/kernel-ppc64.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor ppc64 %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-ppc64 Summary: Kernel for ppc64 Systems Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -123,6 +132,7 @@ Obsoletes: kernel-pmac64 kernel-pseries64 kernel-iseries64 kernel-kdump Provides: kernel-kdump Obsoletes: kernel-kdump %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -156,6 +166,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: ppc ppc64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -170,6 +181,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -198,8 +210,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -221,33 +235,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -257,6 +281,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -266,27 +291,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -461,6 +513,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -470,11 +523,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -482,6 +537,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -489,6 +545,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -497,12 +554,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -511,11 +570,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -532,6 +593,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -546,6 +608,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -562,6 +625,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -570,15 +634,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -598,6 +665,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -605,6 +673,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -616,6 +685,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -662,6 +732,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -708,11 +779,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-ps3.changes b/kernel-ps3.changes index c3e882a4..2758bb3e 100644 --- a/kernel-ps3.changes +++ b/kernel-ps3.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-ps3.spec b/kernel-ps3.spec index 7f7bef79..dca9e7a4 100644 --- a/kernel-ps3.spec +++ b/kernel-ps3.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor ps3 %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-ps3 Summary: kernel for ps3 bootloader Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33 Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: ppc + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -162,6 +173,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -209,33 +223,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -245,6 +269,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -254,27 +279,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -449,6 +501,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -458,11 +511,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -470,6 +525,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -477,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -485,12 +542,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -499,11 +558,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -520,6 +581,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -534,6 +596,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -550,6 +613,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -558,15 +622,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -586,6 +653,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -593,6 +661,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -604,6 +673,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -688,11 +759,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-s390.changes b/kernel-s390.changes index c3e882a4..2758bb3e 100644 --- a/kernel-s390.changes +++ b/kernel-s390.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-s390.spec b/kernel-s390.spec index 92321f67..ae351a0f 100644 --- a/kernel-s390.spec +++ b/kernel-s390.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor s390 %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-s390 Summary: The Standard Kernel Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -119,6 +128,7 @@ Provides: kernel = %version-%source_rel Provides: kernel-32bit Obsoletes: kernel-32bit %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -152,6 +162,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: s390 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -166,6 +177,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -194,8 +206,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -210,33 +224,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -246,6 +270,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -255,27 +280,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -450,6 +502,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -459,11 +512,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -471,6 +526,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -478,6 +534,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -486,12 +543,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -500,11 +559,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -521,6 +582,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -535,6 +597,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -551,6 +614,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -559,15 +623,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -587,6 +654,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -594,6 +662,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -605,6 +674,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -644,6 +714,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -683,11 +754,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-source.changes b/kernel-source.changes index c3e882a4..2758bb3e 100644 --- a/kernel-source.changes +++ b/kernel-source.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-source.spec b/kernel-source.spec index 0e685eeb..c6a9c065 100644 --- a/kernel-source.spec +++ b/kernel-source.spec @@ -18,10 +18,12 @@ # norootforbuild # icecream 0 -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define src_install_dir usr/src/linux-%kernelrelease%variant %define obj_install_dir /%src_install_dir-obj %define rpm_install_dir %buildroot%real_install_dir @@ -29,7 +31,7 @@ Name: kernel-source Summary: The Linux Kernel Sources Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -98,9 +100,12 @@ Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Prefix: /usr/src + %(chmod +x %_sourcedir/{apply-patches,guards,check-for-config-changes,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols}) + %define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*) %define variant_symbols %(case %name in (*-rt) echo "RT" ;; esac) + %define do_vanilla "%variant" == "" %description @@ -125,7 +130,9 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then echo "Please get a copy of linux-%srcversion.tar.bz2 from" \ "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/." fi + echo "Symbol(s): %symbols" + # Unpack all sources and patches %setup -q -c -T -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 @@ -135,12 +142,16 @@ RELEASE=%source_rel while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do RELEASE=${RELEASE#[^0-9]*.} done + mkdir -p $RPM_BUILD_ROOT/usr/src cd $RPM_BUILD_ROOT/usr/src + ln -sf linux%variant linux%variant # dummy symlink + # Unpack the vanilla kernel sources tar xjf %_sourcedir/linux-%srcversion.tar.bz2 mv linux-%srcversion linux-%kernelrelease%variant + %if %do_vanilla cp -al linux-%kernelrelease%variant linux-%kernelrelease-vanilla cd linux-%kernelrelease-vanilla @@ -148,12 +159,15 @@ cd linux-%kernelrelease-vanilla rm -f $(find . -name ".gitignore") cd .. %endif + cd linux-%kernelrelease%variant %_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols rm -f $(find . -name ".gitignore") + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + # Hardlink duplicate files automatically (from package fdupes). %fdupes $RPM_BUILD_ROOT @@ -163,11 +177,13 @@ DOC=$RPM_BUILD_ROOT/usr/share/doc/packages/%name mkdir -p $DOC cp %_sourcedir/README.SUSE $DOC ln -s /usr/share/doc/packages/%name/README.SUSE %buildroot/%src_install_dir/ + install -m 755 -d $RPM_BUILD_ROOT/etc/rpm install -m 644 %_sourcedir/macros.kernel-source $RPM_BUILD_ROOT/etc/rpm/ install -m 755 -d $RPM_BUILD_ROOT/usr/lib/rpm install -m 644 %_sourcedir/kernel-module-subpackage \ $RPM_BUILD_ROOT/usr/lib/rpm/ + for script in post; do sed -e "s:@KERNELRELEASE@:%kernelrelease:g" \ -e "s:@SRCVARIANT@:%variant:g" \ @@ -183,6 +199,7 @@ done /etc/rpm/macros.kernel-source /usr/lib/rpm/kernel-module-subpackage /%src_install_dir + %if %do_vanilla %files vanilla diff --git a/kernel-syms.changes b/kernel-syms.changes index c3e882a4..2758bb3e 100644 --- a/kernel-syms.changes +++ b/kernel-syms.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-syms.spec b/kernel-syms.spec index dcaa9a29..9444508c 100644 --- a/kernel-syms.spec +++ b/kernel-syms.spec @@ -18,12 +18,13 @@ # norootforbuild %define variant %{nil} + %include %_sourcedir/kernel-spec-macros Name: kernel-syms Summary: Kernel Symbol Versions (modversions) Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %define kernel_source_release %(LC_ALL=C rpm -q kernel-source%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0) diff --git a/kernel-trace.changes b/kernel-trace.changes index c3e882a4..2758bb3e 100644 --- a/kernel-trace.changes +++ b/kernel-trace.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-trace.spec b/kernel-trace.spec index 92586f80..33e8ee33 100644 --- a/kernel-trace.spec +++ b/kernel-trace.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor trace %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-trace Summary: The Realtime Linux Kernel Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -127,6 +136,7 @@ Obsoletes: kernel-32bit Provides: kernel-64bit Obsoletes: kernel-64bit %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -160,6 +170,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 ia64 ppc64 s390 s390x x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -174,6 +185,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -202,8 +214,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -218,33 +232,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -254,6 +278,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -263,27 +288,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -458,6 +510,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -467,11 +520,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -479,6 +534,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -486,6 +542,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -494,12 +551,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -508,11 +567,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -529,6 +590,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -543,6 +605,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -559,6 +622,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -567,15 +631,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -595,6 +662,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -602,6 +670,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -613,6 +682,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -652,6 +722,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -691,11 +762,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-vanilla.changes b/kernel-vanilla.changes index c3e882a4..2758bb3e 100644 --- a/kernel-vanilla.changes +++ b/kernel-vanilla.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-vanilla.spec b/kernel-vanilla.spec index 71966dc4..b55762e3 100644 --- a/kernel-vanilla.spec +++ b/kernel-vanilla.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor vanilla %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-vanilla Summary: The Standard Kernel - without any SUSE patches Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -123,6 +132,7 @@ Obsoletes: kernel-32bit Provides: kernel-64bit Obsoletes: kernel-64bit %endif + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -156,6 +166,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 ia64 ppc ppc64 s390 s390x x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -170,6 +181,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -198,8 +210,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -214,33 +228,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -250,6 +274,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -259,27 +284,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -454,6 +506,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -463,11 +516,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -475,6 +530,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -482,6 +538,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -490,12 +547,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -504,11 +563,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -525,6 +586,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -539,6 +601,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -555,6 +618,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -563,15 +627,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -591,6 +658,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -598,6 +666,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -609,6 +678,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -648,6 +718,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -687,11 +758,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-vmi.changes b/kernel-vmi.changes index c3e882a4..2758bb3e 100644 --- a/kernel-vmi.changes +++ b/kernel-vmi.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-vmi.spec b/kernel-vmi.spec index 2665b2d5..d963336f 100644 --- a/kernel-vmi.spec +++ b/kernel-vmi.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor vmi %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-vmi Summary: VMI-enabled kernel Version: 2.6.33 -Release: 3 +Release: 4 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33 Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -162,6 +173,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -207,33 +221,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -243,6 +267,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -252,27 +277,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -447,6 +499,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -456,11 +509,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -468,6 +523,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -475,6 +531,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -483,12 +540,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -497,11 +556,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -518,6 +579,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -532,6 +594,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -548,6 +611,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -556,15 +620,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -584,6 +651,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -591,6 +659,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -602,6 +671,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -642,6 +712,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -682,11 +753,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/kernel-xen.changes b/kernel-xen.changes index c3e882a4..2758bb3e 100644 --- a/kernel-xen.changes +++ b/kernel-xen.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com + +- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the + 2.6.33-final update. + +------------------------------------------------------------------- +Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de + +- Updated to 2.6.33-final. + - Eliminated 4 patches. + +------------------------------------------------------------------- +Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de + +- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5: + ftrace: fix ftrace_event_call alignment for use with gcc 4.5 + (bnc#582222). + +------------------------------------------------------------------- +Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com + +- Update Xen patches to 2.6.33-rc8 and c/s 997. +- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data + into a structure. +- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock + (bnc#569014, bnc#571041, bnc#571769, bnc#572146). + +------------------------------------------------------------------- +Tue Feb 23 00:34:32 CET 2010 - jack@suse.de + +- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when + looking up inode (bnc#486997). +- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs + reports incorrect file size (bnc#426536). +- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of + OO documents on NSS Volumes (bnc#508259). + +------------------------------------------------------------------- +Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de + +- patches.fixes/nfs-find-crash: Fix potential oops when running + find on an NFS mount. (bnc#573107). + +------------------------------------------------------------------- +Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com + +- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate + other architectures properly (bnc#574654). + +------------------------------------------------------------------- +Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com + +- Update to 2.6.33-rc8. + - Eliminated 1 patch. + +------------------------------------------------------------------- +Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de + +- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local + (bnc#569071). + ------------------------------------------------------------------- Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de @@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de - patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking FIP Virtual Link Failure count (BNC#562046). +------------------------------------------------------------------- +Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz + +- rpm/kabi.pl: Do not print harmless kabi changes by default. + ------------------------------------------------------------------- Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de diff --git a/kernel-xen.spec b/kernel-xen.spec index 38c746bc..43b00ef3 100644 --- a/kernel-xen.spec +++ b/kernel-xen.spec @@ -17,29 +17,36 @@ # norootforbuild -%define srcversion 2.6.32 -%define patchversion 2.6.33-rc7 +%define srcversion 2.6.33 +%define patchversion 2.6.33 %define variant %{nil} + %include %_sourcedir/kernel-spec-macros + %define build_flavor xen %define build_kdump (%build_flavor == "kdump") %define build_xen (%build_flavor == "xen" || %build_flavor == "ec2") %define build_vanilla (%build_flavor == "vanilla") %define build_ps3 (%build_flavor == "ps3") + %define build_src_dir %my_builddir/linux-%srcversion %define src_install_dir /usr/src/linux-%kernelrelease%variant %define obj_install_dir %src_install_dir-obj %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj + %(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules}) + %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor + # Define some CONFIG variables as rpm macros as well. (rpm cannot handle # defining them all at once.) %define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_base (%CONFIG_SPLIT_PACKAGE == "y") %define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y") + %ifarch %ix86 x86_64 %define install_vdso 1 %else @@ -49,7 +56,7 @@ Name: kernel-xen Summary: The Xen Kernel Version: 2.6.33 -Release: 2 +Release: 3 %if %using_buildservice %else %endif @@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4 Requires(post): perl-Bootloader >= 0.4.15 Requires(post): mkinitrd #!BuildIgnore: perl-Bootloader mkinitrd + %ifarch ia64 # arch/ia64/scripts/unwcheck.py BuildRequires: python @@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version %endif #!BuildIgnore: xen %endif + Provides: %name-nongpl Obsoletes: %name-nongpl %if %build_vanilla @@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33 Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel + Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2 Source10: preun.sh Source11: postun.sh @@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2 Source120: kabi.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 + # These files are found in the kernel-source package: NoSource: 0 NoSource: 100 @@ -162,6 +173,7 @@ NoSource: 109 NoSource: 110 NoSource: 111 NoSource: 120 + # The following KMPs have been integrated into the kernel package. # sles10 / 10.3 Obsoletes: iwlwifi-kmp-%build_flavor @@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor Obsoletes: ocfs2-kmp-%build_flavor # 11.1 Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 + # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name + # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -209,33 +223,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then "complete sources. Please install kernel-source-%version.src.rpm." exit 1 fi + SYMBOLS= if test -e %_sourcedir/extra-symbols; then SYMBOLS=$(cat %_sourcedir/extra-symbols) echo "extra symbol(s):" $SYMBOLS fi + # Unpack all sources and patches %setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 + mkdir -p %kernel_build_dir + supported_conf() { %_sourcedir/guards $* < %_sourcedir/supported.conf | \ sed 's,.*/,,; s,\.ko$,,' | sort -u } + # Generate the list of modules to be marked as supported { supported_conf base supported_conf --default=0 external | sed 's/$/ external/' } > %kernel_build_dir/Module.supported supported_conf --default=0 base >%kernel_build_dir/Module.base + cd linux-%srcversion + %_sourcedir/apply-patches \ %if %{build_vanilla} --vanilla \ %endif %_sourcedir/series.conf .. $SYMBOLS + cd %kernel_build_dir + if [ -f %_sourcedir/localversion ] ; then cat %_sourcedir/localversion > localversion fi + cp ../config/%cpu_arch_flavor .config %build_src_dir/scripts/config \ --set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \ @@ -245,6 +269,7 @@ cp ../config/%cpu_arch_flavor .config %else --disable CONFIG_DEBUG_INFO %endif + MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD" if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then yes '' | make oldconfig $MAKE_ARGS @@ -254,27 +279,34 @@ else %_sourcedir/check-for-config-changes .config.orig .config rm .config.orig fi + make prepare $MAKE_ARGS make scripts $MAKE_ARGS krel=$(make -s kernelrelease $MAKE_ARGS) + if [ "$krel" != "%kernelrelease-%build_flavor" ]; then echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2 exit 1 fi + make clean $MAKE_ARGS + rm -f source find . ! -type d -printf '%%P\n' > %my_builddir/obj-files + cat > .kernel-binary.spec.buildenv < %my_builddir/$script$sub.sh done done + %if %build_kdump || %build_xen || %build_vanilla || %build_ps3 # keep this -suffix list in sync with post.sh and postun.sh suffix=-%build_flavor %endif ln -s $image$suffix %buildroot/boot/$image$suffix ln -s initrd$suffix %buildroot/boot/initrd$suffix + cp .config %buildroot/boot/config-%kernelrelease-%build_flavor + %if %install_vdso # Install the unstripped vdso's that are linked in the kernel image make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot %endif + # Create a dummy initrd with roughly the size the real one will have. # That way, YaST will know that this package requires some additional # space in /boot. dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor + gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz + make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot + if ! %_sourcedir/check-supported-list \ %_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then %if %supported_modules_check @@ -449,6 +501,7 @@ if [ %CONFIG_MODULES = y ]; then %endif echo "Consistency check error: please update supported.conf." fi + %ifarch s390 s390x if test -e arch/s390/boot/kerntypes.o; then : @@ -458,11 +511,13 @@ if [ %CONFIG_MODULES = y ]; then dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)" fi %endif + # Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor # so that kernel-source + kernel-%build_flavor is sufficient for building # modules that have modversions as well. mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -470,6 +525,7 @@ if [ %CONFIG_MODULES = y ]; then else rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor fi + # Some architecture's $(uname -m) output is different from the ARCH # parameter that needs to be passed to kbuild. Create symlinks from # $(uname -m) to the ARCH directory. @@ -477,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then ln -sf %cpu_arch %rpm_install_dir/%_target_cpu ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu fi + # We were building in %my_builddir/linux-%srcversion, but the sources will # later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the # build symlink. @@ -485,12 +542,14 @@ if [ %CONFIG_MODULES = y ]; then %buildroot/lib/modules/%kernelrelease-%build_flavor/source ln -s %obj_install_dir/%cpu_arch/%build_flavor \ %buildroot/lib/modules/%kernelrelease-%build_flavor/build + # Abort if there are any undefined symbols msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \ -b %buildroot -ae %kernelrelease-%build_flavor 2>&1)" if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then exit 1 fi + %if %split_base %_sourcedir/split-modules -d %buildroot \ -o %my_builddir \ @@ -499,11 +558,13 @@ if [ %CONFIG_MODULES = y ]; then %if ! %split_extra cat %my_builddir/unsupported-modules >>%my_builddir/main-modules %endif + %else ( cd %buildroot find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n' ) > %my_builddir/base-modules %endif + res=0 if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then # check for kabi changes @@ -520,6 +581,7 @@ if [ %CONFIG_MODULES = y ]; then exit 1 fi fi + tar cf - -T %my_builddir/obj-files | \ tar xf - -C %rpm_install_dir/%cpu_arch_flavor # bnc#507084 @@ -534,6 +596,7 @@ if [ %CONFIG_MODULES = y ]; then sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile fi + add_dirs_to_filelist() { sed -rn ' # print file name @@ -550,6 +613,7 @@ add_dirs_to_filelist() { ta ' "$@" | sort -u } + # Collect the file lists. shopt -s nullglob > %my_builddir/kernel-devel.files @@ -558,15 +622,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files done + { cd %buildroot find boot \ \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \ -type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \ -type f -printf '/%%p\n' + # Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that # the file gets removed when uninstalling the kernel. echo '%%ghost /boot/initrd-%kernelrelease-kdump' touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump + if [ %CONFIG_MODULES = y ]; then find lib/modules/%kernelrelease-%build_flavor \ -type d -o \ @@ -586,6 +653,7 @@ done cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \ add_dirs_to_filelist >%my_builddir/kernel-base.files rm %my_builddir/tmp + %if %split_base add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \ > %my_builddir/kernel-main.files @@ -593,6 +661,7 @@ rm %my_builddir/tmp %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files %endif + # Hardlink duplicate files automatically (from package fdupes): It doesn't save # much, but it keeps rpmlint from breaking the package build. %fdupes $RPM_BUILD_ROOT @@ -604,6 +673,7 @@ rm %my_builddir/tmp %pre -f pre.sh %post -f post.sh + %if %split_base %files -f kernel-main.files @@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs. %pre base -f pre-base.sh %post base -f post-base.sh + %if %split_base %files base -f kernel-base.files @@ -688,11 +759,13 @@ This package contains additional modules not supported by Novell. %pre extra -f pre-extra.sh %post extra -f post-extra.sh + %if %split_extra %files extra -f kernel-extra.files %defattr(-, root, root) %endif + %if %CONFIG_KMSG_IDS == "y" %package man diff --git a/linux-2.6.32.tar.bz2 b/linux-2.6.32.tar.bz2 deleted file mode 100644 index 8ebdac01..00000000 --- a/linux-2.6.32.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5099786d80b8407d98a619df00209c2353517f22d804fdd9533b362adcb4504e -size 64424138 diff --git a/linux-2.6.33.tar.bz2 b/linux-2.6.33.tar.bz2 new file mode 100644 index 00000000..81e2d764 --- /dev/null +++ b/linux-2.6.33.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63e237de3b3c4c46a21833b9ce7e20574548d52dabbd1a8bf376041e4455d5c6 +size 66266488 diff --git a/patches.drivers.tar.bz2 b/patches.drivers.tar.bz2 index 2ca2e3d5..7b278aac 100644 --- a/patches.drivers.tar.bz2 +++ b/patches.drivers.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0bdd39bbc10807651c9a2216b3dbbdd6780e0c9dd90b0c682e823f655322a07 -size 152438 +oid sha256:4d9d4315ecdfd13ea08c0c9947bd9f3ceed75b1519c02d68f35ff290ba1bc8fb +size 151980 diff --git a/patches.fixes.tar.bz2 b/patches.fixes.tar.bz2 index b066d3f4..60962e65 100644 --- a/patches.fixes.tar.bz2 +++ b/patches.fixes.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1fd615a5f5ef926218b6d8a5a020c92a5913399a3df403e21f40881c2be1179a -size 40926 +oid sha256:2b000213c88dd987c89a87cfcabb826338c7df5a6eb344abd992f9d3d140764a +size 40035 diff --git a/patches.kernel.org.tar.bz2 b/patches.kernel.org.tar.bz2 index fdba6dc1..d24bdeb8 100644 --- a/patches.kernel.org.tar.bz2 +++ b/patches.kernel.org.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96a0edc4f6b9b77c56272ad2fb4e57d89e63ae9d4760ee5591f624b7d8a6494f -size 10713626 +oid sha256:9dde5510f9ad1aef9c1f1d3b2a8099a006fe55fdab5ebcf2c141624b999d057e +size 136 diff --git a/patches.rpmify.tar.bz2 b/patches.rpmify.tar.bz2 index 1fa192cf..ccc3af8f 100644 --- a/patches.rpmify.tar.bz2 +++ b/patches.rpmify.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04f114e9a3d7c27d22331b555c9678ad27a95464412fe65ce9720afe5b36b409 -size 7219 +oid sha256:fc36a05f87ee538becf3b36c52b3e3afaf7459231845ff4c67b25477c234b762 +size 8196 diff --git a/patches.xen.tar.bz2 b/patches.xen.tar.bz2 index fd6e6a2c..f941128f 100644 --- a/patches.xen.tar.bz2 +++ b/patches.xen.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e3a847ce3346c621bc481bf9b00451144c4e7babef02ebe19fd1fae61f779a2 -size 1914144 +oid sha256:346da76861e8e574f5d7778cd8ad698fb93ad881f24cfa71c8c93d28829938d8 +size 1920022 diff --git a/series.conf b/series.conf index 63a78e09..93a1299a 100644 --- a/series.conf +++ b/series.conf @@ -27,11 +27,6 @@ # DO NOT MODIFY THEM! # Send separate patches upstream if you find a problem... ######################################################## - patches.kernel.org/patch-2.6.33-rc3 - patches.kernel.org/patch-2.6.33-rc3-rc4 - patches.kernel.org/patch-2.6.33-rc4-rc5 - patches.kernel.org/patch-2.6.33-rc5-rc6 - patches.kernel.org/patch-2.6.33-rc6-rc7 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -53,6 +48,7 @@ patches.rpmify/hpsa-fix-section-mismatch patches.rpmify/rt2860-fix-section-mismatches patches.rpmify/ppc-crashdump-typefix + patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5 ######################################################## # kABI consistency patches @@ -322,7 +318,6 @@ patches.fixes/acpi_fix_no_critical_tp.patch patches.fixes/acpi_thermal_check_trip_points.patch - patches.fixes/acpi_pci_hot_plug_sanity_checks.patch ######################################################## # CPUFREQ @@ -341,7 +336,6 @@ patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch # PCC -> HP's cpufreq driver - patches.drivers/cpufreq_ondemand_limit_fix.patch patches.drivers/cpufreq_processor_clocking_control_pcc_driver.patch ######################################################## @@ -429,6 +423,10 @@ ######################################################## patches.suse/novfs-client-module patches.suse/novfs-fix-debug-message.patch + patches.fixes/novfs-err_ptr-fix.diff + patches.fixes/novfs-fix-inode-uid + patches.fixes/novfs-incorrect-filesize-fix + patches.fixes/novfs-truncate-fix ######################################################## # other filesystem stuff @@ -636,8 +634,6 @@ patches.suse/raw_device_max_minors_param.diff patches.suse/no-partition-scan - patches.fixes/dvb-l64781.ko-broken-with-gcc-4.5.patch - ######################################################## # Other drivers we have added to the tree ######################################################## @@ -662,7 +658,6 @@ patches.fixes/dm-release-map_lock-before-set_disk_ro patches.suse/dm-mpath-no-activate-for-offlined-paths patches.suse/dm-mpath-no-partitions-feature - patches.fixes/dm-stripe-zero-stripes ######################################################## # md @@ -906,6 +901,9 @@ patches.xen/xen3-patch-2.6.33-rc3-rc4 patches.xen/xen3-patch-2.6.33-rc4-rc5 patches.xen/xen3-patch-2.6.33-rc5-rc6 + patches.xen/xen3-patch-2.6.33-rc6-rc7 + patches.xen/xen3-patch-2.6.33-rc7-rc8 + patches.xen/xen3-patch-2.6.33-rc8-final patches.xen/xen3-seccomp-disable-tsc-option patches.xen/xen3-x86-mcp51-no-dac patches.xen/xen3-x86-mark_rodata_rw.patch @@ -949,6 +947,8 @@ patches.xen/xen-x86-machphys-prediction patches.xen/xen-x86-exit-mmap patches.xen/xen-x86-per-cpu-vcpu-info + patches.xen/xen-x86-xtime-lock + patches.xen/xen-x86-time-per-cpu patches.xen/xen-x86_64-pgd-pin patches.xen/xen-x86_64-pgd-alloc-order patches.xen/xen-x86_64-dump-user-pgt diff --git a/source-timestamp b/source-timestamp index ae6714f4..bd68d4d1 100644 --- a/source-timestamp +++ b/source-timestamp @@ -1,3 +1,3 @@ -2010-02-12 17:37:20 +0100 -GIT Revision: 7a6a586d63ec8ee519b9de0f63c1bb1dd232f657 +2010-02-25 06:04:45 +0100 +GIT Revision: 598eedb84f8b4a3d43f88b9bd52d8169d3c8660b GIT Branch: master