Hello community,
here is the log from the commit of package kernel-source-rt for openSUSE:Factory
checked in at Tue Sep 1 23:28:15 CEST 2009.
--------
--- kernel-source-rt/kernel-rt.changes 2009-01-13 16:33:19.000000000 +0100
+++ kernel-source-rt/kernel-rt.changes 2009-08-27 20:04:59.000000000 +0200
@@ -2 +2 @@
-Tue Jan 13 05:59:49 CET 2009 - sdietrich@suse.de
+Thu Aug 27 20:02:06 CEST 2009 - jblunck@suse.de
@@ -4,2 +4,2 @@
-- Update config files: disable CONFIG_CGROUP_SCHED. Option
- throws stack-dumps.
+- patches.rt/sleeping-__real_move_irq_desc.diff: Allocate memory
+ before disabling memory in irq_to_desc_alloc_node().
@@ -8 +8 @@
-Tue Jan 13 05:14:25 CET 2009 - sdietrich@suse.de
+Thu Aug 27 01:45:21 CEST 2009 - sdietrich@suse.de
@@ -10,2 +10,4 @@
-- Update config files: disable CONFIG_CGROUP_CPUACCT. Option
- throws stack-dumps.
+Update to 2.6.31-rc7-rt8:
+- patches.rt/patch-2.6.31-rc7-rt8: 2.6.31-rc7-rt8.
+- patches.suse/ext3-barrier-default: Refresh.
+- patches.rt/patch-2.6.31-rc7-rt7: Delete.
@@ -14 +16 @@
-Tue Jan 13 05:13:06 CET 2009 - sdietrich@suse.de
+Wed Aug 26 12:38:11 CEST 2009 - tiwai@suse.de
@@ -16 +18,2 @@
-- Update config files: disable experimantal CONFIG_TASKSTATS
+- patches.drivers/alsa-hda-[0-9]*: Delete, fold into a single patch
+ patches.drivers/alsa-hda-2.6.32-pre
@@ -19 +22 @@
-Mon Jan 12 23:12:47 CET 2009 - sdietrich@suse.de
+Tue Aug 25 19:04:14 CEST 2009 - sdietrich@suse.de
@@ -21,4 +24,2 @@
-Update to 2.6.26.8-rt13:
-- patches.rt/irq-tracer-fix.patch: rt: irq tracer fix.
-- patches.rt/tracer-fix-clock-backwards.patch:
- tracer-fix-clock-backwards.patch.
+- Update config files.
+- patches.drivers/samsung-backlight-driver.patch: Delete.
@@ -27 +28 @@
-Mon Jan 12 20:48:48 CET 2009 - dgollub@suse.de
+Tue Aug 25 16:45:55 CEST 2009 - sdietrich@suse.de
@@ -29,2 +30,4 @@
-- patches.suse/fix_excutable_recordmcount_script_issue.patch:
- Fix permission issue of recordmcount.pl when building KMPs.
+Update to 2.6.31-rc7-rt7:
+- patches.kernel.org/patch-2.6.31-rc6-rc7: Linux: 2.6.31-rc7.
+- patches.rt/patch-2.6.31-rc7-rt7: 2.6.31-rc7-rt7.
+- patches.rt/patch-2.6.31-rc6-rt6: Delete.
@@ -33 +36 @@
-Mon Jan 12 19:06:00 CET 2009 - mmarek@suse.cz
+Tue Aug 25 10:07:41 CEST 2009 - jbeulich@novell.com
@@ -35,2 +38 @@
-- rpm/kernel-source.spec.in, rpm/source-post.sh: handle arch
- symlinks like i586 -> i386 in /usr/src/linux-obj.
+- scripts/run_oldconfig.sh: Consistently use $prefix.
@@ -39 +41 @@
-Mon Jan 12 14:25:27 CET 2009 - mmarek@suse.cz
+Mon Aug 24 21:11:48 CEST 2009 - sdietrich@suse.de
@@ -41,8 +43 @@
-- rpm/kernel-source.spec.in, rpm/source-post.sh, rpm/source-pre.sh:
- replace the /usr/src/linux-obj symlink with a directory containing
- per-flavor symlinks instead. This allows us to install kernel-source /
- syms and kernel-source-rt / syms-rt in parallel and still find
- everything below /usr/src/linux-obj/.
-- rpm/kernel-binary.spec.in: for -rt, install into
- /usr/src/linux-$version-rt-obj.
-- rpm/kernel-syms.spec.in: fix kernel-source requires for -rt.
+- Update config files: Enable CONFIG_PROC_EVENTS.
@@ -51 +46 @@
-Fri Jan 9 07:38:21 CET 2009 - sdietrich@suse.de
+Mon Aug 24 16:47:18 CEST 2009 - mmarek@suse.cz
@@ -53,24 +48,2 @@
-- Update config files: rt / rt_pae: disable TRACE features:
- CONFIG_TRACEPOINTS
- CONFIG_BLK_DEV_IO_TRACE=y
- CONFIG_RCU_TRACE=y
- CONFIG_NETFILTER_XT_TARGET_TRACE=m
- CONFIG_CAPI_TRACE=y
- CONFIG_SOUND_TRACEINIT=y
- CONFIG_STACKTRACE=y
- CONFIG_BACKTRACE_SELF_TEST=m
- CONFIG_TRACER_MAX_TRACE=y
- CONFIG_SCHED_TRACER=y
- CONFIG_CONTEXT_SWITCH_TRACER=y
-
--------------------------------------------------------------------
-Fri Jan 9 01:35:27 CET 2009 - sdietrich@suse.de
-
-- Update config files - enable NAPI polling:
- CONFIG_ADAPTEC_STARFIRE_NAPI=y
- CONFIG_VIA_RHINE_NAPI=y
- CONFIG_E1000_NAPI=y
- CONFIG_R8169_NAPI=y
- CONFIG_IXGB_NAPI=y
- CONFIG_S2IO_NAPI=y
- CONFIG_AMD8111E_NAPI=y
+- rpm/kernel-binary.spec.in: obsolete %name-base <= 2.6.30-1
+ (bnc#530752).
@@ -79 +52 @@
-Tue Dec 30 19:57:51 CET 2008 - sdietrich@suse.de
+Fri Aug 21 23:46:12 CEST 2009 - sdietrich@suse.de
@@ -81,23 +54,6 @@
-Update to 2.6.26-rt12. Add:
-- patches.rt/rtmutex-fix-rwlock-boosting.patch: rtmutex: fix
- rwlock boosting.
-- patches.rt/rtmutex-force-rw-slowpath.patch: rtmutex: force
- slow path for rw locks.
-- patches.rt/rtmutex-tglx-is-a-moron.patch:
- rtmutex-tglx-is-a-moron.patch.
-- patches.rt/rwlock-fix-owners-race.patch: rwlock: fix
- modification of owners race.
-- patches.rt/tglx-01-ftrace-fix-task-state-print.patch: ftrace:
- fix task state printout.
-- patches.rt/tglx-02-sched-remove-useless-nointeractive-state.patch:
- sched: remove useless nointeractive state.
-- patches.rt/tglx-03-rtmutex-remove-unused-variable.patch:
- rtmutex: remove unused variable.
-- patches.rt/tglx-04-rtmutex-unify-state-manipulation.patch:
- rtmutex: unify state manipulation.
-- patches.rt/tglx-05-rtmutex-remove-uber-optimization.patch:
- rtmutex: remove uber optimization.
-- patches.rt/tglx-06-rtmutex-remove-useless-schedule-enforcement.patch:
- rtmutex: remove useless schedule enforcement.
-- patches.rt/tglx-07-rtmutex-prevent-missed-wakeups.patch:
- rtmutex: prevent missed wakeups.
+Update to 2.6.31-rc6-rt6:
+- patches.rt/patch-2.6.31-rc6-rt6: 2.6.31-rc6-rt5.
+- patches.drivers/alsa-hda-fix-01-HP-6530s-6531s: Delete.
+- patches.drivers/alsa-hda-fix-02-Intel-DG45ID-boards: Delete.
+- patches.drivers/alsa-hda-fix-03-Toshiba-ALC268: Delete.
+- patches.rt/patch-2.6.31-rc6-rt5: Delete.
@@ -106 +62 @@
-Wed Dec 17 16:53:43 CET 2008 - mmarek@suse.cz
+Fri Aug 21 16:05:42 CEST 2009 - mmarek@suse.cz
@@ -108 +64,2 @@
-- rpm/symsets.pl: fix uninitialized variable
+- rpm/post.sh: Do not call /sbin/module_upgrade, the rename
+ happened before SLES10.
@@ -111 +68 @@
-Wed Dec 17 15:38:40 CET 2008 - mmarek@suse.cz
+Fri Aug 21 16:00:46 CEST 2009 - mmarek@suse.cz
@@ -113,3 +70,3 @@
-- rpm/kernel-binary.spec.in:
- - add genksyms reference files so that genksyms can explain why
- did checksums change
+- rpm/module-renames: Delete, we don't need to care about modules
+ renamed before SLES10. Also, current mkinitrd gets the list of
+ storage drivers based on pci ids.
@@ -118 +75 @@
-Thu Dec 11 11:49:54 CET 2008 - mmarek@suse.cz
+Fri Aug 21 15:50:51 CEST 2009 - mmarek@suse.cz
@@ -120 +77,3 @@
-- rpm/kernel-binary.spec.in: one more fix to make kabi checks work
+- rpm/post.sh, rpm/postun.sh: drop support for SLE10, the package
+ can't be installed on SLE10 as is, so why not make it more
+ adventurous.
@@ -123 +82 @@
-Wed Dec 10 11:54:33 CET 2008 - mmarek@suse.cz
+Fri Aug 21 15:48:15 CEST 2009 - mmarek@suse.cz
@@ -125,2 +84,3 @@
-- rpm/find-provides: don't fail if a subpackage doesn't contain
- any modules (such as the -man subpackage on s390x)
+- rpm/kernel-binary.spec.in: remove product(openSUSE) supplements
+ from the -extra subpackage which doesn't exist on openSUSE
+ anymore.
@@ -129 +89 @@
-Tue Dec 9 19:21:19 CET 2008 - agruen@suse.de
+Thu Aug 20 22:11:07 CEST 2009 - sdietrich@suse.de
@@ -131,5 +91,7 @@
-- rpm/{kernel-module-subpackage,macros.kernel-source}: Remove
- a leftover hardcoded dependency on the kernel-source package so
- that KMPs can alternatively be built against a kernel other
- than (kernel-source + kernel-syms), such as (kernel-source-rt +
- kernel-syms-rt).
+Update to 2.6.31-rc6-rt5:
+- Update config files.
+- patches.apparmor/apparmor.diff: Refresh.
+- patches.rt/patch-2.6.31-rc6-rt5: 2.6.31-rc6-rt5.
+- patches.suse/silent-stack-overflow-2.patch: Refresh.
+- patches.suse/stack-unwind: Refresh.
+- patches.rt/patch-2.6.31-rc6-rt3: Delete.
@@ -138 +100 @@
-Tue Dec 9 12:25:26 CET 2008 - mmarek@suse.cz
+Thu Aug 20 17:52:08 CEST 2009 - tiwai@suse.de
@@ -140,7 +102,4 @@
-- rpm/symsets.pl:
- - add --required-modules option to tell which modules this
- subpackage requires via dependencies. This is needed to
- preserve symsets when modules move from one subpackage to
- another.
- - add POD help and --help option.
-- rpm/kernel-binary.spec.in: make use of --required-modules
+- patches.drivers/alsa-hda-fix-0*: Backport from 2.6.31-rc fixes
+ (to be merged)
+- patches.drivers/alsa-hda-32-Reword-auto-probe-messages: Refresh.
+- patches.drivers/alsa-hda-33-IDT-codec-updates: Refresh.
@@ -149 +108 @@
-Tue Dec 9 05:28:30 CET 2008 - sdietrich@suse.de
+Thu Aug 20 17:07:47 CEST 2009 - sdietrich@suse.de
@@ -151,2 +110,2 @@
-- patches.rt/avoid_preemption_in_memory_controller_code.patch:
++++ 13280 more lines (skipped)
++++ between kernel-source-rt/kernel-rt.changes
++++ and kernel-source-rt/kernel-rt.changes
kernel-rt_debug.changes: same change
kernel-rt_timing.changes: same change
kernel-rt_trace.changes: same change
kernel-source-rt.changes: same change
kernel-syms-rt.changes: same change
calling whatdependson for head-i586
Old:
----
build-source-timestamp
config-subst
get_release_number.sh
kernel-rt_pae.changes
kernel-rt_pae.spec
kernel-source-rt.rpmlintrc
linux-2.6.26.tar.bz2
module-renames
prepare-build.sh
source-pre.sh
New:
----
README.KSYMS
compute-PATCHVERSION.sh
config.sh
devel-post.sh
devel-pre.sh
kernel-binary.spec.in
kernel-source.rpmlintrc
kernel-source.spec.in
kernel-spec-macros
kernel-syms.spec.in
linux-2.6.30.tar.bz2
minmem
mkspec
needed_space_in_mb
old-packages.conf
package-descriptions
patches.kabi.tar.bz2
source-timestamp
split-modules
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-rt.spec ++++++
++++ 1119 lines (skipped)
++++ between kernel-source-rt/kernel-rt.spec
++++ and kernel-source-rt/kernel-rt.spec
kernel-rt_debug.spec: same change
kernel-rt_timing.spec: same change
kernel-rt_trace.spec: same change
++++++ kernel-source-rt.spec ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:32.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:32.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-source-rt (Version 2.6.26.8)
+# spec file for package kernel-source-rt (Version 2.6.31)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,67 +18,67 @@
# norootforbuild
# icecream 0
-Url: http://www.kernel.org/
-%if 0%{?opensuse_bs}
-# Strip off the build number ("y") from the "x.y" release number
-%define source_rel %(release=%release; echo ${release%.*})
-%else
-# We don't have build numbers internally
-%define source_rel %release
-%endif
+%define srcversion 2.6.30
+%define patchversion 2.6.31-rc7-rt8
+%define variant -rt%{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
+%define tolerate_unknown_new_config_options @TOLERATE_UNKNOWN_NEW_CONFIG_OPTIONS@
Name: kernel-source-rt
-Summary: The Linux Kernel Sources, including the real-time patches
-Version: 2.6.26.8
-Release: 7
+Summary: The Linux Kernel Sources
+Version: 2.6.31
+Release: 1
+%if %using_buildservice
+%else
+%endif
License: GPL v2 only
Group: Development/Sources
+Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils sed
BuildRequires: fdupes
Requires(post): coreutils sed
-%if ! 0%{?opensuse_bs}
-BuildRequires: kernel-dummy
-%endif
-ExclusiveArch: %ix86 x86_64
Provides: linux
-Provides: kernel-source-rt = 2.6.26.8-%source_rel
-%if "kernel-source-rt" == "kernel-source"
-Provides: linux lx_suse lx_sus22 lx_sus24
-Obsoletes: linux lx-gdt lx-hack lx-suse lx1162_1 lx1162_2 lx1212_1 lx1212_2 lx1213_1 lx1213_2 lx121_1 lx121_2 lx126_1 lx126_2 lx129_1 lx129_2 lx_large kernel_headers lx_suse lx_sus22 lx_sus24
-%endif
-Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2
-Source1: source-pre.sh
+Provides: %name = %version-%source_rel
+Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source2: source-post.sh
-Source3: kernel-source-rt.rpmlintrc
+Source3: kernel-source.rpmlintrc
+Source8: devel-pre.sh
+Source9: devel-post.sh
Source10: preun.sh
Source11: postun.sh
Source12: pre.sh
Source13: post.sh
Source14: series.conf
-Source15: arch-symbols
Source16: guards
Source21: config.conf
Source23: supported.conf
-Source30: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
Source37: README.SUSE
-Source40: build-source-timestamp
+Source38: README.KSYMS
+Source40: source-timestamp
Source41: built-in-where
Source44: find-provides
-Source45: module-renames
Source46: modversions
Source47: extract-modaliases
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: symsets.pl
-Source50: kernel-syms-rt.spec
-Source51: kernel-rt.spec
-Source52: kernel-rt_debug.spec
-Source53: kernel-rt_pae.spec
-Source54: kernel-rt_timing.spec
-Source55: kernel-rt_trace.spec
+Source51: mkspec
+Source52: kernel-source%variant.changes
+Source53: kernel-source.spec.in
+Source54: kernel-binary.spec.in
+Source55: kernel-syms.spec.in
+Source56: config.sh
+Source57: compute-PATCHVERSION.sh
+Source58: old-packages.conf
+Source59: arch-symbols
+Source60: package-descriptions
+Source61: kernel-spec-macros
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
Source102: patches.drivers.tar.bz2
@@ -91,40 +91,40 @@
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
Source112: patches.trace.tar.bz2
+Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildArch: noarch
Prefix: /usr/src
-# Build with bash instead of sh as the shell: this turns on bash
-# extensions like <(...).
-%define _buildshell /bin/bash
-%define my_builddir %_builddir/%{name}-%{version}
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,symsets.pl})
-%define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
-%define tolerate_unknown_new_config_options 0
+%(chmod +x %_sourcedir/{guards,check-for-config-changes,symsets.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
Linux kernel sources with many fixes and improvements.
+%source_timestamp
+%package vanilla
+Summary: Vanilla Linux kernel sources with minor build fixes.
+License: GPL v2 only
+Group: Development/Sources
+AutoReqProv: off
-Authors:
---------
- Linus Torvalds
-
- see /usr/src/linux/CREDITS for more details.
-
-Source Timestamp: 2009-01-13 06:00:35 +0100
-GIT Revision: d0f6b971aa036831ca563a49a26601ed5cb513bc
-GIT Branch: slert
+%description vanilla
+Vanilla Linux kernel sources with minor build fixes.
+
+%source_timestamp
%prep
-if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
- echo "Please get a copy of linux-2.6.26.tar.bz2 from" \
+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 "Architecture symbol(s): %symbols"
+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
+%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
%build
# Release number without the EXTRAVERSION
@@ -132,156 +132,67 @@
while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do
RELEASE=${RELEASE#[^0-9]*.}
done
-KERNELRELEASE=2.6.26.8-$RELEASE
-case kernel-source-rt in
-(*-rt)
- variant=-rt
- variant_symbols=RT
- ;;
-(*)
- variant=
- variant_symbols=
- ;;
-esac
-cat > %_builddir/%{name}-%{version}/.rpm-defs < .patches
-for patch in $(< .patches); do
- if ! patch -s -F0 -E -p1 --no-backup-if-mismatch \
- -i %_builddir/kernel-source-rt-2.6.26.8/$patch; then
- echo "*** Patch $patch failed ***"
- exit 1
- fi
-done
+tar xjf %_sourcedir/linux-%srcversion.tar.bz2
+mv linux-%srcversion linux-%kernelrelease%variant
+# generate script to apply patches
+echo "trap 'echo \"*** patch \$_ failed ***\"' ERR" \
+ >%my_builddir/apply-patches.sh
+%_sourcedir/guards %symbols <%_sourcedir/series.conf | \
+ sed 's:^:patch -s -F0 -E -p1 --no-backup-if-mismatch -i %my_builddir/:' \
+ >>%my_builddir/apply-patches.sh
+%if %do_vanilla
+egrep '^trap|patches\.(kernel\.org|rpmify)/' %my_builddir/apply-patches.sh \
+ >%my_builddir/apply-patches-vanilla.sh
+cp -al linux-%kernelrelease%variant linux-%kernelrelease-vanilla
+cd linux-%kernelrelease-vanilla
+bash -ex %my_builddir/apply-patches-vanilla.sh
+rm -f $(find . -name ".gitignore")
+cd ..
+%endif
+cd linux-%kernelrelease%variant
+bash -ex %my_builddir/apply-patches.sh
+rm -f $(find . -name ".gitignore")
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-cat > %my_builddir/kernel-source-rt.files <>%my_builddir/%name.files
- fi
- ln -s $flavor ../linux-obj/$cpu_arch/$flavor # dummy symlink
- echo "%%ghost /usr/src/linux-obj/$cpu_arch/$flavor" >>%my_builddir/%name.files
- case "$flavor" in
- *-*)
- echo "Flavor '$flavor' must not contain dashes." >&2
- exit 1
- ;;
- esac
- set -- kernel-$flavor $flavor
- case $flavor in
- (rt|rt_*)
- set -- "$@" RT
- ;;
- esac
- diff -q .patches \
- <(%_sourcedir/guards $* %symbols < %_sourcedir/series.conf) \
- || continue
-# source_tree=linux-$KERNELRELEASE$variant
- o=$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE$variant-obj/$cpu_arch/$flavor
- mkdir -p $o
- cat $config \
- | %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-$flavor'"' \
- | %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
- > $o/.config
- MAKE_ARGS="O=$o"
- # Works around a "fix" in mainline that ends up causing the makefile
- # to not be regenerated.
- echo "Automatically" > $o/Makefile
-%if %{tolerate_unknown_new_config_options}
- yes '' | make oldconfig $MAKE_ARGS
-%else
- cp $o/.config $o/.config.before
- make silentoldconfig $MAKE_ARGS < /dev/null
- %_sourcedir/check-for-config-changes $o/.config.before $o/.config
- rm -r $o/.config.before
-%endif
- make prepare $MAKE_ARGS
- make scripts $MAKE_ARGS
- krel=$(make -s kernelrelease $MAKE_ARGS)
- if [ $KERNELRELEASE != "${krel%%-*}" ]; then
- echo "Kernel release mismatch: $KERNELRELEASE != ${krel%%-*}" >&2
- exit 1
- fi
- make clean $MAKE_ARGS
- mkdir -p $RPM_BUILD_ROOT/lib/modules/$krel
- ln -s ../../../usr/src/linux-$KERNELRELEASE$variant \
- $RPM_BUILD_ROOT/lib/modules/$krel/source
- # Replace the absolute with a relative path
- sed -e "s,$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE$variant,../../../linux-$KERNELRELEASE$variant,g" \
- -i $o/Makefile
- rm -f $o/.config.old
-done
-rm -f linux-$KERNELRELEASE$variant/.patches
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $RPM_BUILD_ROOT
-cd $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE$variant-obj
-set -- *
-if [ ! -e %_target_cpu ]; then
- ln -s $1 %_target_cpu
- ln -s $1 ../linux-obj/%_target_cpu
- echo "/usr/src/linux-obj/%_target_cpu" >>%my_builddir/%name.files
-fi
-cd $RPM_BUILD_ROOT/usr/src
-rm -f `find linux-$KERNELRELEASE$variant -name ".gitignore"`
-# Remove $RPM_BUILD_ROOT prefix from symlinks.
-for link in $(find $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE$variant-obj -type l); do
- target=$(readlink $link)
- rm -f $link
- ln -s ${target/$RPM_BUILD_ROOT/} $link
-done
%install
-source .rpm-defs
# Install the documentation and example Kernel Module Package.
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 \
- $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE$variant/
+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 pre post; do
- sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
- -e "s:@VARIANT@:$variant:g" \
- %_sourcedir/source-$script.sh > kernel-source-rt-$script.sh
+for script in post; do
+ sed -e "s:@KERNELRELEASE@:%kernelrelease:g" \
+ -e "s:@SRCVARIANT@:%variant:g" \
+ %_sourcedir/source-$script.sh > %name-$script.sh
done
-%pre -f kernel-source-rt-pre.sh
+%post -f %name-post.sh
-%post -f kernel-source-rt-post.sh
+%files
+%defattr(-, root, root)
+%ghost /usr/src/linux%variant
+/usr/share/doc/packages/%name
+/etc/rpm/macros.kernel-source
+/usr/lib/rpm/kernel-module-subpackage
+/%src_install_dir
+%if %do_vanilla
-%files -f kernel-source-rt.files
+%files vanilla
+%defattr(-, root, root)
+/usr/src/linux-%kernelrelease-vanilla
+%endif
%changelog
++++++ kernel-syms-rt.spec ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:32.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:32.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-syms-rt (Version 2.6.26.8)
+# spec file for package kernel-syms-rt (Version 2.6.31)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -17,119 +17,57 @@
# norootforbuild
-Url: http://www.kernel.org/
-%if 0%{?opensuse_bs}
-# Strip off the build number ("y") from the "x.y" release number
-%define source_rel %(release=%release; echo ${release%.*})
-%else
-# We don't have build numbers internally
-%define source_rel %release
-%endif
+%define variant -rt%{nil}
+%include %_sourcedir/kernel-spec-macros
Name: kernel-syms-rt
-Summary: Kernel Symbol Versions (modversions) For Real-Time Kernels
-Version: 2.6.26.8
-Release: 7
+Summary: Kernel Symbol Versions (modversions)
+Version: 2.6.31
+Release: 1
+%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)
+%endif
License: GPL v2 only
Group: Development/Sources
+Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
-%if ! 0%{?opensuse_bs}
-BuildRequires: kernel-dummy
+%ifarch %ix86 ppc64 x86_64
+Requires: kernel-rt-devel = %version-%source_rel
%endif
-ExclusiveArch: %ix86 x86_64
-%ifarch %ix86
-BuildRequires: kernel-rt kernel-rt_debug kernel-rt_pae kernel-rt_timing kernel-rt_trace
-%else
-%ifarch x86_64
-BuildRequires: kernel-rt kernel-rt_debug kernel-rt_timing kernel-rt_trace
+%ifarch %ix86 x86_64
+Requires: kernel-rt_debug-devel = %version-%source_rel
%endif
+%ifarch %ix86 x86_64
+Requires: kernel-rt_timing-devel = %version-%source_rel
%endif
-# the packages above do require other things, but none of those are needed during package build
-#!BuildIgnore: irqbalance xen
-#!BuildIgnore: perl-Bootloader mkinitrd
-Requires: linux
-Requires: kernel-source-rt = 2.6.26.8-%source_rel
-Source11: arch-symbols
-Source12: guards
-Source21: config.conf
+%ifarch %ix86 x86_64
+Requires: kernel-rt_trace-devel = %version-%source_rel
+%endif
+Source: README.KSYMS
+Requires: kernel-source%variant = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr/src
-%(chmod +x %_sourcedir/{arch-symbols,guards})
-%define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%description
Kernel symbols, such as functions and variables, have version
information attached to them. This package contains the symbol versions
-for the real-time kernels.
-
-This package is needed for compiling real-time kernel module packages
-with proper package dependencies.
-
+for the standard kernels.
+This package is needed for compiling kernel module packages with proper
+package dependencies.
-Authors:
---------
- Linus Torvalds
-
- see /usr/src/linux/CREDITS for more details.
-
-Source Timestamp: 2009-01-13 06:00:35 +0100
-GIT Revision: d0f6b971aa036831ca563a49a26601ed5cb513bc
-GIT Branch: slert
+%source_timestamp
%prep
-echo "Architecture symbol(s):" %symbols
%install
-rm -rf $RPM_BUILD_ROOT
-mkdir $RPM_BUILD_ROOT
-set -- %symbols
-case kernel-syms-rt in
-(*-rt)
- set -- RT "$@"
- ;;
-esac
-%_sourcedir/guards "$@" < %_sourcedir/series.conf > %_builddir/kernel-syms-rt.patches
-for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- arch="${config%%/*}"
- flavor="${config#*/}"
- rpm -q --quiet kernel-$flavor || continue
- # Don't add the build infrastructure for kernels that are based
- # on a different set of patches.
- set -- kernel-$flavor $flavor $(case $flavor in (rt|rt_*) echo RT ;; esac)
- %_sourcedir/guards $* %symbols < %_sourcedir/series.conf \
- > %_builddir/kernel-$flavor.patches
- diff -q %_builddir/{kernel-syms-rt,kernel-$flavor}.patches || continue
- # Make sure that all the kernel-$flavor release numbers match the
- # kernel-syms release number.
- set -- %release $(rpm -q --qf '%{RELEASE}' kernel-$flavor)
-%if 0%{?opensuse_bs}
- set -- ${1%.*} ${2%.*}
-%endif
- if [ "$1" != "$2" ]; then
- echo "Release numbers $1 and $2 do not match" >&2
- exit 1
- fi
- shopt -s nullglob
- for symvers in /usr/src/linux-*-obj/$arch/$flavor/Module.symvers; do
- cp -p --parents $symvers $RPM_BUILD_ROOT/
- for file in /lib/modules/*-$flavor/modules.alias; do
- cp -p $file $(dirname $RPM_BUILD_ROOT$symvers)
- done
- done
- for symsets in /boot/symsets-*-$flavor.tar.gz; do
- cp -p --parents $symsets $RPM_BUILD_ROOT/
- done
- for file in /lib/modules/*-$flavor/build; do
- cp -pd --parents $file $RPM_BUILD_ROOT/
- done
-done
+install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
%files
%defattr(-, root, root)
-/usr/src/linux-*-obj
-/boot/symsets-*-*.tar.gz
-/lib/modules/*/build
+%dir %_docdir/%name
+%_docdir/%name/README.SUSE
%changelog
++++++ README.KSYMS ++++++
This file is a place holder for the kernel-syms{,-rt} package. It is used
to group build dependencies for all kernel flavors.
The KMP build process will build KMPs against all installed kernel flavors
automatically. If you don't need to build against other flavors than the
ones you've already installed - it is safe to uninstall this package.
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:32.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:32.000000000 +0200
@@ -51,6 +51,11 @@
packages are all generated from the same kernel sources, and
differ in the kernel configurations used.
+ * kernel-$FLAVOR-devel
+
+ The files used for generating kernel module packages for use with
+ kernel-$FLAVOR.
+
* kernel-syms
Kernel symbol version information for compiling external modules:
@@ -59,13 +64,6 @@
information is used to make sure that the modules match the running
kernel.
- * kernel-dummy
-
- This package is relevant inside the SUSE build system only. We use
- it to synchronize release numbers among the kernel packages. When
- building packages locally, the kernel-dummy package can safely be
- ignored.
-
The CVS repository contains the configuration files (.config) for all
SUSE kernel flavors. All configuration files are included in the
@@ -79,7 +77,7 @@
* /usr/src/linux-$VERSION-$RELEASE/
The kernel sources.
-
+
* /usr/src/linux
A symbolic link to /usr/src/linux-$VERSION-$RELEASE.
@@ -111,21 +109,27 @@
(1) Install kernel-source.$ARCH.rpm. Change to the /usr/src/linux
directory.
- (2) Configure the kernel (for example, ``make oldconfig'' or ``make
- cloneconfig'', see HOW TO CONFIGURE THE KERNEL SOURCES).
+ (2) Create a build directory for use in configuring and building
+ the kernel. Using /usr/src/linux directly requires root priviledges
+ and will cause problems if you need to build kernel modules for
+ other installed kernels.
+
+ (2) Configure the kernel (for example, ``make -C /usr/src/linux
+ O=$(pwd) oldconfig'' or ``make -C /usr/src/linux O=$(pwd) cloneconfig'',
+ see HOW TO CONFIGURE THE KERNEL SOURCES).
(3) Build the kernel and all its modules (``make'').
- (5) Install the kernel and the modules (``make modules_install'',
- followed by ``make install''). This will automatically create
- an initrd for the new kernel as well (see ``mkinitrd -h'').
-
- (6) Make sure that /etc/modprobe.d/unsupported-modules contains
+ (5) Make sure that /etc/modprobe.d/unsupported-modules contains
allow_unsupported_modules 1
otherwise modprobe will refuse to load any modules.
+ (6) Install the kernel and the modules (``make modules_install'',
+ followed by ``make install''). This will automatically create
+ an initrd for the new kernel as well (see ``mkinitrd -h'').
+
(7) Add the kernel to the boot manager. When using lilo, run ``lilo''
to update the boot map.
@@ -154,8 +158,8 @@
Additional kernel modules for one of the SUSE kernel flavors can be
built in three different ways:
- (1) by configuring the kernel sources in /usr/src/linux (or a copy,
- see HOW TO CONFIGURE THE KERNEL SOURCES), or
+ (1) by configuring the kernel sources in a separate build directory
+ (see HOW TO CONFIGURE THE KERNEL SOURCES), or
(2) by using one of the standard configurations in
/usr/src/linux-obj/$ARCH/$FLAVOR, or
@@ -167,19 +171,17 @@
The first method involves the following steps:
(1) Install kernel-source.$ARCH.rpm.
-
- (2) Change to the /usr/src/linux directory. Configure the kernel
- (for example, ``make oldconfig'' or ``make cloneconfig'', see
- HOW TO CONFIGURE THE KERNEL SOURCES).
+
+ (2) Configure the kernel, see HOW TO CONFIGURE THE KERNEL SOURCES.
(3) Create files required for compiling external modules:
``make scripts'' and ``make prepare''.
(4) Compile the module(s) by changing into the module source directory
- and typing ``make -C /usr/src/linux M=$(pwd)''.
+ and typing ``make -C $(your_build_dir) M=$(pwd)''.
(5) Install the module(s) by typing
- ``make -C /usr/src/linux M=$(pwd) modules_install''.
+ ``make -C $(your_build_dir) M=$(pwd) modules_install''.
The second method involves the following steps:
@@ -357,20 +359,21 @@
- Locate the configuration file you want to use. (See WHERE TO FIND
CONFIGURATION FILES above).
- - Copy the configuration to the file .config in the kernel source
- tree. The kernel-source package installs its source tree in
- /usr/src/linux.
+ - Copy the configuration to the file .config in your build directory.
- Run the following commands in sequence to apply the configuration,
generate version information files, etc.:
- make clean
- make oldconfig
+ make -C /usr/src/linux O=$PWD clean
+ make -C /usr/src/linux O=$PWD oldconfig
Alternatively to ``make oldconfig'', you can also use ``make
menuconfig'' for a text menu oriented user interface. If the kernel
sources do not match the configuration file exactly, ``make
- oldconfig'' will prompt for settings that are undefined.
+ oldconfig'' will prompt for settings that are undefined. Once this
+ step is completed, a Makefile will have been created that eliminates
+ the need to specify the locations of the kernel source and the build
+ directory.
For configuring the kernel to match the running kernel, there is a
shortcut ``make cloneconfig'' that expands the file /proc/config.gz
++++++ arch-symbols ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:32.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:32.000000000 +0200
@@ -1,6 +1,27 @@
#!/bin/sh
-# Generate architecture specific patch selection symbols
+#############################################################################
+# Copyright (c) 2003-2005,2009 Novell, Inc.
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, contact Novell, Inc.
+#
+# To contact Novell about this file by physical or electronic mail,
+# you may find current contact information at www.novell.com
+#############################################################################
+
+# With --list, list all known architectures, otherwise print the generic
+# name for this architecture (or the one specified on command line).
if [ "$1" = "--list" ]; then
# List all known architectures
@@ -8,28 +29,17 @@
exit 0
fi
-if [ -z "$SYMBOLS" ]; then
- if [ -n "$1" ]; then
- ARCH="$1"
- elif [ -n "$PATCH_ARCH" ]; then
- ARCH="$PATCH_ARCH"
- else
- ARCH="`arch`"
- fi
- SYMBOLS="$ARCH"
- case "$ARCH" in
- (i?86) SYMBOLS="$SYMBOLS IA32" ;;
- (mips*) SYMBOLS="$SYMBOLS MIPS" ;;
- (sparc*) SYMBOLS="$SYMBOLS SPARC" ;;
- (ppc*) SYMBOLS="$SYMBOLS PPC" ;;
- (s390*) SYMBOLS="$SYMBOLS S390" ;;
- (ia64) ;;
- (x86_64) ;;
- (alpha) ;;
- (parisc) ;;
- (*) # not a recognized architeture!
- exit
- ;;
- esac
+if [ -n "$1" ]; then
+ ARCH="$1"
+else
+ ARCH="`arch`"
fi
-echo $SYMBOLS
+case "$ARCH" in
+ # from rpm --eval '%ix86'
+ i?86 | pentium3 | pentium4 | athlon | geode)
+ echo i386
+ ;;
+ *)
+ echo "$ARCH"
+ ;;
+esac
++++++ compute-PATCHVERSION.sh ++++++
#! /bin/bash
export LANG=POSIX
path=(.)
while test $# -gt 0; do
case "$1" in
--patches)
path[${#path[@]}]=$2
shift 2
;;
*)
echo "Usage $0 [--patches <dir>]" >&2
exit 1
esac
done
if test "${path[*]}" = "."; then
path=(. ..)
fi
source $(dirname $0)/config.sh
set -- $(echo $SRCVERSION | sed -ne 's/\([0-9]\+\).\([0-9]\+\).\([0-9]\+\)\(.*\)/\1 \2 \3 \4/p')
VERSION=$1
PATCHLEVEL=$2
SUBLEVEL=$3
EXTRAVERSION=$4
EXTRA_SYMBOLS=$(set -- $([ -e $(dirname $0)/extra-symbols ] && cat $(dirname $0)/extra-symbols) ; echo $*)
series=$(mktemp)
tmp_files="$series"
trap 'rm -rf $tmp_files' EXIT
warned=false
while read patch; do
dir=${patch%/*}
for p in "${path[@]}"; do
if test -d "$p/$dir"; then
echo "$p/$patch"
continue 2
fi
done
for p in "${path[@]}"; do
if test -e "$p/$dir.tar.bz2"; then
echo "unpacking $p/$dir.tar.bz2" >&2
if ! $warned; then
echo "pass --patches <directory with unpacked tarballs> to avoid this" >&2
warned=true
fi
tmp_files="$tmp_files $dir"
tar xjf "$p/$dir.tar.bz2"
echo "$patch"
continue 2
fi
done
echo "Can't find $patch" >&2
exit 1
done >"$series" < <($(dirname $0)/guards $EXTRA_SYMBOLS "$filelist"
-flavor=${1##*-}
-
-/usr/lib/rpm/find-provides "$@" <"$filelist"
-
-# HACK: find out what subpackage is this and just print the symsets
-# computed in %build. We need to do it this way because the provided
-# symsets are computed from the modules AND the reference symsets, which
-# we don't see here.
-subpack=
-
-samemodules()
-{
- cmp -s <(sed -rn 's:.*/([^/]*\.ko)$:\1:p' "$1" | sort) \
- <(sed -rn 's:.*/([^/]*\.ko)$:\1:p' "$2" | sort)
-}
+grep -v '/kernel/drivers/staging/.*\.ko$' >"$filelist"
+shopt -s nullglob
-if ! grep -q '\.ko$' "$filelist"; then
- # no modules, no symsets
- exit 0
-fi
-if samemodules "$builddir"/base-modules "$filelist"; then
- subpack=base
-elif samemodules "$builddir"/main-modules "$filelist"; then
- subpack=main
-elif samemodules "$builddir"/unsupported-modules "$filelist"; then
- subpack=extra
+# pretend that /boot/vmlinux-* is in the -base package and not in -devel
+if grep -q '/boot/System\.map\>' "$filelist"; then
+ prefix=$(sed -rn 's:(.*)/boot/System\.map\>.*:\1:p; T; q' "$filelist")
+ for f in "$prefix"/boot/vmlinux*; do
+ echo "$f" >>"$filelist"
+ done
else
- echo "find-provides: failed to determine which subpackage is this" >&2
- exit 1
+ perl -ni -e 'next if /\/boot\/vmlinux/ && !/\.debug$/; print' "$filelist"
fi
-ls "$builddir/$subpack-symsets" | sed -rn 's/^(.+)\.([a-z0-9]{16})/kernel('$flavor':\1) = \2/p'
-
-exit 0
-
+/usr/lib/rpm/find-provides "$@" <"$filelist"
++++++ guards ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:33.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:33.000000000 +0200
@@ -1,5 +1,23 @@
#!/usr/bin/perl -w
-
+#############################################################################
+# Copyright (c) 2003-2007,2009 Novell, Inc.
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, contact Novell, Inc.
+#
+# To contact Novell about this file by physical or electronic mail,
+# you may find current contact information at www.novell.com
+#############################################################################
#
# Guards:
#
++++++ kabi.tar.bz2 ++++++
++++++ kernel-binary.spec.in ++++++
++++ 818 lines (skipped)
++++++ kernel-module-subpackage ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:34.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:34.000000000 +0200
@@ -21,6 +21,7 @@
)
Provides: %{-n*} = %(echo %{-v*}-%2 | tr - _)
Requires: coreutils grep
+Enhances: kernel-%1
AutoReqProv: on
%{-p:%{expand:%(cd %_sourcedir; cat %{-p*})}}
%description -n %{-n*}-%1
++++++ kernel-source-rt.rpmlintrc -> kernel-source.rpmlintrc ++++++
++++++ kernel-source.spec.in ++++++
#
# spec file for package kernel-source@VARIANT@ (Version @RPMVERSION@)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
# icecream 0
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
%define variant @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
%define tolerate_unknown_new_config_options @TOLERATE_UNKNOWN_NEW_CONFIG_OPTIONS@
Name: kernel-source@VARIANT@
Summary: The Linux Kernel Sources
Version: @RPMVERSION@
%if %using_buildservice
Release: @RELEASE_PREFIX@<RELEASE>
%else
Release: @RELEASE_PREFIX@0
%endif
License: GPL v2 only
Group: Development/Sources
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils sed
BuildRequires: fdupes
Requires(post): coreutils sed
Provides: linux
Provides: %name = %version-%source_rel
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%srcversion.tar.bz2
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
Source9: devel-post.sh
Source10: preun.sh
Source11: postun.sh
Source12: pre.sh
Source13: post.sh
Source14: series.conf
Source16: guards
Source21: config.conf
Source23: supported.conf
Source33: check-for-config-changes
Source34: check-supported-list
Source37: README.SUSE
Source38: README.KSYMS
Source40: source-timestamp
Source41: built-in-where
Source44: find-provides
Source46: modversions
Source47: extract-modaliases
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: symsets.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: config.sh
Source57: compute-PATCHVERSION.sh
Source58: old-packages.conf
Source59: arch-symbols
Source60: package-descriptions
Source61: kernel-spec-macros
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
Source102: patches.drivers.tar.bz2
Source103: patches.fixes.tar.bz2
Source104: patches.rpmify.tar.bz2
Source105: patches.suse.tar.bz2
Source107: patches.xen.tar.bz2
Source108: patches.addon.tar.bz2
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
Source112: patches.trace.tar.bz2
Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Prefix: /usr/src
%(chmod +x %_sourcedir/{guards,check-for-config-changes,symsets.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
Linux kernel sources with many fixes and improvements.
%source_timestamp
%package vanilla
Summary: Vanilla Linux kernel sources with minor build fixes.
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
%description vanilla
Vanilla Linux kernel sources with minor build fixes.
%source_timestamp
%prep
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
%build
# Release number without the EXTRAVERSION
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
# generate script to apply patches
echo "trap 'echo \"*** patch \$_ failed ***\"' ERR" \
>%my_builddir/apply-patches.sh
%_sourcedir/guards %symbols <%_sourcedir/series.conf | \
sed 's:^:patch -s -F0 -E -p1 --no-backup-if-mismatch -i %my_builddir/:' \
>>%my_builddir/apply-patches.sh
%if %do_vanilla
egrep '^trap|patches\.(kernel\.org|rpmify)/' %my_builddir/apply-patches.sh \
>%my_builddir/apply-patches-vanilla.sh
cp -al linux-%kernelrelease%variant linux-%kernelrelease-vanilla
cd linux-%kernelrelease-vanilla
bash -ex %my_builddir/apply-patches-vanilla.sh
rm -f $(find . -name ".gitignore")
cd ..
%endif
cd linux-%kernelrelease%variant
bash -ex %my_builddir/apply-patches.sh
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
%install
# Install the documentation and example Kernel Module Package.
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" \
%_sourcedir/source-$script.sh > %name-$script.sh
done
%post -f %name-post.sh
%files
%defattr(-, root, root)
%ghost /usr/src/linux%variant
/usr/share/doc/packages/%name
/etc/rpm/macros.kernel-source
/usr/lib/rpm/kernel-module-subpackage
/%src_install_dir
%if %do_vanilla
%files vanilla
%defattr(-, root, root)
/usr/src/linux-%kernelrelease-vanilla
%endif
%changelog
++++++ kernel-spec-macros ++++++
# This file is included by all the kernel-*.spec files
# Build with bash instead of sh as the shell: this turns on bash
# extensions like <(...).
%define _buildshell /bin/bash
%define using_buildservice 0%{?opensuse_bs}
%define source_rel %release
%if %using_buildservice
# The last digit is a volatile rebuild counter, strip it
%define source_rel %(release=%release; echo ${release%.*})
%endif
%define release_major %(rel="%source_rel" ; echo "${rel##[^0-9]*.}")
%define kernelrelease %patchversion-%release_major
%define my_builddir %_builddir/%{name}-%{version}
# macro to add the source timestamp to package descriptions
%define source_timestamp %(sed '1s/^/Source Timestamp: /' %_sourcedir/source-timestamp || :)
# vim: ft=spec
++++++ kernel-syms.spec.in ++++++
#
# spec file for package kernel-syms@VARIANT@ (Version @RPMVERSION@)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-syms@VARIANT@
Summary: Kernel Symbol Versions (modversions)
Version: @RPMVERSION@
%if %using_buildservice
Release: @RELEASE_PREFIX@<RELEASE>
%else
%define kernel_source_release %(LC_ALL=C rpm -q kernel-source%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0)
Release: %kernel_source_release
%endif
License: GPL v2 only
Group: Development/Sources
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
@REQUIRES@
Source: README.KSYMS
Requires: kernel-source%variant = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr/src
%description
Kernel symbols, such as functions and variables, have version
information attached to them. This package contains the symbol versions
for the standard kernels.
This package is needed for compiling kernel module packages with proper
package dependencies.
%source_timestamp
%prep
%install
install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
%files
%defattr(-, root, root)
%dir %_docdir/%name
%_docdir/%name/README.SUSE
%changelog
++++++ linux-2.6.26.tar.bz2 -> linux-2.6.30.tar.bz2 ++++++
kernel-source-rt/linux-2.6.26.tar.bz2 kernel-source-rt/linux-2.6.30.tar.bz2 differ: char 11, line 1
++++++ minmem ++++++
1048576
++++++ mkspec ++++++
#!/usr/bin/perl
use strict;
use warnings;
use File::Copy;
use Getopt::Long;
my $dir = ".";
my $rpmrelease;
my $patches="";
GetOptions(
"patches=s" => \$patches,
"release=s" => \$rpmrelease
) or die "Usage: $0 [--release <release>] [--patches <dir>]\n";
# flavor -> [supported archs]
my %flavor_archs = parse_config_conf();
# subset to include in kernel-syms
my %syms_flavor_archs = parse_config_conf("syms");
# template name -> template body
my %templates = read_spec_templates();
# config.sh variables
my %vars = parse_config_sh();
my ($srcversion, $variant) = ($vars{'SRCVERSION'}, $vars{'VARIANT'});
# rpm changelog
my $changelog = convert_changes();
# package name -> [summary, description]
my %binary_descriptions = parse_descriptions();
$patches="--patches $patches" if $patches;
my $patchversion = `$dir/compute-PATCHVERSION.sh $patches`;
chomp $patchversion;
my $rpmversion;
if (defined($rpmrelease)) {
($rpmversion = $patchversion) =~ s/-.*//;
# convince abuild that we really want this release number
xopen(my $fh, '>', "$dir/get_release_number.sh");
print $fh "#!/bin/sh\n";
print $fh "echo \"$rpmrelease.0\"\n";
close($fh);
chmod(0755, "$dir/get_release_number.sh");
} else {
($rpmversion, $rpmrelease) = (split(/-/, $patchversion, 2), "");
}
$rpmrelease =~ s/[^.]$/$&./;
$rpmrelease =~ s/-/./g;
my %macros = (
VARIANT => $variant,
SRCVERSION => $srcversion,
PATCHVERSION => $patchversion,
RPMVERSION => $rpmversion,
RELEASE_PREFIX => $rpmrelease,
);
# binary spec files
for my $flavor (sort keys(%flavor_archs)) {
my ($summary, $description);
if (!exists($binary_descriptions{"kernel-$flavor"})) {
print STDERR "warning: no description for kernel-$flavor found\n";
$summary = "The Linux Kernel";
$description = "The Linux Kernel.";
} else {
$summary = $binary_descriptions{"kernel-$flavor"}->[0];
$description = $binary_descriptions{"kernel-$flavor"}->[1];
}
do_spec('binary', "kernel-$flavor.spec", %macros,
FLAVOR => $flavor,
SUMMARY => $summary,
DESCRIPTION => $description,
ARCHS => join(" ", arch2rpm(@{$flavor_archs{$flavor}})),
PROVIDES_OBSOLETES => provides_obsoletes($flavor, @{$flavor_archs{$flavor}}),
);
}
# kernel-source.spec
do_spec('source', "kernel-source$variant.spec", %macros);
# kernel-syms.spec
{
my $requires = "";
for my $flavor (sort keys(%syms_flavor_archs)) {
next if $flavor eq "vanilla";
my @archs = arch2rpm(@{$syms_flavor_archs{$flavor}});
$requires .= "%ifarch @archs\n";
$requires .= "Requires: kernel-$flavor-devel = \%version-\%source_rel\n";
$requires .= "%endif\n";
}
chomp $requires;
do_spec('syms', "kernel-syms$variant.spec", %macros,
REQUIRES => $requires);
}
exit 0;
sub parse_config_conf {
my @symbols = @_;
my $symbols = join(' ', @symbols);
my %res;
for my $arch (split(/\s+/, `$dir/arch-symbols --list`)) {
my @flavors = `$dir/guards $arch $symbols < $dir/config.conf`;
next if @flavors == 0;
chomp @flavors;
@flavors = map { s/.*\///; $_ } @flavors;
for my $flavor (@flavors) {
$res{$flavor} ||= [];
push(@{$res{$flavor}}, $arch);
}
}
for my $flavor (keys(%res)) {
$res{$flavor} = [sort @{$res{$flavor}}];
}
return %res;
}
sub read_spec_templates {
my %res;
for my $template qw(binary source syms) {
xopen(my $fh, '<', "$dir/kernel-$template.spec.in");
my @lines = <$fh>;
$res{$template} = join("", @lines);
close($fh);
}
return %res;
}
# return a hash of config.sh variables
sub parse_config_sh {
my %res;
xopen(my $fh, '<', "$dir/config.sh");
while (<$fh>) {
chomp;
if (/^\s*([A-Z_]+)=(.*)/) {
$res{$1} = $2;
}
}
close($fh);
return %res;
}
# convert kernel-source.changes to rpm changelog
sub convert_changes {
my $res = "\%changelog\n";
my @progs = qw(/usr/lib/build/changelog2spec
/work/src/bin/tools/convert_changes_to_rpm_changelog);
my $changesfile = "$dir/kernel-source$variant.changes";
if (-e $changesfile) {
for my $prog (@progs) {
if (-x $prog) {
$res .= `$prog $changesfile`;
last;
}
}
}
chomp $res;
return $res;
}
sub parse_descriptions {
my %res;
my $current;
my $blank = "";
# 0 - expect summary, 1 - eating blank lines, 2 - reading description
my $state = 0;
xopen(my $fh, '<', "$dir/package-descriptions");
while (<$fh>) {
next if /^\s*#/;
if (/^==+\s+([^\s]+)\s+==+\s*$/) {
my $package = $1;
if ($current) {
chomp $current->[1];
}
$current = ["", ""];
$res{$package} = $current;
$state = 0;
next;
}
if (/^$/) {
if ($state == 2) {
$blank .= $_;
}
next;
}
# non-blank line and not === package ===
if ($state == 0) {
chomp;
$current->[0] = $_;
$state = 1;
} elsif ($state == 1) {
$current->[1] = $_;
$blank = "";
$state = 2;
} else {
$current->[1] .= $blank;
$blank = "";
$current->[1] .= $_;
}
}
if ($current) {
chomp $current->[1];
}
close($fh);
return %res;
}
sub arch2rpm {
if (wantarray) {
return map { _arch2rpm($_) } @_;
}
return _arch2rpm($_[0]);
}
sub _arch2rpm {
my $arch = shift;
return "\%ix86" if $arch eq "i386";
return $arch;
}
sub append_changelog {
my $changelog = $_[1];
if ($_[0] =~ s/\%changelog$/$changelog/) {
return;
}
$_[0] .= $changelog;
}
sub provides_obsoletes {
my $flavor = shift;
my @archs = @_;
my $res = "";
for my $arch (@archs) {
my @packs = `$dir/guards $arch $flavor <$dir/old-packages.conf`;
chomp @packs;
next if (!@packs);
my $rpmarch = arch2rpm($arch);
chomp $rpmarch;
$res .= "\%ifarch $rpmarch\n";
$res .= "Provides: @packs\n";
$res .= "Obsoletes: @packs\n";
$res .= "\%endif\n";
}
chomp $res;
return $res;
}
sub do_spec {
my $template = shift;
my $specfile = shift;
my %macros = @_;
my $text = $templates{$template};
for my $m (keys %macros) {
$text =~ s/\@$m\@/$macros{$m}/g;
}
append_changelog($text, $changelog);
print "$specfile\n";
xopen(my $fh, '>', "$dir/$specfile");
print $fh $text;
close($fh);
return if $specfile eq "kernel-source$variant.spec";
my $changesfile = $specfile;
$changesfile =~ s/\.spec$//;
$changesfile .= ".changes";
copy("$dir/kernel-source$variant.changes", $changesfile);
}
sub xopen {
open($_[0], $_[1], $_[2]) or die "$_[2]: $!\n";
}
++++++ modversions ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:34.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:34.000000000 +0200
@@ -29,6 +29,7 @@
$locally_defined{$_} = 1;
if ($locally_unknown{$_}) {
+ print "override " if $override_locally{$_};
print "$_ $symbol_type_name{$1} $2 { UNKNOWN } \n";
} else {
if (!exists $definitions{$_}) {
@@ -47,6 +48,7 @@
my @files;
$ext = ".symtypes" unless defined $ext;
+ $dir =~ s/\/+$//;
find(sub ($) { /\Q$ext\E$/ && push @files, $File::Find::name}, $dir);
map { s/^\Q$dir\E\/(.*)\Q$ext\E$/$1/ } @files;
@@ -83,9 +85,12 @@
delete $override{$sym};
} else {
$override{$sym} = 1;
+ $_ = "$override$_";
}
}
}
+ } elsif ($override) {
+ $_ = "$override$_";
}
print "$_\n";
}
@@ -115,6 +120,7 @@
}
my $override = /^override\s/;
+ s/^override\s//;
if (/^([^ ])#(#?)([^ ]+) *(.*)$/) {
my $sym = "$1#$3";
@@ -134,6 +140,8 @@
$override_locally{$sym} = $override;
}
next;
+ } elsif (/^([^# ]*)/) {
+ $override_locally{$1} = $override;
}
expand_types($_);
}
++++++ needed_space_in_mb ++++++
6144
++++++ old-packages.conf ++++++
# Defines which package names to include in the Provides and
# Obsoletes tags of spec files.
#
# When generating Provides, `p' is defined. When generating
# Obsoletes, `o' is defined.
#
# +ARCH: include only for this architecture.
# -!symbol: exclude unless symbol is also defined.
#
# Guards are always evaluated from left to right; the last
# guard that matches determines whether a line is included
# or not.
#
# For testing this file, run scripts/old-config.sh.
#
# i386 =================================================================
+i386 -!default smp kernel-smp kernel-pae kernel-bigsmp
# x86_64 ===============================================================
+x86_64 -!default smp kernel-smp
# ia64 =================================================================
+ia64 -!default kernel-sn2
# ppc/ppc64 ============================================================
+ppc -!ppc64 kernel-pmac64 kernel-pseries64 kernel-iseries64
# s390/s390x ===========================================================
+s390 -!s390 kernel-32bit
+s390x -!s390x kernel-64bit
++++++ package-descriptions ++++++
# Descriptions of the binary kernel packages. The format is
#
# === <package name> ===
# Summary (single line)
#
# Long description (multiple
# lines)
#
# Descriptions of the -base and -extra subpackages are derived from the
# main descriptions.
=== kernel-rt ===
The Real-Time Linux Kernel
This Kernel is for high-performance / low latency applications.
=== kernel-debug ===
A Debug Version of the Kernel
This kernel has several debug facilities enabled that hurt performance.
Only use this kernel when investigating problems.
=== kernel-default ===
The Standard Kernel
The standard kernel for both uniprocessor and multiprocessor systems.
=== kernel-legacy ===
The Legacy Kernel
The kernel for both uniprocessor and multiprocessor systems to run on older
hardware. It contains support for ISA devices and has the Physical Addressing
Extension (PAE) feature disabled.
=== kernel-desktop ===
Kernel optimized for the desktop
This kernel is optimized for the desktop. It is configured for lower latency
and has many of the features that aren't usually used on desktop machines
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.
=== kernel-kdump ===
kernel for kdump
This kernel is intended for kdump. It can not be booted with a normal
bootloader, the kexec tool has to be used to load it. Once the system
crashes, the loaded kernel will be started to grab debug info from the
crashed kernel.
=======
=== kernel-pae ===
Kernel with PAE Support
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.
=== kernel-ppc64 ===
Kernel for ppc64 Systems
This package contains the kernel for:
IBM pSeries 64bit machines IBM iSeries 64bit machines Apple G5 machines
Sony Playstation 3
The boot file is /boot/vmlinux.
The home page of the ppc64 project is http://www.penguinppc.org/
=== kernel-ps3 ===
kernel for ps3 bootloader
This package contains the kernel for the PS3 bootloader. PS3 systems
only have 4MB of flash memory for the bootloader, so this kernel needs
to be as small as possible and is _not_ meant to be installed in the
final system.
=== kernel-s390 ===
The Standard Kernel
The standard kernel.
=== kernel-trace ===
The Realtime Linux Kernel
This kernel is compiled for realtime applications.
=== kernel-vanilla ===
The Standard Kernel - without any SUSE patches
The standard kernel - without any SUSE patches
=== kernel-xen ===
The Xen Kernel
The Linux kernel for Xen paravirtualization.
This kernel can be used both as the domain0 ("xen0") and as an
unprivileged ("xenU") kernel.
++++++ patches.addon.tar.bz2 ++++++
++++++ patches.apparmor.tar.bz2 ++++++
++++ 7435 lines of diff (skipped)
++++++ patches.arch.tar.bz2 ++++++
++++ 4576 lines of diff (skipped)
++++++ patches.drivers.tar.bz2 ++++++
++++ 42699 lines of diff (skipped)
++++++ patches.fixes.tar.bz2 ++++++
++++ 3576 lines of diff (skipped)
++++++ patches.kernel.org.tar.bz2 ++++++
kernel-source-rt/patches.kernel.org.tar.bz2 kernel-source-rt/patches.kernel.org.tar.bz2 differ: char 11, line 1
++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/arm-arch_include_asm-fix.diff new/patches.rpmify/arm-arch_include_asm-fix.diff
--- old/patches.rpmify/arm-arch_include_asm-fix.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/arm-arch_include_asm-fix.diff 2009-07-27 03:04:42.000000000 +0200
@@ -0,0 +1,44 @@
+From: Jan Blunck
+Subject: ARM: move mach-types.h to arch/include/asm
+
+Although all other architecture specific includes where already moved to
+arch/include/asm the mach-types.h header was still generated in the old
+location.
+
+Signed-off-by: Jan Blunck
+---
+ arch/arm/Makefile | 4 ++--
+ arch/arm/tools/Makefile | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
+@@ -234,7 +234,7 @@ archprepare: maketools
+
+ PHONY += maketools FORCE
+ maketools: include/linux/version.h FORCE
+- $(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
++ $(Q)$(MAKE) $(build)=arch/arm/tools arch/arm/include/asm/mach-types.h
+
+ # Convert bzImage to zImage
+ bzImage: zImage
+@@ -245,7 +245,7 @@ zImage Image xipImage bootpImage uImage:
+ zinstall install: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
+
+-CLEAN_FILES += include/asm-arm/mach-types.h \
++CLEAN_FILES += arch/arm/include/asm/mach-types.h \
+ include/asm-arm/arch include/asm-arm/.arch
+
+ # We use MRPROPER_FILES and CLEAN_FILES now
+--- a/arch/arm/tools/Makefile
++++ b/arch/arm/tools/Makefile
+@@ -4,7 +4,7 @@
+ # Copyright (C) 2001 Russell King
+ #
+
+-include/asm-arm/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
++arch/arm/include/asm/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
+ @echo ' Generating $@'
+ @mkdir -p $(dir $@)
+ $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/buildhost new/patches.rpmify/buildhost
--- old/patches.rpmify/buildhost 2008-12-09 21:53:33.000000000 +0100
+++ new/patches.rpmify/buildhost 2009-07-27 03:04:42.000000000 +0200
@@ -11,7 +11,7 @@
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
-@@ -60,16 +60,9 @@ UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}
+@@ -62,16 +62,9 @@ UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}
echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_TIME \"`date +%T`\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/cloneconfig.diff new/patches.rpmify/cloneconfig.diff
--- old/patches.rpmify/cloneconfig.diff 2008-12-09 21:53:33.000000000 +0100
+++ new/patches.rpmify/cloneconfig.diff 2009-07-27 03:04:42.000000000 +0200
@@ -12,7 +12,7 @@
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
-@@ -61,6 +61,22 @@ allnoconfig: $(obj)/conf
+@@ -65,6 +65,22 @@ allnoconfig: $(obj)/conf
allmodconfig: $(obj)/conf
$< -m $(Kconfig)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/firmware-path new/patches.rpmify/firmware-path
--- old/patches.rpmify/firmware-path 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/firmware-path 2009-07-27 03:04:42.000000000 +0200
@@ -0,0 +1,25 @@
+From: Jeff Mahoney
+Subject: [PATCH] firmware: Allow release-specific firmware dir
+
+ Every kernel package trying to provide files under /lib/firmware runs
+ into problems really quickly with multiple kernels installed.
+
+ This patch moves them to /lib/firmware/$KERNELRELEASE. udev v127's
+ firmware.sh looks there first before falling back to /lib/firmware.
+
+Signed-off-by: Jeff Mahoney
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -1067,7 +1067,7 @@ depend dep:
+
+ # ---------------------------------------------------------------------------
+ # Firmware install
+-INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware
++INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware/$(KERNELRELEASE)
+ export INSTALL_FW_PATH
+
+ PHONY += firmware_install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/no-include-asm new/patches.rpmify/no-include-asm
--- old/patches.rpmify/no-include-asm 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/no-include-asm 2009-07-27 03:04:42.000000000 +0200
@@ -0,0 +1,33 @@
+From: Takashi Iwai
+Subject: [PATCH] kbuild: correctly link include/asm in external builds
+Patch-mainline: 2.6.27?
+
+Looking at this problem now, and found that it's likely a bug in the
+upstream. The patch below should fix the creation of include2/asm
+symlink, which resulted in build errors.
+
+
+Takashi
+
+Signed-off-by: Takashi Iwai
+---
+
+---
+ Makefile | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -960,7 +960,11 @@ ifneq ($(KBUILD_SRC),)
+ fi;
+ $(Q)if [ ! -d include2 ]; then \
+ mkdir -p include2; \
+- ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm; \
++ if [ -d $(srctree)/arch/$(SRCARCH)/include/asm ]; then \
++ ln -fsn $(srctree)/arch/$(SRCARCH)/include/asm include2/asm; \
++ else \
++ ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm; \
++ fi; \
+ fi
+ endif
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/rpm-kernel-config new/patches.rpmify/rpm-kernel-config
--- old/patches.rpmify/rpm-kernel-config 2008-12-09 21:53:33.000000000 +0100
+++ new/patches.rpmify/rpm-kernel-config 2009-07-27 03:04:42.000000000 +0200
@@ -12,14 +12,11 @@
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -101,6 +101,10 @@ config LOCALVERSION_AUTO
-
- which is done within the script "scripts/setlocalversion".)
-
+@@ -1,3 +1,7 @@
+config SUSE_KERNEL
+ bool
+ default y
+
- config SWAP
- bool "Support for paging of anonymous memory (swap)"
- depends on MMU && BLOCK
+ config ARCH
+ string
+ option env="ARCH"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/rtl8192su-build-fix new/patches.rpmify/rtl8192su-build-fix
--- old/patches.rpmify/rtl8192su-build-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/rtl8192su-build-fix 2009-07-27 03:04:42.000000000 +0200
@@ -0,0 +1,87 @@
+From: Jeff Mahoney
+Subject: rtl8192su: compile fixes
+
+ This driver needs real help.
+
+Acked-by: Jeff Mahoney
+---
+ drivers/staging/rtl8192su/Makefile | 1 -
+ drivers/staging/rtl8192su/r8192U_core.c | 22 ++++++++--------------
+ 2 files changed, 8 insertions(+), 15 deletions(-)
+
+--- a/drivers/staging/rtl8192su/Makefile
++++ b/drivers/staging/rtl8192su/Makefile
+@@ -2,7 +2,6 @@ NIC_SELECT = RTL8192SU
+
+ EXTRA_CFLAGS += -std=gnu89
+ EXTRA_CFLAGS += -O2
+-EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y
+
+ EXTRA_CFLAGS += -DJACKSON_NEW_RX
+ EXTRA_CFLAGS += -DTHOMAS_BEACON -DTHOMAS_TURBO
+--- a/drivers/staging/rtl8192su/r8192U_core.c
++++ b/drivers/staging/rtl8192su/r8192U_core.c
+@@ -24,14 +24,7 @@
+ * Jerry chuang
+ */
+
+-#ifndef CONFIG_FORCE_HARD_FLOAT
+-double __floatsidf (int i) { return i; }
+-unsigned int __fixunsdfsi (double d) { return d; }
+-double __adddf3(double a, double b) { return a+b; }
+-double __addsf3(float a, float b) { return a+b; }
+-double __subdf3(double a, double b) { return a-b; }
+-double __extendsfdf2(float a) {return a;}
+-#endif
++#include
+
+ #undef LOOP_TEST
+ #undef DUMP_RX
+@@ -1715,7 +1708,7 @@ static int rtl8192_rx_initiate(struct ne
+ }
+ // printk("nomal packet IN request!\n");
+ usb_fill_bulk_urb(entry, priv->udev,
+- usb_rcvbulkpipe(priv->udev, 3), skb->tail,
++ usb_rcvbulkpipe(priv->udev, 3), skb_tail_pointer(skb),
+ RX_URB_SIZE, rtl8192_rx_isr, skb);
+ info = (struct rtl8192_rx_info *) skb->cb;
+ info->urb = entry;
+@@ -1745,7 +1738,7 @@ static int rtl8192_rx_initiate(struct ne
+ break;
+ }
+ usb_fill_bulk_urb(entry, priv->udev,
+- usb_rcvbulkpipe(priv->udev, 9), skb->tail,
++ usb_rcvbulkpipe(priv->udev, 9), skb_tail_pointer(skb),
+ RX_URB_SIZE, rtl8192_rx_isr, skb);
+ info = (struct rtl8192_rx_info *) skb->cb;
+ info->urb = entry;
+@@ -2135,7 +2128,8 @@ static void rtl8192_rx_isr(struct urb *u
+ }
+
+ usb_fill_bulk_urb(urb, priv->udev,
+- usb_rcvbulkpipe(priv->udev, out_pipe), skb->tail,
++ usb_rcvbulkpipe(priv->udev, out_pipe),
++ skb_tail_pointer(skb),
+ RX_URB_SIZE, rtl8192_rx_isr, skb);
+
+ info = (struct rtl8192_rx_info *) skb->cb;
+@@ -2143,7 +2137,7 @@ static void rtl8192_rx_isr(struct urb *u
+ info->dev = dev;
+ info->out_pipe = out_pipe;
+
+- urb->transfer_buffer = skb->tail;
++ urb->transfer_buffer = skb_tail_pointer(skb);
+ urb->context = skb;
+ skb_queue_tail(&priv->rx_queue, skb);
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
+@@ -2356,8 +2350,8 @@ struct sk_buff *DrvAggr_Aggregation(stru
+ /* Subframe drv Tx descriptor and firmware info setting */
+ skb = pSendList->tx_agg_frames[i];
+ tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
+- tx_agg_desc = (tx_desc_819x_usb_aggr_subframe *)agg_skb->tail;
+- tx_fwinfo = (tx_fwinfo_819x_usb *)(agg_skb->tail + sizeof(tx_desc_819x_usb_aggr_subframe));
++ tx_agg_desc = (tx_desc_819x_usb_aggr_subframe *)agg_skb_tail_pointer(skb);
++ tx_fwinfo = (tx_fwinfo_819x_usb *)(agg_skb_tail_pointer(skb) + sizeof(tx_desc_819x_usb_aggr_subframe));
+
+ memset(tx_fwinfo,0,sizeof(tx_fwinfo_819x_usb));
+ /* DWORD 0 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/spin_is_contended-fix new/patches.rpmify/spin_is_contended-fix
--- old/patches.rpmify/spin_is_contended-fix 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/spin_is_contended-fix 2009-07-27 03:04:42.000000000 +0200
@@ -0,0 +1,169 @@
+From: Jeff Mahoney
+Subject: [PATCH] spin_is_contended Kconfig fixes
+
+ include/linux/spinlock.h contains the following chunk:
+ #ifdef CONFIG_GENERIC_LOCKBREAK
+ #define spin_is_contended(lock) ((lock)->break_lock)
+ #else
+ #define spin_is_contended(lock) __raw_spin_is_contended(&(lock)->raw_lock)
+ #endif
+
+ __raw_spin_is_contended() is only implemented on mips and x86.
+
+ Prior to a recent commit against btrfs, spin_needbreak was the only
+ user of spin_is_contended, and it returns 0 when !CONFIG_PREEMPT. The
+ architecture Kconfigs reflect that, depending on PREEMPT to enable
+ GENERIC_LOCKBREAK. With the btrfs changes, this is causing build
+ failures on anything !x86 (and mips, but I don't build on mips).
+
+ Now that there is another user of spin_is_contended, the PREEMPT
+ dependency is obsolete. This removes the dependency.
+
+ This patch also adds GENERIC_LOCKBREAK entries to architectures that
+ didn't have it and offer SMP support.
+
+ The removal of the SPARC64 dependency isn't an oversight - SMP is
+ supported for 32-bit sparc, so it would run into the same problem.
+
+Signed-off-by: Jeff Mahoney
+---
+ arch/alpha/Kconfig | 5 +++++
+ arch/arm/Kconfig | 2 +-
+ arch/blackfin/Kconfig | 5 +++++
+ arch/ia64/Kconfig | 2 +-
+ arch/m32r/Kconfig | 2 +-
+ arch/parisc/Kconfig | 2 +-
+ arch/powerpc/Kconfig | 2 +-
+ arch/s390/Kconfig | 2 +-
+ arch/sh/Kconfig | 7 ++++++-
+ arch/sparc/Kconfig | 2 +-
+ 10 files changed, 23 insertions(+), 8 deletions(-)
+
+--- a/arch/alpha/Kconfig
++++ b/arch/alpha/Kconfig
+@@ -25,6 +25,11 @@ config MMU
+ config RWSEM_GENERIC_SPINLOCK
+ bool
+
++config GENERIC_LOCKBREAK
++ bool
++ default y
++ depends on SMP
++
+ config RWSEM_XCHGADD_ALGORITHM
+ bool
+ default y
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -111,7 +111,7 @@ config GENERIC_IRQ_PROBE
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config RWSEM_GENERIC_SPINLOCK
+ bool
+--- a/arch/blackfin/Kconfig
++++ b/arch/blackfin/Kconfig
+@@ -17,6 +17,11 @@ config RWSEM_GENERIC_SPINLOCK
+ config RWSEM_XCHGADD_ALGORITHM
+ def_bool n
+
++config GENERIC_LOCKBREAK
++ bool
++ default y
++ depends on SMP
++
+ config BLACKFIN
+ def_bool y
+ select HAVE_FUNCTION_GRAPH_TRACER
+--- a/arch/ia64/Kconfig
++++ b/arch/ia64/Kconfig
+@@ -62,7 +62,7 @@ config IOMMU_HELPER
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config RWSEM_XCHGADD_ALGORITHM
+ bool
+--- a/arch/m32r/Kconfig
++++ b/arch/m32r/Kconfig
+@@ -243,7 +243,7 @@ config IRAM_SIZE
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config RWSEM_GENERIC_SPINLOCK
+ bool
+--- a/arch/parisc/Kconfig
++++ b/arch/parisc/Kconfig
+@@ -31,7 +31,7 @@ config STACK_GROWSUP
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config RWSEM_GENERIC_SPINLOCK
+ def_bool y
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
+@@ -78,7 +78,7 @@ config RWSEM_XCHGADD_ALGORITHM
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config ARCH_HAS_ILOG2_U32
+ bool
+--- a/arch/s390/Kconfig
++++ b/arch/s390/Kconfig
+@@ -63,7 +63,7 @@ config NO_DMA
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config PGSTE
+ bool
+--- a/arch/sh/Kconfig
++++ b/arch/sh/Kconfig
+@@ -48,6 +48,11 @@ config RWSEM_GENERIC_SPINLOCK
+ config RWSEM_XCHGADD_ALGORITHM
+ bool
+
++config GENERIC_LOCKBREAK
++ bool
++ default y
++ depends on SMP
++
+ config GENERIC_BUG
+ def_bool y
+ depends on BUG && SUPERH32
+@@ -98,7 +103,7 @@ config GENERIC_CMOS_UPDATE
+
+ config GENERIC_LOCKBREAK
+ def_bool y
+- depends on SMP && PREEMPT
++ depends on SMP
+
+ config SYS_SUPPORTS_PM
+ bool
+--- a/arch/sparc/Kconfig
++++ b/arch/sparc/Kconfig
+@@ -306,7 +306,7 @@ config US3_MC
+ config GENERIC_LOCKBREAK
+ bool
+ default y
+- depends on SPARC64 && SMP && PREEMPT
++ depends on SMP
+
+ choice
+ prompt "SPARC64 Huge TLB Page Size"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/split-package new/patches.rpmify/split-package
--- old/patches.rpmify/split-package 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/split-package 2009-07-27 03:04:42.000000000 +0200
@@ -0,0 +1,33 @@
+From: Jeff Mahoney
+Subject: Add SPLIT_PACKAGE option
+Patch-mainline: Never
+
+ This patch adds a SPLIT_PACKAGE option which allows the packager to
+ make decisions on a per-config basis.
+
+Signed-off-by: Jeff Mahoney
+---
+ init/Kconfig | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -2,6 +2,18 @@ config SUSE_KERNEL
+ bool
+ default y
+
++config SPLIT_PACKAGE
++ bool "Split the kernel package into multiple RPMs"
++ depends on SUSE_KERNEL && MODULES
++ help
++ This is an option used by the kernel packaging infrastructure
++ to split kernel modules into different packages. It isn't used
++ by the kernel itself, but allows the the packager to make
++ decisions on a per-config basis.
++
++ If you aren't packaging a kernel for distribution, it's safe to
++ say n.
++
+ config ARCH
+ string
+ option env="ARCH"
++++++ patches.rt.tar.bz2 ++++++
++++ 148700 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
++++ 187529 lines of diff (skipped)
++++++ patches.trace.tar.bz2 ++++++
++++ 6265 lines of diff (skipped)
++++++ patches.xen.tar.bz2 ++++++
++++++ post.sh ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:39.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:39.000000000 +0200
@@ -32,46 +32,21 @@
esac
for x in /boot/@IMAGE@ /boot/initrd; do
rm -f $x$suffix
- ln -s ${x##*/}-@KERNELRELEASE@ $x$suffix
+ ln -s ${x##*/}-@KERNELRELEASE@-@FLAVOR@ $x$suffix
done
-if [ -e /lib/modules/@KERNELRELEASE@ ]; then
- echo Setting up /lib/modules/@KERNELRELEASE@
-
- if [ -x /sbin/module_upgrade ]; then
- /sbin/module_upgrade --rename mptscsih="mptspi mptfc mptsas"
- fi
-fi
# Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/,
# run depmod and mkinitrd
-wm=/usr/lib/module-init-tools/weak-modules
wm2=/usr/lib/module-init-tools/weak-modules2
if [ -x $wm2 ]; then
if [ @BASE_PACKAGE@ = 1 ]; then
- $wm2 --add-kernel @KERNELRELEASE@
+ /bin/bash -${-/e/} $wm2 --add-kernel @KERNELRELEASE@-@FLAVOR@
else
nvr=@SUBPACKAGE@-@RPM_VERSION_RELEASE@
- rpm -ql $nvr | $wm2 --add-kernel-modules @KERNELRELEASE@
- fi
-elif [ -x $wm ]; then
- # pre CODE11 compatibility
- $wm --add-kernel @KERNELRELEASE@
- /sbin/depmod -a -F /boot/System.map-@KERNELRELEASE@ @KERNELRELEASE@
- if [ -f /etc/fstab -a ! -e /.buildenv -a -x /sbin/mkinitrd ] ; then
- /sbin/mkinitrd -k /boot/@IMAGE@-@KERNELRELEASE@ \
- -i /boot/initrd-@KERNELRELEASE@
- if [ $? -ne 0 ]; then
- echo "/sbin/mkinitrd failed" >&2
- case @SUBPACKAGE@ in
- *-base)
- echo "Ignoring this for the base subpackage" >&2
- ;;
- *)
- exit 1
- ;;
- esac
- fi
+ rpm -ql $nvr | /bin/bash -${-/e/} $wm2 --add-kernel-modules @KERNELRELEASE@-@FLAVOR@
fi
+else
+ echo "$wm does not exist, please run depmod and mkinitrd manually" >&2
fi
message_install_bl () {
@@ -95,50 +70,22 @@
if [ -f /etc/fstab -a ! -e /.buildenv ] ; then
# only run the bootloader if the usual bootloader configuration
# files are there -- this is different on every architecture
- initrd=initrd-@KERNELRELEASE@
- if [ -e /boot/$initrd -o ! -e /lib/modules/@KERNELRELEASE@ ] && \
+ initrd=initrd-@KERNELRELEASE@-@FLAVOR@
+ if [ -e /boot/$initrd -o ! -e /lib/modules/@KERNELRELEASE@-@FLAVOR@ ] && \
run_bootloader ; then
[ -e /boot/$initrd ] || initrd=
- # handle 10.2 and SLES10 SP1 or later
if [ -x /usr/lib/bootloader/bootloader_entry ]; then
/usr/lib/bootloader/bootloader_entry \
add \
@FLAVOR@ \
- @KERNELRELEASE@ \
- @IMAGE@-@KERNELRELEASE@ \
+ @KERNELRELEASE@-@FLAVOR@ \
+ @IMAGE@-@KERNELRELEASE@-@FLAVOR@ \
$initrd
-
- # handle 10.1 and SLES10 GA
- elif [ -x /sbin/update-bootloader ]; then
- case @FLAVOR@ in
- kdump|ps3)
- ;;
- *)
- opt_xen_kernel=
- case @FLAVOR@ in
- xen*)
- set -- @FLAVOR@
- set -- ${1#xen}
- opt_xen_kernel=--xen-kernel=/boot/xen${1:+-$1}.gz
- ;;
- esac
-
- echo "bootloader_entry script unavailable, updating /boot/@IMAGE@"
- /sbin/update-bootloader \
- --image /boot/@IMAGE@ \
- ${initrd:+--initrd /boot/initrd} \
- --add \
- --force $opt_xen_kernel
-
- /sbin/update-bootloader --refresh
- ;;
- esac
else
message_install_bl
fi
fi
else
- echo "Please run mkinitrd as soon as your system is complete."
message_install_bl
fi
++++++ postun.sh ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:39.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:39.000000000 +0200
@@ -1,24 +1,17 @@
-wm=/usr/lib/module-init-tools/weak-modules
wm2=/usr/lib/module-init-tools/weak-modules2
if [ @BASE_PACKAGE@ = 0 ]; then
if [ -x $wm2 ]; then
nvr=@SUBPACKAGE@-@RPM_VERSION_RELEASE@
- $wm2 --remove-kernel-modules @KERNELRELEASE@ < /var/run/rpm-$nvr-modules
+ /bin/bash -${-/e/} $wm2 --remove-kernel-modules @KERNELRELEASE@-@FLAVOR@ < /var/run/rpm-$nvr-modules
fi
rm -f /var/run/rpm-$nvr-modules
exit 0
fi
# Remove symlinks from /lib/modules/$krel/weak-updates/.
if [ -x $wm2 ]; then
- $wm2 --remove-kernel @KERNELRELEASE@
-elif [ -x $wm2 ]; then
- # pre CODE11 compatibility
- $wm --remove-kernel @KERNELRELEASE@
+ /bin/bash -${-/e/} $wm2 --remove-kernel @KERNELRELEASE@-@FLAVOR@
fi
-# remove /boot/@IMAGE@.previous entry on a 10.1 and SLES10 GA system
-# when going back from 10.2 or SLES10 SP1 kernel to the original kernel
-remove_previos_entry=no
suffix=
case @FLAVOR@ in
kdump|ps3|xen*|vanilla)
@@ -26,37 +19,14 @@
;;
esac
-# Created in %post of old kernels
-case "$(readlink /boot/@IMAGE@$suffix.previous)" in
-@IMAGE@-@KERNELRELEASE@|$(readlink /boot/@IMAGE@$suffix))
- remove_previos_entry=yes
- rm -f /boot/@IMAGE@$suffix.previous
- ;;
-esac
-case "$(readlink /boot/initrd$suffix.previous)" in
-initrd-@KERNELRELEASE@|$(readlink /boot/initrd$suffix))
- rm -f /boot/initrd$suffix.previous
- ;;
-esac
-
# remove fstab check once perl-Bootloader can cope with it
if [ -f /etc/fstab ]; then
- # handle 10.2 and SLES10 SP1
if [ -x /usr/lib/bootloader/bootloader_entry ]; then
/usr/lib/bootloader/bootloader_entry \
remove \
@FLAVOR@ \
- @KERNELRELEASE@ \
- @IMAGE@-@KERNELRELEASE@ \
- initrd-@KERNELRELEASE@
-
- # handle 10.1 and SLES10 GA
- elif [ -x /sbin/update-bootloader ]; then
- if [ "$remove_previos_entry" = "yes" ] ; then
- /sbin/update-bootloader --image /boot/@IMAGE@$suffix.previous \
- --initrd /boot/initrd$suffix.previous \
- --remove --force
- fi
- /sbin/update-bootloader --refresh
+ @KERNELRELEASE@-@FLAVOR@ \
+ @IMAGE@-@KERNELRELEASE@-@FLAVOR@ \
+ initrd-@KERNELRELEASE@-@FLAVOR@
fi
fi
++++++ series.conf ++++++
++++ 1627 lines (skipped)
++++ between kernel-source-rt/series.conf
++++ and kernel-source-rt/series.conf
++++++ source-post.sh ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:39.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:39.000000000 +0200
@@ -10,15 +10,4 @@
&& ln -s "$1" "$2"
}
-relink linux-@KERNELRELEASE@@VARIANT@ /usr/src/linux@VARIANT@
-cd /usr/src
-for a in linux-@KERNELRELEASE@@VARIANT@-obj/*; do
- if [ ! -d "$a" -o -h "$a" ]; then
- # skip symlinks like i586 -> i386
- continue
- fi
- for d in "$a"/*; do
- arch_flavor=${d#*/}
- relink ../../"$d" /usr/src/linux-obj/"$arch_flavor"
- done
-done
+relink linux-@KERNELRELEASE@@SRCVARIANT@ /usr/src/linux@SRCVARIANT@
++++++ source-timestamp ++++++
2009-08-27 20:02:26 +0200
GIT Revision: 447b419f63d1afc2427f8490c450892911a6afdc
GIT Branch: slert-devel
++++++ split-modules ++++++
#!/bin/bash
#
# given a Module.supported, Module.base and modules.dep, generate list
# of base / supported / unsupported modules
set -e
export LC_COLLATE=C
usage()
{
echo "Usage: ${0##*/} -b Module.base -s Module.supported [-d dir] [-i] [-o outdir]"
}
options=$(getopt -o b:s:d:o:i -- "$@")
if test $? -ne 0; then
usage >&2
exit 1
fi
eval set -- "$options"
opt_base=
opt_supp=
opt_out=.
opt_dir=.
opt_ignore_errors=false
while test $# -gt 0; do
opt=$1
shift
case "$opt" in
-b | -s | -d | -o | -D)
arg=$1
shift
esac
case "$opt" in
-b)
opt_base=$arg ;;
-s)
opt_supp=$arg ;;
-d)
opt_dir=$arg ;;
-o)
opt_out=$arg ;;
-i)
opt_ignore_errors=true ;;
--)
break ;;
*)
echo "Unknown option $opt" >&2
exit 1
esac
done
if test -z "$opt_base" -o -z "$opt_supp"; then
usage >&2
exit 1
fi
trap 'rm -rf "$tmp"' EXIT
tmp=$(mktemp -d)
mkdir "$tmp/empty"
find "$opt_dir" -type f -name '*.ko' -printf '/%P\n' | \
awk -F/ '{ n=$NF; gsub(/-/, "_", n); sub(/\.ko$/, "", n); print n " " $0; }' | \
sort >"$tmp/all"
modules_dep=$(find "$opt_dir" -type f -name modules.dep)
if test -z "$modules_dep"; then
echo "Cannot find modules.dep in $opt_dir" >&2
exit 1
fi
(
echo -e '%:\n\t@echo $@'
sed -r 's:[^ ]*/([^/]*)\.ko\>:\1:g; y/-/_/' "$modules_dep"
) >"$tmp/dep"
add_dependent_modules()
{
xargs -r make -rRs -C "$tmp/empty" -f "$tmp/dep" | sort -u
}
# base
sed 'y/-/_/' <"$opt_base" | add_dependent_modules >"$tmp/base"
join -j 1 -o 2.2 "$tmp/base" "$tmp/all" >"$opt_out/base-modules"
# main
sed 's/ .*//; y/-/_/' "$opt_supp" | sort -u >"$tmp/supp"
add_dependent_modules <"$tmp/supp" >"$tmp/supp-all"
if ! cmp -s "$tmp/supp" "$tmp/supp-all"; then
echo "The following unsupported modules are used by supported modules:" >&2
join -v2 "$tmp/supp" "$tmp/supp-all" >&2
echo "Please fix supported.conf." >&2
if ! $opt_ignore_errors; then
exit 1
fi
fi
join -j 1 -o 2.2 "$tmp/supp-all" "$tmp/all" >"$opt_out/main-modules"
# unsupported
join -j 1 -v 2 -o 2.2 "$tmp/supp-all" "$tmp/all" >"$opt_out/unsupported-modules"
exit 0
++++++ supported.conf ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:39.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:39.000000000 +0200
@@ -35,6 +35,7 @@
kernel/arch/s390/crypto/sha512_s390
kernel/arch/s390/crypto/sha_common
kernel/arch/s390/mm/cmm
+ kernel/arch/s390/kvm/kvm
kernel/arch/x86/crypto/aes-i586 # Rijndael (AES) Cipher Algorithm (optimized for i586)
kernel/arch/x86/crypto/aes-x86_64
kernel/arch/x86/crypto/salsa20-i586
@@ -79,29 +80,37 @@
kernel/crypto/cast6 # Cast6 Cipher Algorithm
kernel/crypto/cbc
kernel/crypto/ccm
+ kernel/crypto/chainiv
kernel/crypto/crc32c # CRC32c (Castagnoli) calculations wrapper for lib/crc32c
kernel/crypto/cryptd
+ kernel/crypto/cryptomgr
+ kernel/crypto/crypto_algapi
kernel/crypto/crypto_blkcipher
kernel/crypto/crypto_null # Null Cryptographic Algorithms
+ kernel/crypto/crypto_wq
kernel/crypto/ctr
kernel/crypto/cts
kernel/crypto/deflate # Deflate Compression Algorithm for IPCOMP
kernel/crypto/des_generic
kernel/crypto/ecb
+ kernel/crypto/eseqiv
kernel/crypto/fcrypt
kernel/crypto/gcm
kernel/crypto/gf128mul
kernel/crypto/khazad # Khazad Cryptographic Algorithm
+ kernel/crypto/krng
kernel/crypto/lrw
kernel/crypto/lzo
kernel/crypto/md4 # MD4 Message Digest Algorithm
kernel/crypto/md5
kernel/crypto/michael_mic # Michael MIC
kernel/crypto/pcbc
+ kernel/crypto/pcompress
kernel/crypto/rmd128
kernel/crypto/rmd160
kernel/crypto/rmd256
kernel/crypto/rmd320
+ kernel/crypto/rng
kernel/crypto/salsa20_generic
kernel/crypto/seed
kernel/crypto/seqiv
@@ -727,14 +736,18 @@
kernel/drivers/md/dm-crypt # device-mapper target for transparent encryption / decryption
kernel/drivers/md/dm-delay
kernel/drivers/md/dm-log
- kernel/drivers/md/dm-mem-cache
+ kernel/drivers/md/dm-memcache
kernel/drivers/md/dm-message
kernel/drivers/md/dm-mirror # device-mapper mirror target
+base kernel/drivers/md/dm-mod # device-mapper driver
kernel/drivers/md/dm-multipath # device-mapper multipath target
- kernel/drivers/md/dm-raid4-5
+ kernel/drivers/md/dm-raid45
+ kernel/drivers/md/dm-regions
kernel/drivers/md/dm-region_hash
kernel/drivers/md/dm-round-robin # Round-robin path selector
+ kernel/drivers/md/dm-leastpending-path # Least pending path selector
+ kernel/drivers/md/dm-queue-length # Queue-lenght oriented dynamic load balancer
+ kernel/drivers/md/dm-service-time # Service-time oriented dynamic load balancer
kernel/drivers/md/dm-snapshot # device-mapper snapshot target
kernel/drivers/md/dm-zero # device-mapper dummy target returning zeros
kernel/drivers/md/faulty
@@ -1298,7 +1311,7 @@
kernel/drivers/net/sc92031
+isa kernel/drivers/net/seeq8005
kernel/drivers/net/sfc/sfc
- kernel/drivers/net/sfc/sfc_resource/sfc_resource
++external kernel/drivers/net/sfc/sfc_resource/sfc_resource
kernel/drivers/net/sis190 # SiS SiS190 Gigabit Ethernet driver
kernel/drivers/net/sis900 # SiS 900 PCI Fast Ethernet driver
kernel/drivers/net/skfp/skfp
@@ -1869,11 +1882,12 @@
kernel/drivers/xen/netback/netbk # Xen network device backend
kernel/drivers/xen/netback/netloop # Xen network loopback device
+base kernel/drivers/xen/netfront/xennet # Xen network device frontend
-- kernel/drivers/xen/pciback/pciback # Xen PCI device backend
- kernel/drivers/xen/scsiback/xen-scsibk
- kernel/drivers/xen/scsifront/xenscsi
- kernel/drivers/xen/sfc_netback/sfc_netback
- kernel/drivers/xen/sfc_netutil/sfc_netutil
+ kernel/drivers/xen/pciback/pciback # Xen PCI device backend
+- kernel/drivers/xen/scsiback/xen-scsibk
+- kernel/drivers/xen/scsifront/xenscsi
++external kernel/drivers/xen/sfc_netback/sfc_netback
++external kernel/drivers/xen/sfc_netback/sfc_netfront
++external kernel/drivers/xen/sfc_netutil/sfc_netutil
kernel/drivers/xen/tpmback/tpmbk # Xen TPM device backend
kernel/drivers/xen/xenbus/xenbus_be # Xen XenBus backend driver support module
kernel/fs/9p/9p
@@ -1890,7 +1904,7 @@
- kernel/fs/coda/coda
kernel/fs/configfs/configfs
kernel/fs/cramfs/cramfs
- kernel/fs/dlm/dlm
+- kernel/fs/dlm/dlm # fs/dlm is provided separately in the ocfs2 KMP package
kernel/fs/dmapi/dmapi
kernel/fs/ecryptfs/ecryptfs
- kernel/fs/efs/efs
@@ -1900,6 +1914,7 @@
- kernel/fs/ext4/ext4dev
kernel/fs/fat/fat
- kernel/fs/freevxfs/freevxfs # Veritas Filesystem (VxFS) driver
+ kernel/fs/fscache/fscache.ko
kernel/fs/fuse/fuse # FUSE: Filesystem in Userspace
- kernel/fs/gfs2/gfs2
- kernel/fs/gfs2/locking/dlm/lock_dlm
@@ -1959,13 +1974,14 @@
kernel/fs/nls/nls_utf8
kernel/fs/novfs/novfs
kernel/fs/ntfs/ntfs # NTFS 1.2/3.x driver - Copyright (c) 2001-2003 Anton Altaparmakov
- kernel/fs/ocfs2/cluster/ocfs2_nodemanager
- kernel/fs/ocfs2/dlm/ocfs2_dlm
- kernel/fs/ocfs2/dlm/ocfs2_dlmfs
- kernel/fs/ocfs2/ocfs2
- kernel/fs/ocfs2/ocfs2_stack_o2cb
- kernel/fs/ocfs2/ocfs2_stack_user
- kernel/fs/ocfs2/ocfs2_stackglue
+# ocfs2 is provided separately in the ocfs2 KMP package
+- kernel/fs/ocfs2/cluster/ocfs2_nodemanager
+- kernel/fs/ocfs2/dlm/ocfs2_dlm
+- kernel/fs/ocfs2/dlm/ocfs2_dlmfs
+- kernel/fs/ocfs2/ocfs2
+- kernel/fs/ocfs2/ocfs2_stack_o2cb
+- kernel/fs/ocfs2/ocfs2_stack_user
+- kernel/fs/ocfs2/ocfs2_stackglue
kernel/fs/omfs/omfs
- kernel/fs/qnx4/qnx4
kernel/fs/quota_v1 # Old quota format support
@@ -1979,7 +1995,8 @@
kernel/fs/udf/udf # Universal Disk Format Filesystem
kernel/fs/ufs/ufs
kernel/fs/vfat/vfat
- kernel/fs/xfs/xfs # SGI-XFS CVS-2004-03-08_06:00_UTC with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled, supportable?
+ kernel/fs/xfs/dmapi/xfs_dmapi
+ kernel/fs/xfs/xfs
kernel/kdb/modules/kdbm_debugtypes
kernel/kdb/modules/kdbm_pg
kernel/kdb/modules/kdbm_sched
@@ -2074,18 +2091,19 @@
kernel/net/ipv4/ipcomp # IP Payload Compression Protocol (IPComp) - RFC3173
kernel/net/ipv4/ip_gre
kernel/net/ipv4/ipip
- kernel/net/ipv4/ipvs/ip_vs
- kernel/net/ipv4/ipvs/ip_vs_dh
- kernel/net/ipv4/ipvs/ip_vs_ftp
- kernel/net/ipv4/ipvs/ip_vs_lblc
- kernel/net/ipv4/ipvs/ip_vs_lblcr
- kernel/net/ipv4/ipvs/ip_vs_lc
- kernel/net/ipv4/ipvs/ip_vs_nq
- kernel/net/ipv4/ipvs/ip_vs_rr
- kernel/net/ipv4/ipvs/ip_vs_sed
- kernel/net/ipv4/ipvs/ip_vs_sh
- kernel/net/ipv4/ipvs/ip_vs_wlc
- kernel/net/ipv4/ipvs/ip_vs_wrr
+# provided separately in the cluster-network KMP
+- kernel/net/ipv4/ipvs/ip_vs
+- kernel/net/ipv4/ipvs/ip_vs_dh
+- kernel/net/ipv4/ipvs/ip_vs_ftp
+- kernel/net/ipv4/ipvs/ip_vs_lblc
+- kernel/net/ipv4/ipvs/ip_vs_lblcr
+- kernel/net/ipv4/ipvs/ip_vs_lc
+- kernel/net/ipv4/ipvs/ip_vs_nq
+- kernel/net/ipv4/ipvs/ip_vs_rr
+- kernel/net/ipv4/ipvs/ip_vs_sed
+- kernel/net/ipv4/ipvs/ip_vs_sh
+- kernel/net/ipv4/ipvs/ip_vs_wlc
+- kernel/net/ipv4/ipvs/ip_vs_wrr
kernel/net/ipv4/netfilter/arptable_filter # arptables filter table
kernel/net/ipv4/netfilter/arp_tables # arptables core
kernel/net/ipv4/netfilter/arpt_mangle # arptables arp payload mangle target
@@ -2098,7 +2116,8 @@
kernel/net/ipv4/netfilter/ip_tables # IPv4 packet filter
kernel/net/ipv4/netfilter/ipt_addrtype # iptables addrtype match
kernel/net/ipv4/netfilter/ipt_ah # iptables AH SPI match module
- kernel/net/ipv4/netfilter/ipt_CLUSTERIP
+# provided separately in the cluster-network KMP
+- kernel/net/ipv4/netfilter/ipt_CLUSTERIP
kernel/net/ipv4/netfilter/ipt_ecn # iptables ECN matching module
kernel/net/ipv4/netfilter/ipt_ECN # iptables ECN modification module
net/ipv4/netfilter/ipt_ipv4options # iptables ipv4 options module
@@ -2413,6 +2432,7 @@
kernel/sound/pci/ca0106/snd-ca0106 # SBLive! 24bit
kernel/sound/pci/cs46xx/snd-cs46xx # Cirrus Logic Sound Fusion CS46XX
kernel/sound/pci/cs5535audio/snd-cs5535audio # Driver for audio on multifunction CS5535 companion device
+ kernel/sound/pci/ctxfi/snd-ctxfi # CreativeLabs SB X-Fi (emu20k1/emu20k2)
kernel/sound/pci/echoaudio/snd-darla20 # Echoaudio Darla20
kernel/sound/pci/echoaudio/snd-darla24 # Echoaudio Darla24
kernel/sound/pci/echoaudio/snd-echo3g # Echoaudio Echo 3G
@@ -2428,6 +2448,18 @@
kernel/sound/pci/emu10k1/snd-emu10k1 # EMU10K1
kernel/sound/pci/emu10k1/snd-emu10k1-synth # Routines for control of EMU10K1 WaveTable synth
kernel/sound/pci/emu10k1/snd-emu10k1x # EMU10K1X
+ kernel/sound/pci/hda/snd-hda-codec # HD-audio/modem codec core
+ kernel/sound/pci/hda/snd-hda-codec-analog # Analog Device HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-atihdmi # ATI/AMD HD-audio (HDMI) codecs
+ kernel/sound/pci/hda/snd-hda-codec-ca0110 # CreativeLabs HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-cmedia # C-Media HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-conexant # Conexant HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-idt # IDT/Sigmatel HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-intelhdmi # Intel HD-audio (HDMI) codecs
+ kernel/sound/pci/hda/snd-hda-codec-nvidia # Nvidia HD-audio (HDMI) codecs
+ kernel/sound/pci/hda/snd-hda-codec-realtek # Realtek HD-audio codecs
+ kernel/sound/pci/hda/snd-hda-codec-si3054 # SI-compatible HD-audio modem codecs
+ kernel/sound/pci/hda/snd-hda-codec-via # VIA HD-audio codecs
kernel/sound/pci/hda/snd-hda-intel # Intel HD-audio/modem controller
kernel/sound/pci/ice1712/snd-ice1712 # ICEnsemble ICE1712 (Envy24)
kernel/sound/pci/ice1712/snd-ice1724 # ICEnsemble ICE1724 (Envy24HT)
++++++ symsets.pl ++++++
--- /var/tmp/diff_new_pack.FKMXKi/_old 2009-09-01 23:26:39.000000000 +0200
+++ /var/tmp/diff_new_pack.FKMXKi/_new 2009-09-01 23:26:39.000000000 +0200
@@ -107,6 +107,7 @@
use Digest::MD5 qw(md5_hex);
use Getopt::Long;
+use File::Temp qw(tempfile);
eval { require Pod::Usage; };
if ($@) {
sub pod2usage {
@@ -126,6 +127,10 @@
Pod::Usage->import('pod2usage');
}
+my @cleanfiles = ();
+END {
+ unlink @cleanfiles;
+}
our ($opt_verbose);
our $kabi_badness = 0;
@@ -190,7 +195,7 @@
if (@modules == 0) {
@modules = @ARGV;
}
- if (@modules == 0) {
+ if (@modules == 0 && !defined($opt_symvers_file)) {
&$opt_err("No modules supplied");
}
if (!$res) {
@@ -292,8 +297,20 @@
my ($file) = @_;
my (%crcs, %types, @res);
my $mod = $file;
- $mod =~ s/.*\/lib\/modules\/[^\/]*\/kernel\///;
- $mod =~ s/\.(k?o|a)$//;
+
+ if ($file =~ /\/vmlinu[xz]/) {
+ $mod = "vmlinux";
+ } else {
+ $mod =~ s/.*\/lib\/modules\/[^\/]*\/kernel\///;
+ $mod =~ s/\.(k?o|a)$//;
+ }
+ if ($file =~ /\.gz$|\/vmlinuz/) {
+ my ($fh, $newfile) = tempfile();
+ close($fh);
+ push(@cleanfiles, $newfile);
+ system("gzip -cd $file >$newfile");
+ $file = $newfile;
+ }
open(my $pipe, '-|', 'objdump', '-t', $file) or die "objdump -t $file: $!\n";
while (<$pipe>) {
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org