Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at Tue Jun 22 17:48:20 CEST 2010. -------- --- kernel-source/kernel-debug.changes 2010-06-04 07:00:16.000000000 +0200 +++ kernel-source/kernel-debug.changes 2010-06-22 11:38:01.000000000 +0200 @@ -1,0 +2,41 @@ +Mon Jun 21 14:53:16 CEST 2010 - mmarek@suse.cz + +- rpm/kernel-binary.spec.in: Require a mkinitrd that supports + KMS (bnc#615680). + +------------------------------------------------------------------- +Mon Jun 21 01:27:59 CEST 2010 - jeffm@suse.de + +- patches.suse/add-initramfs-file_read_write: Fix missing kmap calls + while loading initramfs files. + +------------------------------------------------------------------- +Fri Jun 18 15:54:41 CEST 2010 - jbeulich@novell.com + +- patches.xen/xen3-driver-core-add-devname-module-aliases-to-allow-module-on-demand-auto-loading.patch: + driver core: add devname module aliases to allow module + on-demand auto-loading. +- Refresh other Xen patches. +- Update Xen config files. + +------------------------------------------------------------------- +Thu Jun 17 11:54:01 CEST 2010 - teheo@suse.de + +- patches.drivers/libata-ata_generic-mcp89-mbp71: + ahci,ata_generic: let ata_generic handle new MBP w/ MCP89 + (bko#15923). + +------------------------------------------------------------------- +Mon Jun 14 13:47:57 CEST 2010 - jslaby@suse.de + +- patches.fixes/pci-hotplug-cpqphp-fix-crash.patch: PCI: + hotplug/cpqphp, fix NULL dereference (bnc#609338). + +------------------------------------------------------------------- +Thu Jun 3 20:28:12 CEST 2010 - jeffm@suse.de + +- Re-enable DSDT in initramfs code. +- patches.suse/acpi-don-t-preempt-until-the-system-is-up: acpi: + don't preempt until the system is up. + +------------------------------------------------------------------- @@ -124,0 +166,5 @@ +Wed May 12 15:15:24 CEST 2010 - mmarek@suse.cz + +- rpm/kernel-binary.spec.in: Fix preserving of old symsets. + +------------------------------------------------------------------- @@ -665,0 +712,10 @@ +Wed Mar 10 14:52:16 CET 2010 - mmarek@suse.cz + +- rpm/kernel-binary.spec.in: Fix symsets for non-split kernels. + +------------------------------------------------------------------- +Wed Mar 10 13:09:33 CET 2010 - mmarek@suse.cz + +- rpm/kernel-source.spec.in: Add symsets.pl to the src.rpm. + +------------------------------------------------------------------- @@ -672,0 +729,16 @@ + +------------------------------------------------------------------- +Tue Mar 9 13:57:49 CET 2010 - mmarek@suse.cz + +- rpm/kernel-binary.spec.in: Package symsets in the -devel package. + +------------------------------------------------------------------- +Tue Mar 9 13:38:42 CET 2010 - mmarek@suse.cz + +- rpm/find-provides: Do not generate ksym(...) provides. + +------------------------------------------------------------------- +Tue Mar 9 11:11:55 CET 2010 - mmarek@suse.cz + +- rpm/find-provides, rpm/symsets.pl: Generate symsets again + (bnc#582907). kernel-default.changes: same change kernel-desktop.changes: same change kernel-docs.changes: same change kernel-ec2.changes: same change kernel-net.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 kernel-trace.changes: same change kernel-vanilla.changes: same change kernel-vmi.changes: same change kernel-xen.changes: same change calling whatdependson for head-i586 New: ---- built-in-where symsets.pl ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-debug Summary: A Debug Version of the Kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -150,6 +154,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -235,7 +241,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -526,6 +532,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -611,7 +620,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -625,6 +634,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-debug.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-debug.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-debug/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -636,6 +679,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -658,7 +708,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-default.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-default Summary: The Standard Kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -166,6 +170,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -251,7 +257,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -541,6 +547,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -626,7 +635,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -640,6 +649,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-default.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-default.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-default/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -651,6 +694,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -673,7 +723,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-desktop.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-desktop Summary: Kernel optimized for the desktop Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -146,6 +150,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -231,7 +237,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -534,6 +540,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -619,7 +628,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -633,6 +642,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-desktop.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-desktop.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-desktop/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -644,6 +687,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -666,7 +716,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -30,7 +30,7 @@ Group: Documentation/Man AutoReqProv: on Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif ++++++ kernel-ec2.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-ec2 Summary: The Amazon EC2 Xen Kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -146,6 +150,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -231,7 +237,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -524,6 +530,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -609,7 +618,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -623,6 +632,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-ec2.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-ec2.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-ec2/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -634,6 +677,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -656,7 +706,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-net.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-net Summary: Minimal kernel with disk and net support Version: 2.6.34 -Release: 7 +Release: 8 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -146,6 +150,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -231,7 +237,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -523,6 +529,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -608,7 +617,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -622,6 +631,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-net.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-net.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-net/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -633,6 +676,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -655,7 +705,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-pae Summary: Kernel with PAE Support Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -150,6 +154,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -235,7 +241,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -532,6 +538,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -617,7 +626,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -631,6 +640,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-pae.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-pae.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-pae/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -642,6 +685,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -664,7 +714,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-ppc64.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-ppc64 Summary: Kernel for ppc64 Systems Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -154,6 +158,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -239,7 +245,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -536,6 +542,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -621,7 +630,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -635,6 +644,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-ppc64.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-ppc64.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-ppc64/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -646,6 +689,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -668,7 +718,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-ps3.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-ps3 Summary: kernel for ps3 bootloader Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -146,6 +150,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -231,7 +237,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -524,6 +530,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -609,7 +618,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -623,6 +632,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-ps3.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-ps3.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-ps3/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -634,6 +677,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -656,7 +706,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-s390.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-s390 Summary: The Standard Kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -150,6 +154,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -235,7 +241,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -525,6 +531,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -610,7 +619,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -624,6 +633,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-s390.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-s390.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-s390/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -635,6 +678,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -657,7 +707,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -31,7 +31,7 @@ Name: kernel-source Summary: The Linux Kernel Sources Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -65,6 +65,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -106,7 +108,7 @@ # Source is only complete with devel files. Requires: kernel-devel = %version-%release -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*) %define variant_symbols %(case %name in (*-rt) echo "RT" ;; esac) ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -24,7 +24,7 @@ Name: kernel-syms Summary: Kernel Symbol Versions (modversions) Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %define kernel_source_release %(LC_ALL=C rpm -q kernel-devel%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0) ++++++ kernel-trace.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-trace Summary: The Realtime Linux Kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -158,6 +162,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -243,7 +249,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -533,6 +539,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -618,7 +627,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -632,6 +641,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-trace.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-trace.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-trace/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -643,6 +686,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -665,7 +715,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-vanilla.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-vanilla Summary: The Standard Kernel - without any SUSE patches Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -154,6 +158,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -239,7 +245,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -529,6 +535,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -614,7 +623,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -628,6 +637,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-vanilla.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-vanilla.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-vanilla/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -639,6 +682,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -661,7 +711,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-vmi.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-vmi Summary: VMI-enabled kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -146,6 +150,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -231,7 +237,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -522,6 +528,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -607,7 +616,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -621,6 +630,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-vmi.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-vmi.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-vmi/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -632,6 +675,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -654,7 +704,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-xen.spec ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:43.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:43.000000000 +0200 @@ -35,7 +35,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,check-supported-list,group-source-files.pl,built-in-where,symsets.pl,find-provides,split-modules,modversions,extract-modaliases,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -56,7 +56,7 @@ Name: kernel-xen Summary: The Xen Kernel Version: 2.6.34 -Release: 9 +Release: 10 %if %using_buildservice %else %endif @@ -84,7 +84,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -146,6 +150,8 @@ Source37: README.SUSE Source38: README.KSYMS Source40: source-timestamp +Source41: built-in-where +Source42: symsets.pl Source44: find-provides Source45: split-modules Source46: modversions @@ -231,7 +237,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -524,6 +530,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -609,7 +618,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -623,6 +632,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-xen.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-xen.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-xen/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -634,6 +677,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -656,7 +706,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ built-in-where ++++++ #! /bin/bash sourcedir=${0%/*} # A lot of symbols are exported by the main kernel image. Find out # more precisely which built-in.o file defines them, and fill in # that information in Module.symvers. (The built-in.o files are # linked together from one or more object files in a directory.) # We use this information to better group symbols by subsystems. # # Usage: built-in-where < Module.symvers unset LANG ${!LC_*} # Create a table of all symbol export in a built-in.o file, e.g., # 0xc87c1f84 ktime_get kernel/built-in EXPORT_SYMBOL_GPL built_in_exports() { # a/b/c/built-in.o gets linked into a/b/built-in.o, so ensure # that we visit sub-directories first to split up symbols as # much as possible. for obj in $(find -name built-in.o -printf '%d %P\n' \ | sort -r \ | awk '{ print $2 }'); do $sourcedir/symsets.pl --list-exported-symbols $obj done # We could go through the libraries as well, but those functions # are so unlikely to change that this wouldn't help. # (All remaining symbols will end up in the vmlinux set.) #for archive in $(find -name '*.a'); do # $sourcedir/symsets.pl --list-exported-symbols $archive #done } # Filter out duplicates from a Module.symvers dump unique_symbols() { awk ' { if ($2 in seen) next seen[$2] = 1 print } ' } # Join together the two tables, including all lines from the first # file that don't have a match in the second. # Finally, remove the duplicate columns. join -t $'\t' -j 2 -a 1 \ <(sort -k2) \ <(built_in_exports | unique_symbols | sort -k2) \ | awk ' BEGIN { FS = "\t" ; OFS = "\t" } NF == 7 { print $2, $1, $6, $4 } NF == 4 { print $2, $1, $3, $4 } ' ++++++ config.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/debug new/config/i386/debug --- old/config/i386/debug 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/debug 2010-06-18 15:55:34.000000000 +0200 @@ -5291,3 +5291,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/default new/config/i386/default --- old/config/i386/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/default 2010-06-18 15:55:34.000000000 +0200 @@ -5250,3 +5250,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/desktop new/config/i386/desktop --- old/config/i386/desktop 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/desktop 2010-06-18 15:55:34.000000000 +0200 @@ -5098,3 +5098,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/ec2 new/config/i386/ec2 --- old/config/i386/ec2 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/ec2 2010-06-18 15:55:34.000000000 +0200 @@ -1225,6 +1225,7 @@ # CONFIG_XEN_COMPAT_030200_AND_LATER is not set # CONFIG_XEN_COMPAT_030300_AND_LATER is not set # CONFIG_XEN_COMPAT_030400_AND_LATER is not set +# CONFIG_XEN_COMPAT_040000_AND_LATER is not set # CONFIG_XEN_COMPAT_LATEST_ONLY is not set CONFIG_XEN_COMPAT=0x030004 CONFIG_HAVE_IRQ_IGNORE_UNHANDLED=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/pae new/config/i386/pae --- old/config/i386/pae 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/pae 2010-06-18 15:55:34.000000000 +0200 @@ -5121,3 +5121,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/trace new/config/i386/trace --- old/config/i386/trace 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/trace 2010-06-18 15:55:34.000000000 +0200 @@ -5131,3 +5131,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/vanilla new/config/i386/vanilla --- old/config/i386/vanilla 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/vanilla 2010-06-18 15:55:34.000000000 +0200 @@ -5203,3 +5203,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/vmi new/config/i386/vmi --- old/config/i386/vmi 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/vmi 2010-06-18 15:55:34.000000000 +0200 @@ -5121,3 +5121,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/xen new/config/i386/xen --- old/config/i386/xen 2010-05-25 12:22:27.000000000 +0200 +++ new/config/i386/xen 2010-06-18 15:55:34.000000000 +0200 @@ -420,6 +420,7 @@ CONFIG_ACPI_THERMAL=m CONFIG_ACPI_CUSTOM_DSDT_FILE="" # CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y CONFIG_ACPI_BLACKLIST_YEAR=0 CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set @@ -4178,6 +4179,7 @@ # CONFIG_XEN_COMPAT_030200_AND_LATER is not set CONFIG_XEN_COMPAT_030300_AND_LATER=y # CONFIG_XEN_COMPAT_030400_AND_LATER is not set +# CONFIG_XEN_COMPAT_040000_AND_LATER is not set # CONFIG_XEN_COMPAT_LATEST_ONLY is not set CONFIG_XEN_COMPAT=0x030300 CONFIG_XEN_VCPU_INFO_PLACEMENT=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ia64/debug new/config/ia64/debug --- old/config/ia64/debug 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ia64/debug 2010-06-18 15:55:34.000000000 +0200 @@ -4244,3 +4244,4 @@ CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IOMMU_API=y +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ia64/default new/config/ia64/default --- old/config/ia64/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ia64/default 2010-06-18 15:55:34.000000000 +0200 @@ -4223,3 +4223,4 @@ CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IOMMU_API=y +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ia64/trace new/config/ia64/trace --- old/config/ia64/trace 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ia64/trace 2010-06-18 15:55:34.000000000 +0200 @@ -4231,3 +4231,4 @@ CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IOMMU_API=y +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ia64/vanilla new/config/ia64/vanilla --- old/config/ia64/vanilla 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ia64/vanilla 2010-06-18 15:55:34.000000000 +0200 @@ -4192,3 +4192,4 @@ CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IRQ_PER_CPU=y CONFIG_IOMMU_API=y +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc/default new/config/ppc/default --- old/config/ppc/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc/default 2010-06-18 15:55:34.000000000 +0200 @@ -4132,3 +4132,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc/ppc64 new/config/ppc/ppc64 --- old/config/ppc/ppc64 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc/ppc64 2010-06-18 15:55:34.000000000 +0200 @@ -4101,3 +4101,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc/ps3 new/config/ppc/ps3 --- old/config/ppc/ps3 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc/ps3 2010-06-18 15:55:34.000000000 +0200 @@ -1467,3 +1467,4 @@ CONFIG_CRYPTO_HW=y # CONFIG_PPC_CLOCK is not set # CONFIG_VIRTUALIZATION is not set +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc/vanilla new/config/ppc/vanilla --- old/config/ppc/vanilla 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc/vanilla 2010-06-18 15:55:34.000000000 +0200 @@ -4117,3 +4117,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/debug new/config/ppc64/debug --- old/config/ppc64/debug 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc64/debug 2010-06-18 15:55:34.000000000 +0200 @@ -4120,3 +4120,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/default new/config/ppc64/default --- old/config/ppc64/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc64/default 2010-06-18 15:55:34.000000000 +0200 @@ -4105,3 +4105,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/ppc64 new/config/ppc64/ppc64 --- old/config/ppc64/ppc64 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc64/ppc64 2010-06-18 15:55:34.000000000 +0200 @@ -4165,3 +4165,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/trace new/config/ppc64/trace --- old/config/ppc64/trace 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc64/trace 2010-06-18 15:55:34.000000000 +0200 @@ -4174,3 +4174,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/vanilla new/config/ppc64/vanilla --- old/config/ppc64/vanilla 2010-05-25 12:22:27.000000000 +0200 +++ new/config/ppc64/vanilla 2010-06-18 15:55:34.000000000 +0200 @@ -4080,3 +4080,4 @@ CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390/s390 new/config/s390/s390 --- old/config/s390/s390 2010-05-25 12:22:27.000000000 +0200 +++ new/config/s390/s390 2010-06-18 15:55:34.000000000 +0200 @@ -1602,3 +1602,4 @@ CONFIG_NLATTR=y CONFIG_LRU_CACHE=m # CONFIG_VIRTUALIZATION is not set +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390/trace new/config/s390/trace --- old/config/s390/trace 2010-05-25 12:22:27.000000000 +0200 +++ new/config/s390/trace 2010-06-18 15:55:34.000000000 +0200 @@ -1611,3 +1611,4 @@ CONFIG_NLATTR=y CONFIG_LRU_CACHE=m # CONFIG_VIRTUALIZATION is not set +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390x/default new/config/s390x/default --- old/config/s390x/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/s390x/default 2010-06-18 15:55:34.000000000 +0200 @@ -1630,3 +1630,4 @@ CONFIG_VIRTIO=y CONFIG_VIRTIO_RING=y CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390x/trace new/config/s390x/trace --- old/config/s390x/trace 2010-05-25 12:22:27.000000000 +0200 +++ new/config/s390x/trace 2010-06-18 15:55:34.000000000 +0200 @@ -1639,3 +1639,4 @@ CONFIG_VIRTIO=y CONFIG_VIRTIO_RING=y CONFIG_VIRTIO_BALLOON=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390x/vanilla new/config/s390x/vanilla --- old/config/s390x/vanilla 2010-05-25 12:22:27.000000000 +0200 +++ new/config/s390x/vanilla 2010-06-18 15:55:34.000000000 +0200 @@ -1610,3 +1610,4 @@ # CONFIG_VIRTUALIZATION is not set CONFIG_VIRTIO=y CONFIG_VIRTIO_RING=y +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/sparc64/default new/config/sparc64/default --- old/config/sparc64/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/sparc64/default 2010-06-18 15:55:34.000000000 +0200 @@ -4409,3 +4409,4 @@ CONFIG_HAVE_LMB=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/sparc64/net new/config/sparc64/net --- old/config/sparc64/net 2010-05-25 12:22:27.000000000 +0200 +++ new/config/sparc64/net 2010-06-18 15:55:34.000000000 +0200 @@ -1760,3 +1760,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_HAVE_LMB=y CONFIG_NLATTR=y +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/debug new/config/x86_64/debug --- old/config/x86_64/debug 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/debug 2010-06-18 15:55:34.000000000 +0200 @@ -5047,3 +5047,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default --- old/config/x86_64/default 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/default 2010-06-18 15:55:34.000000000 +0200 @@ -5043,3 +5043,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/desktop new/config/x86_64/desktop --- old/config/x86_64/desktop 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/desktop 2010-06-18 15:55:34.000000000 +0200 @@ -5020,3 +5020,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/ec2 new/config/x86_64/ec2 --- old/config/x86_64/ec2 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/ec2 2010-06-18 15:55:34.000000000 +0200 @@ -1209,6 +1209,7 @@ # CONFIG_XEN_COMPAT_030200_AND_LATER is not set # CONFIG_XEN_COMPAT_030300_AND_LATER is not set # CONFIG_XEN_COMPAT_030400_AND_LATER is not set +# CONFIG_XEN_COMPAT_040000_AND_LATER is not set # CONFIG_XEN_COMPAT_LATEST_ONLY is not set CONFIG_XEN_COMPAT=0x030004 CONFIG_HAVE_IRQ_IGNORE_UNHANDLED=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/trace new/config/x86_64/trace --- old/config/x86_64/trace 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/trace 2010-06-18 15:55:34.000000000 +0200 @@ -5053,3 +5053,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/vanilla new/config/x86_64/vanilla --- old/config/x86_64/vanilla 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/vanilla 2010-06-18 15:55:34.000000000 +0200 @@ -4995,3 +4995,4 @@ CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/xen new/config/x86_64/xen --- old/config/x86_64/xen 2010-05-25 12:22:27.000000000 +0200 +++ new/config/x86_64/xen 2010-06-18 15:55:34.000000000 +0200 @@ -404,6 +404,7 @@ CONFIG_ACPI_THERMAL=m CONFIG_ACPI_CUSTOM_DSDT_FILE="" # CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_CUSTOM_OVERRIDE_INITRAMFS=y CONFIG_ACPI_BLACKLIST_YEAR=0 CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set @@ -4120,6 +4121,7 @@ # CONFIG_XEN_COMPAT_030200_AND_LATER is not set CONFIG_XEN_COMPAT_030300_AND_LATER=y # CONFIG_XEN_COMPAT_030400_AND_LATER is not set +# CONFIG_XEN_COMPAT_040000_AND_LATER is not set # CONFIG_XEN_COMPAT_LATEST_ONLY is not set CONFIG_XEN_COMPAT=0x030300 CONFIG_XEN_VCPU_INFO_PLACEMENT=y ++++++ find-provides ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:44.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:44.000000000 +0200 @@ -1,18 +1,44 @@ #! /bin/bash -trap 'rm -f "$filelist"' EXIT +builddir="$1" +shift + filelist=$(mktemp -t ${0##*/}.XXXXXXXXXX) -grep -v '/kernel/drivers/staging/.*\.ko$' >"$filelist" -shopt -s nullglob +trap "rm -f $filelist" EXIT +cat >"$filelist" +flavor=${1##*-} + +grep -v '\.ko$' | /usr/lib/rpm/find-provides "$@" | grep -v '^ksym(' + +# HACK: find out what subpackage is this and just print the symsets +# computed in %build. We need to do it this way because the provided +# symsets are computed from the modules AND the reference symsets, which +# we don't see here. +subpack= + +samemodules() +{ + cmp -s <(sed -rn 's:.*/([^/]*\.ko)$:\1:p' "$1" | sort) \ + <(sed -rn 's:.*/([^/]*\.ko)$:\1:p' "$2" | sort) +} -# pretend that /boot/vmlinux-* is in the -base package and not in -devel -if grep -q '/boot/System\.map\>' "$filelist"; then - prefix=$(sed -rn 's:(.*)/boot/System\.map\>.*:\1:p; T; q' "$filelist") - for f in "$prefix"/boot/vmlinux*; do - echo "$f" >>"$filelist" - done +if ! grep -q '\.ko$' "$filelist"; then + # no modules, no symsets + exit 0 +fi +if samemodules "$builddir"/base-modules "$filelist"; then + subpack=base +elif samemodules "$builddir"/main-modules "$filelist"; then + subpack=main +elif samemodules "$builddir"/unsupported-modules "$filelist"; then + subpack=extra else - perl -ni -e 'next if /\/boot\/vmlinux/ && !/\.debug$/; print' "$filelist" + echo "find-provides: failed to determine which subpackage is this" >&2 + exit 1 fi -/usr/lib/rpm/find-provides "$@" <"$filelist" +find "$builddir/$subpack-symsets" -type f -printf '%f\n' | \ + sed -rn 's/^\.?(.+)\.([a-z0-9]{16})(\.fake)?$/kernel('$flavor':\1) = \2/p' + +exit 0 + ++++++ kernel-binary.spec.in ++++++ --- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:44.000000000 +0200 +++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:44.000000000 +0200 @@ -85,7 +85,11 @@ # packages to install/update. Likewise, this is true for mkinitrd. # Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry Requires(post): perl-Bootloader >= 0.4.15 +%if 0%{?suse_version} >= 1130 +Requires(post): mkinitrd >= 2.6.0 +%else Requires(post): mkinitrd +%endif #!BuildIgnore: perl-Bootloader mkinitrd %ifarch ia64 @@ -163,7 +167,7 @@ Obsoletes: quickcam-kmp-%build_flavor < 0.6.7 # Provide the exported symbols as "ksym(symbol) = hash" -%define __find_provides %_sourcedir/find-provides %name +%define __find_provides %_sourcedir/find-provides %my_builddir %name # Will modules not listed in supported.conf abort the kernel build (0/1)? %define supported_modules_check 0 @@ -455,6 +459,9 @@ dd if=/dev/zero of=%buildroot/boot/initrd-%kernelrelease-%build_flavor \ bs=1024 seek=2047 count=1 +# Figure out where the symbols that vmlinux exports are defined. +%_sourcedir/built-in-where < Module.symvers > Module.symvers.split + if [ %CONFIG_MODULES = y ]; then mkdir -p %rpm_install_dir/%cpu_arch_flavor mkdir -p %buildroot/usr/src/linux-obj/%cpu_arch @@ -540,7 +547,7 @@ # check for kabi changes %_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \ %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \ - Module.symvers || res=$? + Module.symvers.split || res=$? fi if [ $res -ne 0 ]; then if [ ! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \ @@ -554,6 +561,40 @@ tar -cf - -T %my_builddir/obj-files | \ tar -xf - -C %rpm_install_dir/%cpu_arch_flavor + # generate symsets + mkdir -p %my_builddir/{base,main,extra}-symsets + for f in %my_builddir/{base,main,unsupported}-modules; do + if [ -f "$f" ]; then + sed 's:^/:%buildroot/:' "$f" + fi > "$f-br" + done + reference= + if test -e %my_builddir/kabi/%cpu_arch/symsets-@FLAVOR@.tar.gz; then + tar xzf %my_builddir/kabi/%cpu_arch/symsets-@FLAVOR@.tar.gz -C \ + %my_builddir/kabi/%cpu_arch + reference="--reference %my_builddir/kabi/%cpu_arch/symsets-*-@FLAVOR@/" + fi + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --symvers=Module.symvers.split \ + --modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/base-symsets +%if %split_base + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/main-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --output-dir=%my_builddir/main-symsets +%endif +%if %split_extra + %_sourcedir/symsets.pl --generate-symsets \ + $reference \ + --modules=%my_builddir/unsupported-modules-br \ + --required-modules=%my_builddir/base-modules-br \ + --required-modules=%my_builddir/main-modules-br \ + --output-dir=%my_builddir/extra-symsets +%endif + # bnc#507084 find %rpm_install_dir/%cpu_arch_flavor/scripts -type f -perm -111 | \ while read f; do @@ -565,6 +606,13 @@ # Replace the absolute with a relative path sed -i "s,%build_src_dir,../../../linux-%kernelrelease%variant,g" \ %rpm_install_dir/%cpu_arch_flavor/Makefile + symsets=%my_builddir/symsets-%kernelrelease-%build_flavor + mkdir -p $symsets + find %my_builddir/{base,main,extra}-symsets -type f \ + | xargs --replace='{}' cp '{}' $symsets/ + tar c -C ${symsets%/*} ${symsets##*/} \ + | gzip -9 \ + > %buildroot/boot/symsets-%kernelrelease-%build_flavor.tar.gz fi add_dirs_to_filelist() { @@ -587,7 +635,7 @@ # Collect the file lists. shopt -s nullglob
%my_builddir/kernel-devel.files -for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/symtypes* \ +for file in %buildroot/boot/vmlinux-*.gz %buildroot/boot/sym{sets,types}* \ %buildroot/lib/modules/*/{build,source}; do f=${file##%buildroot} echo "$f" >> %my_builddir/kernel-devel.files
++++++ kernel-source.spec.in ++++++
--- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:44.000000000 +0200
+++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:44.000000000 +0200
@@ -66,6 +66,8 @@
Source37: README.SUSE
Source38: README.KSYMS
Source40: source-timestamp
+Source41: built-in-where
+Source42: symsets.pl
Source44: find-provides
Source45: split-modules
Source46: modversions
++++++ macros.kernel-source ++++++
--- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:44.000000000 +0200
+++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:44.000000000 +0200
@@ -18,6 +18,7 @@
esac \
krel=$(make -s -C /usr/src/linux-obj/%_target_cpu/$flavor kernelrelease) \
kver=${krel%%-*} \
+ [ -e /boot/symsets-$kver-$flavor.tar.gz ] || continue \
flavors_to_build="$flavors_to_build $flavor" \
echo "%%_suse_kernel_module_subpackage -n %{-n*}%{!-n:%name}-kmp -v %{-v*}%{!-v:%version} -r %{-r*}%{!-r:%release} %{-p} $flavor $kver" \
done \
++++++ minmem ++++++
--- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:44.000000000 +0200
+++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:44.000000000 +0200
@@ -1 +1 @@
-2096000
+1048576
++++++ needed_space_in_mb ++++++
--- /var/tmp/diff_new_pack.Y0xdFr/_old 2010-06-22 17:41:44.000000000 +0200
+++ /var/tmp/diff_new_pack.Y0xdFr/_new 2010-06-22 17:41:44.000000000 +0200
@@ -1 +1 @@
-6000
+6144
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/libata-ata_generic-mcp89-mbp71 new/patches.drivers/libata-ata_generic-mcp89-mbp71
--- old/patches.drivers/libata-ata_generic-mcp89-mbp71 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/libata-ata_generic-mcp89-mbp71 2010-06-17 11:54:06.000000000 +0200
@@ -0,0 +1,81 @@
+From: Tejun Heo