Hello community,
here is the log from the commit of package kernel-source
checked in at Mon Sep 29 18:18:26 CEST 2008.
--------
--- kernel-source/kernel-debug.changes 2008-09-15 11:56:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2008-09-29 15:34:31.033391000 +0200
@@ -1,0 +2,534 @@
+Mon Sep 29 15:29:06 CEST 2008 - agruen@suse.de
+
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+
+-------------------------------------------------------------------
+Mon Sep 29 13:28:01 CEST 2008 - hare@suse.de
+
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:42:32 CEST 2008 - aj@suse.de
+
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:37:19 CEST 2008 - jbeulich@novell.com
+
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+
+-------------------------------------------------------------------
+Mon Sep 29 05:13:31 CEST 2008 - agruen@suse.de
+
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+
+-------------------------------------------------------------------
+Mon Sep 29 04:08:34 CEST 2008 - agruen@suse.de
+
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+
+-------------------------------------------------------------------
+Sun Sep 28 21:00:13 CEST 2008 - aj@suse.de
+
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+
+-------------------------------------------------------------------
+Sun Sep 28 13:50:06 CEST 2008 - jdelvare@suse.de
+
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+
+-------------------------------------------------------------------
+Sun Sep 28 10:17:15 CEST 2008 - aj@suse.de
+
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+
+-------------------------------------------------------------------
+Sun Sep 28 06:03:34 CEST 2008 - agruen@suse.de
+
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+
+-------------------------------------------------------------------
+Sat Sep 27 19:25:06 CEST 2008 - agruen@suse.de
+
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:47:33 CEST 2008 - agruen@suse.de
+
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:24:30 CEST 2008 - agruen@suse.de
+
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+
+-------------------------------------------------------------------
+Sat Sep 27 06:36:40 CEST 2008 - knikanth@suse.de
+
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+
+-------------------------------------------------------------------
+Fri Sep 26 23:05:13 CEST 2008 - jeffm@suse.de
+
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+
+-------------------------------------------------------------------
+Fri Sep 26 23:04:33 CEST 2008 - jeffm@suse.de
+
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+
+-------------------------------------------------------------------
+Fri Sep 26 22:08:24 CEST 2008 - kkeil@suse.de
+
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+
+-------------------------------------------------------------------
+Fri Sep 26 21:28:13 CEST 2008 - kkeil@suse.de
+
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+
+-------------------------------------------------------------------
+Fri Sep 26 21:26:35 CEST 2008 - kkeil@suse.de
+
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+
+-------------------------------------------------------------------
+Fri Sep 26 20:54:17 CEST 2008 - jeffm@suse.de
+
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:43:49 CEST 2008 - jeffm@suse.de
+
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:33:25 CEST 2008 - jeffm@suse.de
+
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+
+-------------------------------------------------------------------
+Fri Sep 26 19:56:25 CEST 2008 - jeffm@suse.de
+
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+
+-------------------------------------------------------------------
+Fri Sep 26 18:07:30 CEST 2008 - trenn@suse.de
+
+No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043).
+
+Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+
+More Dock improvements, unrelated to above fixes:
++++ 337 more lines (skipped)
++++ between kernel-source/kernel-debug.changes
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-kdump.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
New Changes file:
--- /dev/null 2008-04-22 03:09:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-trace.changes 2008-09-29 15:34:32.042546000 +0200
@@ -0,0 +1,41082 @@
+-------------------------------------------------------------------
+Mon Sep 29 15:29:06 CEST 2008 - agruen@suse.de
+
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+
+-------------------------------------------------------------------
+Mon Sep 29 13:28:01 CEST 2008 - hare@suse.de
+
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:42:32 CEST 2008 - aj@suse.de
+
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:37:19 CEST 2008 - jbeulich@novell.com
+
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+
+-------------------------------------------------------------------
+Mon Sep 29 05:13:31 CEST 2008 - agruen@suse.de
+
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+
+-------------------------------------------------------------------
+Mon Sep 29 04:08:34 CEST 2008 - agruen@suse.de
+
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+
+-------------------------------------------------------------------
+Sun Sep 28 21:00:13 CEST 2008 - aj@suse.de
+
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+
+-------------------------------------------------------------------
+Sun Sep 28 13:50:06 CEST 2008 - jdelvare@suse.de
+
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+
+-------------------------------------------------------------------
+Sun Sep 28 10:17:15 CEST 2008 - aj@suse.de
+
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+
+-------------------------------------------------------------------
+Sun Sep 28 06:03:34 CEST 2008 - agruen@suse.de
+
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+
+-------------------------------------------------------------------
+Sat Sep 27 19:25:06 CEST 2008 - agruen@suse.de
+
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:47:33 CEST 2008 - agruen@suse.de
+
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:24:30 CEST 2008 - agruen@suse.de
+
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+
+-------------------------------------------------------------------
+Sat Sep 27 06:36:40 CEST 2008 - knikanth@suse.de
+
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+
+-------------------------------------------------------------------
+Fri Sep 26 23:05:13 CEST 2008 - jeffm@suse.de
+
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+
+-------------------------------------------------------------------
+Fri Sep 26 23:04:33 CEST 2008 - jeffm@suse.de
+
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+
+-------------------------------------------------------------------
+Fri Sep 26 22:08:24 CEST 2008 - kkeil@suse.de
+
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+
+-------------------------------------------------------------------
+Fri Sep 26 21:28:13 CEST 2008 - kkeil@suse.de
+
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+
+-------------------------------------------------------------------
+Fri Sep 26 21:26:35 CEST 2008 - kkeil@suse.de
+
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+
+-------------------------------------------------------------------
+Fri Sep 26 20:54:17 CEST 2008 - jeffm@suse.de
+
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:43:49 CEST 2008 - jeffm@suse.de
+
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:33:25 CEST 2008 - jeffm@suse.de
+
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+
+-------------------------------------------------------------------
+Fri Sep 26 19:56:25 CEST 2008 - jeffm@suse.de
+
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+
+-------------------------------------------------------------------
+Fri Sep 26 18:07:30 CEST 2008 - trenn@suse.de
+
+No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043).
+
+Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+
++++ 40885 more lines (skipped)
++++ between /dev/null
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-trace.changes
--- kernel-source/kernel-vanilla.changes 2008-09-15 11:56:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-vanilla.changes 2008-09-29 15:34:32.204384000 +0200
@@ -1,0 +2,534 @@
+Mon Sep 29 15:29:06 CEST 2008 - agruen@suse.de
+
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+
+-------------------------------------------------------------------
+Mon Sep 29 13:28:01 CEST 2008 - hare@suse.de
+
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:42:32 CEST 2008 - aj@suse.de
+
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:37:19 CEST 2008 - jbeulich@novell.com
+
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+
+-------------------------------------------------------------------
+Mon Sep 29 05:13:31 CEST 2008 - agruen@suse.de
+
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+
+-------------------------------------------------------------------
+Mon Sep 29 04:08:34 CEST 2008 - agruen@suse.de
+
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+
+-------------------------------------------------------------------
+Sun Sep 28 21:00:13 CEST 2008 - aj@suse.de
+
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+
+-------------------------------------------------------------------
+Sun Sep 28 13:50:06 CEST 2008 - jdelvare@suse.de
+
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+
+-------------------------------------------------------------------
+Sun Sep 28 10:17:15 CEST 2008 - aj@suse.de
+
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+
+-------------------------------------------------------------------
+Sun Sep 28 06:03:34 CEST 2008 - agruen@suse.de
+
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+
+-------------------------------------------------------------------
+Sat Sep 27 19:25:06 CEST 2008 - agruen@suse.de
+
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:47:33 CEST 2008 - agruen@suse.de
+
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:24:30 CEST 2008 - agruen@suse.de
+
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+
+-------------------------------------------------------------------
+Sat Sep 27 06:36:40 CEST 2008 - knikanth@suse.de
+
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+
+-------------------------------------------------------------------
+Fri Sep 26 23:05:13 CEST 2008 - jeffm@suse.de
+
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+
+-------------------------------------------------------------------
+Fri Sep 26 23:04:33 CEST 2008 - jeffm@suse.de
+
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+
+-------------------------------------------------------------------
+Fri Sep 26 22:08:24 CEST 2008 - kkeil@suse.de
+
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+
+-------------------------------------------------------------------
+Fri Sep 26 21:28:13 CEST 2008 - kkeil@suse.de
+
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+
+-------------------------------------------------------------------
+Fri Sep 26 21:26:35 CEST 2008 - kkeil@suse.de
+
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+
+-------------------------------------------------------------------
+Fri Sep 26 20:54:17 CEST 2008 - jeffm@suse.de
+
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:43:49 CEST 2008 - jeffm@suse.de
+
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:33:25 CEST 2008 - jeffm@suse.de
+
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+
+-------------------------------------------------------------------
+Fri Sep 26 19:56:25 CEST 2008 - jeffm@suse.de
+
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+
+-------------------------------------------------------------------
+Fri Sep 26 18:07:30 CEST 2008 - trenn@suse.de
+
+No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043).
+
+Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+
+More Dock improvements, unrelated to above fixes:
++++ 337 more lines (skipped)
++++ between kernel-source/kernel-vanilla.changes
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-vanilla.changes
kernel-xen.changes: same change
Old:
----
install-configs
novell-kmp.tar.bz2
New:
----
kernel-source.rpmlintrc
kernel-trace.changes
kernel-trace.spec
patches.trace.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:39.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:39.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-debug
Summary: A Debug Version of the Kernel
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-debug-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-debug-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -137,7 +138,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -157,6 +157,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -183,8 +184,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-debug debug $(case debug in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/debug$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -200,7 +214,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -210,16 +224,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -227,10 +246,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = debug ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -260,9 +276,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.debug
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-debug'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -282,13 +298,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -323,7 +340,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -418,13 +435,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:debug:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:debug:g" \
+ -e "s:@SUBPACKAGE@:kernel-debug$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -437,18 +457,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-debug.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -462,42 +480,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/debug
-# so that kernel-source + kernel-debug is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-debug}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/debug
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/debug
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/debug
+ # so that kernel-source + kernel-debug is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-debug}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/debug
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/debug
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-debug ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-debug ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-debug \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-debug -a \
@@ -509,68 +526,200 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-debug} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-debug} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/debug \
+ ln -s /$obj_dir/$SUBARCH/debug \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-debug.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-debug-base
+Summary: A Debug Version of the Kernel - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-debug-base
+This kernel has several debug facilities enabled that hurt performance.
+Only use this kernel when investigating problems.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-debug-base -f pre-base.sh
+
+%post -n kernel-debug-base -f post-base.sh
+%if %split_packages
-%files -f kernel.files
+%files -n kernel-debug-base -f kernel-base.files
+%endif
+
+%package -n kernel-debug-extra
+Summary: A Debug Version of the Kernel - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-debug = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+%description -n kernel-debug-extra
+This kernel has several debug facilities enabled that hurt performance.
+Only use this kernel when investigating problems.
+
+This package contains additional modules not supported by Novell.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-debug-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-debug-extra -f kernel-extra.files
+%endif
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:40.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:40.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-default
Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-default-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-default-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -156,7 +157,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -176,6 +176,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -202,8 +203,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-default default $(case default in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/default$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -218,7 +232,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -228,16 +242,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -245,10 +264,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = default ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -278,9 +294,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.default
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-default'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -300,13 +316,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -341,7 +358,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -436,13 +453,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:default:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:default:g" \
+ -e "s:@SUBPACKAGE@:kernel-default$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -455,18 +475,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-default.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -480,42 +498,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/default
-# so that kernel-source + kernel-default is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-default}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/default
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/default
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/default
+ # so that kernel-source + kernel-default is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-default}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/default
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/default
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-default ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-default ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-default \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-default -a \
@@ -527,68 +544,198 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-default} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-default} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/default \
+ ln -s /$obj_dir/$SUBARCH/default \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-default.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
-%files -f kernel.files
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+%package -n kernel-default-base
+Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-default-base
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-default-base -f pre-base.sh
+
+%post -n kernel-default-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-default-base -f kernel-base.files
+%endif
+
+%package -n kernel-default-extra
+Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-default = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-default-extra
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains additional modules not supported by Novell.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-default-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-default-extra -f kernel-extra.files
+%endif
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:40.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:40.000000000 +0200
@@ -23,7 +23,7 @@
Name: kernel-dummy
Summary: Internal dummy package for synchronizing release numbers
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
AutoReqProv: off
@@ -36,7 +36,7 @@
--------
Andreas Gruenbacher
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%install
rm -rf %buildroot
@@ -46,8 +46,385 @@
%files
%defattr(-, root, root)
/etc/dummy
-
%changelog
+* Mon Sep 29 2008 agruen@suse.de
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+* Mon Sep 29 2008 hare@suse.de
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+* Mon Sep 29 2008 aj@suse.de
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+* Mon Sep 29 2008 jbeulich@novell.com
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+* Mon Sep 29 2008 agruen@suse.de
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+* Mon Sep 29 2008 agruen@suse.de
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+* Sun Sep 28 2008 aj@suse.de
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+* Sun Sep 28 2008 jdelvare@suse.de
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+* Sun Sep 28 2008 aj@suse.de
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+* Sun Sep 28 2008 agruen@suse.de
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+* Sat Sep 27 2008 agruen@suse.de
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+* Sat Sep 27 2008 agruen@suse.de
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+* Sat Sep 27 2008 agruen@suse.de
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+* Sat Sep 27 2008 knikanth@suse.de
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+* Sat Sep 27 2008 jeffm@suse.de
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+* Sat Sep 27 2008 jeffm@suse.de
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+* Sat Sep 27 2008 kkeil@suse.de
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+* Fri Sep 26 2008 kkeil@suse.de
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+* Fri Sep 26 2008 kkeil@suse.de
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+* Fri Sep 26 2008 jeffm@suse.de
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+* Fri Sep 26 2008 jeffm@suse.de
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+* Fri Sep 26 2008 jeffm@suse.de
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+* Fri Sep 26 2008 jeffm@suse.de
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+* Fri Sep 26 2008 trenn@suse.de
+ No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043).
+ Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+ More Dock improvements, unrelated to above fixes:
+- patches.arch/acpi-bay-remove-useless-code.patch: remove useless
+ code (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch:
+ Fix duplicate notification handler register
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-_LCK-support-for-dock.patch: add _LCK
+ support for dock (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch:
+ fix for bay in a dock station (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-hotplug-race.patch: fix hotplug race
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch:
+ introduce .uevent for devices in dock (fate#304731,bnc#401740).
+- patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch:
+ libata hotplug to align with dock driver
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch:
+ makeing dock driver supports bay and battery hotplug
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch:
+ add 'type' sysfs file for dock (fate#304731,bnc#401740).
+- patches.fixes/acpi_use_acpi_exception.patch: ACPI dock/bay:
+ Use ACPI_EXCEPTION instead of printk(KERN_ERR.
+* Fri Sep 26 2008 jeffm@suse.de
+- Update config files: NFS_SWAP=y
+* Fri Sep 26 2008 ptesarik@suse.cz
+- patches.suse/rwlocks-enable-interrupts: Allow rwlocks to
+ re-enable interrupts (bnc#387784).
+- patches.arch/ia64-rwlocks-enable-interrupts: ia64: re-enable
+ interrupts when waiting for a rwlock (bnc#387784).
+* Fri Sep 26 2008 sjayaraman@suse.de
+- Add Swap over NFS patchset.
+- Adjust patches.xen/xen3-auto-common.diff to avoid conflict on skbuff.h
+ as both xen and swap-over-nfs want to add some bits to the skbuff structure.
+- patches.suse/SoN-01-mm-gfp-to-alloc_flags.patch: mm:
+ gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-02-mm-setup_per_zone_pages_min.patch: mm:
+ serialize access to min_free_kbytes (FATE#303834).
+- patches.suse/SoN-03-doc.patch: swap over network documentation
+ (FATE#303834).
+- patches.suse/SoN-04-mm-gfp-to-alloc_flags-expose.patch: mm:
+ expose gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-05-page_alloc-reserve.patch: mm: tag reseve
+ pages (FATE#303834).
+- patches.suse/SoN-06-reserve-slub.patch: mm: slb: add knowledge
+ of reserve pages (FATE#303834).
+- patches.suse/SoN-07-mm-kmem_estimate_pages.patch: mm:
+ kmem_alloc_estimate() (FATE#303834).
+- patches.suse/SoN-08-mm-PF_MEMALLOC-softirq.patch: mm: allow
+ PF_MEMALLOC from softirq context (FATE#303834).
+- patches.suse/SoN-09-mm-page_alloc-emerg.patch: mm: emergency
+ pool (FATE#303834).
+- patches.suse/SoN-10-global-ALLOC_NO_WATERMARKS.patch: mm:
+ system wide ALLOC_NO_WATERMARK (FATE#303834).
+- patches.suse/SoN-11-mm-page_alloc-GFP_EMERGENCY.patch: mm:
+ __GFP_MEMALLOC (FATE#303834).
+- patches.suse/SoN-12-mm-reserve.patch: mm: memory reserve
+ management (FATE#303834).
+- patches.suse/SoN-13-mm-selinux-emergency.patch: selinux:
+ tag avc cache alloc as non-critical (FATE#303834).
+- patches.suse/SoN-14-net-backlog.patch: net: wrap
+ sk->sk_backlog_rcv() (FATE#303834).
+- patches.suse/SoN-15-net-ps_rx.patch: net: packet split receive
+ api (FATE#303834).
+- patches.suse/SoN-16-net-sk_allocation.patch: net:
+ sk_allocation() - concentrate socket related allocations
+ (FATE#303834).
+- patches.suse/SoN-17-netvm-reserve.patch: netvm: network reserve
+ infrastructure (FATE#303834).
+- patches.suse/SoN-18-netvm-reserve-inet.patch: netvm: INET
+ reserves. (FATE#303834).
+- patches.suse/SoN-19-netvm-skbuff-reserve.patch: netvm: hook
+ skb allocation to reserves (FATE#303834).
+- patches.suse/SoN-20-netvm-sk_filter.patch: netvm: filter
+ emergency skbs. (FATE#303834).
+- patches.suse/SoN-21-netvm-tcp-deadlock.patch: netvm: prevent
+ a stream specific deadlock (FATE#303834).
+- patches.suse/SoN-22-emergency-nf_queue.patch: netfilter:
+ NF_QUEUE vs emergency skbs (FATE#303834).
+- patches.suse/SoN-23-netvm.patch: netvm: skb processing
+ (FATE#303834).
+- patches.suse/SoN-24-mm-swapfile.patch: mm: add support for
+ non block device backed swap files (FATE#303834).
+- patches.suse/SoN-25-mm-page_file_methods.patch: mm: methods
+ for teaching filesystems about PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-26-nfs-swapcache.patch: nfs: teach the NFS
+ client how to treat PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-27-nfs-swapper.patch: nfs: disable data cache
+ revalidation for swapfiles (FATE#303834).
+- patches.suse/SoN-28-nfs-swap_ops.patch: nfs: enable swap on NFS
+ (FATE#303834).
+- patches.suse/SoN-29-nfs-alloc-recursions.patch: nfs: fix various
+ memory recursions possible with swap over NFS. (FATE#303834).
+- patches.xen/xen3-auto-common.diff: xen3 common.
+* Fri Sep 26 2008 ptesarik@suse.cz
+- split patches.arch/s390-01-01-self-ptrace-v3.patch to make it
+ more obvious that the patch is not constrained to s390.
+ The new series is:
+ patches.suse/self-ptrace.patch: the generic pieces
+ patches.arch/x86-self-ptrace.patch: implementation for x86
+ patches.arch/s390-01-01-self-ptrace-v3.patch: dtto for s390
+* Thu Sep 25 2008 jbeulich@novell.com
+- Update Xen patches to 2.6.27-rc7 and c/s 676.
+* Thu Sep 25 2008 olh@suse.de
+- add patches.arch/ppc64-rpanote-relocate-firmware.patch
+ update RPA note for firmware relocation (bnc#427960 - LTC48297)
+* Wed Sep 24 2008 jblunck@suse.de
+ This adds some tracepoint instrumentation taken from the LTTng patch
+ series. Tracepoints are enabled for kernel-debug and kernel-trace only. I
+ disabled ftrace for all flavors except kernel-debug and kernel-trace as well.
+- Update config files.
+- rpm/kernel-source.spec.in,kernel-binary.spec.in, config.conf: Add trace
+ flavor
+- patches.fixes/ia64-sparse-fixes.diff: ia64-kvm: fix sparse
+ warnings.
+- patches.xen/xen3-fixup-common: rediff
+- patches.xen/xen3-auto-common.diff: rediff
+- patches.xen/xen3-patch-2.6.21: rediff
+- patches.xen/xen3-patch-2.6.26: rediff
+- patches.trace/rcu-read-sched.patch
+- patches.trace/markers-use-rcu-read-lock-sched.patch
+- patches.trace/tracepoints.patch
+- patches.trace/tracepoints-use-table-size-macro.patch
+- patches.trace/tracepoints-documentation.patch
+- patches.trace/tracepoints-tracepoint-synchronize-unregister.patch
+- patches.trace/tracepoints-documentation-fix-teardown.patch
+- patches.trace/tracepoints-samples.patch
+- patches.trace/tracepoints-samples-fix-teardown.patch
+- patches.trace/lttng-instrumentation-irq.patch
+- patches.trace/lttng-instrumentation-scheduler.patch
+- patches.trace/lttng-instrumentation-timer.patch
+- patches.trace/lttng-instrumentation-kernel.patch
+- patches.trace/lttng-instrumentation-filemap.patch
+- patches.trace/lttng-instrumentation-swap.patch
+- patches.trace/lttng-instrumentation-memory.patch
+- patches.trace/lttng-instrumentation-page_alloc.patch
+- patches.trace/lttng-instrumentation-hugetlb.patch
+- patches.trace/lttng-instrumentation-net.patch
+- patches.trace/lttng-instrumentation-ipv4.patch
+- patches.trace/lttng-instrumentation-ipv6.patch
+- patches.trace/lttng-instrumentation-socket.patch
+- patches.trace/lttng-instrumentation-fs.patch
+- patches.trace/lttng-instrumentation-ipc.patch
+- patches.trace/ftrace-port-to-tracepoints.patch
+- patches.trace/ftrace-framepointer.diff
+* Tue Sep 23 2008 jjolly@suse.de
+- patches.arch/s390-01-03-cmm2-v2.patch: kernel (new function):
+ Collaborative Memory Management Stage II (bnc#417244)
+- patches.xen/xen3-auto-common.diff: Modified patch to allow for
+ the new patch
+* Tue Sep 23 2008 jeffm@suse.de
+- rpm/kernel-binary.spec.in: Enable sparse checking and section
+ mismatch checking.
+* Tue Sep 23 2008 jeffm@suse.de
+- patches.kernel.org/arch-include-asm-fixes: kbuild: Properly
+ handle arch/$arch/include/asm (bnc#427473).
+* Mon Sep 22 2008 jeffm@suse.de
+- patches.fixes/ext2-avoid-printk-flood-with-dir-corruption:
+ ext2: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+- patches.fixes/ext3-avoid-printk-flood-with-dir-corruption:
+ ext3: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+* Mon Sep 22 2008 jeffm@suse.de
+- Update to 2.6.27-rc7.
+ - Eliminated 2 patches.
+ - patches.arch/s390-01-04-fcpperf-4.patch: Fixed up context.
+* Mon Sep 22 2008 trenn@suse.de
+ Workaround for ThinkPad brightness switching:
+- patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch:
+ Do not use video backlight switching for Lenovo ThinkPads.
+ Commented out for now, possibly to be included later
+- patches.drivers/cpufreq_add_cpu_number_paramater_1.patch:
+ cpufreq: Add a cpu parameter to __cpufreq_driver_getavg()..
+- patches.drivers/cpufreq_add_idle_microaccounting_6.patch:
+ cpufreq,ondemand: Use get_cpu_idle_time_us() to get
+ micro-accounted idle information.
+- patches.drivers/cpufreq_change_load_calculation_2.patch:
+ cpufreq, ondemand: Change the load calculation, optimizing
+ for dependent cpus.
+- patches.drivers/cpufreq_changes_to_get_cpu_idle_us_5.patch:
+ export get_cpu_idle_time_us() .
+- patches.drivers/cpufreq_get_cpu_idle_time_changes_3.patch:
+ cpufreq,ondemand: Prepare changes for doing micro-accounting.
+- patches.drivers/cpufreq_parameterize_down_differential_4.patch:
+ cpufreq, ondemand: Use a parameter for down differential.
+ Added CONFIG_PCIEASPM for rt, xen, powerpc and IA64 to be more
+ consistent across different kernel flavors as suggested on the
+ kernel list:
+- Update config files.
+* Mon Sep 22 2008 hare@suse.de
+- patches.drivers/open-fcoe-libfc: Fix build error on IA64.
+- patches.fixes/scsi-terminate-target-reset: Target reset hangs
+ (bnc#427267).
+- supported.conf: Update to include supported SCSI adapters.
+* Fri Sep 19 2008 jbeulich@novell.com
+- patches.suse/no-frame-pointer-select: Re-enable after removing FTRACE
+ related change.
+- Update x86 non-debug config files: Turn off FRAME_POINTER and FTRACE.
+* Fri Sep 19 2008 neilb@suse.de
+- patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch:
+ md: Allow metadata_version to be updated for externally managed
+ metadata. (FATE#304218).
+- patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch:
+ md: Don't try to set an array to 'read-auto' if it is already
+ in that state. (FATE#304218).
+* Thu Sep 18 2008 jbeulich@novell.com
+- patches.suse/no-frame-pointer-select: Disable.
+- Re-enable CONFIG_FRAME_POINTER in x86 config files.
+* Thu Sep 18 2008 jbeulich@novell.com
+- Update i386 and x86-64 config files (disable CONFIG_FRAME_POINTER in
+ non-debug configs).
+- patches.suse/stack-unwind: Add missing put_cpu()-s for x86-64.
+- patches.suse/no-frame-pointer-select: Fix stack unwinder Kconfig
+ (bnc#402518).
+* Thu Sep 18 2008 hare@suse.de
+- Update config files.
+- patches.drivers/open-fcoe-driver: fcoe: Fibre Channel over
+ Ethernet driver (FATE#303913).
+- patches.drivers/open-fcoe-libfc: libfc: a modular software
+ Fibre Channel implementation (FATE#303913).
+- patches.drivers/open-fcoe-header-files: FC protocol definition
+ header files (FATE#303913).
+- patches.drivers/open-fcoe-dcb-support: FCoE: Add DCB support
+ (FATE#303913).
+- patches.drivers/ixgbe-fcoe-bugfixes: ixgbe: Bugfixes for FCoE.
+- patches.fixes/vlan-gso-size-fix: vlan: device not reading gso
+ max size of parent. (FATE#303913).
+- patches.fixes/pkt_action-skbedit: pkt_action: add new action
+ skbedit.
+- patches.fixes/pkt_sched_multiq_support: pkt_sched: Add
+ multiqueue scheduler support (FATE#303913).
+- supported.conf: Update to include FCoE and device_handler
+ modules
+* Wed Sep 17 2008 jbeulich@novell.com
+- supported.conf: adjust name of ide-cd (is now ide-cd_mod).
+* Wed Sep 17 2008 hare@suse.de
+- patches.drivers/qla2xxx-defer-risc-interrupt-enablement:
+ qla2xxx: Defer enablement of RISC interrupts until ISP
+ initialization completes (FATE#304113).
+- patches.drivers/qla2xxx-8.02.01-k8-update: Update qla2xxx to
+ 8.02.01-k8 (FATE#304113).
+* Wed Sep 17 2008 hare@suse.de
+- patches.fixes/scsi-retry-hardware-error: make scsi_check_sense
+ HARDWARE_ERROR return ADD_TO_MLQUEUE on retry (FATE#304042)
+* Tue Sep 16 2008 olh@suse.de
+- disable CONFIG_SPARSEMEM_VMEMMAP on ppc64 to allow memory remove
+ (bnc#417537)
+* Mon Sep 15 2008 jkosina@suse.de
+- Update config files (build elousb driver as module)
+- patches.drivers/elousb.patch: Elo USB touchscreen driver
+ (FATE#304972).
+* Mon Sep 15 2008 hare@suse.de
+- patches.fixes/dm-mpath-abort-queue: Abort queued requests for
+ multipath (FATE#304151).
* Mon Sep 15 2008 hare@suse.de
- Update config files: Disable CONFIG_OCFS2_COMPAT_JBD
* Mon Sep 15 2008 hare@suse.de
++++++ kernel-kdump.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:41.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:41.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-kdump
Summary: kernel for kdump
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-kdump-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-kdump-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -134,7 +135,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -154,6 +154,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -180,8 +181,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-kdump kdump $(case kdump in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/kdump$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -199,7 +213,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -209,16 +223,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -226,10 +245,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = kdump ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -259,9 +275,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.kdump
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-kdump'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -281,13 +297,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -322,7 +339,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -417,13 +434,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:kdump:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:kdump:g" \
+ -e "s:@SUBPACKAGE@:kernel-kdump$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -436,18 +456,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-kdump.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -461,42 +479,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/kdump
-# so that kernel-source + kernel-kdump is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-kdump}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/kdump
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/kdump
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/kdump
+ # so that kernel-source + kernel-kdump is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-kdump}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/kdump
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/kdump
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-kdump ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-kdump ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-kdump \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-kdump -a \
@@ -508,68 +525,204 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-kdump} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-kdump} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/kdump \
+ ln -s /$obj_dir/$SUBARCH/kdump \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-kdump.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-kdump-base
+Summary: kernel for kdump - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-kdump-base
+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.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-kdump-base -f pre-base.sh
+
+%post -n kernel-kdump-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-kdump-base -f kernel-base.files
+%endif
+
+%package -n kernel-kdump-extra
+Summary: kernel for kdump - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-kdump = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
-%files -f kernel.files
+%description -n kernel-kdump-extra
+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.
+
+This package contains additional modules not supported by Novell.
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-kdump-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-kdump-extra -f kernel-extra.files
+%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:41.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:41.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-pae
Summary: Kernel with PAE Support
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-pae-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-pae-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -131,7 +132,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -151,6 +151,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -177,8 +178,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-pae pae $(case pae in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/pae$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -200,7 +214,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -210,16 +224,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -227,10 +246,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = pae ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -260,9 +276,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.pae
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-pae'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -282,13 +298,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -323,7 +340,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -418,13 +435,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:pae:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:pae:g" \
+ -e "s:@SUBPACKAGE@:kernel-pae$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -437,18 +457,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-pae.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -462,42 +480,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/pae
-# so that kernel-source + kernel-pae is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-pae}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/pae
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/pae
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/pae
+ # so that kernel-source + kernel-pae is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-pae}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/pae
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/pae
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-pae ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-pae ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-pae \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-pae -a \
@@ -509,68 +526,212 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-pae} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-pae} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/pae \
+ ln -s /$obj_dir/$SUBARCH/pae \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-pae.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-pae-base
+Summary: Kernel with PAE Support - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-pae-base
+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.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-pae-base -f pre-base.sh
+
+%post -n kernel-pae-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-pae-base -f kernel-base.files
+%endif
+
+%package -n kernel-pae-extra
+Summary: Kernel with PAE Support - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-pae = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-pae-extra
+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.
-%files -f kernel.files
+This package contains additional modules not supported by Novell.
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-pae-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-pae-extra -f kernel-extra.files
+%endif
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:42.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:42.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-ppc64
Summary: Kernel for ppc64 Systems
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-ppc64-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-ppc64-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -136,7 +137,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -156,6 +156,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -182,8 +183,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-ppc64 ppc64 $(case ppc64 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ppc64$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -212,7 +226,7 @@
Tom Gall
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -222,16 +236,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -239,10 +258,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = ppc64 ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -272,9 +288,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.ppc64
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-ppc64'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -294,13 +310,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -335,7 +352,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -430,13 +447,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ppc64:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ppc64:g" \
+ -e "s:@SUBPACKAGE@:kernel-ppc64$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -449,18 +469,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ppc64.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -474,42 +492,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/ppc64
-# so that kernel-source + kernel-ppc64 is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-ppc64}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/ppc64
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ppc64
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/ppc64
+ # so that kernel-source + kernel-ppc64 is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-ppc64}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/ppc64
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ppc64
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-ppc64 ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-ppc64 ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-ppc64 \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-ppc64 -a \
@@ -521,68 +538,226 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-ppc64} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-ppc64} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/ppc64 \
+ ln -s /$obj_dir/$SUBARCH/ppc64 \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-ppc64.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-ppc64-base
+Summary: Kernel for ppc64 Systems - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ppc64-base
+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/
+
+This package contains only the base modules, required in all installs.
+
+
+
+Authors:
+--------
+ Linus Torvalds
+ Paul Mackeras
+ Tom Gall
+ see /usr/src/linux/CREDITS for more details.
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
-%files -f kernel.files
+%pre -n kernel-ppc64-base -f pre-base.sh
+
+%post -n kernel-ppc64-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-ppc64-base -f kernel-base.files
+%endif
+%package -n kernel-ppc64-extra
+Summary: Kernel for ppc64 Systems - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-ppc64 = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ppc64-extra
+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/
+
+This package contains additional modules not supported by Novell.
+
+
+
+Authors:
+--------
+ Linus Torvalds
+ Paul Mackeras
+ Tom Gall
+ see /usr/src/linux/CREDITS for more details.
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-ppc64-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-ppc64-extra -f kernel-extra.files
+%endif
++++++ kernel-ps3.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:42.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:43.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-ps3
Summary: kernel for ps3 bootloader
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-ps3-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-ps3-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -134,7 +135,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -154,6 +154,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -180,8 +181,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-ps3 ps3 $(case ps3 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ps3$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -198,7 +212,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -208,16 +222,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -225,10 +244,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = ps3 ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -258,9 +274,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.ps3
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-ps3'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -280,13 +296,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -321,7 +338,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -416,13 +433,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ps3:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ps3:g" \
+ -e "s:@SUBPACKAGE@:kernel-ps3$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -435,18 +455,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ps3.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -460,42 +478,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/ps3
-# so that kernel-source + kernel-ps3 is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-ps3}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/ps3
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ps3
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/ps3
+ # so that kernel-source + kernel-ps3 is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-ps3}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/ps3
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ps3
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-ps3 ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-ps3 ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-ps3 \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-ps3 -a \
@@ -507,68 +524,198 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-ps3} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-ps3} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/ps3 \
+ ln -s /$obj_dir/$SUBARCH/ps3 \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-ps3.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
-%files -f kernel.files
+%package -n kernel-ps3-base
+Summary: kernel for ps3 bootloader
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ps3-base
+This package contains the kernel for the ps3 bootloader only. PS3
+systems only have 4MB of flash space for the bootloader, so this kernel
+needs to be as small as possible.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-ps3-base -f pre-base.sh
+
+%post -n kernel-ps3-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-ps3-base -f kernel-base.files
+%endif
+%package -n kernel-ps3-extra
+Summary: kernel for ps3 bootloader
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-ps3 = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ps3-extra
+This package contains the kernel for the ps3 bootloader only. PS3
+systems only have 4MB of flash space for the bootloader, so this kernel
+needs to be as small as possible.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-ps3-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-ps3-extra -f kernel-extra.files
+%endif
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:43.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:43.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-s390
Summary: The Standard Kernel
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-s390-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-s390-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -131,7 +132,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -151,6 +151,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -177,8 +178,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-s390 s390 $(case s390 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/s390$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -193,7 +207,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -203,16 +217,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -220,10 +239,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = s390 ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -253,9 +269,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.s390
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-s390'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -275,13 +291,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -316,7 +333,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -411,13 +428,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:s390:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:s390:g" \
+ -e "s:@SUBPACKAGE@:kernel-s390$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -430,18 +450,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-s390.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -455,42 +473,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/s390
-# so that kernel-source + kernel-s390 is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-s390}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/s390
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/s390
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/s390
+ # so that kernel-source + kernel-s390 is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-s390}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/s390
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/s390
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-s390 ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-s390 ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-s390 \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-s390 -a \
@@ -502,68 +519,198 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-s390} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-s390} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/s390 \
+ ln -s /$obj_dir/$SUBARCH/s390 \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-s390.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
-%files -f kernel.files
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-s390-base
+Summary: The Standard Kernel - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+%description -n kernel-s390-base
+The standard kernel.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-s390-base -f pre-base.sh
+
+%post -n kernel-s390-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-s390-base -f kernel-base.files
+%endif
+
+%package -n kernel-s390-extra
+Summary: The Standard Kernel - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-s390 = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-s390-extra
+The standard kernel.
+
+This package contains additional modules not supported by Novell.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-s390-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-s390-extra -f kernel-extra.files
+%endif
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:44.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:44.000000000 +0200
@@ -30,11 +30,12 @@
Name: kernel-source
Summary: The Linux Kernel Sources
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
BuildRequires: coreutils sed
+BuildRequires: fdupes
Requires(post): coreutils sed
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -48,6 +49,9 @@
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2
Source1: functions.sh
Source2: source-post.sh
+%if "kernel-source" == "kernel-source"
+Source3: kernel-source.rpmlintrc
+%endif
Source10: pre.sh
Source11: post.sh
Source12: postun.sh
@@ -59,7 +63,6 @@
Source30: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source37: README.SUSE
Source38: kabi-checks
Source40: build-source-timestamp
@@ -79,8 +82,9 @@
Source55: kernel-ppc64.spec
Source56: kernel-ps3.spec
Source57: kernel-s390.spec
-Source58: kernel-vanilla.spec
-Source59: kernel-xen.spec
+Source58: kernel-trace.spec
+Source59: kernel-vanilla.spec
+Source60: kernel-xen.spec
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
Source102: patches.drivers.tar.bz2
@@ -93,13 +97,17 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
-Source121: novell-kmp.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr/src
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks,install-configs})
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks})
%define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define tolerate_unknown_new_config_options 0
+%define with_rt 0
%description
Linux kernel sources with many fixes and improvements.
@@ -112,7 +120,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -121,66 +129,78 @@
fi
echo "Architecture 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 106 -a 107 -a 108 -a 109 -a 110 -a 111
+%setup -q -c -T -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112
%build
-mkdir -p $RPM_BUILD_ROOT/usr/src
-cd $RPM_BUILD_ROOT/usr/src
-# Unpack the vanilla kernel sources
-bzip2 -cd %_sourcedir/linux-2.6.26.tar.bz2 \
-| tar xf -
-cd linux-2.6.26
-# Hello Linus: hint, hint ...
-chmod -Rf a+rX,g-w,o-w .
-# Apply the patches needed for this architecture.
-%_sourcedir/guards %symbols < %_sourcedir/series.conf \
- > %_builddir/kernel-source-2.6.27/kernel-source.patches
-for patch in $(< %_builddir/kernel-source-2.6.27/kernel-source.patches); do
- if ! patch -s -F0 -E -p1 --no-backup-if-mismatch -i %_builddir/kernel-source-2.6.27/$patch; then
- echo "*** Patch $patch failed ***"
- exit 1
- fi
-done
# Release number without the EXTRAVERSION
RELEASE=%source_rel
while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do
RELEASE=${RELEASE#[^0-9]*.}
done
-if [ -f %_sourcedir/localversion ] ; then
- cat %_sourcedir/localversion > localversion
-fi
-%_sourcedir/install-configs %_sourcedir %_builddir/%buildsubdir $RELEASE
-KERNELRELEASE=2.6.27-rc6-$RELEASE
+KERNELRELEASE=2.6.27-rc7-$RELEASE
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-2.6.27/$patch; then
+ echo "*** Patch $patch failed ***"
+ exit 1
+ fi
+ done
+ if [ -f %_sourcedir/localversion ] ; then
+ cat %_sourcedir/localversion > localversion
+ fi
+ cd ..
+}
+mkdir -p $RPM_BUILD_ROOT/usr/src
+cd $RPM_BUILD_ROOT/usr/src
+# Unpack the vanilla kernel sources
+bzip2 -cd %_sourcedir/linux-2.6.26.tar.bz2 \
+| tar xf -
+mv linux-2.6.26 linux-2.6.26.orig
+create_source_tree linux-$KERNELRELEASE
+%if %with_rt
+create_source_tree linux-$KERNELRELEASE-rt RT
+%endif
for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep -v vanilla); do
arch=${config%/*}
flavor=${config#*/}
- config=arch/$arch/defconfig.$flavor
+ config=%_builddir/%buildsubdir/config/$config
case "$flavor" in
*-*)
echo "Flavor '$flavor' must not contain dashes." >&2
exit 1
;;
esac
- set -- kernel-$flavor $flavor $(case $flavor in (rt|rt_*) echo RT ;; esac)
- %_sourcedir/guards $* %symbols < %_sourcedir/series.conf \
- > %_builddir/kernel-source-2.6.27/kernel-$flavor.patches
- diff -q %_builddir/kernel-source-2.6.27/kernel-{source,$flavor}.patches \
+ set -- kernel-$flavor $flavor
+ case $flavor in
+ (rt|rt_*)
+ set -- "$@" RT
+ source_tree=linux-$KERNELRELEASE-rt
+ ;;
+ (*)
+ source_tree=linux-$KERNELRELEASE
+ ;;
+ esac
+ diff -q $source_tree/.patches \
+ <(%_sourcedir/guards $* %symbols < %_sourcedir/series.conf) \
|| continue
o=$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj/$arch/$flavor
mkdir -p $o
- cp $config $o/.config
-%ifarch mips
- echo "CONFIG_CROSSCOMPILE=y" >> $o/.config
-%endif
+ cat $config \
+ | %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$flavor'"' \
+ | %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
+ > $o/.config
+ echo "-$RELEASE" > $source_tree/localversion-rpm-release
case $flavor in
um)
MAKE_ARGS="ARCH=$flavor SUBARCH=$arch O=$o" ;;
@@ -193,49 +213,33 @@
%if %{tolerate_unknown_new_config_options}
yes '' | make oldconfig $MAKE_ARGS
%else
- make silentoldconfig $MAKE_ARGS < /dev/null
+ make -C $source_tree silentoldconfig $MAKE_ARGS < /dev/null
%_sourcedir/check-for-config-changes $config $o/.config
%endif
- make prepare $MAKE_ARGS
- make scripts $MAKE_ARGS
- krel=$(make -s kernelrelease $MAKE_ARGS)
+ make -C $source_tree prepare $MAKE_ARGS
+ make -C $source_tree scripts $MAKE_ARGS
+ krel=$(make -C $source_tree -s kernelrelease $MAKE_ARGS)
if [ $KERNELRELEASE != "${krel%%-*}" ]; then
echo "Kernel release mismatch: $KERNELRELEASE != ${krel%%-*}" >&2
exit 1
fi
- mkdir -p ../../../lib/modules/$krel/
+ make -C $source_tree clean $MAKE_ARGS
+ mkdir -p $RPM_BUILD_ROOT/lib/modules/$krel
ln -s ../../../usr/src/linux-$KERNELRELEASE \
- ../../../lib/modules/$krel/source
- make clean $MAKE_ARGS
- rm -f $o/.config.old
+ $RPM_BUILD_ROOT/lib/modules/$krel/source
# Replace the absolute with a relative path
sed -e "s,$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE,../../../linux-$KERNELRELEASE,g" \
-i $o/Makefile
+ rm -f $o/.config.old
done
+rm -rf linux-2.6.26.orig
+rm -f linux-$KERNELRELEASE/.patches
+%if %with_rt
+rm -f linux-$KERNELRELEASE-rt/.patches
+%endif
+# Hardlink duplicate files automatically (from package fdupes).
+%fdupes $RPM_BUILD_ROOT
cd $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj
-set -- */*
-for arch_flavor in $* ; do
- if ! [ -e obj.files ]; then
- (cd $arch_flavor ; find -type f) > obj.files
- fi
- # Strip ELF files
- while read file ; do
- strip $file
- done <<-EOF
- $(xargs -i% file $arch_flavor/% < obj.files \
- | grep ELF \
- | sed -e 's/: .*//')
- EOF
- if [ $arch_flavor != $1 ]; then
- while read file ; do
- if [ -s $arch_flavor/$file ] \
- && cmp -s $1/$file $arch_flavor/$file ; then
- ln -f $1/$file $arch_flavor/$file
- fi
- done < obj.files
- fi
-done
-rm -f obj.files
set -- *
[ -e %_target_cpu ] || ln -s $1 %_target_cpu
%ifarch ppc ppc64
@@ -243,9 +247,7 @@
[ -e ppc64 ] || ln -s $1 ppc64
%endif
cd $RPM_BUILD_ROOT/usr/src
-for name in nftlcore.c nftlmount.c inftlcore.c inftlmount.c ftl.c; do
- rm linux-$KERNELRELEASE/drivers/mtd/$name
-done
+rm -f `find linux-$KERNELRELEASE -name ".gitignore"`
# Remove $RPM_BUILD_ROOT prefix from symlinks.
for link in $(find $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj -type l); do
target=$(readlink $link)
@@ -261,8 +263,6 @@
DOC=$RPM_BUILD_ROOT/usr/share/doc/packages/%name
mkdir -p $DOC
cp %_sourcedir/README.SUSE $DOC
-bzip2 -cd %_sourcedir/novell-kmp.tar.bz2 \
-| tar -xf - -C $DOC
ln -s /usr/share/doc/packages/%name/README.SUSE \
$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE/
install -m 755 -d $RPM_BUILD_ROOT/etc/rpm
@@ -281,11 +281,46 @@
/usr/lib/rpm/kernel-module-subpackage
/lib/modules/*
EOF
-( cat %_sourcedir/functions.sh
- sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" %_sourcedir/source-post.sh
-) > source-post.sh
+%if %with_rt
+cat > kernel-source-rt.files < source-post$variant.sh
+done
%post -f source-post.sh
%files -f kernel-source.files
+%package -n kernel-source-rt
+Summary: The Linux Kernel Sources
+License: GPL v2 only
+Group: Development/Sources
+Requires(post): coreutils sed
+Provides: kernel-source-rt = 2.6.27-%source_rel
+
+%description -n kernel-source-rt
+Linux kernel sources with many fixes and improvements.
+
+
+
+Authors:
+--------
+ Linus Torvalds
+
+ see /usr/src/linux/CREDITS for more details.
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-source-rt -f source-post-rt.sh
+%if %with_rt
+
+%files -n kernel-source-rt -f kernel-source.files
+%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:44.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:44.000000000 +0200
@@ -29,7 +29,7 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
@@ -38,7 +38,7 @@
BuildRequires: kernel-dummy
%endif
%ifarch %ix86
-BuildRequires: kernel-debug kernel-default kernel-pae kernel-xen
+BuildRequires: kernel-debug kernel-default kernel-pae kernel-trace kernel-xen
%else
%ifarch ppc
BuildRequires: kernel-default kernel-kdump kernel-ppc64 kernel-ps3
@@ -53,10 +53,10 @@
BuildRequires: kernel-default
%else
%ifarch ia64
-BuildRequires: kernel-debug kernel-default
+BuildRequires: kernel-debug kernel-default kernel-trace
%else
%ifarch x86_64
-BuildRequires: kernel-debug kernel-default kernel-xen
+BuildRequires: kernel-debug kernel-default kernel-trace kernel-xen
%endif
%endif
%endif
@@ -99,7 +99,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
echo "Architecture symbol(s):" %symbols
@@ -150,8 +150,385 @@
/usr/src/linux-*-obj
/boot/symsets-*-*.tar.gz
/lib/modules/*/build
-
%changelog
+* Mon Sep 29 2008 agruen@suse.de
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+* Mon Sep 29 2008 hare@suse.de
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+* Mon Sep 29 2008 aj@suse.de
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+* Mon Sep 29 2008 jbeulich@novell.com
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+* Mon Sep 29 2008 agruen@suse.de
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+* Mon Sep 29 2008 agruen@suse.de
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+* Sun Sep 28 2008 aj@suse.de
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+* Sun Sep 28 2008 jdelvare@suse.de
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+* Sun Sep 28 2008 aj@suse.de
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+* Sun Sep 28 2008 agruen@suse.de
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+* Sat Sep 27 2008 agruen@suse.de
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+* Sat Sep 27 2008 agruen@suse.de
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+* Sat Sep 27 2008 agruen@suse.de
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+* Sat Sep 27 2008 knikanth@suse.de
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+* Sat Sep 27 2008 jeffm@suse.de
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+* Sat Sep 27 2008 jeffm@suse.de
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+* Sat Sep 27 2008 kkeil@suse.de
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+* Fri Sep 26 2008 kkeil@suse.de
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+* Fri Sep 26 2008 kkeil@suse.de
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+* Fri Sep 26 2008 jeffm@suse.de
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+* Fri Sep 26 2008 jeffm@suse.de
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+* Fri Sep 26 2008 jeffm@suse.de
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+* Fri Sep 26 2008 jeffm@suse.de
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+* Fri Sep 26 2008 trenn@suse.de
+ No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043).
+ Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+ More Dock improvements, unrelated to above fixes:
+- patches.arch/acpi-bay-remove-useless-code.patch: remove useless
+ code (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch:
+ Fix duplicate notification handler register
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-_LCK-support-for-dock.patch: add _LCK
+ support for dock (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch:
+ fix for bay in a dock station (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-hotplug-race.patch: fix hotplug race
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch:
+ introduce .uevent for devices in dock (fate#304731,bnc#401740).
+- patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch:
+ libata hotplug to align with dock driver
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch:
+ makeing dock driver supports bay and battery hotplug
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch:
+ add 'type' sysfs file for dock (fate#304731,bnc#401740).
+- patches.fixes/acpi_use_acpi_exception.patch: ACPI dock/bay:
+ Use ACPI_EXCEPTION instead of printk(KERN_ERR.
+* Fri Sep 26 2008 jeffm@suse.de
+- Update config files: NFS_SWAP=y
+* Fri Sep 26 2008 ptesarik@suse.cz
+- patches.suse/rwlocks-enable-interrupts: Allow rwlocks to
+ re-enable interrupts (bnc#387784).
+- patches.arch/ia64-rwlocks-enable-interrupts: ia64: re-enable
+ interrupts when waiting for a rwlock (bnc#387784).
+* Fri Sep 26 2008 sjayaraman@suse.de
+- Add Swap over NFS patchset.
+- Adjust patches.xen/xen3-auto-common.diff to avoid conflict on skbuff.h
+ as both xen and swap-over-nfs want to add some bits to the skbuff structure.
+- patches.suse/SoN-01-mm-gfp-to-alloc_flags.patch: mm:
+ gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-02-mm-setup_per_zone_pages_min.patch: mm:
+ serialize access to min_free_kbytes (FATE#303834).
+- patches.suse/SoN-03-doc.patch: swap over network documentation
+ (FATE#303834).
+- patches.suse/SoN-04-mm-gfp-to-alloc_flags-expose.patch: mm:
+ expose gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-05-page_alloc-reserve.patch: mm: tag reseve
+ pages (FATE#303834).
+- patches.suse/SoN-06-reserve-slub.patch: mm: slb: add knowledge
+ of reserve pages (FATE#303834).
+- patches.suse/SoN-07-mm-kmem_estimate_pages.patch: mm:
+ kmem_alloc_estimate() (FATE#303834).
+- patches.suse/SoN-08-mm-PF_MEMALLOC-softirq.patch: mm: allow
+ PF_MEMALLOC from softirq context (FATE#303834).
+- patches.suse/SoN-09-mm-page_alloc-emerg.patch: mm: emergency
+ pool (FATE#303834).
+- patches.suse/SoN-10-global-ALLOC_NO_WATERMARKS.patch: mm:
+ system wide ALLOC_NO_WATERMARK (FATE#303834).
+- patches.suse/SoN-11-mm-page_alloc-GFP_EMERGENCY.patch: mm:
+ __GFP_MEMALLOC (FATE#303834).
+- patches.suse/SoN-12-mm-reserve.patch: mm: memory reserve
+ management (FATE#303834).
+- patches.suse/SoN-13-mm-selinux-emergency.patch: selinux:
+ tag avc cache alloc as non-critical (FATE#303834).
+- patches.suse/SoN-14-net-backlog.patch: net: wrap
+ sk->sk_backlog_rcv() (FATE#303834).
+- patches.suse/SoN-15-net-ps_rx.patch: net: packet split receive
+ api (FATE#303834).
+- patches.suse/SoN-16-net-sk_allocation.patch: net:
+ sk_allocation() - concentrate socket related allocations
+ (FATE#303834).
+- patches.suse/SoN-17-netvm-reserve.patch: netvm: network reserve
+ infrastructure (FATE#303834).
+- patches.suse/SoN-18-netvm-reserve-inet.patch: netvm: INET
+ reserves. (FATE#303834).
+- patches.suse/SoN-19-netvm-skbuff-reserve.patch: netvm: hook
+ skb allocation to reserves (FATE#303834).
+- patches.suse/SoN-20-netvm-sk_filter.patch: netvm: filter
+ emergency skbs. (FATE#303834).
+- patches.suse/SoN-21-netvm-tcp-deadlock.patch: netvm: prevent
+ a stream specific deadlock (FATE#303834).
+- patches.suse/SoN-22-emergency-nf_queue.patch: netfilter:
+ NF_QUEUE vs emergency skbs (FATE#303834).
+- patches.suse/SoN-23-netvm.patch: netvm: skb processing
+ (FATE#303834).
+- patches.suse/SoN-24-mm-swapfile.patch: mm: add support for
+ non block device backed swap files (FATE#303834).
+- patches.suse/SoN-25-mm-page_file_methods.patch: mm: methods
+ for teaching filesystems about PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-26-nfs-swapcache.patch: nfs: teach the NFS
+ client how to treat PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-27-nfs-swapper.patch: nfs: disable data cache
+ revalidation for swapfiles (FATE#303834).
+- patches.suse/SoN-28-nfs-swap_ops.patch: nfs: enable swap on NFS
+ (FATE#303834).
+- patches.suse/SoN-29-nfs-alloc-recursions.patch: nfs: fix various
+ memory recursions possible with swap over NFS. (FATE#303834).
+- patches.xen/xen3-auto-common.diff: xen3 common.
+* Fri Sep 26 2008 ptesarik@suse.cz
+- split patches.arch/s390-01-01-self-ptrace-v3.patch to make it
+ more obvious that the patch is not constrained to s390.
+ The new series is:
+ patches.suse/self-ptrace.patch: the generic pieces
+ patches.arch/x86-self-ptrace.patch: implementation for x86
+ patches.arch/s390-01-01-self-ptrace-v3.patch: dtto for s390
+* Thu Sep 25 2008 jbeulich@novell.com
+- Update Xen patches to 2.6.27-rc7 and c/s 676.
+* Thu Sep 25 2008 olh@suse.de
+- add patches.arch/ppc64-rpanote-relocate-firmware.patch
+ update RPA note for firmware relocation (bnc#427960 - LTC48297)
+* Wed Sep 24 2008 jblunck@suse.de
+ This adds some tracepoint instrumentation taken from the LTTng patch
+ series. Tracepoints are enabled for kernel-debug and kernel-trace only. I
+ disabled ftrace for all flavors except kernel-debug and kernel-trace as well.
+- Update config files.
+- rpm/kernel-source.spec.in,kernel-binary.spec.in, config.conf: Add trace
+ flavor
+- patches.fixes/ia64-sparse-fixes.diff: ia64-kvm: fix sparse
+ warnings.
+- patches.xen/xen3-fixup-common: rediff
+- patches.xen/xen3-auto-common.diff: rediff
+- patches.xen/xen3-patch-2.6.21: rediff
+- patches.xen/xen3-patch-2.6.26: rediff
+- patches.trace/rcu-read-sched.patch
+- patches.trace/markers-use-rcu-read-lock-sched.patch
+- patches.trace/tracepoints.patch
+- patches.trace/tracepoints-use-table-size-macro.patch
+- patches.trace/tracepoints-documentation.patch
+- patches.trace/tracepoints-tracepoint-synchronize-unregister.patch
+- patches.trace/tracepoints-documentation-fix-teardown.patch
+- patches.trace/tracepoints-samples.patch
+- patches.trace/tracepoints-samples-fix-teardown.patch
+- patches.trace/lttng-instrumentation-irq.patch
+- patches.trace/lttng-instrumentation-scheduler.patch
+- patches.trace/lttng-instrumentation-timer.patch
+- patches.trace/lttng-instrumentation-kernel.patch
+- patches.trace/lttng-instrumentation-filemap.patch
+- patches.trace/lttng-instrumentation-swap.patch
+- patches.trace/lttng-instrumentation-memory.patch
+- patches.trace/lttng-instrumentation-page_alloc.patch
+- patches.trace/lttng-instrumentation-hugetlb.patch
+- patches.trace/lttng-instrumentation-net.patch
+- patches.trace/lttng-instrumentation-ipv4.patch
+- patches.trace/lttng-instrumentation-ipv6.patch
+- patches.trace/lttng-instrumentation-socket.patch
+- patches.trace/lttng-instrumentation-fs.patch
+- patches.trace/lttng-instrumentation-ipc.patch
+- patches.trace/ftrace-port-to-tracepoints.patch
+- patches.trace/ftrace-framepointer.diff
+* Tue Sep 23 2008 jjolly@suse.de
+- patches.arch/s390-01-03-cmm2-v2.patch: kernel (new function):
+ Collaborative Memory Management Stage II (bnc#417244)
+- patches.xen/xen3-auto-common.diff: Modified patch to allow for
+ the new patch
+* Tue Sep 23 2008 jeffm@suse.de
+- rpm/kernel-binary.spec.in: Enable sparse checking and section
+ mismatch checking.
+* Tue Sep 23 2008 jeffm@suse.de
+- patches.kernel.org/arch-include-asm-fixes: kbuild: Properly
+ handle arch/$arch/include/asm (bnc#427473).
+* Mon Sep 22 2008 jeffm@suse.de
+- patches.fixes/ext2-avoid-printk-flood-with-dir-corruption:
+ ext2: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+- patches.fixes/ext3-avoid-printk-flood-with-dir-corruption:
+ ext3: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+* Mon Sep 22 2008 jeffm@suse.de
+- Update to 2.6.27-rc7.
+ - Eliminated 2 patches.
+ - patches.arch/s390-01-04-fcpperf-4.patch: Fixed up context.
+* Mon Sep 22 2008 trenn@suse.de
+ Workaround for ThinkPad brightness switching:
+- patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch:
+ Do not use video backlight switching for Lenovo ThinkPads.
+ Commented out for now, possibly to be included later
+- patches.drivers/cpufreq_add_cpu_number_paramater_1.patch:
+ cpufreq: Add a cpu parameter to __cpufreq_driver_getavg()..
+- patches.drivers/cpufreq_add_idle_microaccounting_6.patch:
+ cpufreq,ondemand: Use get_cpu_idle_time_us() to get
+ micro-accounted idle information.
+- patches.drivers/cpufreq_change_load_calculation_2.patch:
+ cpufreq, ondemand: Change the load calculation, optimizing
+ for dependent cpus.
+- patches.drivers/cpufreq_changes_to_get_cpu_idle_us_5.patch:
+ export get_cpu_idle_time_us() .
+- patches.drivers/cpufreq_get_cpu_idle_time_changes_3.patch:
+ cpufreq,ondemand: Prepare changes for doing micro-accounting.
+- patches.drivers/cpufreq_parameterize_down_differential_4.patch:
+ cpufreq, ondemand: Use a parameter for down differential.
+ Added CONFIG_PCIEASPM for rt, xen, powerpc and IA64 to be more
+ consistent across different kernel flavors as suggested on the
+ kernel list:
+- Update config files.
+* Mon Sep 22 2008 hare@suse.de
+- patches.drivers/open-fcoe-libfc: Fix build error on IA64.
+- patches.fixes/scsi-terminate-target-reset: Target reset hangs
+ (bnc#427267).
+- supported.conf: Update to include supported SCSI adapters.
+* Fri Sep 19 2008 jbeulich@novell.com
+- patches.suse/no-frame-pointer-select: Re-enable after removing FTRACE
+ related change.
+- Update x86 non-debug config files: Turn off FRAME_POINTER and FTRACE.
+* Fri Sep 19 2008 neilb@suse.de
+- patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch:
+ md: Allow metadata_version to be updated for externally managed
+ metadata. (FATE#304218).
+- patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch:
+ md: Don't try to set an array to 'read-auto' if it is already
+ in that state. (FATE#304218).
+* Thu Sep 18 2008 jbeulich@novell.com
+- patches.suse/no-frame-pointer-select: Disable.
+- Re-enable CONFIG_FRAME_POINTER in x86 config files.
+* Thu Sep 18 2008 jbeulich@novell.com
+- Update i386 and x86-64 config files (disable CONFIG_FRAME_POINTER in
+ non-debug configs).
+- patches.suse/stack-unwind: Add missing put_cpu()-s for x86-64.
+- patches.suse/no-frame-pointer-select: Fix stack unwinder Kconfig
+ (bnc#402518).
+* Thu Sep 18 2008 hare@suse.de
+- Update config files.
+- patches.drivers/open-fcoe-driver: fcoe: Fibre Channel over
+ Ethernet driver (FATE#303913).
+- patches.drivers/open-fcoe-libfc: libfc: a modular software
+ Fibre Channel implementation (FATE#303913).
+- patches.drivers/open-fcoe-header-files: FC protocol definition
+ header files (FATE#303913).
+- patches.drivers/open-fcoe-dcb-support: FCoE: Add DCB support
+ (FATE#303913).
+- patches.drivers/ixgbe-fcoe-bugfixes: ixgbe: Bugfixes for FCoE.
+- patches.fixes/vlan-gso-size-fix: vlan: device not reading gso
+ max size of parent. (FATE#303913).
+- patches.fixes/pkt_action-skbedit: pkt_action: add new action
+ skbedit.
+- patches.fixes/pkt_sched_multiq_support: pkt_sched: Add
+ multiqueue scheduler support (FATE#303913).
+- supported.conf: Update to include FCoE and device_handler
+ modules
+* Wed Sep 17 2008 jbeulich@novell.com
+- supported.conf: adjust name of ide-cd (is now ide-cd_mod).
+* Wed Sep 17 2008 hare@suse.de
+- patches.drivers/qla2xxx-defer-risc-interrupt-enablement:
+ qla2xxx: Defer enablement of RISC interrupts until ISP
+ initialization completes (FATE#304113).
+- patches.drivers/qla2xxx-8.02.01-k8-update: Update qla2xxx to
+ 8.02.01-k8 (FATE#304113).
+* Wed Sep 17 2008 hare@suse.de
+- patches.fixes/scsi-retry-hardware-error: make scsi_check_sense
+ HARDWARE_ERROR return ADD_TO_MLQUEUE on retry (FATE#304042)
+* Tue Sep 16 2008 olh@suse.de
+- disable CONFIG_SPARSEMEM_VMEMMAP on ppc64 to allow memory remove
+ (bnc#417537)
+* Mon Sep 15 2008 jkosina@suse.de
+- Update config files (build elousb driver as module)
+- patches.drivers/elousb.patch: Elo USB touchscreen driver
+ (FATE#304972).
+* Mon Sep 15 2008 hare@suse.de
+- patches.fixes/dm-mpath-abort-queue: Abort queued requests for
+ multipath (FATE#304151).
* Mon Sep 15 2008 hare@suse.de
- Update config files: Disable CONFIG_OCFS2_COMPAT_JBD
* Mon Sep 15 2008 hare@suse.de
++++++ kernel-trace.spec ++++++
++++ 23735 lines (skipped)
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:45.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:45.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-vanilla-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-vanilla-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -148,7 +149,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -168,6 +168,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -194,8 +195,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-vanilla vanilla $(case vanilla in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/vanilla$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -210,7 +224,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -220,16 +234,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -237,10 +256,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = vanilla ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -270,9 +286,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.vanilla
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-vanilla'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -292,13 +308,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -333,7 +350,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -428,13 +445,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:vanilla:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:vanilla:g" \
+ -e "s:@SUBPACKAGE@:kernel-vanilla$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -447,18 +467,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-vanilla.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -472,42 +490,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/vanilla
-# so that kernel-source + kernel-vanilla is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-vanilla}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/vanilla
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/vanilla
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/vanilla
+ # so that kernel-source + kernel-vanilla is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-vanilla}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/vanilla
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/vanilla
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-vanilla ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-vanilla ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-vanilla \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-vanilla -a \
@@ -519,68 +536,194 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-vanilla} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-vanilla} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/vanilla \
+ ln -s /$obj_dir/$SUBARCH/vanilla \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-vanilla.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
-%files -f kernel.files
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+%package -n kernel-vanilla-base
+Summary: The Standard Kernel - without any SUSE patches
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-vanilla-base
+The standard kernel - without any SUSE patches
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-vanilla-base -f pre-base.sh
+
+%post -n kernel-vanilla-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-vanilla-base -f kernel-base.files
+%endif
+
+%package -n kernel-vanilla-extra
+Summary: The Standard Kernel - without any SUSE patches
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-vanilla = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-vanilla-extra
+The standard kernel - without any SUSE patches
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-vanilla-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-vanilla-extra -f kernel-extra.files
+%endif
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:45.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:45.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-xen
Summary: The Xen Kernel
Version: 2.6.27
-Release: 5
+Release: 6
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-xen-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-xen-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -134,7 +135,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -154,6 +154,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -180,8 +181,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-xen xen $(case xen in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/xen$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -199,7 +213,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -209,16 +223,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -226,10 +245,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = xen ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -259,9 +275,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.xen
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-xen'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -281,13 +297,14 @@
EOF
%endif
cat >> ../.rpm-defs <> ../.rpm-defs <> ../.rpm-defs
%build
source .rpm-defs
@@ -322,7 +339,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -417,13 +434,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:xen:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:xen:g" \
+ -e "s:@SUBPACKAGE@:kernel-xen$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -436,18 +456,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-xen.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -461,42 +479,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/xen
-# so that kernel-source + kernel-xen is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-xen}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/xen
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/xen
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/xen
+ # so that kernel-source + kernel-xen is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-xen}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/xen
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/xen
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-xen ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-xen ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-xen \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-xen -a \
@@ -508,68 +525,204 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-xen} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-xen} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/xen \
+ ln -s /$obj_dir/$SUBARCH/xen \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-xen.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-xen-base
+Summary: The Xen Kernel - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-xen-base
+The Linux kernel for Xen paravirtualization.
+
+This kernel can be used both as the domain0 ("xen0") and as an
+unprivileged ("xenU") kernel.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-xen-base -f pre-base.sh
+
+%post -n kernel-xen-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-xen-base -f kernel-base.files
+%endif
+
+%package -n kernel-xen-extra
+Summary: The Xen Kernel - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-xen = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
-%files -f kernel.files
+%description -n kernel-xen-extra
+The Linux kernel for Xen paravirtualization.
+
+This kernel can be used both as the domain0 ("xen0") and as an
+unprivileged ("xenU") kernel.
+
+This package contains additional modules not supported by Novell.
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-xen-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-xen-extra -f kernel-extra.files
+%endif
++++++ build-source-timestamp ++++++
--- kernel-source/build-source-timestamp 2008-09-15 11:56:49.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/build-source-timestamp 2008-09-29 15:34:30.842586000 +0200
@@ -1 +1 @@
-2008-09-15 10:58:05 +0200
+2008-09-29 15:31:19 +0200
++++++ config.conf ++++++
--- kernel-source/config.conf 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/config.conf 2008-09-29 15:34:32.891865000 +0200
@@ -4,38 +4,33 @@
+IA32 i386/default
+IA32 i386/pae
+IA32 i386/debug
-#+IA32 i386/um
+IA32 i386/xen
+IA32 i386/vanilla
-#+IA32 i386/rt
-#+IA32 i386/rt_debug
++IA32 - i386/rt
++IA32 - i386/rt_debug
++IA32 i386/trace
+ia64 ia64/default
+ia64 ia64/debug
+ia64 ia64/vanilla
++ia64 ia64/trace
+x86_64 x86_64/default
-#+x86_64 x86_64/um
+x86_64 x86_64/xen
+x86_64 x86_64/debug
+x86_64 x86_64/vanilla
-#+x86_64 x86_64/rt
-#+x86_64 x86_64/rt_debug
-##+x86_64 x86_64/rt_timing
-
-
-#+alpha alpha/default
-#+alpha alpha/vanilla
++x86_64 - x86_64/rt
++x86_64 - x86_64/rt_debug
++x86_64 - x86_64/rt_timing
++x86_64 x86_64/trace
+PPC powerpc/default
+PPC powerpc/ppc64
+PPC powerpc/kdump
+PPC powerpc/vanilla
-#+PPC powerpc/rt
++PPC - powerpc/rt
+PPC powerpc/ps3
+s390 s390/s390
+s390x s390/default
+s390x s390/vanilla
-
-#+parisc parisc/default
++++++ config.tar.bz2 ++++++
++++ 38141 lines of diff (skipped)
++++++ get_release_number.sh ++++++
--- kernel-source/get_release_number.sh 2008-09-15 11:56:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/get_release_number.sh 2008-09-29 15:34:33.267488000 +0200
@@ -1,5 +1,5 @@
#! /bin/sh
-prefix=rc6.
+prefix=rc7.
suffix=
if [ "$3" = kernel-dummy -o -n "$suffix" ]; then
[ -n "$suffix" ] || suffix=$2
++++++ kabi.tar.bz2 ++++++
++++++ needed_space_in_mb ++++++
--- kernel-source/needed_space_in_mb 2008-09-15 14:21:13.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/needed_space_in_mb 2008-09-29 15:34:40.176742000 +0200
@@ -1 +1 @@
-6000
+6144
++++++ patches.addon.tar.bz2 ++++++
++++++ patches.apparmor.tar.bz2 ++++++
++++++ patches.arch.tar.bz2 ++++++
++++ 7662 lines of diff (skipped)
++++++ patches.drivers.tar.bz2 ++++++
++++ 71612 lines of diff (skipped)
++++++ patches.fixes.tar.bz2 ++++++
++++ 2110 lines of diff (skipped)
++++++ patches.kernel.org.tar.bz2 ++++++
kernel-source/patches.kernel.org.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/patches.kernel.org.tar.bz2 differ: byte 11, line 1
++++++ patches.rpmify.tar.bz2 ++++++
++++++ patches.rt.tar.bz2 ++++++
++++++ patches.suse.tar.bz2 ++++++
++++ 8111 lines of diff (skipped)
++++++ patches.uml.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
++++ 29776 lines of diff (skipped)
++++++ post.sh ++++++
--- kernel-source/post.sh 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/post.sh 2008-09-29 15:34:32.912843000 +0200
@@ -26,27 +26,29 @@
esac
fi
-echo Setting up /lib/modules/@KERNELRELEASE@
-suffix=
-case @FLAVOR@ in
- kdump|ps3|um|xen*)
- suffix=-@FLAVOR@
- ;;
-esac
-for x in /boot/@IMAGE@ /boot/initrd; do
- rm -f $x$suffix
- ln -s ${x##*/}-@KERNELRELEASE@ $x$suffix
-done
+if [ -e /lib/modules/@KERNELRELEASE@ ]; then
+ echo Setting up /lib/modules/@KERNELRELEASE@
+ suffix=
+ case @FLAVOR@ in
+ kdump|ps3|um|xen*)
+ suffix=-@FLAVOR@
+ ;;
+ esac
+ for x in /boot/@IMAGE@ /boot/initrd; do
+ rm -f $x$suffix
+ ln -s ${x##*/}-@KERNELRELEASE@ $x$suffix
+ done
-if [ -x /sbin/module_upgrade ]; then
- /sbin/module_upgrade --rename mptscsih="mptspi mptfc mptsas"
-fi
+ if [ -x /sbin/module_upgrade ]; then
+ /sbin/module_upgrade --rename mptscsih="mptspi mptfc mptsas"
+ fi
-# Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/.
-if [ -x /usr/lib/module-init-tools/weak-modules ]; then
- /usr/lib/module-init-tools/weak-modules --add-kernel @KERNELRELEASE@
+ # Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/.
+ if [ -x /usr/lib/module-init-tools/weak-modules ]; then
+ /usr/lib/module-init-tools/weak-modules --add-kernel @KERNELRELEASE@
+ fi
+ /sbin/depmod -a -F /boot/System.map-@KERNELRELEASE@ @KERNELRELEASE@
fi
-/sbin/depmod -a -F /boot/System.map-@KERNELRELEASE@ @KERNELRELEASE@
message_install_bl () {
echo "You may need to setup and install the boot loader using the"
@@ -54,6 +56,11 @@
}
run_bootloader () {
+ # Only create the bootloader entry when installing kernel-$flavor-base.
+ if [ @SUBPACKAGE@ != kernel-@FLAVOR@-base ]; then
+ return 1
+ fi
+
if [ -f /etc/sysconfig/bootloader ] &&
[ -f /boot/grub/menu.lst -o \
-f /etc/lilo.conf -o \
++++++ series.conf ++++++
--- kernel-source/series.conf 2008-09-15 11:56:43.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/series.conf 2008-09-29 15:34:30.839585000 +0200
@@ -30,6 +30,7 @@
patches.kernel.org/patch-2.6.27-rc4
patches.kernel.org/patch-2.6.27-rc4-rc5
patches.kernel.org/patch-2.6.27-rc5-rc6
+ patches.kernel.org/patch-2.6.27-rc6-rc7
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -42,9 +43,10 @@
patches.kernel.org/ipmi-section-conflict.diff
patches.kernel.org/md-section-conflict
patches.kernel.org/spu_profiler-include
-+jeffm patches.kernel.org/ia64-asm-nr-irqs
patches.kernel.org/setup_APIC_timer-section-mismatch
patches.kernel.org/carmine-section-mismatch
+ patches.kernel.org/gdth-section-conflict
+ patches.kernel.org/arch-include-asm-fixes
########################################################
# kABI consistency patches
@@ -85,6 +87,8 @@
patches.suse/setuid-dumpable-wrongdir
patches.suse/sysctl-add-affinity_load_balancing
patches.fixes/seccomp-disable-tsc-option
+ patches.suse/self-ptrace.patch
+ patches.suse/rwlocks-enable-interrupts
########################################################
# Architecture-specific patches. These used to be all
@@ -98,6 +102,8 @@
########################################################
patches.arch/ia64-node_mem_map-node_start_pfn.diff
patches.arch/ia64-kdump_proc_iomem.diff
+ patches.fixes/ia64-sparse-fixes.diff
+ patches.arch/ia64-rwlocks-enable-interrupts
########################################################
# i386
@@ -122,6 +128,7 @@
patches.arch/x86-disable-broadcomm-boot-interrupt-generation.patch
patches.arch/x86-disable-AMD-ATI-boot-interrupt-generation.patch
patches.arch/x86-introduce-config-option-for-pci-reroute-quirks.patch
+ patches.arch/x86-self-ptrace.patch
########################################################
@@ -149,7 +156,7 @@
patches.arch/ppc-prom-nodisplay.patch
patches.fixes/ptrace-getsiginfo
patches.arch/ppc-ipic-suspend-without-83xx-fix
- patches.fixes/powerpc-dereference_function_descriptor-depends-on-CONFIG_MODULES
+ patches.arch/ppc64-rpanote-relocate-firmware.patch
########################################################
# PS3
@@ -165,7 +172,7 @@
patches.arch/s390-01-01-self-ptrace-v3.patch
patches.arch/s390-01-02-dcss-64-v2.patch
-+jjolly patches.arch/s390-01-03-cmm2.patch
+ patches.arch/s390-01-03-cmm2-v2.patch
patches.arch/s390-01-04-fcpperf-1.patch
patches.arch/s390-01-04-fcpperf-2.patch
patches.arch/s390-01-04-fcpperf-3.patch
@@ -223,7 +230,6 @@
patches.suse/acpi-dsdt-initrd-v0.9a-2.6.25.patch
patches.arch/acpi_thermal_passive_blacklist.patch
- patches.fixes/acpi_use_acpi_exception.patch
patches.fixes/acpi-clear-wake-status.patch
@@ -238,6 +244,35 @@
patches.arch/0008-sony-laptop-fingers-off-backlight.patch
patches.arch/0009-thinkpad_acpi-fingers-off-backlight.patch
patches.arch/thinkpad_fingers_off_backlight_igd.patch
+ patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch
+
+ patches.arch/acpi-dock-avoid-check-_STA-method.patch
+ patches.arch/acpi-dock-fix-eject-request-process.patch
+ patches.arch/acpi-dock-_LCK-support-for-dock.patch
+ patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch
+ patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch
+ patches.arch/acpi-dock-fix-hotplug-race.patch
+ patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch
+ patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch
+ patches.arch/acpi-bay-remove-useless-code.patch
+ patches.arch/acpi-bay-remove-from-makefile
+ patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch
+ patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch
+ patches.arch/acpi-export-hotplug_execute
+
+ patches.fixes/acpi_use_acpi_exception.patch
+
+ ########################################################
+ # CPUFREQ
+ ########################################################
+ # To be benchmarked (if time after late feature freeze):
++trenn patches.drivers/cpufreq_add_cpu_number_paramater_1.patch
++trenn patches.drivers/cpufreq_change_load_calculation_2.patch
++trenn patches.drivers/cpufreq_get_cpu_idle_time_changes_3.patch
++trenn patches.drivers/cpufreq_parameterize_down_differential_4.patch
++trenn patches.drivers/cpufreq_changes_to_get_cpu_idle_us_5.patch
++trenn patches.drivers/cpufreq_add_idle_microaccounting_6.patch
+
########################################################
# Suse specific stuff
########################################################
@@ -248,6 +283,9 @@
# Networking, IPv6
########################################################
patches.fixes/bridge-module-get-put.patch
+ patches.fixes/vlan-gso-size-fix
+ patches.fixes/pkt_sched_multiq_support
+ patches.fixes/pkt_action-skbedit
########################################################
# NFS
@@ -266,6 +304,8 @@
########################################################
patches.suse/ext3-barrier-default
patches.suse/ext2-fsync-err
+ patches.fixes/ext2-avoid-printk-flood-with-dir-corruption
+ patches.fixes/ext3-avoid-printk-flood-with-dir-corruption
########################################################
# ext4
@@ -437,13 +477,24 @@
#
########################################################
-+kkeil patches.drivers/e1000-7.6.9.2
-+kkeil patches.drivers/e1000-7.6.5-napi-tail.patch
-+kkeil patches.drivers/e1000-7.6.9.2-napi
patches.drivers/e1000e_add_82574L.patch
patches.drivers/e1000e_add_ICH9_BM.patch
patches.drivers/e1000e_add_LOM_devices.patch
+ # debug 425480
+ patches.suse/e1000e_Export_set_memory_ro-rw
+ patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory
+ patches.suse/e1000e_reset_swflag_after_resetting_hardware
+ patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context
+ patches.suse/e1000e_fix_lockdep_issues
+ patches.suse/e1000e_drop_stats_lock
+ patches.suse/e1000e_debug_contention_on_NVM_SWFLAG
+ patches.suse/e1000e_update_version
+ patches.suse/e1000e_allow_bad_checksum
+ patches.suse/e1000e_call_dump_eeprom
+ patches.suse/e1000e_mmap_range_chk
+
+ patches.drivers/ixgbe-fcoe-bugfixes
patches.drivers/sgi-uv-led
# Add support for Montevina hardware; series mainlined 2.6.26
@@ -466,9 +517,18 @@
patches.fixes/scsi-misc-git-update
patches.fixes/scsi-enhance-error-codes
+ patches.fixes/scsi-terminate-target-reset
+
+ # FCoE
+ patches.drivers/open-fcoe-header-files
+ patches.drivers/open-fcoe-libfc
+ patches.drivers/open-fcoe-driver
+ patches.drivers/open-fcoe-dcb-support
patches.drivers/lpfc-8.2.8-update
patches.drivers/lpfc-8.2.8.1-update
+ patches.drivers/qla2xxx-8.02.01-k8-update
+ patches.drivers/qla2xxx-defer-risc-interrupt-enablement
# patches.fixes/mptbase-vmware-fix
# Remaining SCSI patches (garloff)
@@ -491,7 +551,7 @@
########################################################
# iSCSI
########################################################
-+2.6.24 patches.fixes/libiscsi-iscsi_pool_free-api-change
+ patches.fixes/open-iscsi-git-update
########################################################
# PCI and PCI hotplug
@@ -519,6 +579,7 @@
########################################################
patches.suse/bootsplash
patches.fixes/input-add-amilo-pro-v-to-nomux.patch
+ patches.drivers/elousb.patch
##########################################################
# Sound
@@ -556,6 +617,16 @@
patches.suse/rq-based-block-layer
patches.suse/rq-based-dm-interface
patches.suse/rq-based-multipath-functions
+ patches.fixes/dm-mpath-abort-queue
+ patches.suse/rq-based-init-crash
+ patches.suse/dm-barrier-single-device
+
+ ########################################################
+ # md
+ ########################################################
+ patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch
+ patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch
+
##########################################################
#
@@ -637,6 +708,76 @@
########################################################
patches.suse/crasher-26.diff
patches.suse/stack-unwind
+ patches.suse/no-frame-pointer-select
+
+ ########################################################
+ # Tracing
+ ########################################################
+ # in tip/tracing/ftrace
+ patches.trace/rcu-read-sched.patch
+ patches.trace/markers-use-rcu-read-lock-sched.patch
+
+ # in tip/tracing/ftrace
+ patches.trace/tracepoints.patch
+ patches.trace/tracepoints-use-table-size-macro.patch
+ patches.trace/tracepoints-documentation.patch
+ patches.trace/tracepoints-tracepoint-synchronize-unregister.patch
+ patches.trace/tracepoints-documentation-fix-teardown.patch
+ patches.trace/tracepoints-samples.patch
+ patches.trace/tracepoints-samples-fix-teardown.patch
+
+ patches.trace/lttng-instrumentation-irq.patch
+ patches.trace/lttng-instrumentation-scheduler.patch
+ patches.trace/lttng-instrumentation-timer.patch
+ patches.trace/lttng-instrumentation-kernel.patch
+ patches.trace/lttng-instrumentation-filemap.patch
+ patches.trace/lttng-instrumentation-swap.patch
+ patches.trace/lttng-instrumentation-memory.patch
+ patches.trace/lttng-instrumentation-page_alloc.patch
+ patches.trace/lttng-instrumentation-hugetlb.patch
+ patches.trace/lttng-instrumentation-net.patch
+ patches.trace/lttng-instrumentation-ipv4.patch
+ patches.trace/lttng-instrumentation-ipv6.patch
+ patches.trace/lttng-instrumentation-socket.patch
+ patches.trace/lttng-instrumentation-fs.patch
+ patches.trace/lttng-instrumentation-ipc.patch
+
+ patches.trace/ftrace-port-to-tracepoints.patch
+ patches.trace/ftrace-framepointer.diff
+
+ ########################################################
+ # Swap over NFS
+ ########################################################
+
+ patches.suse/SoN-01-mm-gfp-to-alloc_flags.patch
+ patches.suse/SoN-02-mm-setup_per_zone_pages_min.patch
+ patches.suse/SoN-03-doc.patch
+ patches.suse/SoN-04-mm-gfp-to-alloc_flags-expose.patch
+ patches.suse/SoN-05-page_alloc-reserve.patch
+ patches.suse/SoN-06-reserve-slub.patch
+ patches.suse/SoN-07-mm-kmem_estimate_pages.patch
+ patches.suse/SoN-08-mm-PF_MEMALLOC-softirq.patch
+ patches.suse/SoN-09-mm-page_alloc-emerg.patch
+ patches.suse/SoN-10-global-ALLOC_NO_WATERMARKS.patch
+ patches.suse/SoN-11-mm-page_alloc-GFP_EMERGENCY.patch
+ patches.suse/SoN-12-mm-reserve.patch
+ patches.suse/SoN-13-mm-selinux-emergency.patch
+ patches.suse/SoN-14-net-backlog.patch
+ patches.suse/SoN-15-net-ps_rx.patch
+ patches.suse/SoN-16-net-sk_allocation.patch
+ patches.suse/SoN-17-netvm-reserve.patch
+ patches.suse/SoN-18-netvm-reserve-inet.patch
+ patches.suse/SoN-19-netvm-skbuff-reserve.patch
+ patches.suse/SoN-20-netvm-sk_filter.patch
+ patches.suse/SoN-21-netvm-tcp-deadlock.patch
+ patches.suse/SoN-22-emergency-nf_queue.patch
+ patches.suse/SoN-23-netvm.patch
+ patches.suse/SoN-24-mm-swapfile.patch
+ patches.suse/SoN-25-mm-page_file_methods.patch
+ patches.suse/SoN-26-nfs-swapcache.patch
+ patches.suse/SoN-27-nfs-swapper.patch
+ patches.suse/SoN-28-nfs-swap_ops.patch
+ patches.suse/SoN-29-nfs-alloc-recursions.patch
########################################################
# You'd better have a good reason for adding a patch
@@ -676,8 +817,9 @@
-RT patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
-RT patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
-RT patches.xen/ipv6-no-autoconf
-- patches.xen/sfc-driverlink
-- patches.xen/sfc-resource-driver
+-RT patches.xen/sfc-driverlink
+-RT patches.xen/sfc-resource-driver
+-RT patches.xen/sfc-driverlink-conditional
# bulk stuff, new files for xen
-RT patches.xen/xen3-auto-xen-arch.diff
@@ -715,6 +857,8 @@
-RT patches.xen/xen3-patch-2.6.27-rc3
-RT patches.xen/xen3-patch-2.6.27-rc3-rc4
-RT patches.xen/xen3-patch-2.6.27-rc4-rc5
+-RT patches.xen/xen3-patch-2.6.27-rc5-rc6
+-RT patches.xen/xen3-patch-2.6.27-rc6-rc7
-RT patches.xen/xen3-seccomp-disable-tsc-option
+andrea -RT patches.xen/xen3-silent-stack-overflow
-RT patches.xen/xen3-sysfs-crash-debugging.patch
@@ -740,8 +884,9 @@
-RT patches.xen/xen-x86_64-dump-user-pgt
-RT patches.xen/xen-blktap-write-barriers
-RT patches.xen/xen-x86-bigmem
--RT patches.xen/xen-msix-restore
-RT patches.xen/xen-scsifront-block-timeout-update
+-RT patches.xen/xen-rwlocks-enable-interrupts
+-RT patches.xen/xen-e1000e_Export_set_memory_ro-rw
#
# base tree: 2.6.23-rc4
++++++ source-post.sh ++++++
--- kernel-source/source-post.sh 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/source-post.sh 2008-09-29 15:34:32.907854000 +0200
@@ -1,20 +1,2 @@
-relink linux-@KERNELRELEASE@ /usr/src/linux
+relink linux-@KERNELRELEASE@@VARIANT@ /usr/src/linux@VARIANT@
relink linux-@KERNELRELEASE@-obj /usr/src/linux-obj
-
-if [ -e /.buildenv ]; then
- # Autobuild has a modified version of uname that reports a specific
- # kernel version if /.kernelversion exists.
- arch=$(echo %_target_cpu \
- | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
- -e s/arm.*/arm/ -e s/sa110/arm/ \
- -e s/s390x/s390/ -e s/parisc64/parisc/ \
- -e s/ppc.*/powerpc/)
- flavor="$(
- cd /usr/src/linux-@KERNELRELEASE@/arch/$arch
- set -- defconfig.*
- [ -e defconfig.default ] && set -- defconfig.default
- echo ${1/defconfig.}
- )"
-
- echo @KERNELRELEASE@-$flavor > /.kernelversion
-fi
++++++ supported.conf ++++++
--- kernel-source/supported.conf 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/supported.conf 2008-09-29 15:34:32.903860000 +0200
@@ -1,3 +1,13 @@
+# Configuration of base modules (which are supported), regularly and
+# externally supported modules, and unsupported modules.
+# See series.conf for a list of symbols defined.
+#
+# Use "-" for unsupported modules, "+base" for modules for
+# kernel-$flavor-base, and "+external" for externally supported modules.
+#
+# Modules that a base module uses implicitly are also base modules,
+# but at least they need to be marked as supported here.
+
kernel/arch/i386/crypto/aes-i586 # Rijndael (AES) Cipher Algorithm (optimized for i586)
kernel/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2
kernel/arch/i386/kernel/cpu/cpufreq/gx-suspmod
@@ -66,7 +76,7 @@
kernel/drivers/acpi/thermal # ACPI Thermal Zone Driver
kernel/drivers/acpi/toshiba_acpi
kernel/drivers/acpi/video
- kernel/drivers/acpi/dock # Be careful: libata depends on it
++base kernel/drivers/acpi/dock # Be careful: libata depends on it
kernel/drivers/acpi/bay
kernel/drivers/acpi/acpi_memhotplug
kernel/drivers/thermal/thermal_sys # Generic Thermal Driver, compiled in for now
@@ -78,6 +88,21 @@
kernel/drivers/acpi/wmi
kernel/drivers/misc/hp-wmi
kernel/drivers/misc/hpilo
+ kernel/drivers/misc/enclosure
++base kernel/drivers/ata/ahci
++base kernel/drivers/ata/ata_piix # SCSI low-level driver for Intel PIIX/ICH ATA controllers
+ kernel/drivers/ata/sata_mv # Marvell SATA support
+ kernel/drivers/ata/sata_nv # low-level driver for NVIDIA nForce SATA controller
+ kernel/drivers/ata/sata_promise # Promise SATA low-level driver
+ kernel/drivers/ata/sata_qstor # Pacific Digital Corporation QStor SATA
+ kernel/drivers/ata/sata_sil # low-level driver for Silicon Image SATA controller
+ kernel/drivers/ata/sata_sil24 # Silicon Image SATA
+ kernel/drivers/ata/sata_sis # low-level driver for Silicon Integratad Systems SATA controller
+ kernel/drivers/ata/sata_svw # low-level driver for K2 SATA controller
+ kernel/drivers/ata/sata_sx4 # Promise SATA low-level driver
+ kernel/drivers/ata/sata_uli # low-level driver for ULi Electronics SATA controller
+ kernel/drivers/ata/sata_via # SCSI low-level driver for VIA SATA controllers
+ kernel/drivers/ata/sata_vsc # low-level driver for Vitesse VSC7174 SATA controller
kernel/drivers/ata/pata_pdc2027x # pSeries IDE hotplug
- kernel/drivers/atm/adummy
- kernel/drivers/atm/ambassador
@@ -102,7 +127,7 @@
kernel/drivers/block/cpqarray # Driver for Compaq Smart2 Array Controllers version 2.6.0
kernel/drivers/block/cryptoloop # loop blockdevice transferfunction adaptor / CryptoAPI
kernel/drivers/block/floppy
- kernel/drivers/block/loop
++base kernel/drivers/block/loop
kernel/drivers/block/loop_fish2
kernel/drivers/block/nbd # Network Block Device
- kernel/drivers/block/paride/aten
@@ -276,7 +301,7 @@
kernel/drivers/dump/dump_gzip
kernel/drivers/dump/dump_netdev
kernel/drivers/dump/dump_rle
- kernel/drivers/firmware/edd
++base kernel/drivers/firmware/edd
- kernel/drivers/hwmon/abituguru # Abit uGuru rev. 1 and 2
- kernel/drivers/hwmon/abituguru3 # Abit uGuru rev. 3
- kernel/drivers/hwmon/ad7418 # AD7416, AD7417, AD7418
@@ -349,20 +374,19 @@
kernel/drivers/i2c/busses/i2c-ali1563
kernel/drivers/i2c/busses/i2c-ali15x3 # ALI15X3 SMBus driver
kernel/drivers/i2c/busses/i2c-amd756 # AMD756/766/768/8111 and nVidia nForce SMBus driver
- kernel/drivers/i2c/busses/i2c-amd756-s4882
+ kernel/drivers/i2c/busses/i2c-amd756-s4882 # SMBus multiplexing, Tyan S4882
kernel/drivers/i2c/busses/i2c-amd8111 # AMD8111 SMBus 2.0 driver
kernel/drivers/i2c/busses/i2c-hydra
- kernel/drivers/i2c/busses/i2c-i801 # I801 SMBus driver
-- kernel/drivers/i2c/busses/i2c-i810 # I810/I815 I2C/DDC driver (deprecated)
+ kernel/drivers/i2c/busses/i2c-i801 # Intel 82801 SMBus driver
+ kernel/drivers/i2c/busses/i2c-isch # Intel SCH SMBus driver
kernel/drivers/i2c/busses/i2c-nforce2 # nForce2 SMBus driver
+ kernel/drivers/i2c/busses/i2c-nforce2-s4985 # SMBus multiplexing, Tyan S4985
kernel/drivers/i2c/busses/i2c-ocores
kernel/drivers/i2c/busses/i2c-parport # I2C bus over parallel port
kernel/drivers/i2c/busses/i2c-parport-light # I2C bus over parallel port (light)
kernel/drivers/i2c/busses/i2c-pca-isa # ISA base PCA9564 driver
- kernel/drivers/i2c/busses/i2c-piix4
++base kernel/drivers/i2c/busses/i2c-piix4
kernel/drivers/i2c/busses/i2c-powermac
-- kernel/drivers/i2c/busses/i2c-prosavage # ProSavage DDC driver (deprecated)
-- kernel/drivers/i2c/busses/i2c-savage4 # Savage4 DDC driver (deprecated)
kernel/drivers/i2c/busses/i2c-simtec
kernel/drivers/i2c/busses/i2c-sis5595 # SIS5595 SMBus driver
kernel/drivers/i2c/busses/i2c-sis630 # SIS630 SMBus driver
@@ -382,11 +406,11 @@
- kernel/drivers/i2c/chips/pcf8575 # PCF8575 GPIO driver (deprecated)
kernel/drivers/i2c/chips/pcf8591 # PCF8591 driver
kernel/drivers/i2c/chips/tsl2550 # Light sensor
- kernel/drivers/i2c/i2c-core # I2C-Bus main module
++base kernel/drivers/i2c/i2c-core # I2C-Bus main module
kernel/drivers/i2c/i2c-dev # I2C /dev entries driver
- kernel/drivers/ide/ide-cd
- kernel/drivers/ide/ide-core
- kernel/drivers/ide/ide-disk
+ kernel/drivers/ide/ide-cd_mod
++base kernel/drivers/ide/ide-core
++base kernel/drivers/ide/ide-disk
kernel/drivers/ide/ide-floppy
kernel/drivers/ide/ide-generic
+check kernel/drivers/ide/ide-tape # ATAPI Streaming TAPE Driver
@@ -537,9 +561,8 @@
- kernel/drivers/macintosh/mol/mol
- kernel/drivers/macintosh/mol/sheep
kernel/drivers/md/dm-crypt # device-mapper target for transparent encryption / decryption
- kernel/drivers/md/dm-emc # Multipath support for EMC CLARiiON AX/CX-series hardware
kernel/drivers/md/dm-mirror # device-mapper mirror target
- kernel/drivers/md/dm-mod # device-mapper driver
++base kernel/drivers/md/dm-mod # device-mapper driver
kernel/drivers/md/dm-multipath # device-mapper multipath target
kernel/drivers/md/dm-round-robin # Round-robin path selector
kernel/drivers/md/dm-snapshot # device-mapper snapshot target
@@ -779,7 +802,7 @@
kernel/drivers/net/8139cp # RealTek RTL-8139C+ series 10/100 PCI Ethernet driver
kernel/drivers/net/8139too # RealTek RTL-8139 Fast Ethernet driver
+isa kernel/drivers/net/82596
- kernel/drivers/net/8390
++base kernel/drivers/net/8390
+isa kernel/drivers/net/ac3200
kernel/drivers/net/acenic # AceNIC/3C985/GA620 Gigabit Ethernet driver
kernel/drivers/net/amd8111e # AMD8111 based 10/100 Ethernet Controller. Driver Version 3.0.3
@@ -868,6 +891,7 @@
+isa kernel/drivers/net/irda/w83977af_ir
kernel/drivers/net/iseries_veth
kernel/drivers/net/ixgb/ixgb # Intel(R) PRO/10GbE Network Driver
+ kernel/drivers/net/ixgbe/ixgbe # Intel(R) PRO/10GbE PCI Express Network Driver
+isa kernel/drivers/net/lance
+isa kernel/drivers/net/lp486e
kernel/drivers/net/mace
@@ -875,7 +899,7 @@
- kernel/drivers/net/mv643xx_eth # gigabit Pegasos2, all chips share the same MAC
kernel/drivers/net/natsemi # National Semiconductor DP8381x series PCI Ethernet driver
+isa kernel/drivers/net/ne
- kernel/drivers/net/ne2k-pci # PCI NE2000 clone driver
++base kernel/drivers/net/ne2k-pci # PCI NE2000 clone driver
kernel/drivers/net/netconsole # Console driver for network interfaces
+isa kernel/drivers/net/ni5010
+isa kernel/drivers/net/ni52
@@ -892,12 +916,14 @@
kernel/drivers/net/pcmcia/smc91c92_cs # SMC 91c92 series PCMCIA ethernet driver
kernel/drivers/net/pcmcia/xirc2ps_cs # Xircom PCMCIA ethernet driver
kernel/drivers/net/pcnet32 # Driver for PCnet32 and PCnetPCI based ethercards
+ kernel/drivers/net/phy/broadcom
kernel/drivers/net/phy/cicada
kernel/drivers/net/phy/davicom
kernel/drivers/net/phy/libphy
kernel/drivers/net/phy/lxt
kernel/drivers/net/phy/marvell
kernel/drivers/net/phy/qsemi
+ kernel/drivers/net/phy/realtek
kernel/drivers/net/plip
kernel/drivers/net/ppp_async
kernel/drivers/net/ppp_deflate
@@ -1064,26 +1090,31 @@
kernel/drivers/s390/scsi/zfcp_hbaapi
kernel/drivers/scsi/3w-9xxx # 3ware 9000 Storage Controller Linux Driver
kernel/drivers/scsi/3w-xxxx # 3ware Storage Controller Linux Driver
- kernel/drivers/scsi/BusLogic
++base kernel/drivers/scsi/BusLogic
+isa kernel/drivers/scsi/NCR53c406a
- kernel/drivers/scsi/a100u2w # Initio INI-A100U2W
kernel/drivers/scsi/aacraid/aacraid # Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, and HP NetRAID-4M SCSI driver
+- kernel/drivers/scsi/advansys # Advansys driver, rewrite not yet finished
+isa kernel/drivers/scsi/aha152x
+isa kernel/drivers/scsi/aha1542
- kernel/drivers/scsi/ahci
kernel/drivers/scsi/aic7xxx/aic79xx # Adaptec Aic790X U320 SCSI Host Bus Adapter driver
kernel/drivers/scsi/aic7xxx/aic7xxx # Adaptec Aic77XX/78XX SCSI Host Bus Adapter driver
- kernel/drivers/scsi/aic7xxx_old
+- kernel/drivers/scsi/aic7xxx_old
kernel/drivers/scsi/aic94xx/aic94xx
- kernel/drivers/scsi/ata_piix # SCSI low-level driver for Intel PIIX/ICH ATA controllers
+ kernel/drivers/scsi/arcmsr/arcmsr # Areca RAID HBA
kernel/drivers/scsi/atp870u
- kernel/drivers/scsi/ch # device driver for scsi media changer devices
kernel/drivers/scsi/dc395x # SCSI host adapter driver for Tekram TRM-S1040 based adapters: Tekram DC395 and DC315 series
kernel/drivers/scsi/dmx3191d
kernel/drivers/scsi/dpt_i2o
+isa kernel/drivers/scsi/dtc
+ kernel/drivers/scsi/device_handler/scsi_dm # SCSI device handler
+ kernel/drivers/scsi/device_handler/scsi_dm_alua
+ kernel/drivers/scsi/device_handler/scsi_dm_emc
+ kernel/drivers/scsi/device_handler/scsi_dm_hp_sw
+ kernel/drivers/scsi/device_handler/scsi_dm_rdac
kernel/drivers/scsi/eata # EATA/DMA SCSI Driver
kernel/drivers/scsi/fdomain # Future domain SCSI driver
+ kernel/drivers/scsi/fcoe/fcoe # Open-FCoE software driver
+isa kernel/drivers/scsi/g_NCR5380
+isa kernel/drivers/scsi/g_NCR5380_mmio
kernel/drivers/scsi/gdth
@@ -1097,8 +1128,12 @@
kernel/drivers/scsi/ips
kernel/drivers/scsi/iscsi_tcp # open-iscsi client
kernel/drivers/scsi/iscsitarget/iscsi_trgt
- kernel/drivers/scsi/libata # Library module for ATA devices
+ kernel/drivers/scsi/hptiop
++base kernel/drivers/scsi/libata # Library module for ATA devices
+ kernel/drivers/scsi/libfc/libfc # Library module for FC devices
kernel/drivers/scsi/libiscsi # open-iscsi library
+ kernel/drivers/scsi/libsas/libsas # Library module for SAS devices
+ kernel/drivers/scsi/libsrp # Library module for SRP devices
kernel/drivers/scsi/lpfc/lpfc
kernel/drivers/scsi/mac53c94
kernel/drivers/scsi/megaraid # LSI Logic MegaRAID driver
@@ -1106,6 +1141,7 @@
kernel/drivers/scsi/megaraid/megaraid_mm
kernel/drivers/scsi/megaraid/megaraid_sas
kernel/drivers/scsi/mesh
+ kernel/drivers/scsi/mvsas
kernel/drivers/scsi/nsp32
kernel/drivers/scsi/osst # OnStream {DI-|FW-|SC-|USB}{30|50} Tape Driver
+isa kernel/drivers/scsi/pas16
@@ -1124,30 +1160,23 @@
kernel/drivers/scsi/qlogicfas408 # Driver for the Qlogic FAS SCSI controllers
kernel/drivers/scsi/qlogicfc
kernel/drivers/scsi/raid_class # implementation of a simple raid visualisation class
- kernel/drivers/scsi/sas/scsi_transport_sas_domain
- kernel/drivers/scsi/sata_mv # Marvell SATA support
- kernel/drivers/scsi/sata_nv # low-level driver for NVIDIA nForce SATA controller
- kernel/drivers/scsi/sata_promise # Promise SATA low-level driver
- kernel/drivers/scsi/sata_qstor # Pacific Digital Corporation QStor SATA
- kernel/drivers/scsi/sata_sil # low-level driver for Silicon Image SATA controller
- kernel/drivers/scsi/sata_sil24 # Silicon Image SATA
- kernel/drivers/scsi/sata_sis # low-level driver for Silicon Integratad Systems SATA controller
- kernel/drivers/scsi/sata_svw # low-level driver for K2 SATA controller
- kernel/drivers/scsi/sata_sx4 # Promise SATA low-level driver
- kernel/drivers/scsi/sata_uli # low-level driver for ULi Electronics SATA controller
- kernel/drivers/scsi/sata_via # SCSI low-level driver for VIA SATA controllers
- kernel/drivers/scsi/sata_vsc # low-level driver for Vitesse VSC7174 SATA controller
kernel/drivers/scsi/scsi_debug # SCSI debug adapter driver
+ia64 kernel/drivers/scsi/scsi_dump # lkcd dumps to SCSI blkdev
- kernel/drivers/scsi/scsi_mod # SCSI core
++base kernel/drivers/scsi/scsi_mod # SCSI core
+ kernel/drivers/scsi/scsi_tgt # SCSI Target Mode framework
kernel/drivers/scsi/scsi_transport_fc # FC Transport Attributes
kernel/drivers/scsi/scsi_transport_iscsi
kernel/drivers/scsi/scsi_transport_sas # Serial Attached SCSI (SAS) transport class
kernel/drivers/scsi/scsi_transport_spi # SPI Transport Attributes
- kernel/drivers/scsi/sd_mod # SCSI disk (sd) driver
- kernel/drivers/scsi/sg # SCSI generic (sg) driver
- kernel/drivers/scsi/sr_mod
- kernel/drivers/scsi/st # SCSI Tape Driver
+ kernel/drivers/scsi/scsi_transport_srp # SRP Transport Attributes
+ kernel/drivers/scsi/scsi_wait_scan # SCSI wait for scanning module
+ kernel/drivers/scsi/ch # device driver for scsi media changer devices
++base kernel/drivers/scsi/sd_mod # SCSI disk (sd) driver
+ kernel/drivers/scsi/ses # SCSI Enclosure Services Driver
++base kernel/drivers/scsi/sg # SCSI generic (sg) driver
++base kernel/drivers/scsi/sr_mod
++base kernel/drivers/scsi/st # SCSI Tape Driver
+ kernel/drivers/scsi/stex # SCSI Tape Driver
+isa kernel/drivers/scsi/sym53c416
kernel/drivers/scsi/sym53c8xx_2/sym53c8xx
+isa kernel/drivers/scsi/t128
@@ -1182,13 +1211,13 @@
- kernel/drivers/usb/atm/xusbatm # dumb usbatm-based driver for modems initialized in userspace
kernel/drivers/usb/class/cdc-acm # USB Abstract Control Model driver for USB modems and ISDN adapters
kernel/drivers/usb/class/usblp # USB Printer Device Class driver
- kernel/drivers/usb/core/usbcore
- kernel/drivers/usb/host/ehci-hcd # 2003-Dec-29 USB 2.0 'Enhanced' Host Controller (EHCI) Driver
++base kernel/drivers/usb/core/usbcore
++base kernel/drivers/usb/host/ehci-hcd # 2003-Dec-29 USB 2.0 'Enhanced' Host Controller (EHCI) Driver
- kernel/drivers/usb/host/isp116x-hcd # ISP116x HCD (Host Controller Driver) for USB
kernel/drivers/usb/host/ohci-hcd # 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver
kernel/drivers/usb/host/sl811-hcd
- kernel/drivers/usb/host/sl811_cs # PCMCIA driver for SL811HS (as found in REX-CFU1U)
- kernel/drivers/usb/host/uhci-hcd # USB Universal Host Controller Interface driver
++base kernel/drivers/usb/host/uhci-hcd # USB Universal Host Controller Interface driver
kernel/drivers/usb/image/mdc800 # USB Driver for Mustek MDC800 Digital Camera
kernel/drivers/usb/image/microtek # Microtek Scanmaker X6 USB scanner driver
- kernel/drivers/usb/input/acecad # USB Acecad "Acecad Flair" tablet support
@@ -1280,7 +1309,7 @@
kernel/drivers/usb/serial/usbserial # USB Serial Driver core
kernel/drivers/usb/serial/visor # USB HandSpring Visor / Palm OS driver
kernel/drivers/usb/serial/whiteheat # USB ConnectTech WhiteHEAT driver
- kernel/drivers/usb/storage/usb-storage # USB Mass Storage driver for Linux
++base kernel/drivers/usb/storage/usb-storage # USB Mass Storage driver for Linux
- kernel/drivers/video/arcfb # FB driver for Arc monochrome LCD board
kernel/drivers/video/aty/aty128fb # FBDev driver for ATI Rage128 / Pro cards
kernel/drivers/video/aty/atyfb
@@ -1331,12 +1360,12 @@
- kernel/drivers/w1/wire # Driver for 1-wire Dallas network protocol.
kernel/drivers/xen/blkback/blkbk # Xen block device backend
kernel/drivers/xen/blktap/blkbktap # Xen TAP block device backend
- kernel/drivers/xen/blkfront/xenblk # Xen block device frontend
++base kernel/drivers/xen/blkfront/xenblk # Xen block device frontend
kernel/drivers/xen/fbfront/xenfb # Xen virtual frame buffer frontend
kernel/drivers/xen/fbfront/xenkbd # Xen virtual keyboard frontend
kernel/drivers/xen/netback/netbk # Xen network device backend
kernel/drivers/xen/netback/netloop # Xen network loopback device
- kernel/drivers/xen/netfront/xennet # Xen network device frontend
++base kernel/drivers/xen/netfront/xennet # Xen network device frontend
- kernel/drivers/xen/pciback/pciback # Xen PCI device backend
- kernel/drivers/xen/tpmback/tpmbk # Xen TPM device backend
kernel/drivers/xen/xenbus/xenbus_be # Xen XenBus backend driver support module
@@ -1346,6 +1375,7 @@
kernel/drivers/virtio/virtio_pci
kernel/drivers/block/virtio_blk
kernel/drivers/net/virtio_net
+ kernel/drivers/char/virtio_console
- kernel/fs/9p/9p2000
- kernel/fs/adfs/adfs
- kernel/fs/affs/affs # Amiga filesystem support for Linux
@@ -1363,7 +1393,7 @@
- kernel/fs/efs/efs
kernel/fs/exportfs/exportfs
kernel/fs/ext2/ext2 # Second Extended Filesystem
- kernel/fs/ext3/ext3 # Second Extended Filesystem with journaling extensions
++base kernel/fs/ext3/ext3 # Second Extended Filesystem with journaling extensions
kernel/fs/fat/fat
- kernel/fs/freevxfs/freevxfs # Veritas Filesystem (VxFS) driver
kernel/fs/fuse/fuse # FUSE: Filesystem in Userspace
@@ -1372,11 +1402,11 @@
- kernel/fs/hpfs/hpfs
kernel/fs/hppfs/hppfs
kernel/fs/isofs/isofs
- kernel/fs/jbd/jbd
++base kernel/fs/jbd/jbd
- kernel/fs/jffs/jffs # The Journalling Flash File System
- kernel/fs/jffs2/jffs2 # The Journalling Flash File System, v2
kernel/fs/lockd/lockd
- kernel/fs/mbcache
++base kernel/fs/mbcache
kernel/fs/minix/minix
kernel/fs/msdos/msdos
kernel/fs/ncpfs/ncpfs
@@ -1554,7 +1584,7 @@
kernel/net/ipv6/esp6
kernel/net/ipv6/ip6_tunnel # IPv6-in-IPv6 tunnel
kernel/net/ipv6/ipcomp6 # IP Payload Compression Protocol (IPComp) for IPv6 - RFC3173
- kernel/net/ipv6/ipv6 # IPv6 protocol stack for Linux
++base kernel/net/ipv6/ipv6 # IPv6 protocol stack for Linux
kernel/net/ipv6/xfrm6_tunnel
kernel/net/netfilter/nfnetlink
@@ -1689,7 +1719,7 @@
- kernel/net/llc/llc
- kernel/net/llc/llc2 # IEEE 802.2 PF_LLC support
- kernel/net/netrom/netrom # The amateur radio NET/ROM network and transport layer protocol
- kernel/net/packet/af_packet
++base kernel/net/packet/af_packet
- kernel/net/rose/rose # The amateur radio ROSE network layer protocol
- kernel/net/rxrpc/rxrpc # Rx RPC implementation
- kernel/net/sched/act_gact
@@ -1926,3 +1956,56 @@
+external kernel/drivers/firmware/dell_rbu
+external kernel/fs/cifs/cifs # VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows; supported by IBM
+external kernel/fs/jfs/jfs # The Journaled Filesystem (JFS), supported by IBM
+
+ kernel/arch/ia64/kernel/err_inject
+ kernel/arch/powerpc/oprofile/oprofile
+ kernel/arch/s390/crypto/sha_common
+ kernel/crypto/aead
+ kernel/crypto/aes_generic
+ kernel/crypto/crypto_blkcipher
+ kernel/crypto/twofish_common
+ kernel/drivers/ata/pata_sis
+ kernel/drivers/char/hw_random/rng-core
+ kernel/drivers/char/nsc_gpio
+ kernel/drivers/dca/dca
+ kernel/drivers/hid/hid
+ kernel/drivers/input/ff-memless
+ kernel/drivers/leds/led-class
+ kernel/drivers/md/dm-log
+ kernel/drivers/media/video/cx2341x
+ kernel/drivers/media/video/videobuf-core
+ kernel/drivers/media/video/videobuf-dma-sg
+ kernel/drivers/media/video/videobuf-vmalloc
+ kernel/drivers/misc/sgi-gru/gru
+ kernel/drivers/mtd/chips/chipreg
+ kernel/drivers/mtd/maps/map_funcs
+ kernel/drivers/mtd/mtd
+ kernel/drivers/mtd/nand/nand
+ kernel/drivers/mtd/nand/nand_ecc
+ kernel/drivers/mtd/nand/nand_ids
+ kernel/drivers/net/wan/hdlc
+ kernel/drivers/scsi/device_handler/scsi_dh
+ kernel/drivers/ssb/ssb
+ kernel/drivers/usb/atm/usbatm
+ kernel/drivers/usb/misc/phidget
+ kernel/drivers/video/fb_ddc
+ kernel/drivers/video/fb_sys_fops
+ kernel/drivers/video/output
+ kernel/drivers/video/syscopyarea
+ kernel/drivers/video/sysfillrect
+ kernel/drivers/video/sysimgblt
+ kernel/fs/jbd2/jbd2
+ kernel/fs/ocfs2/ocfs2_stackglue
+ kernel/lib/crc-itu-t
+ kernel/net/802/garp
+ kernel/net/802/stp
+ kernel/net/atm/atm
+ kernel/net/ieee80211/ieee80211
+ kernel/net/ieee80211/ieee80211_crypt
+ kernel/net/ipv4/tunnel4
+ kernel/net/ipv6/tunnel6
+ kernel/net/rfkill/rfkill
+ kernel/net/xfrm/xfrm_ipcomp
+ kernel/sound/ac97_bus
+ kernel/sound/i2c/other/snd-pt2258
+ kernel/sound/sound_firmware
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org