Hello community,
here is the log from the commit of package kernel-source
checked in at Tue Oct 28 00:21:20 CET 2008.
--------
--- kernel-source/kernel-debug.changes 2008-10-24 17:43:49.000000000 +0200
+++ /d/STABLE/kernel-source/kernel-debug.changes 2008-10-27 19:55:19.000000000 +0100
@@ -1,0 +2,73 @@
+Mon Oct 27 14:13:04 CET 2008 - trenn@suse.de
+
+- patches.arch/x86_uv_early_detect.patch: Delete hacks that were
+ necessary while waiting for x2apic code. (bnc#429984).
+
+-------------------------------------------------------------------
+Mon Oct 27 11:46:43 CET 2008 - tj@suse.de
+
+Refresh the govault patch.
+
+- patches.drivers/libata-add-waits-for-govault: libata: add
+ waits for GoVault (bnc#246451).
+
+-------------------------------------------------------------------
+Sun Oct 26 18:48:09 CET 2008 - bwalle@suse.de
+
+- patches.fixes/kdb-oops-panic.diff:
+ Fix NULL pointer dereference when regs == NULL (bnc#439007).
+- patches.fixes/hpwdt-kdump.diff:
+ Fix kdump when using hpwdt (bnc#436786).
+
+-------------------------------------------------------------------
+Sun Oct 26 06:58:29 CET 2008 - gregkh@suse.de
+
+- refresh patches to apply cleanly and properly.
+
+-------------------------------------------------------------------
+Sun Oct 26 06:44:24 CET 2008 - gregkh@suse.de
+
+- Update to 2.6.27.4
+
+-------------------------------------------------------------------
+Sat Oct 25 20:47:27 CEST 2008 - agruen@suse.de
+
+- Fix the dependencies between the split kernel packages and KMPs
+ (FATE 303631).
+- Fix for kernel paclages which are not split.
+- rpm/kernel-source.spec.in: Update list of scripts to include.
+
+-------------------------------------------------------------------
+Sat Oct 25 18:36:05 CEST 2008 - jjolly@suse.de
+
+- patches.arch/s390-02-02-smp-sysdev.patch: kernel: sysdev class
+ file creation (bnc#434333)
+- patches.arch/s390-02-03-zfcp.patch: Fix zfcp problems that have
+ been found (bnc#434333)
+- patches.arch/s390-02-04-qeth-mac.patch: qeth: use firmware
+ MAC-address for layer2 hsi-devices (bnc#434333)
+- patches.arch/s390-02-05-qeth-recovery.patch: qeth: qeth recovery
+ fails (bnc#434333)
+- patches.arch/s390-02-06-qeth-offset.patch: qeth: fix offset error
+ in non prealloc header path (bnc#434333,LTC#48840)
+- patches.arch/s390-02-07-qeth-ipv6check.patch: qeth: remove
+ unnecessary support ckeck in sysfs route6 (bnc#434333)
+- patches.arch/s390-02-08-qeth-panic.patch: qeth: avoid
+ skb_under_panic for malformatted inbound data (bnc#434333)
+- patches.arch/s390-02-09-tape-lock.patch: tape device driver:
+ improve locking (bnc#434333)
+
+-------------------------------------------------------------------
+Sat Oct 25 11:51:28 CEST 2008 - neilb@suse.de
+
+- patches.kernel.org/touch_mnt_namespace-when-the-mount-flags-change.patch:
+ touch_mnt_namespace when the mount flags change (FATE#304218).
+
+-------------------------------------------------------------------
+Fri Oct 24 23:57:11 CEST 2008 - gregkh@suse.de
+
+- Updated to 2.6.27.4-rc3:
+ - fixed ath5k suspend/resume regression
+ - fixed pvrusb2 so it actually works
+
+-------------------------------------------------------------------
@@ -622 +695 @@
-Thu Oct 16 23:57:16 CEST 2008 - mfasheh@suse.com
+Fri Oct 17 00:57:16 CEST 2008 - mfasheh@suse.com
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-kdump.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-rt.changes: same change
kernel-rt_debug.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-source-rt.changes: same change
kernel-syms.changes: same change
kernel-syms-rt.changes: same change
kernel-trace.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
calling whatdependson for head-i586
Old:
----
make-symsets
New:
----
list-exported-symbols
split-into-symsets
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:03.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:03.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-debug (Version 2.6.27.3)
+# spec file for package kernel-debug (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-debug debug $(case debug in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/debug$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
%else
@@ -149,8 +149,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -215,12 +216,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-debug-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-debug-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -299,7 +300,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -469,20 +476,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-debug.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/debug
# so that kernel-source + kernel-debug is sufficient for building
# modules that have modversions as well.
@@ -606,6 +599,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-debug.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -700,7 +726,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -737,7 +763,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:03.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:03.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-default (Version 2.6.27.3)
+# spec file for package kernel-default (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-default default $(case default in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/default$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-default
Summary: The Standard Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
Provides: k_athlon k_debug k_deflt k_deflt_22 k_deflt_24 k_eide k_laptop k_orig k_pentiu k_pos_ibm k_psmp k_smp k_smp_22 k_smp_24 smp kernel-smp
@@ -168,8 +168,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -233,12 +234,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-default-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-default-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -317,7 +318,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -487,20 +494,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-default.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/default
# so that kernel-source + kernel-default is sufficient for building
# modules that have modversions as well.
@@ -624,6 +617,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-default.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -717,7 +743,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -753,7 +779,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:04.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:04.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-dummy (Version 2.6.27.3)
+# spec file for package kernel-dummy (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -22,8 +22,8 @@
Name: kernel-dummy
Summary: Internal dummy package for synchronizing release numbers
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
AutoReqProv: off
@@ -36,7 +36,7 @@
--------
Andreas Gruenbacher
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%install
rm -rf %buildroot
++++++ kernel-kdump.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:04.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:04.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-kdump (Version 2.6.27.3)
+# spec file for package kernel-kdump (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-kdump kdump $(case kdump in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/kdump$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-kdump
Summary: kernel for kdump
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch ppc
%else
@@ -146,8 +146,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -214,12 +215,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-kdump-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-kdump-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -298,7 +299,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -468,20 +475,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-kdump.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/kdump
# so that kernel-source + kernel-kdump is sufficient for building
# modules that have modversions as well.
@@ -605,6 +598,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-kdump.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -701,7 +727,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -740,7 +766,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:05.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:05.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-pae (Version 2.6.27.3)
+# spec file for package kernel-pae (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-pae pae $(case pae in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/pae$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-pae
Summary: Kernel with PAE Support
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
Provides: k_smp4G kernel-bigsmp
Obsoletes: k_smp4G kernel-bigsmp
@@ -143,8 +143,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -215,12 +216,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-pae-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-pae-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -299,7 +300,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -469,20 +476,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-pae.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/pae
# so that kernel-source + kernel-pae is sufficient for building
# modules that have modversions as well.
@@ -606,6 +599,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-pae.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -706,7 +732,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -749,7 +775,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:06.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:06.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-ppc64 (Version 2.6.27.3)
+# spec file for package kernel-ppc64 (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-ppc64 ppc64 $(case ppc64 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ppc64$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-ppc64
Summary: Kernel for ppc64 Systems
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch ppc
Provides: kernel-pmac64 kernel-pseries64 kernel-iseries64
@@ -148,8 +148,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -227,12 +228,12 @@
Tom Gall
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-ppc64-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-ppc64-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -311,7 +312,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -481,20 +488,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ppc64.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/ppc64
# so that kernel-source + kernel-ppc64 is sufficient for building
# modules that have modversions as well.
@@ -618,6 +611,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ppc64.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -725,7 +751,7 @@
Tom Gall
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -775,7 +801,7 @@
Tom Gall
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-ps3.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:06.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:06.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-ps3 (Version 2.6.27.3)
+# spec file for package kernel-ps3 (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-ps3 ps3 $(case ps3 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ps3$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-ps3
Summary: kernel for ps3 bootloader
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch ppc
%else
@@ -146,8 +146,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -213,12 +214,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-ps3-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-ps3-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -297,7 +298,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -467,20 +474,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ps3.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/ps3
# so that kernel-source + kernel-ps3 is sufficient for building
# modules that have modversions as well.
@@ -604,6 +597,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ps3.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -697,7 +723,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -733,7 +759,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-rt_debug.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:07.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:07.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-rt_debug (Version 2.6.27.3)
+# spec file for package kernel-rt_debug (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-rt_debug rt_debug $(case rt_debug in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/rt_debug$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-rt_debug
Summary: A Debug Version of the Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
%else
@@ -146,8 +146,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -212,12 +213,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-rt_debug-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-rt_debug-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -296,7 +297,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -466,20 +473,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-rt_debug.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/rt_debug
# so that kernel-source + kernel-rt_debug is sufficient for building
# modules that have modversions as well.
@@ -603,6 +596,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-rt_debug.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -697,7 +723,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -734,7 +760,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-rt.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:07.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:08.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-rt (Version 2.6.27.3)
+# spec file for package kernel-rt (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-rt rt $(case rt in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/rt$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-rt
Summary: The Realtime Linux Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
%else
@@ -146,8 +146,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -217,12 +218,12 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-rt-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-rt-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -301,7 +302,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -471,20 +478,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-rt.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/rt
# so that kernel-source + kernel-rt is sufficient for building
# modules that have modversions as well.
@@ -608,6 +601,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-rt.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -707,7 +733,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -749,7 +775,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:08.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:08.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-s390 (Version 2.6.27.3)
+# spec file for package kernel-s390 (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-s390 s390 $(case s390 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/s390$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-s390
Summary: The Standard Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
Provides: kernel-32bit k_deflt
Obsoletes: kernel-32bit k_deflt
@@ -143,8 +143,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -208,12 +209,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-s390-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-s390-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -292,7 +293,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -462,20 +469,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-s390.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/s390
# so that kernel-source + kernel-s390 is sufficient for building
# modules that have modversions as well.
@@ -599,6 +592,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-s390.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -692,7 +718,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -728,7 +754,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-source-rt.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:09.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:09.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-source-rt (Version 2.6.27.3)
+# spec file for package kernel-source-rt (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -29,8 +29,8 @@
Name: kernel-source-rt
Summary: The Linux Kernel Sources, including the real-time patches
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
@@ -42,7 +42,7 @@
%endif
ExclusiveArch: %ix86 x86_64
Provides: linux
-Provides: kernel-source-rt = 2.6.27.3-%source_rel
+Provides: kernel-source-rt = 2.6.27.4-%source_rel
%if "kernel-source-rt" == "kernel-source"
Provides: linux lx_suse lx_sus22 lx_sus24
Obsoletes: linux lx-gdt lx-hack lx-suse lx1162_1 lx1162_2 lx1212_1 lx1212_2 lx1213_1 lx1213_2 lx121_1 lx121_2 lx126_1 lx126_2 lx129_1 lx129_2 lx_large kernel_headers lx_suse lx_sus22 lx_sus24
@@ -66,8 +66,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source47: extract-modaliases
@@ -120,7 +121,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
@@ -137,7 +138,7 @@
while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do
RELEASE=${RELEASE#[^0-9]*.}
done
-KERNELRELEASE=2.6.27.3-$RELEASE
+KERNELRELEASE=2.6.27.4-$RELEASE
case kernel-source-rt in
(*-rt)
variant=-rt
@@ -164,7 +165,7 @@
> .patches
for patch in $(< .patches); do
if ! patch -s -F0 -E -p1 --no-backup-if-mismatch \
- -i %_builddir/kernel-source-rt-2.6.27.3/$patch; then
+ -i %_builddir/kernel-source-rt-2.6.27.4/$patch; then
echo "*** Patch $patch failed ***"
exit 1
fi
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:10.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:10.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-source (Version 2.6.27.3)
+# spec file for package kernel-source (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -29,8 +29,8 @@
Name: kernel-source
Summary: The Linux Kernel Sources
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
@@ -42,7 +42,7 @@
%endif
ExclusiveArch: %ix86 ppc ppc64 s390 s390x ia64 x86_64
Provides: linux
-Provides: kernel-source = 2.6.27.3-%source_rel
+Provides: kernel-source = 2.6.27.4-%source_rel
%if "kernel-source" == "kernel-source"
Provides: linux lx_suse lx_sus22 lx_sus24
Obsoletes: linux lx-gdt lx-hack lx-suse lx1162_1 lx1162_2 lx1212_1 lx1212_2 lx1213_1 lx1213_2 lx121_1 lx121_2 lx126_1 lx126_2 lx129_1 lx129_2 lx_large kernel_headers lx_suse lx_sus22 lx_sus24
@@ -66,8 +66,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source47: extract-modaliases
@@ -120,7 +121,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
@@ -137,7 +138,7 @@
while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do
RELEASE=${RELEASE#[^0-9]*.}
done
-KERNELRELEASE=2.6.27.3-$RELEASE
+KERNELRELEASE=2.6.27.4-$RELEASE
case kernel-source in
(*-rt)
variant=-rt
@@ -164,7 +165,7 @@
> .patches
for patch in $(< .patches); do
if ! patch -s -F0 -E -p1 --no-backup-if-mismatch \
- -i %_builddir/kernel-source-2.6.27.3/$patch; then
+ -i %_builddir/kernel-source-2.6.27.4/$patch; then
echo "*** Patch $patch failed ***"
exit 1
fi
++++++ kernel-syms-rt.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:10.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:10.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-syms-rt (Version 2.6.27.3)
+# spec file for package kernel-syms-rt (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -28,8 +28,8 @@
Name: kernel-syms-rt
Summary: Kernel Symbol Versions (modversions) For Real-Time Kernels
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
@@ -49,7 +49,7 @@
#!BuildIgnore: irqbalance xen
#!BuildIgnore: perl-Bootloader mkinitrd
Requires: linux
-Requires: kernel-source = 2.6.27.3-%source_rel
+Requires: kernel-source = 2.6.27.4-%source_rel
Source11: arch-symbols
Source12: guards
Source21: config.conf
@@ -74,7 +74,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
echo "Architecture symbol(s):" %symbols
kernel-syms.spec: same change
++++++ kernel-trace.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:11.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:11.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-trace (Version 2.6.27.3)
+# spec file for package kernel-trace (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-trace trace $(case trace in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/trace$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-trace
Summary: The Realtime Linux Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
%else
@@ -149,8 +149,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -220,12 +221,12 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-trace-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-trace-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -304,7 +305,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -474,20 +481,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-trace.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/trace
# so that kernel-source + kernel-trace is sufficient for building
# modules that have modversions as well.
@@ -611,6 +604,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-trace.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -708,7 +734,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -748,7 +774,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:12.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:12.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-vanilla (Version 2.6.27.3)
+# spec file for package kernel-vanilla (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-vanilla vanilla $(case vanilla in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/vanilla$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
%else
@@ -165,8 +165,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -230,12 +231,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-vanilla-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-vanilla-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -314,7 +315,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -484,20 +491,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-vanilla.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/vanilla
# so that kernel-source + kernel-vanilla is sufficient for building
# modules that have modversions as well.
@@ -621,6 +614,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-vanilla.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -712,7 +738,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -746,7 +772,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:13.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:13.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-xen (Version 2.6.27.3)
+# spec file for package kernel-xen (Version 2.6.27.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -42,7 +42,7 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-xen xen $(case xen in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/xen$')
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -57,8 +57,8 @@
Name: kernel-xen
Summary: The Xen Kernel
-Version: 2.6.27.3
-Release: 2
+Version: 2.6.27.4
+Release: 1
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
@@ -97,8 +97,8 @@
%endif
%if %build_xen
%ifarch %ix86
-Provides: kernel-xenpae = 2.6.27.3
-Obsoletes: kernel-xenpae <= 2.6.27.3
+Provides: kernel-xenpae = 2.6.27.4
+Obsoletes: kernel-xenpae <= 2.6.27.4
%endif
#!BuildIgnore: xen
%endif
@@ -123,7 +123,7 @@
%if %build_um
#Conflicts: kernel
%else
-Provides: kernel = 2.6.27.3-%source_rel
+Provides: kernel = 2.6.27.4-%source_rel
%endif
%ifarch %ix86
%else
@@ -146,8 +146,9 @@
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
-Source42: make-symsets
-Source43: find-provides
+Source42: list-exported-symbols
+Source43: split-into-symsets
+Source44: find-provides
Source45: module-renames
Source46: modversions
Source100: config.tar.bz2
@@ -214,12 +215,12 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%prep
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
- echo "The kernel-xen-2.6.27.3.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.27.3.src.rpm."
+ echo "The kernel-xen-2.6.27.4.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.27.4.src.rpm."
exit 1
fi
echo "Architecture symbol(s):" %symbols
@@ -298,7 +299,7 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs < Module.symvers.split
+mv Module.symvers.split Module.symvers
gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
@@ -468,20 +475,6 @@
%endif
echo "Consistency check error: please update supported.conf."
fi
- # Preserve exports from previous kernels when possible.
- old_symsets=%my_builddir/kabi/$SUBARCH/symsets-xen.tar.gz
- [ -e $old_symsets ] || old_symsets=
- # Group the exported symbols listed in symvers.gz by directory, and
- # create a database of sets.
- { awk '$3 != "vmlinux" { print }' Module.symvers
- # Find out in which built-in.o files the exported symbols that ended
- # up in vmlinux were defined.
- awk '$3 == "vmlinux" { print }' Module.symvers \
- | %_sourcedir/built-in-where
- } | %_sourcedir/make-symsets \
- %buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
- $old_symsets ||
- [ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
# Also put the resulting file in $obj_dir/$SUBARCH/xen
# so that kernel-source + kernel-xen is sufficient for building
# modules that have modversions as well.
@@ -605,6 +598,39 @@
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
+ exported_by_modules() {
+ local module
+ while read module; do
+ %_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
+ done
+ }
+ mkdir %my_builddir/{base,main,extra}
+ ( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
+ exported_by_modules < %my_builddir/base-modules
+ ) | %_sourcedir/split-into-symsets %my_builddir/base
+%if %split_packages
+ exported_by_modules < %my_builddir/main-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/main
+ exported_by_modules < %my_builddir/unsupported-modules \
+ | %_sourcedir/split-into-symsets %my_builddir/extra
+%endif
+ # Notes:
+ # - We rely on list-exported-symbols to correctly extract all exported
+ # symbols from modules; Module.symvers is disregarded for that.
+ # - We recompute the symsets in find-provides. Take care to keep the
+ # algorithm the same in both places.
+ ## Preserve exports from previous kernels when possible.
+ #old_symsets=%my_builddir/kabi/$SUBARCH/symsets-xen.tar.gz
+ #[ -e $old_symsets ] || old_symsets=
+ # FIXME: implement
+ symsets=%my_builddir/symsets-$KERNELRELEASE
+ mkdir $symsets
+ find %my_builddir/{base,main,extra} -type f \
+ | xargs --replace='{}' cp '{}' $symsets/
+ tar c -C ${symsets%/*} ${symsets##*/} \
+ | gzip -9 \
+ > %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
+ # FIXME: check for abi changes
# Set up some module aliases
install -d -m 755 %buildroot/etc/modprobe.d/
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
@@ -701,7 +727,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun base -f preun-base.sh
@@ -740,7 +766,7 @@
-Source Timestamp: 2008-10-24 17:40:47 +0200
+Source Timestamp: 2008-10-27 19:53:11 +0100
%preun extra -f preun-extra.sh
++++++ build-source-timestamp ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:14.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:14.000000000 +0100
@@ -1 +1 @@
-2008-10-24 17:40:47 +0200
+2008-10-27 19:53:11 +0100
++++++ built-in-where ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:14.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:14.000000000 +0100
@@ -1,5 +1,7 @@
#! /bin/bash
+sourcedir=${0%/*}
+
# A lot of symbols are exported by the main kernel image. Find out
# more precisely which built-in.o file defines them, and fill in
# that information in Module.symvers. (The built-in.o files are
@@ -11,22 +13,44 @@
unset LANG ${!LC_*}
# Create a table of all symbol export in a built-in.o file, e.g.,
-# mtrr_add arch/i386/kernel/cpu/mtrr/built-in
+# 0xc87c1f84 ktime_get kernel/built-in EXPORT_SYMBOL_GPL
built_in_exports() {
- for obj in $(find -name built-in.o -printf '%P\n'); do
- nm $obj \
- | sed -nre 's:(00000000)?([0-9a-f]+) A __crc_(.*):\3\t'"${obj%.o}:p"
+ # a/b/c/built-in.o gets linked into a/b/built-in.o, so ensure
+ # that we visit sub-directories first to split up symbols as
+ # much as possible.
+ for obj in $(find -name built-in.o -printf '%d %P\n' \
+ | sort -r \
+ | awk '{ print $2 }'); do
+ $sourcedir/list-exported-symbols -n ${obj%.o} $obj
done
+
+ # We could go through the libraries as well, but those functions
+ # are so unlikely to change that this wouldn't help.
+ # (All remaining symbols will end up in the vmlinux set.)
+ #for archive in $(find -name '*.a'); do
+ # $sourcedir/list-exported-symbols -n ${archive%.a} $archive
+ #done
+}
+
+# Filter out duplicates from a Module.symvers dump
+unique_symbols() {
+ awk '
+ { if ($2 in seen)
+ next
+ seen[$2] = 1
+ print
+ }
+ '
}
# Join together the two tables, including all lines from the first
-# file that don't have a match in the second. Finally remove the
-# duplicate column.
-join -t $'\t' -1 2 -2 1 -a 1 \
- <(cut -f1,2,3 | sort -k2) \
- <(built_in_exports | sort -k1) \
+# file that don't have a match in the second.
+# Finally, remove the duplicate columns.
+join -t $'\t' -j 2 -a 1 \
+ <(sort -k2) \
+ <(built_in_exports | unique_symbols | sort -k2) \
| awk '
BEGIN { FS = "\t" ; OFS = "\t" }
-NF == 3 { print $2, $1, $3 }
-NF == 4 { print $2, $1, $4 }
+NF == 7 { print $2, $1, $6, $4 }
+NF == 4 { print $2, $1, $3, $4 }
'
++++++ config.tar.bz2 ++++++
++++++ find-provides ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:17.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:17.000000000 +0100
@@ -5,15 +5,27 @@
printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-provides "$@"
+sourcedir=${0%/*}
+flavor=${1##*-}
+
+tmpdir=$(mktemp -dt ${0##*/}.XXXXXXXXXX)
+trap "rm -rf $tmpdir" EXIT
+
for file in "${filelist[@]}"; do
- case "$file" in
- */symsets-*.tar.gz)
- flavor=${file%.tar.gz}
- flavor=${flavor##*-}
- for symset in $(tar tfz "$file" | grep -v '/$'); do
- class=${symset##*/} ; class=${class%.*}
- echo "kernel($flavor:$class) = ${symset##*.}"
- done
+ case "$file" in
+ */boot/symvers-*.gz)
+ zcat "$file" \
+ | awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }'
;;
- esac
+ *.ko)
+ $sourcedir/list-exported-symbols $file
+ ;;
+ esac
+done \
+| $sourcedir/split-into-symsets $tmpdir
+
+shopt -s nullglob
+for symset in $tmpdir/*; do
+ class=${symset##*/} ; class=${class%.*}
+ echo "kernel($flavor:$class) = ${symset##*.}"
done
++++++ kabi.tar.bz2 ++++++
++++++ list-exported-symbols ++++++
#! /bin/sh
# Generate a Module.symvers-like list of symbols a module exports.
usage() {
echo "USAGE: ${0##*/} [-n name] objfile" >&2
exit 1
}
options=`getopt -o n: -- "$@"`
[ $? -eq 0 ] || usage
eval set -- "$options"
while :; do
case "$1" in
-n)
opt_n=$2
shift
;;
--)
shift
break
;;
esac
shift
done
[ $# -eq 1 ] || usage
if [ -z "$opt_n" ]; then
opt_n=${1%.ko}
opt_n=${opt_n#*/kernel/}
fi
objdump -t "$1" | awk '
BEGIN { known_types["__ksymtab"] = "EXPORT_SYMBOL"
known_types["__ksymtab_unused"] = "EXPORT_UNUSED_SYMBOL"
known_types["__ksymtab_gpl"] = "EXPORT_SYMBOL_GPL"
known_types["__ksymtab_unused_gpl"] = "EXPORT_UNUSED_SYMBOL_GPL"
known_types["__ksymtab_gpl_future"] = "EXPORT_SYMBOL_GPL_FUTURE"
}
{ if (NF < 3)
next
if (substr($0, index($0, " ") + 6, 1) == "d")
next # debug symbol
if (gsub(/^__crc_/, "", $NF))
crcs[$NF] = gensub(/^00000000(.+)/, "\\1", "", $1)
else if (gsub(/^__ksymtab_/, "", $NF) &&
($(NF-2) in known_types))
types[$NF] = known_types[$(NF-2)]
}
END { for (sym in types) {
crc = (sym in crcs ? crcs[sym] : "00000000")
print "0x" crc "\t" sym "\t" module "\t" types[sym]
}
}
' module="$opt_n"
++++++ minmem ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:26.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:26.000000000 +0100
@@ -1 +1 @@
-2096000
+1048576
++++++ needed_space_in_mb ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:26.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:26.000000000 +0100
@@ -1 +1 @@
-6000
+6144
++++++ patches.addon.tar.bz2 ++++++
++++++ patches.apparmor.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/add-path_permission.diff new/patches.apparmor/add-path_permission.diff
--- old/patches.apparmor/add-path_permission.diff 2008-10-24 17:41:46.000000000 +0200
+++ new/patches.apparmor/add-path_permission.diff 2008-10-26 10:58:59.000000000 +0100
@@ -187,7 +187,7 @@
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1186,6 +1186,11 @@ extern void dentry_unhash(struct dentry
+@@ -1189,6 +1189,11 @@ extern void dentry_unhash(struct dentry
extern int file_permission(struct file *, int);
/*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/d_namespace_path.diff new/patches.apparmor/d_namespace_path.diff
--- old/patches.apparmor/d_namespace_path.diff 2008-08-14 19:59:13.000000000 +0200
+++ new/patches.apparmor/d_namespace_path.diff 2008-10-26 10:58:59.000000000 +0100
@@ -15,7 +15,7 @@
--- a/fs/namespace.c
+++ b/fs/namespace.c
-@@ -2352,3 +2352,33 @@ void __put_mnt_ns(struct mnt_namespace *
+@@ -2357,3 +2357,33 @@ void __put_mnt_ns(struct mnt_namespace *
release_mounts(&umount_list);
kfree(ns);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/fsetattr.diff new/patches.apparmor/fsetattr.diff
--- old/patches.apparmor/fsetattr.diff 2008-10-24 17:41:46.000000000 +0200
+++ new/patches.apparmor/fsetattr.diff 2008-10-26 10:58:59.000000000 +0100
@@ -382,7 +382,7 @@
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -359,13 +359,6 @@ struct iattr {
+@@ -362,13 +362,6 @@ struct iattr {
struct timespec ia_atime;
struct timespec ia_mtime;
struct timespec ia_ctime;
@@ -396,7 +396,7 @@
};
/*
-@@ -1265,6 +1258,7 @@ struct file_operations {
+@@ -1268,6 +1261,7 @@ struct file_operations {
#define HAVE_FOP_OPEN_EXEC
int (*open_exec) (struct inode *);
int (*setlease)(struct file *, long, struct file_lock **);
@@ -404,7 +404,7 @@
};
struct inode_operations {
-@@ -1784,6 +1778,7 @@ extern int do_remount_sb(struct super_bl
+@@ -1787,6 +1781,7 @@ extern int do_remount_sb(struct super_bl
extern sector_t bmap(struct inode *, sector_t);
#endif
extern int notify_change(struct dentry *, struct vfsmount *, struct iattr *);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/fsetattr-restore-ia_file.diff new/patches.apparmor/fsetattr-restore-ia_file.diff
--- old/patches.apparmor/fsetattr-restore-ia_file.diff 2008-10-14 15:54:49.000000000 +0200
+++ new/patches.apparmor/fsetattr-restore-ia_file.diff 2008-10-26 10:58:59.000000000 +0100
@@ -38,7 +38,7 @@
error = inode_change_ok(inode, attr);
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -359,6 +359,17 @@ struct iattr {
+@@ -362,6 +362,17 @@ struct iattr {
struct timespec ia_atime;
struct timespec ia_mtime;
struct timespec ia_ctime;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/sysctl-pathname.diff new/patches.apparmor/sysctl-pathname.diff
--- old/patches.apparmor/sysctl-pathname.diff 2008-10-14 15:54:49.000000000 +0200
+++ new/patches.apparmor/sysctl-pathname.diff 2008-10-26 10:58:59.000000000 +0100
@@ -27,7 +27,7 @@
void __user *newval, size_t newlen);
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -1536,6 +1536,33 @@ void register_sysctl_root(struct ctl_tab
+@@ -1544,6 +1544,33 @@ void register_sysctl_root(struct ctl_tab
spin_unlock(&sysctl_lock);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-link.diff new/patches.apparmor/vfs-link.diff
--- old/patches.apparmor/vfs-link.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-link.diff 2008-10-26 10:58:59.000000000 +0100
@@ -80,7 +80,7 @@
err = nfserrno(nfsd_sync_dir(ddir));
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1166,7 +1166,7 @@ extern int vfs_create(struct inode *, st
+@@ -1169,7 +1169,7 @@ extern int vfs_create(struct inode *, st
extern int vfs_mkdir(struct inode *, struct dentry *, struct vfsmount *, int);
extern int vfs_mknod(struct inode *, struct dentry *, struct vfsmount *, int, dev_t);
extern int vfs_symlink(struct inode *, struct dentry *, struct vfsmount *, const char *);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-mkdir.diff new/patches.apparmor/vfs-mkdir.diff
--- old/patches.apparmor/vfs-mkdir.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-mkdir.diff 2008-10-26 10:58:59.000000000 +0100
@@ -115,7 +115,7 @@
}
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1163,7 +1163,7 @@ extern void unlock_super(struct super_bl
+@@ -1166,7 +1166,7 @@ extern void unlock_super(struct super_bl
*/
extern int vfs_permission(struct nameidata *, int);
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-mknod.diff new/patches.apparmor/vfs-mknod.diff
--- old/patches.apparmor/vfs-mknod.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-mknod.diff 2008-10-26 10:58:59.000000000 +0100
@@ -76,7 +76,7 @@
if (host_err < 0) {
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1164,7 +1164,7 @@ extern void unlock_super(struct super_bl
+@@ -1167,7 +1167,7 @@ extern void unlock_super(struct super_bl
extern int vfs_permission(struct nameidata *, int);
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
extern int vfs_mkdir(struct inode *, struct dentry *, struct vfsmount *, int);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-notify_change.diff new/patches.apparmor/vfs-notify_change.diff
--- old/patches.apparmor/vfs-notify_change.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-notify_change.diff 2008-10-26 10:58:59.000000000 +0100
@@ -258,7 +258,7 @@
mnt_drop_write_and_out:
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1621,8 +1621,8 @@ static inline int break_lease(struct ino
+@@ -1624,8 +1624,8 @@ static inline int break_lease(struct ino
/* fs/open.c */
@@ -269,7 +269,7 @@
extern long do_sys_open(int dfd, const char __user *filename, int flags,
int mode);
extern struct file *filp_open(const char *, int, int);
-@@ -1783,7 +1783,7 @@ extern int do_remount_sb(struct super_bl
+@@ -1786,7 +1786,7 @@ extern int do_remount_sb(struct super_bl
#ifdef CONFIG_BLOCK
extern sector_t bmap(struct inode *, sector_t);
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-rename.diff new/patches.apparmor/vfs-rename.diff
--- old/patches.apparmor/vfs-rename.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-rename.diff 2008-10-26 10:58:59.000000000 +0100
@@ -114,7 +114,7 @@
if (!host_err)
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1169,7 +1169,7 @@ extern int vfs_symlink(struct inode *, s
+@@ -1172,7 +1172,7 @@ extern int vfs_symlink(struct inode *, s
extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *);
extern int vfs_rmdir(struct inode *, struct dentry *, struct vfsmount *);
extern int vfs_unlink(struct inode *, struct dentry *, struct vfsmount *);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-rmdir.diff new/patches.apparmor/vfs-rmdir.diff
--- old/patches.apparmor/vfs-rmdir.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-rmdir.diff 2008-10-26 10:58:59.000000000 +0100
@@ -112,7 +112,7 @@
out_drop:
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1167,7 +1167,7 @@ extern int vfs_mkdir(struct inode *, str
+@@ -1170,7 +1170,7 @@ extern int vfs_mkdir(struct inode *, str
extern int vfs_mknod(struct inode *, struct dentry *, struct vfsmount *, int, dev_t);
extern int vfs_symlink(struct inode *, struct dentry *, struct vfsmount *, const char *);
extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-symlink.diff new/patches.apparmor/vfs-symlink.diff
--- old/patches.apparmor/vfs-symlink.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-symlink.diff 2008-10-26 10:58:59.000000000 +0100
@@ -112,7 +112,7 @@
out:
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1165,7 +1165,7 @@ extern int vfs_permission(struct nameida
+@@ -1168,7 +1168,7 @@ extern int vfs_permission(struct nameida
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
extern int vfs_mkdir(struct inode *, struct dentry *, struct vfsmount *, int);
extern int vfs_mknod(struct inode *, struct dentry *, struct vfsmount *, int, dev_t);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.apparmor/vfs-unlink.diff new/patches.apparmor/vfs-unlink.diff
--- old/patches.apparmor/vfs-unlink.diff 2008-10-24 17:41:47.000000000 +0200
+++ new/patches.apparmor/vfs-unlink.diff 2008-10-26 10:58:59.000000000 +0100
@@ -77,7 +77,7 @@
}
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1168,7 +1168,7 @@ extern int vfs_mknod(struct inode *, str
+@@ -1171,7 +1171,7 @@ extern int vfs_mknod(struct inode *, str
extern int vfs_symlink(struct inode *, struct dentry *, struct vfsmount *, const char *);
extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *);
extern int vfs_rmdir(struct inode *, struct dentry *, struct vfsmount *);
++++++ patches.arch.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-02-smp-sysdev.patch new/patches.arch/s390-02-02-smp-sysdev.patch
--- old/patches.arch/s390-02-02-smp-sysdev.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-02-smp-sysdev.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,86 @@
+From: Gerald Schaefer
+Subject: kernel: sysdev class file creation
+References: bnc#434333
+
+Symptom: Kernel panic, data corruption if the user accesses files in
+ /sys/devices/system/cpu.
+Problem: The sysdev class attributes where registered with sysfs_file_create
+ instead of sysdev_class_create_file. The show and store functions
+ of sysdev class files and sysfs files have a different number of
+ parameters. In particular the pointer to the buffer is the last
+ argument and therefore accesses to random memory regions happened.
+Solution: Use correct function to register attributes.
+
+Acked-by: John Jolly
+---
+ arch/s390/kernel/smp.c | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+Index: linux-sles11/arch/s390/kernel/smp.c
+===================================================================
+--- linux-sles11.orig/arch/s390/kernel/smp.c
++++ linux-sles11/arch/s390/kernel/smp.c
+@@ -1116,9 +1116,7 @@ out:
+ return rc;
+ }
+
+-static ssize_t __ref rescan_store(struct sys_device *dev,
+- struct sysdev_attribute *attr,
+- const char *buf,
++static ssize_t __ref rescan_store(struct sysdev_class *class, const char *buf,
+ size_t count)
+ {
+ int rc;
+@@ -1126,12 +1124,10 @@ static ssize_t __ref rescan_store(struct
+ rc = smp_rescan_cpus();
+ return rc ? rc : count;
+ }
+-static SYSDEV_ATTR(rescan, 0200, NULL, rescan_store);
++static SYSDEV_CLASS_ATTR(rescan, 0200, NULL, rescan_store);
+ #endif /* CONFIG_HOTPLUG_CPU */
+
+-static ssize_t dispatching_show(struct sys_device *dev,
+- struct sysdev_attribute *attr,
+- char *buf)
++static ssize_t dispatching_show(struct sysdev_class *class, char *buf)
+ {
+ ssize_t count;
+
+@@ -1141,9 +1137,8 @@ static ssize_t dispatching_show(struct s
+ return count;
+ }
+
+-static ssize_t dispatching_store(struct sys_device *dev,
+- struct sysdev_attribute *attr,
+- const char *buf, size_t count)
++static ssize_t dispatching_store(struct sysdev_class *dev, const char *buf,
++ size_t count)
+ {
+ int val, rc;
+ char delim;
+@@ -1165,7 +1160,8 @@ out:
+ put_online_cpus();
+ return rc ? rc : count;
+ }
+-static SYSDEV_ATTR(dispatching, 0644, dispatching_show, dispatching_store);
++static SYSDEV_CLASS_ATTR(dispatching, 0644, dispatching_show,
++ dispatching_store);
+
+ static int __init topology_init(void)
+ {
+@@ -1175,13 +1171,11 @@ static int __init topology_init(void)
+ register_cpu_notifier(&smp_cpu_nb);
+
+ #ifdef CONFIG_HOTPLUG_CPU
+- rc = sysfs_create_file(&cpu_sysdev_class.kset.kobj,
+- &attr_rescan.attr);
++ rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_rescan);
+ if (rc)
+ return rc;
+ #endif
+- rc = sysfs_create_file(&cpu_sysdev_class.kset.kobj,
+- &attr_dispatching.attr);
++ rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_dispatching);
+ if (rc)
+ return rc;
+ for_each_present_cpu(cpu) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-03-zfcp.patch new/patches.arch/s390-02-03-zfcp.patch
--- old/patches.arch/s390-02-03-zfcp.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-03-zfcp.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,87 @@
+From: Gerald Schaefer
+Subject: Fix zfcp problems that have been found
+References: bnc#434333
+
+Symptom: lock dependency warnings and flaws found during code review
+Problem: various small zfcp problems
+Solution: fix zfcp problems
+ - SCSI command times out on "deleted scsi device"
+ - fix memory leak for status_read requests
+ - locking for req_list
+ - fix error path for failed request send
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_fsf.c | 23 ++++++++++-------------
+ drivers/s390/scsi/zfcp_scsi.c | 12 ++++--------
+ 2 files changed, 14 insertions(+), 21 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_scsi.c 2008-10-15 16:39:08.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_scsi.c 2008-10-15 16:39:08.000000000 +0200
+@@ -26,14 +26,10 @@ char *zfcp_get_fcp_sns_info_ptr(struct f
+ static void zfcp_scsi_slave_destroy(struct scsi_device *sdpnt)
+ {
+ struct zfcp_unit *unit = (struct zfcp_unit *) sdpnt->hostdata;
+- WARN_ON(!unit);
+- if (unit) {
+- atomic_clear_mask(ZFCP_STATUS_UNIT_REGISTERED, &unit->status);
+- sdpnt->hostdata = NULL;
+- unit->device = NULL;
+- zfcp_erp_unit_failed(unit, 12, NULL);
+- zfcp_unit_put(unit);
+- }
++ atomic_clear_mask(ZFCP_STATUS_UNIT_REGISTERED, &unit->status);
++ unit->device = NULL;
++ zfcp_erp_unit_failed(unit, 12, NULL);
++ zfcp_unit_put(unit);
+ }
+
+ static int zfcp_scsi_slave_configure(struct scsi_device *sdp)
+--- a/drivers/s390/scsi/zfcp_fsf.c 2008-10-15 16:39:08.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fsf.c 2008-10-15 16:40:11.000000000 +0200
+@@ -685,6 +685,7 @@ static struct zfcp_fsf_req *zfcp_fsf_all
+ if (!req)
+ return NULL;
+ memset(req, 0, sizeof(*req));
++ req->pool = pool;
+ return req;
+ }
+
+@@ -771,28 +772,24 @@ static struct zfcp_fsf_req *zfcp_fsf_req
+ static int zfcp_fsf_req_send(struct zfcp_fsf_req *req)
+ {
+ struct zfcp_adapter *adapter = req->adapter;
+- struct zfcp_qdio_queue *req_q = &adapter->req_q;
++ unsigned long flags;
+ int idx;
+
+ /* put allocated FSF request into hash table */
+- spin_lock(&adapter->req_list_lock);
++ spin_lock_irqsave(&adapter->req_list_lock, flags);
+ idx = zfcp_reqlist_hash(req->req_id);
+ list_add_tail(&req->list, &adapter->req_list[idx]);
+- spin_unlock(&adapter->req_list_lock);
++ spin_unlock_irqrestore(&adapter->req_list_lock, flags);
+
+- req->qdio_outb_usage = atomic_read(&req_q->count);
++ req->qdio_outb_usage = atomic_read(&adapter->req_q.count);
+ req->issued = get_clock();
+ if (zfcp_qdio_send(req)) {
+- /* Queues are down..... */
+ del_timer(&req->timer);
+- spin_lock(&adapter->req_list_lock);
+- zfcp_reqlist_remove(adapter, req);
+- spin_unlock(&adapter->req_list_lock);
+- /* undo changes in request queue made for this request */
+- atomic_add(req->sbal_number, &req_q->count);
+- req_q->first -= req->sbal_number;
+- req_q->first += QDIO_MAX_BUFFERS_PER_Q;
+- req_q->first %= QDIO_MAX_BUFFERS_PER_Q; /* wrap */
++ spin_lock_irqsave(&adapter->req_list_lock, flags);
++ /* lookup request again, list might have changed */
++ if (zfcp_reqlist_find_safe(adapter, req))
++ zfcp_reqlist_remove(adapter, req);
++ spin_unlock_irqrestore(&adapter->req_list_lock, flags);
+ zfcp_erp_adapter_reopen(adapter, 0, 116, req);
+ return -EIO;
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-04-qeth-mac.patch new/patches.arch/s390-02-04-qeth-mac.patch
--- old/patches.arch/s390-02-04-qeth-mac.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-04-qeth-mac.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,31 @@
+From: Gerald Schaefer
+Subject: qeth: use firmware MAC-address for layer2 hsi-devices
+References: bnc#434333
+
+Symptom: Real HiperSocket devices in layer2 show random MAC-address.
+Problem: Usability
+Solution: Use firmware MAC-address
+
+Signed-off-by: Ursula Braun
+Signed-off-by: Frank Blaschka
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/net/qeth_l2_main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: linux-sles11/drivers/s390/net/qeth_l2_main.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_l2_main.c
++++ linux-sles11/drivers/s390/net/qeth_l2_main.c
+@@ -562,7 +562,8 @@ static int qeth_l2_request_initial_mac(s
+ "device %s: x%x\n", CARD_BUS_ID(card), rc);
+ }
+
+- if (card->info.guestlan) {
++ if ((card->info.type == QETH_CARD_TYPE_IQD) ||
++ (card->info.guestlan)) {
+ rc = qeth_setadpparms_change_macaddr(card);
+ if (rc) {
+ QETH_DBF_MESSAGE(2, "couldn't get MAC address on "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-05-qeth-recovery.patch new/patches.arch/s390-02-05-qeth-recovery.patch
--- old/patches.arch/s390-02-05-qeth-recovery.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-05-qeth-recovery.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,133 @@
+From: Gerald Schaefer
+Subject: qeth: qeth recovery fails
+References: bnc#434333
+
+Symptom: Device is not functional after a recovery
+Problem: The handling of the IFF flags changed in 2.6.27 code
+Solution: Do not touch IFF_UP flag during qeth recovery, but invoke
+ dev_close() in case of failing recovery.
+ Cancel outstanding control commands in case of Data Checks or
+ Channel Checks.
+ Do not invoke qeth_l2_del_all_mc() in case of a hard stop to speed
+ up removal of qeth devices.
+
+Signed-off-by: Ursula Braun
+Signed-off-by: Frank Blaschka
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/net/qeth_core_main.c | 4 +++-
+ drivers/s390/net/qeth_l2_main.c | 11 +++++++----
+ drivers/s390/net/qeth_l3_main.c | 8 +++++---
+ 3 files changed, 15 insertions(+), 8 deletions(-)
+
+Index: linux-sles11/drivers/s390/net/qeth_core_main.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_core_main.c
++++ linux-sles11/drivers/s390/net/qeth_core_main.c
+@@ -767,7 +767,7 @@ static int qeth_get_problem(struct ccw_d
+ if (sense[SENSE_COMMAND_REJECT_BYTE] &
+ SENSE_COMMAND_REJECT_FLAG) {
+ QETH_DBF_TEXT(TRACE, 2, "CMDREJi");
+- return 0;
++ return 1;
+ }
+ if ((sense[2] == 0xaf) && (sense[3] == 0xfe)) {
+ QETH_DBF_TEXT(TRACE, 2, "AFFE");
+@@ -895,6 +895,7 @@ static void qeth_irq(struct ccw_device *
+ }
+ rc = qeth_get_problem(cdev, irb);
+ if (rc) {
++ qeth_clear_ipacmd_list(card);
+ qeth_schedule_recovery(card);
+ goto out;
+ }
+@@ -4160,6 +4161,7 @@ static void qeth_core_remove_device(stru
+ unsigned long flags;
+ struct qeth_card *card = dev_get_drvdata(&gdev->dev);
+
++ QETH_DBF_TEXT(SETUP, 2, "removedv");
+ if (card->discipline.ccwgdriver) {
+ card->discipline.ccwgdriver->remove(gdev);
+ qeth_core_free_discipline(card);
+Index: linux-sles11/drivers/s390/net/qeth_l2_main.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_l2_main.c
++++ linux-sles11/drivers/s390/net/qeth_l2_main.c
+@@ -397,7 +397,8 @@ static int qeth_l2_stop_card(struct qeth
+ }
+ if (card->state == CARD_STATE_SOFTSETUP) {
+ qeth_l2_process_vlans(card, 1);
+- qeth_l2_del_all_mc(card);
++ if (!card->use_hard_stop)
++ qeth_l2_del_all_mc(card);
+ qeth_clear_ipacmd_list(card);
+ card->state = CARD_STATE_HARDSETUP;
+ }
+@@ -829,7 +830,6 @@ static int qeth_l2_open(struct net_devic
+ }
+ card->data.state = CH_STATE_UP;
+ card->state = CARD_STATE_UP;
+- card->dev->flags |= IFF_UP;
+ netif_start_queue(dev);
+
+ if (!card->lan_online && netif_carrier_ok(dev))
+@@ -844,7 +844,6 @@ static int qeth_l2_stop(struct net_devic
+
+ QETH_DBF_TEXT(TRACE, 4, "qethstop");
+ netif_tx_disable(dev);
+- card->dev->flags &= ~IFF_UP;
+ if (card->state == CARD_STATE_UP)
+ card->state = CARD_STATE_SOFTSETUP;
+ return 0;
+@@ -1136,9 +1135,13 @@ static int qeth_l2_recover(void *ptr)
+ if (!rc)
+ dev_info(&card->gdev->dev,
+ "Device successfully recovered!\n");
+- else
++ else {
++ rtnl_lock();
++ dev_close(card->dev);
++ rtnl_unlock();
+ dev_warn(&card->gdev->dev, "The qeth device driver "
+ "failed to recover an error on the device\n");
++ }
+ return 0;
+ }
+
+Index: linux-sles11/drivers/s390/net/qeth_l3_main.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_l3_main.c
++++ linux-sles11/drivers/s390/net/qeth_l3_main.c
+@@ -2804,7 +2804,6 @@ static int qeth_l3_open(struct net_devic
+ return -ENODEV;
+ card->data.state = CH_STATE_UP;
+ card->state = CARD_STATE_UP;
+- card->dev->flags |= IFF_UP;
+ netif_start_queue(dev);
+
+ if (!card->lan_online && netif_carrier_ok(dev))
+@@ -2818,7 +2817,6 @@ static int qeth_l3_stop(struct net_devic
+
+ QETH_DBF_TEXT(TRACE, 4, "qethstop");
+ netif_tx_disable(dev);
+- card->dev->flags &= ~IFF_UP;
+ if (card->state == CARD_STATE_UP)
+ card->state = CARD_STATE_SOFTSETUP;
+ return 0;
+@@ -3222,9 +3220,13 @@ static int qeth_l3_recover(void *ptr)
+ if (!rc)
+ dev_info(&card->gdev->dev,
+ "Device successfully recovered!\n");
+- else
++ else {
++ rtnl_lock();
++ dev_close(card->dev);
++ rtnl_unlock();
+ dev_warn(&card->gdev->dev, "The qeth device driver "
+ "failed to recover an error on the device\n");
++ }
+ return 0;
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-06-qeth-offset.patch new/patches.arch/s390-02-06-qeth-offset.patch
--- old/patches.arch/s390-02-06-qeth-offset.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-06-qeth-offset.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,38 @@
+From: Gerald Schaefer
+Subject: qeth: fix offset error in non prealloc header path
+References: bnc#434333,LTC#48840
+
+Symptom: bad or no VSWITCH/guest lan network traffic
+Problem: Offset error in the non prealloc header path
+Solution: For the non preallocated qeth header code path we should not
+ change the header length.
+
+Signed-off-by: Frank Blaschka
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/net/qeth_core_main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: linux-sles11/drivers/s390/net/qeth_core_main.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_core_main.c
++++ linux-sles11/drivers/s390/net/qeth_core_main.c
+@@ -3034,7 +3034,7 @@ static inline void __qeth_fill_buffer(st
+ struct qdio_buffer *buffer, int is_tso, int *next_element_to_fill,
+ int offset)
+ {
+- int length = skb->len - offset;
++ int length = skb->len;
+ int length_here;
+ int element;
+ char *data;
+@@ -3046,6 +3046,7 @@ static inline void __qeth_fill_buffer(st
+
+ if (offset >= 0) {
+ data = skb->data + offset;
++ length -= offset;
+ first_lap = 0;
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-07-qeth-ipv6check.patch new/patches.arch/s390-02-07-qeth-ipv6check.patch
--- old/patches.arch/s390-02-07-qeth-ipv6check.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-07-qeth-ipv6check.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,42 @@
+From: Gerald Schaefer
+Subject: qeth: remove unnecessary support ckeck in sysfs route6
+References: bnc#434333
+
+Symptom: route6 attribute can not be set in initial device condition
+Problem: Usability
+Solution: Remove this check improves usability because you do not have to
+ set the device online to initially set ipv6 routing option.
+
+Signed-off-by: Frank Blaschka
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/net/qeth_l3_sys.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+Index: linux-sles11/drivers/s390/net/qeth_l3_sys.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_l3_sys.c
++++ linux-sles11/drivers/s390/net/qeth_l3_sys.c
+@@ -121,9 +121,6 @@ static ssize_t qeth_l3_dev_route6_show(s
+ if (!card)
+ return -EINVAL;
+
+- if (!qeth_is_supported(card, IPA_IPV6))
+- return sprintf(buf, "%s\n", "n/a");
+-
+ return qeth_l3_dev_route_show(card, &card->options.route6, buf);
+ }
+
+@@ -135,10 +132,6 @@ static ssize_t qeth_l3_dev_route6_store(
+ if (!card)
+ return -EINVAL;
+
+- if (!qeth_is_supported(card, IPA_IPV6)) {
+- return -EOPNOTSUPP;
+- }
+-
+ return qeth_l3_dev_route_store(card, &card->options.route6,
+ QETH_PROT_IPV6, buf, count);
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-08-qeth-panic.patch new/patches.arch/s390-02-08-qeth-panic.patch
--- old/patches.arch/s390-02-08-qeth-panic.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-08-qeth-panic.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,43 @@
+From: Gerald Schaefer
+Subject: qeth: avoid skb_under_panic for malformatted inbound data
+References: bnc#434333
+
+Symptom: kernel dump
+Problem: malformatted inbound packets due to hardware problems
+Solution: make the qeth driver more robust in case of malformatted inbound
+ packets due to hardware problems, an additional check for
+ OSN-card-type is added for OSN-type packets.
+
+Signed-off-by: Ursula Braun
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/net/qeth_l2_main.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+Index: linux-sles11/drivers/s390/net/qeth_l2_main.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/net/qeth_l2_main.c
++++ linux-sles11/drivers/s390/net/qeth_l2_main.c
+@@ -453,12 +453,15 @@ static void qeth_l2_process_inbound_buff
+ netif_rx(skb);
+ break;
+ case QETH_HEADER_TYPE_OSN:
+- skb_push(skb, sizeof(struct qeth_hdr));
+- skb_copy_to_linear_data(skb, hdr,
++ if (card->info.type == QETH_CARD_TYPE_OSN) {
++ skb_push(skb, sizeof(struct qeth_hdr));
++ skb_copy_to_linear_data(skb, hdr,
+ sizeof(struct qeth_hdr));
+- len = skb->len;
+- card->osn_info.data_cb(skb);
+- break;
++ len = skb->len;
++ card->osn_info.data_cb(skb);
++ break;
++ }
++ /* else unknown */
+ default:
+ dev_kfree_skb_any(skb);
+ QETH_DBF_TEXT(TRACE, 3, "inbunkno");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-02-09-tape-lock.patch new/patches.arch/s390-02-09-tape-lock.patch
--- old/patches.arch/s390-02-09-tape-lock.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-02-09-tape-lock.patch 2008-10-25 18:59:38.000000000 +0200
@@ -0,0 +1,87 @@
+From: Gerald Schaefer
+Subject: tape device driver: improve locking
+References: bnc#434333
+
+Symptom: 1. message "Badness at include/linux/blkdev.h"
+ 2. lockdep message "INFO: inconsistent lock state"
+Problem: 1. Tape block device driver does not hold request queue lock
+ when completing request via __blk_end_request.
+ 2. During open() processing tape device driver receives
+ interrupt while holding the tape device lock.
+Solution: 1. Use blk_end_request rather than __blk_end_request
+ 2. Use spin_lock_irq to disable interrupts rather than spin_lock.
+
+Acked-by: John Jolly
+---
+ drivers/s390/char/tape_block.c | 6 ++++--
+ drivers/s390/char/tape_core.c | 8 ++++----
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+Index: temp_orig/drivers/s390/char/tape_block.c
+===================================================================
+--- temp_orig.orig/drivers/s390/char/tape_block.c
++++ temp_orig/drivers/s390/char/tape_block.c
+@@ -76,7 +76,7 @@ tapeblock_trigger_requeue(struct tape_de
+ static void
+ tapeblock_end_request(struct request *req, int error)
+ {
+- if (__blk_end_request(req, error, blk_rq_bytes(req)))
++ if (blk_end_request(req, error, blk_rq_bytes(req)))
+ BUG();
+ }
+
+@@ -166,7 +166,7 @@ tapeblock_requeue(struct work_struct *wo
+ nr_queued++;
+ spin_unlock(get_ccwdev_lock(device->cdev));
+
+- spin_lock(&device->blk_data.request_queue_lock);
++ spin_lock_irq(&device->blk_data.request_queue_lock);
+ while (
+ !blk_queue_plugged(queue) &&
+ elv_next_request(queue) &&
+@@ -176,7 +176,9 @@ tapeblock_requeue(struct work_struct *wo
+ if (rq_data_dir(req) == WRITE) {
+ DBF_EVENT(1, "TBLOCK: Rejecting write request\n");
+ blkdev_dequeue_request(req);
++ spin_unlock_irq(&device->blk_data.request_queue_lock);
+ tapeblock_end_request(req, -EIO);
++ spin_lock_irq(&device->blk_data.request_queue_lock);
+ continue;
+ }
+ blkdev_dequeue_request(req);
+Index: temp_orig/drivers/s390/char/tape_core.c
+===================================================================
+--- temp_orig.orig/drivers/s390/char/tape_core.c
++++ temp_orig/drivers/s390/char/tape_core.c
+@@ -1199,7 +1199,7 @@ tape_open(struct tape_device *device)
+ {
+ int rc;
+
+- spin_lock(get_ccwdev_lock(device->cdev));
++ spin_lock_irq(get_ccwdev_lock(device->cdev));
+ if (device->tape_state == TS_NOT_OPER) {
+ DBF_EVENT(6, "TAPE:nodev\n");
+ rc = -ENODEV;
+@@ -1217,7 +1217,7 @@ tape_open(struct tape_device *device)
+ tape_state_set(device, TS_IN_USE);
+ rc = 0;
+ }
+- spin_unlock(get_ccwdev_lock(device->cdev));
++ spin_unlock_irq(get_ccwdev_lock(device->cdev));
+ return rc;
+ }
+
+@@ -1227,11 +1227,11 @@ tape_open(struct tape_device *device)
+ int
+ tape_release(struct tape_device *device)
+ {
+- spin_lock(get_ccwdev_lock(device->cdev));
++ spin_lock_irq(get_ccwdev_lock(device->cdev));
+ if (device->tape_state == TS_IN_USE)
+ tape_state_set(device, TS_UNUSED);
+ module_put(device->discipline->owner);
+- spin_unlock(get_ccwdev_lock(device->cdev));
++ spin_unlock_irq(get_ccwdev_lock(device->cdev));
+ return 0;
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/x86_uv_early_detect.patch new/patches.arch/x86_uv_early_detect.patch
--- old/patches.arch/x86_uv_early_detect.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86_uv_early_detect.patch 2008-10-27 14:13:29.000000000 +0100
@@ -0,0 +1,212 @@
+From: Jack Steiner
+Subject: Delete hacks that were necessary while waiting for x2apic code.
+References: bnc#429984
+Patch-Mainline: should be in 2.6.28
+
+Bug fixes related to mapping UV memory MMRs.
+
+Fix large APIC ids in SRAT.
+
+Use the correct memory allocator. Originally, uv_system_init was
+called early & used the boot memory allocation. Community restructuring
+move the call later - use kmalloc.
+
+These fixes were posted as:
+ http://marc.info/?l=linux-kernel&m=122217746109578&w=2
+ http://marc.info/?l=linux-kernel&m=122234718018066&w=2
+ http://marc.info/?l=linux-kernel&m=122480249023345&w=2
+ http://lkml.org/lkml/2008/7/18/384
+
+The fixes were commited to linux-2.6 with:
+ d2f904bb9a1ba88a58a03612abd8c6c54bdaf73a genx2apic_uv_x.c
+ 8da077d6f31da291ee3a7dd559671cb8ca48cbe2 genx2apic_uv_x.c
+ 2e42060c19cb79adacc48beb5e9ec5361df976a2 srat_64.c
+
+The last fix (http://lkml.org/lkml/2008/7/18/384) has not yet been accepted into
+linux-2.6. I'll post the commit id when it is available.
+
+Signed-off-by: Thomas Renninger
+
+---
+ arch/x86/kernel/genx2apic_uv_x.c | 58 +++++++++++++++++++--------------------
+ arch/x86/mm/srat_64.c | 2 -
+ 2 files changed, 30 insertions(+), 30 deletions(-)
+
+Index: linux/arch/x86/kernel/genx2apic_uv_x.c
+===================================================================
+--- linux.orig/arch/x86/kernel/genx2apic_uv_x.c 2008-10-24 13:10:30.000000000 -0500
++++ linux/arch/x86/kernel/genx2apic_uv_x.c 2008-10-24 13:35:17.000000000 -0500
+@@ -17,7 +17,6 @@
+ #include
+ #include
+ #include
+-#include
+ #include
+ #include
+ #include
+@@ -205,12 +204,10 @@ static unsigned int phys_pkg_id(int inde
+ return uv_read_apic_id() >> index_msb;
+ }
+
+-#ifdef ZZZ /* Needs x2apic patch */
+ static void uv_send_IPI_self(int vector)
+ {
+ apic_write(APIC_SELF_IPI, vector);
+ }
+-#endif
+
+ struct genapic apic_x2apic_uv_x = {
+ .name = "UV large system",
+@@ -224,7 +221,7 @@ struct genapic apic_x2apic_uv_x = {
+ .send_IPI_all = uv_send_IPI_all,
+ .send_IPI_allbutself = uv_send_IPI_allbutself,
+ .send_IPI_mask = uv_send_IPI_mask,
+- /* ZZZ.send_IPI_self = uv_send_IPI_self, */
++ .send_IPI_self = uv_send_IPI_self,
+ .cpu_mask_to_apicid = uv_cpu_mask_to_apicid,
+ .phys_pkg_id = phys_pkg_id, /* Fixme ZZZ */
+ .get_apic_id = get_apic_id,
+@@ -289,12 +286,13 @@ static __init void map_low_mmrs(void)
+
+ enum map_type {map_wb, map_uc};
+
+-static __init void map_high(char *id, unsigned long base, int shift, enum map_type map_type)
++static __init void map_high(char *id, unsigned long base, int shift,
++ int max_pnode, enum map_type map_type)
+ {
+ unsigned long bytes, paddr;
+
+ paddr = base << shift;
+- bytes = (1UL << shift);
++ bytes = (1UL << shift) * (max_pnode + 1);
+ printk(KERN_INFO "UV: Map %s_HI 0x%lx - 0x%lx\n", id, paddr,
+ paddr + bytes);
+ if (map_type == map_uc)
+@@ -310,7 +308,7 @@ static __init void map_gru_high(int max_
+
+ gru.v = uv_read_local_mmr(UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR);
+ if (gru.s.enable)
+- map_high("GRU", gru.s.base, shift, map_wb);
++ map_high("GRU", gru.s.base, shift, max_pnode, map_wb);
+ }
+
+ static __init void map_config_high(int max_pnode)
+@@ -320,7 +318,7 @@ static __init void map_config_high(int m
+
+ cfg.v = uv_read_local_mmr(UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR);
+ if (cfg.s.enable)
+- map_high("CONFIG", cfg.s.base, shift, map_uc);
++ map_high("CONFIG", cfg.s.base, shift, max_pnode, map_uc);
+ }
+
+ static __init void map_mmr_high(int max_pnode)
+@@ -330,7 +328,7 @@ static __init void map_mmr_high(int max_
+
+ mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR);
+ if (mmr.s.enable)
+- map_high("MMR", mmr.s.base, shift, map_uc);
++ map_high("MMR", mmr.s.base, shift, max_pnode, map_uc);
+ }
+
+ static __init void map_mmioh_high(int max_pnode)
+@@ -340,7 +338,7 @@ static __init void map_mmioh_high(int ma
+
+ mmioh.v = uv_read_local_mmr(UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR);
+ if (mmioh.s.enable)
+- map_high("MMIOH", mmioh.s.base, shift, map_uc);
++ map_high("MMIOH", mmioh.s.base, shift, max_pnode, map_uc);
+ }
+
+ static __init void uv_rtc_init(void)
+@@ -379,7 +377,22 @@ static void uv_display_heartbeat(void)
+ }
+ #endif
+
+-static bool uv_system_inited;
++/*
++ * Called on each cpu to initialize the per_cpu UV data area.
++ * ZZZ hotplug not supported yet
++ */
++void __cpuinit uv_cpu_init(void)
++{
++ /* CPU 0 initilization will be done via uv_system_init. */
++ if (!uv_blade_info)
++ return;
++
++ uv_blade_info[uv_numa_blade_id()].nr_online_cpus++;
++
++ if (get_uv_system_type() == UV_NON_UNIQUE_APIC)
++ set_x2apic_extra_bits(uv_hub_info->pnode);
++}
++
+
+ void __init uv_system_init(void)
+ {
+@@ -406,16 +419,16 @@ void __init uv_system_init(void)
+ printk(KERN_DEBUG "UV: Found %d blades\n", uv_num_possible_blades());
+
+ bytes = sizeof(struct uv_blade_info) * uv_num_possible_blades();
+- uv_blade_info = alloc_bootmem_pages(bytes);
++ uv_blade_info = kmalloc(bytes, GFP_KERNEL);
+
+ get_lowmem_redirect(&lowmem_redir_base, &lowmem_redir_size);
+
+ bytes = sizeof(uv_node_to_blade[0]) * num_possible_nodes();
+- uv_node_to_blade = alloc_bootmem_pages(bytes);
++ uv_node_to_blade = kmalloc(bytes, GFP_KERNEL);
+ memset(uv_node_to_blade, 255, bytes);
+
+ bytes = sizeof(uv_cpu_to_blade[0]) * num_possible_cpus();
+- uv_cpu_to_blade = alloc_bootmem_pages(bytes);
++ uv_cpu_to_blade = kmalloc(bytes, GFP_KERNEL);
+ memset(uv_cpu_to_blade, 255, bytes);
+
+ blade = 0;
+@@ -474,11 +487,12 @@ void __init uv_system_init(void)
+ map_mmr_high(max_pnode);
+ map_config_high(max_pnode);
+ map_mmioh_high(max_pnode);
+- uv_system_inited = true;
+
+ /* enable post-smp_cpus_done processing */
+ smp_cpus_done_system = uv_start_system;
+
++ uv_cpu_init();
++
+ #ifdef CONFIG_CLOCKSOURCE_WATCHDOG
+ /* enable heartbeat display callback */
+ display_heartbeat = uv_display_heartbeat;
+@@ -489,20 +503,6 @@ void __init uv_system_init(void)
+ }
+
+ /*
+- * Called on each cpu to initialize the per_cpu UV data area.
+- * ZZZ hotplug not supported yet
+- */
+-void __cpuinit uv_cpu_init(void)
+-{
+- BUG_ON(!uv_system_inited);
+-
+- uv_blade_info[uv_numa_blade_id()].nr_online_cpus++;
+-
+- if (get_uv_system_type() == UV_NON_UNIQUE_APIC)
+- set_x2apic_extra_bits(uv_hub_info->pnode);
+-}
+-
+-/*
+ * Illuminate "activity" LED when CPU is going "active",
+ * extinguish when going "idle".
+ */
+Index: linux/arch/x86/mm/srat_64.c
+===================================================================
+--- linux.orig/arch/x86/mm/srat_64.c 2008-10-24 13:10:30.000000000 -0500
++++ linux/arch/x86/mm/srat_64.c 2008-10-24 13:35:12.000000000 -0500
+@@ -138,7 +138,7 @@ acpi_numa_processor_affinity_init(struct
+ return;
+ }
+
+- if (is_uv_system())
++ if (get_uv_system_type() >= UV_X2APIC)
+ apic_id = (pa->apic_id << 8) | pa->local_sapic_eid;
+ else
+ apic_id = pa->apic_id;
++++++ patches.drivers.tar.bz2 ++++++
++++ 14394 lines of diff (skipped)
++++++ patches.fixes.tar.bz2 ++++++
++++ 2628 lines of diff (skipped)
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 1900 lines of diff (skipped)
++++++ patches.rpmify.tar.bz2 ++++++
++++++ patches.rt.tar.bz2 ++++++
++++++ patches.suse.tar.bz2 ++++++
++++ 4506 lines of diff (skipped)
++++++ patches.trace.tar.bz2 ++++++
++++++ patches.uml.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
++++ 44241 lines of diff (skipped)
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.j11846/_old 2008-10-28 00:13:40.000000000 +0100
+++ /var/tmp/diff_new_pack.j11846/_new 2008-10-28 00:13:40.000000000 +0100
@@ -30,7 +30,7 @@
patches.kernel.org/patch-2.6.27.1
patches.kernel.org/patch-2.6.27.1-2
patches.kernel.org/patch-2.6.27.2-3
- patches.kernel.org/patch-2.6.27.4-rc2
+ patches.kernel.org/patch-2.6.27.3-4
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -247,6 +247,14 @@
patches.arch/s390-01-06-zfcp-cleanup-v2.patch
patches.arch/s390-02-01-xpram.patch
+ patches.arch/s390-02-02-smp-sysdev.patch
+ patches.arch/s390-02-03-zfcp.patch
+ patches.arch/s390-02-04-qeth-mac.patch
+ patches.arch/s390-02-05-qeth-recovery.patch
+ patches.arch/s390-02-06-qeth-offset.patch
+ patches.arch/s390-02-07-qeth-ipv6check.patch
+ patches.arch/s390-02-08-qeth-panic.patch
+ patches.arch/s390-02-09-tape-lock.patch
########################################################
# VM/FS patches
@@ -632,6 +640,10 @@
patches.drivers/sgi-uv-led
patches.drivers/sgi-ioc4-request-submodules
+ # This one is more related to x2APIC patches, but adjusted by SGI to cleanly
+ # patch on-top of sgi-uv-led -> I don't do the extra work and keep it here
+ patches.arch/x86_uv_early_detect.patch
+
patches.fixes/cxgb3_fix_race_in_EEH
# Add support for Montevina hardware; series mainlined 2.6.26
@@ -645,7 +657,7 @@
########################################################
# Storage
########################################################
-+2.6.26-teheo patches.drivers/libata-add-waits-for-govault
+ patches.drivers/libata-add-waits-for-govault
patches.drivers/libata-unlock-hpa-by-default
patches.drivers/libata-prefer-over-ide
@@ -787,6 +799,7 @@
########################################################
patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch
patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch
+ patches.kernel.org/touch_mnt_namespace-when-the-mount-flags-change.patch
##########################################################
@@ -863,7 +876,6 @@
patches.suse/kdb-x86
patches.suse/kdb-ia64
patches.suse/kdb-serial-8250
- patches.fixes/kdb-kdump.diff
########################################################
# Other patches for debugging
@@ -873,9 +885,13 @@
patches.suse/no-frame-pointer-select
patches.arch/x86_64-unwind-annotations
- # dump_after_notifier_table sysctl for Teradata
- # and others (bnc#436678)
+ ########################################################
+ # Kdump
+ ########################################################
+ patches.fixes/kdb-kdump.diff
+ patches.fixes/kdb-oops-panic.diff
patches.suse/kdump-dump_after_notifier.patch
+ patches.fixes/hpwdt-kdump.diff
########################################################
# cgroups
++++++ split-into-symsets ++++++
#! /bin/bash
usage() {
echo "Usage: ${0##*/} {dir} < Module.symvers"
exit $1
}
[ $# -eq 1 ] || usage 1
dir=$1
tmpdir=$(mktemp -dt ${0##*/}.XXXXXXXXXX)
trap "rm -rf $tmpdir" EXIT
split_into_sets() {
local dir=$1
awk '
{ set = gensub(/\/[^\/]+$/, "", "", $3)
sets[set] = sets[set] $0 "\n"
}
END {
for (set in sets) {
filename = gensub(/\//, "_", "g", set)
printf "%s", sets[set] > dir "/" filename
}
}
' dir="$dir"
}
sort -k2 \
| split_into_sets "$tmpdir"
shopt -s nullglob
set -- $tmpdir/*
if [ $# -ne 0 ]; then
md5sum "$@" \
| while read md5sum set; do
cp $set $dir/${set##*/}.${md5sum:0:16}
done
fi
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org