Accepting request 33455 from Kernel:HEAD

Copy from Kernel:HEAD/kernel-source based on submit request 33455 from user michal-m

OBS-URL: https://build.opensuse.org/request/show/33455
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kernel-source?expand=0&rev=86
This commit is contained in:
OBS User autobuild 2010-02-25 10:22:51 +00:00 committed by Git OBS Bridge
parent faa78a441c
commit 823a5532c2
42 changed files with 1980 additions and 70 deletions

View File

@ -1,5 +1,5 @@
# The version of the main tarball to use
SRCVERSION=2.6.32
SRCVERSION=2.6.33
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e2eda99e4a791749f8a979a3f371a2a8714d61d0e199c8f0c2a2c86d6661d34
size 203062
oid sha256:18b6fb0811ee21fdfeb307510fb668c70659baaf7c8c9b4cc5deb5bf70385bee
size 203076

View File

@ -7,6 +7,7 @@ use Data::Dumper;
# ( { sym => regexp, mod => regexp, fail => 0/1 }, ... )
my @rules;
my ($opt_verbose, $opt_rules);
sub load_rules {
my $file = shift;
@ -82,6 +83,7 @@ sub kabi_change {
last;
}
}
return unless $fail or $opt_verbose;
print STDERR "KABI: symbol $sym($mod) ";
if ($newcrc) {
print STDERR "changed crc from $oldcrc to $newcrc"
@ -100,7 +102,6 @@ sub xopen {
open($_[0], $_[1], @_[2..$#_]) or die "$_[2]: $!\n";
}
my ($opt_verbose, $opt_rules);
my $res = GetOptions(
'verbose|v' => \$opt_verbose,
'rules|r=s' => \$opt_rules,

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor debug
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-debug
Summary: A Debug Version of the Kernel
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -119,6 +128,7 @@ Provides: kernel = %version-%source_rel
Provides: kernel-kdump
Obsoletes: kernel-kdump
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -152,6 +162,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 ppc64 x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -166,6 +177,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -194,8 +206,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -211,33 +225,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -247,6 +271,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -256,27 +281,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -285,10 +317,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -308,21 +342,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -358,10 +398,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -402,8 +444,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -422,28 +466,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -451,6 +503,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -460,11 +513,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -472,6 +527,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -479,6 +535,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -487,12 +544,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -501,11 +560,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -522,6 +583,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -536,6 +598,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -552,6 +615,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -560,15 +624,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -588,6 +655,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -595,6 +663,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -606,6 +675,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -686,11 +757,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor default
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-default
Summary: The Standard Kernel
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -135,6 +144,7 @@ Obsoletes: kernel-64bit
Provides: smp kernel-smp
Obsoletes: smp kernel-smp
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -168,6 +178,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 ppc ppc64 s390x x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -182,6 +193,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -210,8 +222,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -226,33 +240,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -262,6 +286,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -271,27 +296,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -300,10 +332,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -323,21 +357,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -373,10 +413,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -417,8 +459,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -437,28 +481,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -466,6 +518,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -475,11 +528,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -487,6 +542,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -494,6 +550,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -502,12 +559,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -516,11 +575,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -537,6 +598,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -551,6 +613,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -567,6 +630,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -575,15 +639,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -603,6 +670,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -610,6 +678,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -621,6 +690,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -660,6 +730,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -699,11 +770,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor desktop
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-desktop
Summary: Kernel optimized for the desktop
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -162,6 +173,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -204,11 +218,13 @@ disabled.
This kernel supports up to 64GB of main memory. It requires Physical
Addressing Extensions (PAE), which were introduced with the Pentium Pro
processor.
PAE is not only more physical address space but also important for the
"no execute" feature which disables execution of code that is marked as
non-executable. Therefore, the PAE kernel should be used on any systems
that support it, regardless of the amount of main memory.
%endif
%source_timestamp
%prep
@ -217,33 +233,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -253,6 +279,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -262,27 +289,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -291,10 +325,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -314,21 +350,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -364,10 +406,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -408,8 +452,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -428,28 +474,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -457,6 +511,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -466,11 +521,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -478,6 +535,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -485,6 +543,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -493,12 +552,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -507,11 +568,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -528,6 +591,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -542,6 +606,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -558,6 +623,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -566,15 +632,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -594,6 +663,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -601,6 +671,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -612,6 +683,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -646,12 +718,15 @@ disabled.
This kernel supports up to 64GB of main memory. It requires Physical
Addressing Extensions (PAE), which were introduced with the Pentium Pro
processor.
PAE is not only more physical address space but also important for the
"no execute" feature which disables execution of code that is marked as
non-executable. Therefore, the PAE kernel should be used on any systems
that support it, regardless of the amount of main memory.
%endif
This package contains only the base modules, required in all installs.
%source_timestamp
%preun base -f preun-base.sh
@ -661,6 +736,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -695,12 +771,15 @@ disabled.
This kernel supports up to 64GB of main memory. It requires Physical
Addressing Extensions (PAE), which were introduced with the Pentium Pro
processor.
PAE is not only more physical address space but also important for the
"no execute" feature which disables execution of code that is marked as
non-executable. Therefore, the PAE kernel should be used on any systems
that support it, regardless of the amount of main memory.
%endif
This package contains additional modules not supported by Novell.
%source_timestamp
%preun extra -f preun-extra.sh
@ -710,11 +789,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -27,7 +27,7 @@ License: GPLv2+
Group: Documentation/Man
AutoReqProv: on
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,7 +78,9 @@ if [ -d Documentation/kdb ] ; then
cp $i $RPM_BUILD_ROOT/%{_mandir}/man9/$k
done
fi
ln -s /usr/share/man/man9/request_threaded_irq.9.gz $RPM_BUILD_ROOT/usr/share/man/man9/request_irq.9.gz
cp -a /usr/src/linux-%{version}-%{release_major}/{COPYING,CREDITS,MAINTAINERS,README,REPORTING-BUGS} .
%clean

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor ec2
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-ec2
Summary: The Amazon EC2 Xen Kernel
Version: 2.6.33
Release: 2
Release: 3
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -162,6 +173,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -209,33 +223,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -245,6 +269,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -254,27 +279,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -283,10 +315,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -306,21 +340,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -356,10 +396,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -400,8 +442,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -420,28 +464,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -449,6 +501,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -458,11 +511,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -470,6 +525,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -477,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -485,12 +542,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -499,11 +558,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -520,6 +581,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -534,6 +596,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -550,6 +613,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -558,15 +622,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -586,6 +653,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -593,6 +661,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -604,6 +673,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -688,11 +759,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor pae
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-pae
Summary: Kernel with PAE Support
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -119,6 +128,7 @@ Provides: kernel = %version-%source_rel
Provides: kernel-bigsmp
Obsoletes: kernel-bigsmp
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -152,6 +162,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -166,6 +177,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -194,8 +206,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -217,33 +231,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -253,6 +277,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -262,27 +287,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -291,10 +323,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -314,21 +348,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -364,10 +404,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -408,8 +450,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -428,28 +472,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -457,6 +509,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -466,11 +519,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -478,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -485,6 +541,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -493,12 +550,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -507,11 +566,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -528,6 +589,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -542,6 +604,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -558,6 +621,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -566,15 +630,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -594,6 +661,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -601,6 +669,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -612,6 +681,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -658,6 +728,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -704,11 +775,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor ppc64
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-ppc64
Summary: Kernel for ppc64 Systems
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -123,6 +132,7 @@ Obsoletes: kernel-pmac64 kernel-pseries64 kernel-iseries64 kernel-kdump
Provides: kernel-kdump
Obsoletes: kernel-kdump
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -156,6 +166,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: ppc ppc64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -170,6 +181,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -198,8 +210,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -221,33 +235,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -257,6 +281,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -266,27 +291,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -295,10 +327,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -318,21 +352,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -368,10 +408,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -412,8 +454,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -432,28 +476,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -461,6 +513,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -470,11 +523,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -482,6 +537,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -489,6 +545,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -497,12 +554,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -511,11 +570,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -532,6 +593,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -546,6 +608,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -562,6 +625,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -570,15 +634,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -598,6 +665,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -605,6 +673,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -616,6 +685,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -662,6 +732,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -708,11 +779,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor ps3
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-ps3
Summary: kernel for ps3 bootloader
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: ppc
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -162,6 +173,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -209,33 +223,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -245,6 +269,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -254,27 +279,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -283,10 +315,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -306,21 +340,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -356,10 +396,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -400,8 +442,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -420,28 +464,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -449,6 +501,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -458,11 +511,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -470,6 +525,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -477,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -485,12 +542,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -499,11 +558,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -520,6 +581,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -534,6 +596,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -550,6 +613,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -558,15 +622,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -586,6 +653,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -593,6 +661,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -604,6 +673,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -688,11 +759,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor s390
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-s390
Summary: The Standard Kernel
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -119,6 +128,7 @@ Provides: kernel = %version-%source_rel
Provides: kernel-32bit
Obsoletes: kernel-32bit
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -152,6 +162,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: s390
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -166,6 +177,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -194,8 +206,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -210,33 +224,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -246,6 +270,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -255,27 +280,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -284,10 +316,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -307,21 +341,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -357,10 +397,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -401,8 +443,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -421,28 +465,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -450,6 +502,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -459,11 +512,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -471,6 +526,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -478,6 +534,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -486,12 +543,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -500,11 +559,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -521,6 +582,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -535,6 +597,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -551,6 +614,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -559,15 +623,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -587,6 +654,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -594,6 +662,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -605,6 +674,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -644,6 +714,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -683,11 +754,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -18,10 +18,12 @@
# norootforbuild
# icecream 0
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define src_install_dir usr/src/linux-%kernelrelease%variant
%define obj_install_dir /%src_install_dir-obj
%define rpm_install_dir %buildroot%real_install_dir
@ -29,7 +31,7 @@
Name: kernel-source
Summary: The Linux Kernel Sources
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -98,9 +100,12 @@ Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Prefix: /usr/src
%(chmod +x %_sourcedir/{apply-patches,guards,check-for-config-changes,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols})
%define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define variant_symbols %(case %name in (*-rt) echo "RT" ;; esac)
%define do_vanilla "%variant" == ""
%description
@ -125,7 +130,9 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
echo "Please get a copy of linux-%srcversion.tar.bz2 from" \
"ftp://ftp.kernel.org/pub/linux/kernel/v2.6/."
fi
echo "Symbol(s): %symbols"
# Unpack all sources and patches
%setup -q -c -T -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113
@ -135,12 +142,16 @@ RELEASE=%source_rel
while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do
RELEASE=${RELEASE#[^0-9]*.}
done
mkdir -p $RPM_BUILD_ROOT/usr/src
cd $RPM_BUILD_ROOT/usr/src
ln -sf linux%variant linux%variant # dummy symlink
# Unpack the vanilla kernel sources
tar xjf %_sourcedir/linux-%srcversion.tar.bz2
mv linux-%srcversion linux-%kernelrelease%variant
%if %do_vanilla
cp -al linux-%kernelrelease%variant linux-%kernelrelease-vanilla
cd linux-%kernelrelease-vanilla
@ -148,12 +159,15 @@ cd linux-%kernelrelease-vanilla
rm -f $(find . -name ".gitignore")
cd ..
%endif
cd linux-%kernelrelease%variant
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
rm -f $(find . -name ".gitignore")
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $RPM_BUILD_ROOT
@ -163,11 +177,13 @@ DOC=$RPM_BUILD_ROOT/usr/share/doc/packages/%name
mkdir -p $DOC
cp %_sourcedir/README.SUSE $DOC
ln -s /usr/share/doc/packages/%name/README.SUSE %buildroot/%src_install_dir/
install -m 755 -d $RPM_BUILD_ROOT/etc/rpm
install -m 644 %_sourcedir/macros.kernel-source $RPM_BUILD_ROOT/etc/rpm/
install -m 755 -d $RPM_BUILD_ROOT/usr/lib/rpm
install -m 644 %_sourcedir/kernel-module-subpackage \
$RPM_BUILD_ROOT/usr/lib/rpm/
for script in post; do
sed -e "s:@KERNELRELEASE@:%kernelrelease:g" \
-e "s:@SRCVARIANT@:%variant:g" \
@ -183,6 +199,7 @@ done
/etc/rpm/macros.kernel-source
/usr/lib/rpm/kernel-module-subpackage
/%src_install_dir
%if %do_vanilla
%files vanilla

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -18,12 +18,13 @@
# norootforbuild
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%define kernel_source_release %(LC_ALL=C rpm -q kernel-source%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0)

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor trace
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-trace
Summary: The Realtime Linux Kernel
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -127,6 +136,7 @@ Obsoletes: kernel-32bit
Provides: kernel-64bit
Obsoletes: kernel-64bit
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -160,6 +170,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 ppc64 s390 s390x x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -174,6 +185,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -202,8 +214,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -218,33 +232,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -254,6 +278,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -263,27 +288,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -292,10 +324,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -315,21 +349,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -365,10 +405,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -409,8 +451,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -429,28 +473,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -458,6 +510,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -467,11 +520,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -479,6 +534,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -486,6 +542,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -494,12 +551,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -508,11 +567,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -529,6 +590,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -543,6 +605,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -559,6 +622,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -567,15 +631,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -595,6 +662,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -602,6 +670,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -613,6 +682,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -652,6 +722,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -691,11 +762,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor vanilla
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -123,6 +132,7 @@ Obsoletes: kernel-32bit
Provides: kernel-64bit
Obsoletes: kernel-64bit
%endif
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -156,6 +166,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 ppc ppc64 s390 s390x x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -170,6 +181,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -198,8 +210,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -214,33 +228,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -250,6 +274,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -259,27 +284,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -288,10 +320,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -311,21 +345,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -361,10 +401,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -405,8 +447,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -425,28 +469,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -454,6 +506,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -463,11 +516,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -475,6 +530,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -482,6 +538,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -490,12 +547,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -504,11 +563,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -525,6 +586,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -539,6 +601,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -555,6 +618,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -563,15 +627,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -591,6 +658,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -598,6 +666,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -609,6 +678,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -648,6 +718,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -687,11 +758,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor vmi
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-vmi
Summary: VMI-enabled kernel
Version: 2.6.33
Release: 3
Release: 4
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -162,6 +173,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -207,33 +221,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -243,6 +267,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -252,27 +277,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -281,10 +313,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -304,21 +338,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -354,10 +394,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -398,8 +440,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -418,28 +462,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -447,6 +499,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -456,11 +509,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -468,6 +523,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -475,6 +531,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -483,12 +540,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -497,11 +556,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -518,6 +579,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -532,6 +594,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -548,6 +611,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -556,15 +620,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -584,6 +651,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -591,6 +659,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -602,6 +671,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -642,6 +712,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -682,11 +753,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Thu Feb 25 06:04:24 CET 2010 - jeffm@suse.com
- patches.xen/xen3-patch-2.6.33-rc8-final: Build fix for the
2.6.33-final update.
-------------------------------------------------------------------
Wed Feb 24 21:00:52 CET 2010 - jeffm@suse.de
- Updated to 2.6.33-final.
- Eliminated 4 patches.
-------------------------------------------------------------------
Wed Feb 24 20:02:26 CET 2010 - jeffm@suse.de
- patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5:
ftrace: fix ftrace_event_call alignment for use with gcc 4.5
(bnc#582222).
-------------------------------------------------------------------
Wed Feb 24 14:46:28 CET 2010 - jbeulich@novell.com
- Update Xen patches to 2.6.33-rc8 and c/s 997.
- patches.xen/xen-x86-time-per-cpu: fold per-CPU accounting data
into a structure.
- patches.xen/xen-x86-xtime-lock: reduce contention on xtime_lock
(bnc#569014, bnc#571041, bnc#571769, bnc#572146).
-------------------------------------------------------------------
Tue Feb 23 00:34:32 CET 2010 - jack@suse.de
- patches.fixes/novfs-fix-inode-uid: novfs: Get proper UID when
looking up inode (bnc#486997).
- patches.fixes/novfs-incorrect-filesize-fix: novfs: novfs
reports incorrect file size (bnc#426536).
- patches.fixes/novfs-truncate-fix: novfs: Fixes corruption of
OO documents on NSS Volumes (bnc#508259).
-------------------------------------------------------------------
Wed Feb 17 04:07:36 CET 2010 - nfbrown@suse.de
- patches.fixes/nfs-find-crash: Fix potential oops when running
find on an NFS mount. (bnc#573107).
-------------------------------------------------------------------
Tue Feb 16 21:21:22 CET 2010 - jeffm@suse.com
- Set CONFIG_LSM_MMAP_MIN_ADDR=4096 to allow qemu to emulate
other architectures properly (bnc#574654).
-------------------------------------------------------------------
Tue Feb 16 18:10:01 CET 2010 - jeffm@suse.com
- Update to 2.6.33-rc8.
- Eliminated 1 patch.
-------------------------------------------------------------------
Mon Feb 15 19:15:43 CET 2010 - rgoldwyn@suse.de
- patches.fixes/novfs-err_ptr-fix.diff: Oops in novfs:unlink_local
(bnc#569071).
-------------------------------------------------------------------
Fri Feb 12 17:36:05 CET 2010 - trenn@suse.de
@ -1846,6 +1908,11 @@ Mon Dec 14 18:45:26 CET 2009 - jjolly@suse.de
- patches.fixes/libfcoe-add-tracking-fip--0: libfcoe: add tracking
FIP Virtual Link Failure count (BNC#562046).
-------------------------------------------------------------------
Mon Dec 14 16:41:36 CET 2009 - mmarek@suse.cz
- rpm/kabi.pl: Do not print harmless kabi changes by default.
-------------------------------------------------------------------
Mon Dec 14 14:41:57 CET 2009 - sjayaraman@suse.de

View File

@ -17,29 +17,36 @@
# norootforbuild
%define srcversion 2.6.32
%define patchversion 2.6.33-rc7
%define srcversion 2.6.33
%define patchversion 2.6.33
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define build_flavor xen
%define build_kdump (%build_flavor == "kdump")
%define build_xen (%build_flavor == "xen" || %build_flavor == "ec2")
%define build_vanilla (%build_flavor == "vanilla")
%define build_ps3 (%build_flavor == "ps3")
%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-obj
%(chmod +x %_sourcedir/{apply-patches,arch-symbols,find-provides,guards,check-for-config-changes,check-supported-list,modversions,kabi.pl,split-modules})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
# defining them all at once.)
%define config_vars CONFIG_MODULES CONFIG_KMSG_IDS CONFIG_SPLIT_PACKAGE CONFIG_ENTERPRISE_SUPPORT
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_base (%CONFIG_SPLIT_PACKAGE == "y")
%define split_extra (%CONFIG_SPLIT_PACKAGE == "y" && %CONFIG_ENTERPRISE_SUPPORT == "y")
%ifarch %ix86 x86_64
%define install_vdso 1
%else
@ -49,7 +56,7 @@
Name: kernel-xen
Summary: The Xen Kernel
Version: 2.6.33
Release: 2
Release: 3
%if %using_buildservice
%else
%endif
@ -78,6 +85,7 @@ Requires(post): module-init-tools >= 3.4
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): mkinitrd
#!BuildIgnore: perl-Bootloader mkinitrd
%ifarch ia64
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
@ -96,6 +104,7 @@ Obsoletes: kernel-xenpae <= %version
%endif
#!BuildIgnore: xen
%endif
Provides: %name-nongpl
Obsoletes: %name-nongpl
%if %build_vanilla
@ -115,6 +124,7 @@ Conflicts: lvm2 < 2.02.33
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source10: preun.sh
Source11: postun.sh
@ -148,6 +158,7 @@ Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 100
@ -162,6 +173,7 @@ NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 120
# The following KMPs have been integrated into the kernel package.
# sles10 / 10.3
Obsoletes: iwlwifi-kmp-%build_flavor
@ -190,8 +202,10 @@ Obsoletes: perfmon-kmp-%build_flavor
Obsoletes: ocfs2-kmp-%build_flavor
# 11.1
Obsoletes: quickcam-kmp-%build_flavor < 0.6.7
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -209,33 +223,43 @@ if ! [ -e %_sourcedir/linux-%srcversion.tar.bz2 ]; then
"complete sources. Please install kernel-source-%version.src.rpm."
exit 1
fi
SYMBOLS=
if test -e %_sourcedir/extra-symbols; then
SYMBOLS=$(cat %_sourcedir/extra-symbols)
echo "extra symbol(s):" $SYMBOLS
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120
mkdir -p %kernel_build_dir
supported_conf() {
%_sourcedir/guards $* < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u
}
# Generate the list of modules to be marked as supported
{ supported_conf base
supported_conf --default=0 external | sed 's/$/ external/'
} > %kernel_build_dir/Module.supported
supported_conf --default=0 base >%kernel_build_dir/Module.base
cd linux-%srcversion
%_sourcedir/apply-patches \
%if %{build_vanilla}
--vanilla \
%endif
%_sourcedir/series.conf .. $SYMBOLS
cd %kernel_build_dir
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
cp ../config/%cpu_arch_flavor .config
%build_src_dir/scripts/config \
--set-str CONFIG_LOCALVERSION -%release_major-%build_flavor \
@ -245,6 +269,7 @@ cp ../config/%cpu_arch_flavor .config
%else
--disable CONFIG_DEBUG_INFO
%endif
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
@ -254,27 +279,34 @@ else
%_sourcedir/check-for-config-changes .config.orig .config
rm .config.orig
fi
make prepare $MAKE_ARGS
make scripts $MAKE_ARGS
krel=$(make -s kernelrelease $MAKE_ARGS)
if [ "$krel" != "%kernelrelease-%build_flavor" ]; then
echo "Kernel release mismatch: $krel != %kernelrelease-%build_flavor" >&2
exit 1
fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
cat > .kernel-binary.spec.buildenv <<EOF
# Override the timestamp 'uname -v' reports with the build
# timestamp.
export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/source-timestamp | awk '{ print $2 }')"
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/source-timestamp)"
# The following branch/timestamp will end up in Oopses.
export OOPS_TIMESTAMP="$(
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
%_sourcedir/source-timestamp)
head -n 1 %_sourcedir/source-timestamp \
| tr -dc 0-9)"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_OVERRIDE=1
@ -283,10 +315,12 @@ EOF
%build
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# If the %jobs macro is defined to a number, make will spawn that many jobs.
# There are several ways how to define it:
# If you are using the build script:
@ -306,21 +340,27 @@ fi
%endif
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
# kernel-source package is installed. Don't check for stale symlinks
# in the brp-symlink check:
export NO_BRP_STALE_LINK_ERROR=yes
cd %kernel_build_dir
mkdir -p %buildroot/boot
# (Could strip out non-public symbols.)
cp -p System.map %buildroot/boot/System.map-%kernelrelease-%build_flavor
add_vmlinux()
{
local vmlinux=boot/vmlinux-%kernelrelease-%build_flavor compressed=false
if test $1 == "--compressed"; then
compressed=true
fi
@ -356,10 +396,12 @@ add_vmlinux()
chmod a-x %buildroot/$vmlinux.gz
fi
}
%if %build_kdump
add_vmlinux
image=vmlinux
%else
# architecture specifics
%ifarch %ix86 x86_64
add_vmlinux --compressed
@ -400,8 +442,10 @@ add_vmlinux()
find man -name '*.9' -exec install -m 644 -D '{}' %buildroot/usr/share/man/man9/ ';'
%endif
%endif
# end of build_kdump
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -420,28 +464,36 @@ for sub in '-base' '' '-extra'; do
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
done
done
%if %build_kdump || %build_xen || %build_vanilla || %build_ps3
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-%kernelrelease-%build_flavor
%if %install_vdso
# Install the unstripped vdso's that are linked in the kernel image
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
%endif
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \
bs=1024 seek=2047 count=1
if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch_flavor
mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch
ln -s %build_flavor %buildroot/usr/src/linux-obj/%cpu_arch_flavor
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease-%build_flavor.gz
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/%kernelrelease-%build_flavor; then
%if %supported_modules_check
@ -449,6 +501,7 @@ if [ %CONFIG_MODULES = y ]; then
%endif
echo "Consistency check error: please update supported.conf."
fi
%ifarch s390 s390x
if test -e arch/s390/boot/kerntypes.o; then
:
@ -458,11 +511,13 @@ if [ %CONFIG_MODULES = y ]; then
dwarfextract %buildroot/boot/Kerntypes-%kernelrelease-%build_flavor -C kofiles.list || echo "dwarfextract failed ($?)"
fi
%endif
# Also put the resulting file in %rpm_install_dir/%cpu_arch/%build_flavor
# so that kernel-source + kernel-%build_flavor is sufficient for building
# modules that have modversions as well.
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
@ -470,6 +525,7 @@ if [ %CONFIG_MODULES = y ]; then
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
fi
# Some architecture's $(uname -m) output is different from the ARCH
# parameter that needs to be passed to kbuild. Create symlinks from
# $(uname -m) to the ARCH directory.
@ -477,6 +533,7 @@ if [ %CONFIG_MODULES = y ]; then
ln -sf %cpu_arch %rpm_install_dir/%_target_cpu
ln -sf %cpu_arch %buildroot/usr/src/linux-obj/%_target_cpu
fi
# We were building in %my_builddir/linux-%srcversion, but the sources will
# later be installed in /usr/src/linux-%srcversion-%source_rel. Fix up the
# build symlink.
@ -485,12 +542,14 @@ if [ %CONFIG_MODULES = y ]; then
%buildroot/lib/modules/%kernelrelease-%build_flavor/source
ln -s %obj_install_dir/%cpu_arch/%build_flavor \
%buildroot/lib/modules/%kernelrelease-%build_flavor/build
# Abort if there are any undefined symbols
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease-%build_flavor \
-b %buildroot -ae %kernelrelease-%build_flavor 2>&1)"
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
fi
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
@ -499,11 +558,13 @@ if [ %CONFIG_MODULES = y ]; then
%if ! %split_extra
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -520,6 +581,7 @@ if [ %CONFIG_MODULES = y ]; then
exit 1
fi
fi
tar cf - -T %my_builddir/obj-files | \
tar xf - -C %rpm_install_dir/%cpu_arch_flavor
# bnc#507084
@ -534,6 +596,7 @@ if [ %CONFIG_MODULES = y ]; then
sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \
%rpm_install_dir/%cpu_arch_flavor/Makefile
fi
add_dirs_to_filelist() {
sed -rn '
# print file name
@ -550,6 +613,7 @@ add_dirs_to_filelist() {
ta
' "$@" | sort -u
}
# Collect the file lists.
shopt -s nullglob
> %my_builddir/kernel-devel.files
@ -558,15 +622,18 @@ for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \
f=${file##%buildroot}
echo "$f" >> %my_builddir/kernel-devel.files
done
{ cd %buildroot
find boot \
\( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
-type f -name 'vmlinux-*' -printf '%%%%attr(0644, root, root) /%%p\n' -o \
-type f -printf '/%%p\n'
# Add the auto-generated (by mkdumprd) kdump initrd to %ghost so that
# the file gets removed when uninstalling the kernel.
echo '%%ghost /boot/initrd-%kernelrelease-kdump'
touch $RPM_BUILD_ROOT/boot/initrd-%kernelrelease-kdump
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
-type d -o \
@ -586,6 +653,7 @@ done
cat %my_builddir/tmp %my_builddir/kernel-devel.files | sort | uniq -u | \
add_dirs_to_filelist >%my_builddir/kernel-base.files
rm %my_builddir/tmp
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
@ -593,6 +661,7 @@ rm %my_builddir/tmp
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT
@ -604,6 +673,7 @@ rm %my_builddir/tmp
%pre -f pre.sh
%post -f post.sh
%if %split_base
%files -f kernel-main.files
@ -646,6 +716,7 @@ This package contains only the base modules, required in all installs.
%pre base -f pre-base.sh
%post base -f post-base.sh
%if %split_base
%files base -f kernel-base.files
@ -688,11 +759,13 @@ This package contains additional modules not supported by Novell.
%pre extra -f pre-extra.sh
%post extra -f post-extra.sh
%if %split_extra
%files extra -f kernel-extra.files
%defattr(-, root, root)
%endif
%if %CONFIG_KMSG_IDS == "y"
%package man

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5099786d80b8407d98a619df00209c2353517f22d804fdd9533b362adcb4504e
size 64424138

3
linux-2.6.33.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:63e237de3b3c4c46a21833b9ce7e20574548d52dabbd1a8bf376041e4455d5c6
size 66266488

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0bdd39bbc10807651c9a2216b3dbbdd6780e0c9dd90b0c682e823f655322a07
size 152438
oid sha256:4d9d4315ecdfd13ea08c0c9947bd9f3ceed75b1519c02d68f35ff290ba1bc8fb
size 151980

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1fd615a5f5ef926218b6d8a5a020c92a5913399a3df403e21f40881c2be1179a
size 40926
oid sha256:2b000213c88dd987c89a87cfcabb826338c7df5a6eb344abd992f9d3d140764a
size 40035

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:96a0edc4f6b9b77c56272ad2fb4e57d89e63ae9d4760ee5591f624b7d8a6494f
size 10713626
oid sha256:9dde5510f9ad1aef9c1f1d3b2a8099a006fe55fdab5ebcf2c141624b999d057e
size 136

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04f114e9a3d7c27d22331b555c9678ad27a95464412fe65ce9720afe5b36b409
size 7219
oid sha256:fc36a05f87ee538becf3b36c52b3e3afaf7459231845ff4c67b25477c234b762
size 8196

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e3a847ce3346c621bc481bf9b00451144c4e7babef02ebe19fd1fae61f779a2
size 1914144
oid sha256:346da76861e8e574f5d7778cd8ad698fb93ad881f24cfa71c8c93d28829938d8
size 1920022

View File

@ -27,11 +27,6 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
patches.kernel.org/patch-2.6.33-rc3
patches.kernel.org/patch-2.6.33-rc3-rc4
patches.kernel.org/patch-2.6.33-rc4-rc5
patches.kernel.org/patch-2.6.33-rc5-rc6
patches.kernel.org/patch-2.6.33-rc6-rc7
########################################################
# Build fixes that apply to the vanilla kernel too.
@ -53,6 +48,7 @@
patches.rpmify/hpsa-fix-section-mismatch
patches.rpmify/rt2860-fix-section-mismatches
patches.rpmify/ppc-crashdump-typefix
patches.rpmify/ftrace-fix-ftrace_event_call-alignment-for-use-with-gcc-4-5
########################################################
# kABI consistency patches
@ -322,7 +318,6 @@
patches.fixes/acpi_fix_no_critical_tp.patch
patches.fixes/acpi_thermal_check_trip_points.patch
patches.fixes/acpi_pci_hot_plug_sanity_checks.patch
########################################################
# CPUFREQ
@ -341,7 +336,6 @@
patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch
# PCC -> HP's cpufreq driver
patches.drivers/cpufreq_ondemand_limit_fix.patch
patches.drivers/cpufreq_processor_clocking_control_pcc_driver.patch
########################################################
@ -429,6 +423,10 @@
########################################################
patches.suse/novfs-client-module
patches.suse/novfs-fix-debug-message.patch
patches.fixes/novfs-err_ptr-fix.diff
patches.fixes/novfs-fix-inode-uid
patches.fixes/novfs-incorrect-filesize-fix
patches.fixes/novfs-truncate-fix
########################################################
# other filesystem stuff
@ -636,8 +634,6 @@
patches.suse/raw_device_max_minors_param.diff
patches.suse/no-partition-scan
patches.fixes/dvb-l64781.ko-broken-with-gcc-4.5.patch
########################################################
# Other drivers we have added to the tree
########################################################
@ -662,7 +658,6 @@
patches.fixes/dm-release-map_lock-before-set_disk_ro
patches.suse/dm-mpath-no-activate-for-offlined-paths
patches.suse/dm-mpath-no-partitions-feature
patches.fixes/dm-stripe-zero-stripes
########################################################
# md
@ -906,6 +901,9 @@
patches.xen/xen3-patch-2.6.33-rc3-rc4
patches.xen/xen3-patch-2.6.33-rc4-rc5
patches.xen/xen3-patch-2.6.33-rc5-rc6
patches.xen/xen3-patch-2.6.33-rc6-rc7
patches.xen/xen3-patch-2.6.33-rc7-rc8
patches.xen/xen3-patch-2.6.33-rc8-final
patches.xen/xen3-seccomp-disable-tsc-option
patches.xen/xen3-x86-mcp51-no-dac
patches.xen/xen3-x86-mark_rodata_rw.patch
@ -949,6 +947,8 @@
patches.xen/xen-x86-machphys-prediction
patches.xen/xen-x86-exit-mmap
patches.xen/xen-x86-per-cpu-vcpu-info
patches.xen/xen-x86-xtime-lock
patches.xen/xen-x86-time-per-cpu
patches.xen/xen-x86_64-pgd-pin
patches.xen/xen-x86_64-pgd-alloc-order
patches.xen/xen-x86_64-dump-user-pgt

View File

@ -1,3 +1,3 @@
2010-02-12 17:37:20 +0100
GIT Revision: 7a6a586d63ec8ee519b9de0f63c1bb1dd232f657
2010-02-25 06:04:45 +0100
GIT Revision: 598eedb84f8b4a3d43f88b9bd52d8169d3c8660b
GIT Branch: master