rpms/kernel/devel kernel.spec,1.59,1.60

Roland McGrath (roland) fedora-extras-commits at redhat.com
Thu Aug 9 09:04:12 UTC 2007


Author: roland

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9332

Modified Files:
	kernel.spec 
Log Message:
macroized spec file, use new find-debuginfo.sh features


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- kernel.spec	8 Aug 2007 20:33:55 -0000	1.59
+++ kernel.spec	9 Aug 2007 09:03:38 -0000	1.60
@@ -363,6 +363,11 @@
 %define _enable_debug_packages 0
 %endif
 
+%define with_pae_debug 0
+%if %with_pae
+%define with_pae_debug %{with_debug}
+%endif
+
 #
 # Three sets of minimum package version requirements in the form of Conflicts:
 # to versions below the minimum
@@ -385,7 +390,12 @@
 #
 # The ld.so.conf.d file we install uses syntax older ldconfig's don't grok.
 #
-%define xen_conflicts glibc < 2.3.5-1, xen < 3.0.1
+%define kernel_xen_conflicts glibc < 2.3.5-1, xen < 3.0.1
+
+# upto and including kernel 2.4.9 rpms, the 4Gb+ kernel was called kernel-enterprise
+# now that the smp kernel offers this capability, obsolete the old kernel
+%define kernel_smp_obsoletes kernel-enterprise < 2.4.10
+%define kernel_PAE_obsoletes kernel-smp < 2.6.17
 
 #
 # Packages that need to be installed before the kernel is, because the %post
@@ -393,6 +403,29 @@
 #
 %define kernel_prereq  fileutils, module-init-tools, initscripts >= 8.11.1-1, mkinitrd >= 6.0.9-7
 
+#
+# This macro does requires, provides, conflicts, obsoletes for a kernel package.
+#	%%kernel_reqprovconf <subpackage>
+# It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
+# macros defined above.
+#
+%define kernel_reqprovconf \
+Provides: kernel = %{rpmversion}-%{pkg_release}\
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}\
+Provides: kernel-drm = 4.3.0\
+Provides: kernel-drm-nouveau = 6\
+Requires(pre): %{kernel_prereq}\
+Conflicts: %{kernel_dot_org_conflicts}\
+Conflicts: %{package_conflicts}\
+%{?1:%{expand:%%{?kernel_%{1}_conflicts:Conflicts: %%{kernel_%{1}_conflicts}}}}\
+%{?1:%{expand:%%{?kernel_%{1}_obsoletes:Obsoletes: %%{kernel_%{1}_obsoletes}}}}\
+# We can't let RPM do the dependencies automatic because it'll then pick up\
+# a correct but undesirable perl dependency from the module headers which\
+# isn't required for the kernel proper to function\
+AutoReq: no\
+AutoProv: yes\
+%{nil}
+
 Name: kernel%{?variant}
 Group: System Environment/Kernel
 License: GPLv2
@@ -400,20 +433,14 @@
 Version: %{rpmversion}
 Release: %{pkg_release}
 # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
-# SET %nobuildarches (ABOVE) INSTEAD
+# SET %%nobuildarches (ABOVE) INSTEAD
 ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ia64 sparc sparc64 s390x alpha alphaev56
 ExclusiveOS: Linux
-Provides: kernel-drm = 4.3.0
-Provides: kernel-drm-nouveau = 6
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-# We can't let RPM do the dependencies automatic because it'll then pick up
-# a correct but undesirable perl dependency from the module headers which
-# isn't required for the kernel proper to function
-AutoReq: no
-AutoProv: yes
+
+%kernel_reqprovconf
+%ifarch x86_64
+Obsoletes: kernel-smp
+%endif
 
 
 #
@@ -430,6 +457,18 @@
 %endif
 BuildConflicts: rhbuildsys(DiskFree) < 500Mb
 
+%define fancy_debuginfo 0
+%if %{with_debuginfo}
+%if "%fedora" > "7"
+%define fancy_debuginfo 1
+%endif
+%endif
+
+%if %{fancy_debuginfo}
+# Fancy new debuginfo generation introduced in Fedora 8.
+BuildRequires: rpm-build >= 4.4.2.1-4
+%define debuginfo_args --strict-build-id
+%endif
 
 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
 #Source1: xen-%{xen_hv_cset}.tar.bz2
@@ -601,24 +640,37 @@
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root-%{_target_cpu}
 
-%ifarch x86_64
-Obsoletes: kernel-smp
-%endif
-
 %description
 The kernel package contains the Linux kernel (vmlinuz), the core of any
 Linux operating system.  The kernel handles the basic functions
-of the operating system:  memory allocation, process allocation, device
+of the operating system: memory allocation, process allocation, device
 input and output, etc.
 
-%package debuginfo
-Summary: Debug information for package %{name}
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-debuginfo-%{_target_cpu} = %{KVERREL}
-%description debuginfo
-This package provides debug information for package %{name}
-This is required to use SystemTap with %{name}-%{KVERREL}.
+
+%package doc
+Summary: Various documentation bits found in the kernel source
+Group: Documentation
+%description doc
+This package contains documentation files from the kernel
+source. Various bits of information about the Linux kernel and the
+device drivers shipped with it are documented in these files.
+
+You'll want to install this package if you need a reference to the
+options that can be passed to Linux kernel modules at load time.
+
+
+%package headers
+Summary: Header files for the Linux kernel for use by glibc
+Group: Development/System
+Obsoletes: glibc-kernheaders
+Provides: glibc-kernheaders = 3.0-46
+%description headers
+Kernel-headers includes the C header files that specify the interface
+between the Linux kernel and userspace libraries and programs.  The
+header files define structures and constants that are needed for
+building most standard programs and are also needed for rebuilding the
+glibc package.
+
 
 %package debuginfo-common
 Summary: Kernel source files used by %{name}-debuginfo packages
@@ -628,34 +680,66 @@
 This package is required by %{name}-debuginfo subpackages.
 It provides the kernel source files common to all builds.
 
-%package devel
-Summary: Development package for building kernel modules to match the kernel.
-Group: System Environment/Kernel
-AutoReqProv: no
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Requires(pre): /usr/bin/find
-%description devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the kernel package.
 
-%package smp
-Summary: The Linux kernel compiled for SMP machines.
-Group: System Environment/Kernel
-Provides: kernel = %{version}
-Provides: kernel-drm = 4.3.0
-Provides: kernel-drm-nouveau = 6
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}smp
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-# upto and including kernel 2.4.9 rpms, the 4Gb+ kernel was called kernel-enterprise
-# now that the smp kernel offers this capability, obsolete the old kernel
-Obsoletes: kernel-enterprise < 2.4.10
-# We can't let RPM do the dependencies automatic because it'll then pick up
-# a correct but undesirable perl dependency from the module headers which
-# isn't required for the kernel proper to function
-AutoReq: no
-AutoProv: yes
+#
+# This macro creates a kernel-<subpackage>-debuginfo package.
+#	%%kernel_debuginfo_package <subpackage>
+#
+%define kernel_debuginfo_package() \
+%package %{?1:%{1}-}debuginfo\
+Summary: Debug information for package %{name}%{?1:-%{1}}\
+Group: Development/Debug\
+Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}\
+Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{KVERREL}\
+AutoReqProv: no\
+%description -n %{name}%{?1:-%{1}}-debuginfo\
+This package provides debug information for package %{name}%{?1:-%{1}}.\
+This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
+%{expand:%%global debuginfo_args %{?debuginfo_args} -p '/.*/%%{KVERREL}%{?1:-?%{1}}(-%%{_target_cpu})?/.*|/.*%%{KVERREL}%{?1}' -o debuginfo%{?1}.list}\
+%{nil}
+
+#
+# This macro creates a kernel-<subpackage>-devel package.
+#	%%kernel_devel_package <subpackage> <pretty-name>
+#
+%define kernel_devel_package() \
+%package %{?1:%{1}-}devel\
+Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
+Group: System Environment/Kernel\
+Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{rpmversion}-%{release}\
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}%{?1}\
+Provides: kernel-devel = %{rpmversion}-%{release}%{?1}\
+AutoReqProv: no\
+Requires(pre): /usr/bin/find\
+%description -n kernel%{?variant}%{?1:-%{1}}-devel\
+This package provides kernel headers and makefiles sufficient to build modules\
+against the %{?2:%{2} }kernel package.\
+%{nil}
+
+#
+# This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
+#	%%define variant_summary The Linux kernel compiled for <configuration>
+#	%%kernel_variant_package [-n <pretty-name>] <subpackage>
+#
+%define kernel_variant_package(n:) \
+%package %1\
+Summary: %{variant_summary}\
+Group: System Environment/Kernel\
+%kernel_reqprovconf\
+%{expand:%%kernel_devel_package %1 %{!?-n:%1}%{?-n:%{-n*}}}\
+%{expand:%%kernel_debuginfo_package %1}\
+%{nil}
+
+
+# First the auxiliary packages of the main kernel package.
+%kernel_devel_package
+%kernel_debuginfo_package
+
+
+# Now, each variant package.
+
+%define variant_summary The Linux kernel compiled for SMP machines
+%kernel_variant_package -n SMP smp
 %description smp
 This package includes a SMP version of the Linux kernel. It is
 required only on machines with two or more CPUs as well as machines with
@@ -663,83 +747,18 @@
 
 Install the kernel-smp package if your machine uses two or more CPUs.
 
-%package smp-debuginfo
-Summary: Debug information for package %{name}-smp
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-%smp-debuginfo-%{_target_cpu} = %{KVERREL}
-%description smp-debuginfo
-This package provides debug information for package %{name}-smp
-This is required to use SystemTap with %{name}-smp-%{KVERREL}.
 
-%package smp-devel
-Summary: Development package for building kernel modules to match the SMP kernel.
-Group: System Environment/Kernel
-Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}smp
-Provides: kernel-devel = %{rpmversion}-%{release}smp
-AutoReqProv: no
-Requires(pre): /usr/bin/find
-%description smp-devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the SMP kernel package.
-
-
-%package PAE
-Summary: The Linux kernel compiled for PAE capable machines.
-Group: System Environment/Kernel
-Provides: kernel = %{version}
-Provides: kernel-drm = 4.3.0
-Provides: kernel-drm-nouveau = 6
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}PAE
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-Obsoletes: kernel-smp < 2.6.17
-# We can't let RPM do the dependencies automatic because it'll then pick up
-# a correct but undesirable perl dependency from the module headers which
-# isn't required for the kernel proper to function
-AutoReq: no
-AutoProv: yes
+%define variant_summary The Linux kernel compiled for PAE capable machines
+%kernel_variant_package PAE
 %description PAE
 This package includes a version of the Linux kernel with support for up to
 64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
 The non-PAE kernel can only address up to 4GB of memory.
 Install the kernel-PAE package if your machine has more than 4GB of memory.
 
-%package PAE-debuginfo
-Summary: Debug information for package %{name}-PAE
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-%PAE-debuginfo-%{_target_cpu} = %{KVERREL}
-%description PAE-debuginfo
-This package provides debug information for package %{name}-PAE
-This is required to use SystemTap with %{name}-PAE-%{KVERREL}.
 
-%package PAE-devel
-Summary: Development package for building kernel modules to match the PAE kernel.
-Group: System Environment/Kernel
-Provides: kernel-PAE-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}PAE
-Provides: kernel-devel = %{rpmversion}-%{release}PAE
-AutoReqProv: no
-Requires(pre): /usr/bin/find
-%description PAE-devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the PAE kernel package.
-
-%package PAE-debug
-Summary: The Linux kernel compiled with extra debugging enabled for PAE capable machines.
-Group: System Environment/Kernel
-Provides: kernel = %{version}
-Provides: kernel-drm = 4.3.0
-Provides: kernel-drm-nouveau = 6
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}PAE-debug
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-AutoReq: no
-AutoProv: yes
+%define variant_summary The Linux kernel compiled with extra debugging enabled for PAE capable machines
+%kernel_variant_package PAE-debug
 %description PAE-debug
 This package includes a version of the Linux kernel with support for up to
 64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
@@ -750,64 +769,9 @@
 It should only be installed when trying to gather additional information
 on kernel bugs, as some of these options impact performance noticably.
 
-%package PAE-debug-debuginfo
-Summary: Debug information for package %{name}-PAE-debug
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-debug-debuginfo-%{_target_cpu} = %{KVERREL}
-%description PAE-debug-debuginfo
-This package provides debug information for package %{name}-PAE-debug
-
-%package PAE-debug-devel
-Summary: Development package for building kernel modules to match the kernel.
-Group: System Environment/Kernel
-AutoReqProv: no
-Requires(pre): /usr/bin/find
-Provides: kernel-PAE-debug-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}PAE-debug
-Provides: kernel-devel = %{rpmversion}-%{release}PAE-debug
-%description PAE-debug-devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the kernel package.
-
-
-%package doc
-Summary: Various documentation bits found in the kernel source.
-Group: Documentation
-%description doc
-This package contains documentation files from the kernel
-source. Various bits of information about the Linux kernel and the
-device drivers shipped with it are documented in these files.
-
-You'll want to install this package if you need a reference to the
-options that can be passed to Linux kernel modules at load time.
 
-
-%package headers
-Summary: Header files for the Linux kernel for use by glibc
-Group: Development/System
-Obsoletes: glibc-kernheaders
-Provides: glibc-kernheaders = 3.0-46
-%description headers
-Kernel-headers includes the C header files that specify the interface
-between the Linux kernel and userspace libraries and programs.  The
-header files define structures and constants that are needed for
-building most standard programs and are also needed for rebuilding the
-glibc package.
-
-
-%package debug
-Summary: The Linux kernel compiled with extra debugging enabled.
-Group: System Environment/Kernel
-Provides: kernel = %{version}
-Provides: kernel-drm = 4.3.0
-Provides: kernel-drm-nouveau = 6
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}debug
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-AutoReq: no
-AutoProv: yes
+%define variant_summary The Linux kernel compiled with extra debugging enabled
+%kernel_variant_package debug
 %description debug
 The kernel package contains the Linux kernel (vmlinuz), the core of any
 Linux operating system.  The kernel handles the basic functions
@@ -818,107 +782,21 @@
 It should only be installed when trying to gather additional information
 on kernel bugs, as some of these options impact performance noticably.
 
-%package debug-debuginfo
-Summary: Debug information for package %{name}-debug
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-debug-debuginfo-%{_target_cpu} = %{KVERREL}
-%description debug-debuginfo
-This package provides debug information for package %{name}-debug
-
-%package debug-devel
-Summary: Development package for building kernel modules to match the kernel.
-Group: System Environment/Kernel
-AutoReqProv: no
-Requires(pre): /usr/bin/find
-Provides: kernel-debug-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}debug
-Provides: kernel-devel = %{rpmversion}-%{release}debug
-%description debug-devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the kernel package.
 
-
-%package xen
-Summary: The Linux kernel compiled for Xen VM operations
-Group: System Environment/Kernel
-Provides: kernel = %{version}
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}xen
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-Conflicts: %{xen_conflicts}
-# We can't let RPM do the dependencies automatic because it'll then pick up
-# a correct but undesirable perl dependency from the module headers which
-# isn't required for the kernel proper to function
-AutoReq: no
-AutoProv: yes
+%define variant_summary The Linux kernel compiled for Xen VM operations
+%kernel_variant_package -n Xen xen
 %description xen
 This package includes a version of the Linux kernel which
-runs in Xen VM. It works for both priviledged and unpriviledged guests.
-
-%package xen-debuginfo
-Summary: Debug information for package %{name}-xen
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-xen-debuginfo-%{_target_cpu} = %{KVERREL}
-%description xen-debuginfo
-This package provides debug information for package %{name}-xen
-This is required to use SystemTap with %{name}-xen-%{KVERREL}.
+runs in a Xen VM. It works for both privileged and unprivileged guests.
 
-%package xen-devel
-Summary: Development package for building kernel modules to match the kernel.
-Group: System Environment/Kernel
-AutoReqProv: no
-Provides: kernel-xen-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}xen
-Provides: kernel-devel = %{rpmversion}-%{release}xen
-Requires(pre): /usr/bin/find
-%description xen-devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the kernel package.
 
-%package kdump
-Summary: A minimal Linux kernel compiled for kernel crash dumps.
-Group: System Environment/Kernel
-Provides: kernel = %{version}
-Provides: kernel-drm = 4.3.0
-Provides: kernel-drm-nouveau = 6
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}kdump
-Requires(pre): %{kernel_prereq}
-Conflicts: %{kernel_dot_org_conflicts}
-Conflicts: %{package_conflicts}
-# We can't let RPM do the dependencies automatic because it'll then pick up
-# a correct but undesirable perl dependency from the module headers which
-# isn't required for the kernel proper to function
-AutoReq: no
-AutoProv: yes
+%define variant_summary A minimal Linux kernel compiled for crash dumps
+%kernel_variant_package kdump
 %description kdump
 This package includes a kdump version of the Linux kernel. It is
 required only on machines which will use the kexec-based kernel crash dump
 mechanism.
 
-%package kdump-debuginfo
-Summary: Debug information for package %{name}-kdump
-Group: Development/Debug
-Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL}
-Provides: %{name}-kdump-debuginfo-%{_target_cpu} = %{KVERREL}
-%description kdump-debuginfo
-This package provides debug information for package %{name}-kdump
-This is required to use SystemTap with %{name}-kdump-%{KVERREL}.
-
-%package kdump-devel
-Summary: Development package for building kernel modules to match the kdump kernel.
-Group: System Environment/Kernel
-Provides: kernel-kdump-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}kdump
-Provides: kernel-devel = %{rpmversion}-%{release}kdump
-AutoReqProv: no
-Requires(pre): /usr/bin/find
-%description kdump-devel
-This package provides kernel headers and makefiles sufficient to build modules
-against the kdump kernel package.
-
 
 %prep
 # do a few sanity-checks for --with *only builds
@@ -1476,7 +1354,7 @@
       	  nm -u $i | grep -q $symbol && echo ${i##*/}
       done
     done | sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking
-    
+
     # block
     blocksyms="ata_scsi_ioctl scsi_add_host blk_init_queue"
     for i in $drivers ; do
@@ -1484,7 +1362,7 @@
       	  nm -u $i | grep -q $symbol && echo ${i##*/}
       done
     done | sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.block
-    
+
     # detect missing or incorrect license tags
     for i in `cat modnames`
     do
@@ -1569,23 +1447,15 @@
 # This macro is used by %%install, so we must redefine it before that.
 %define debug_package %{nil}
 
+%define __debug_install_post \
+/usr/lib/rpm/find-debuginfo.sh %{debuginfo_args} %{_builddir}/%{?buildsubdir}\
+%{nil}
+
 %if %{with_debuginfo}
 %ifnarch noarch
 %global __debug_package 1
-%files debuginfo-common
+%files -f debugfiles.list debuginfo-common
 %defattr(-,root,root)
-/usr/src/debug/kernel-%{kversion}/linux-%{kversion}.%{_target_cpu}
-%if %{includexen}
-%if %{with_xen}
-/usr/src/debug/kernel-%{kversion}/xen
-%endif
-%endif
-%dir /usr/src/debug
-%dir %{debuginfodir}
-%dir %{debuginfodir}/%{image_install_path}
-%dir %{debuginfodir}/lib
-%dir %{debuginfodir}/lib/modules
-%dir %{debuginfodir}/usr/src/kernels
 %endif
 %endif
 
@@ -1646,6 +1516,7 @@
 rm -f $RPM_BUILD_ROOT/usr/include/asm*/io.h
 rm -f $RPM_BUILD_ROOT/usr/include/asm*/irq.h
 %endif
+
 ###
 ### clean
 ###
@@ -1657,487 +1528,91 @@
 ### scripts
 ###
 
-%post
-if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ]; then
-  if [ -f /etc/sysconfig/kernel ]; then
-    /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel || exit $?
-  fi
-fi
-/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL} || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --add-kernel %{KVERREL} || exit $?
-#fi
-
-%post devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
-
-%post smp
-/sbin/new-kernel-pkg --package kernel-smp --mkinitrd --depmod --install %{KVERREL}smp || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --add-kernel %{KVERREL}smp || exit $?
-#fi
-
-%post smp-devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-smp-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
-
-%post PAE
-if [ -f /etc/sysconfig/kernel ]; then
-    /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel-PAE/' /etc/sysconfig/kernel
-fi
-/sbin/new-kernel-pkg --package kernel-PAE --mkinitrd --depmod --install %{KVERREL}PAE || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --add-kernel %{KVERREL}PAE || exit $?
-#fi
-
-%post PAE-devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-PAE-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
-
-
-%post debug
-/sbin/new-kernel-pkg --package kernel-debug --mkinitrd --depmod --install %{KVERREL}debug || exit $?
-if [ -x /sbin/weak-modules ]
-then
-    /sbin/weak-modules --add-kernel %{KVERREL}debug || exit $?
-fi
-
-%post debug-devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-debug-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
+#
+# This macro defines a %%post script for a kernel*-devel package.
+#	%%kernel_devel_post <subpackage>
+#
+%define kernel_devel_post() \
+%{expand:%%post %{?1:%{1}-}devel}\
+if [ -f /etc/sysconfig/kernel ]\
+then\
+    . /etc/sysconfig/kernel || exit $?\
+fi\
+if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]\
+then\
+    (cd /usr/src/kernels/%{KVERREL}-%{?1:%{1}-}%{_target_cpu} &&\
+     /usr/bin/find . -type f | while read f; do\
+       hardlink -c /usr/src/kernels/*.fc*-*/$f $f\
+     done)\
+fi\
+%{nil}
+
+#
+# This macro defines a %%post script for a kernel package and its devel package.
+#	%%kernel_variant_post [-v <subpackage>] [-s <s> -r <r>] <mkinitrd-args>
+# More text can follow to go at the end of this variant's %%post.
+#
+%define kernel_variant_post(s:r:v:) \
+%{expand:%%kernel_devel_post %{?-v*}}\
+%{expand:%%post %{?-v*}}\
+%{-s:\
+if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\
+   [ -f /etc/sysconfig/kernel ]; then\
+  /bin/sed -i -e 's/^DEFAULTKERNEL=%{-s*}$/DEFAULTKERNEL=%{-r*}/' /etc/sysconfig/kernel || exit $?\
+fi}\
+/sbin/new-kernel-pkg --package kernel%{?1:-%{1}} --mkinitrd --depmod --install %{?2} %{KVERREL}%{?1} || exit $?\
+if [ -x /sbin/weak-modules ]\
+then\
+    /sbin/weak-modules --add-kernel %{KVERREL}%{?1} || exit $?\
+fi\
+%{nil}
+
+#
+# This macro defines a %%preun script for a kernel package.
+#	%%kernel_variant_preun <subpackage>
+#
+%define kernel_variant_preun() \
+%{expand:%%preun %{?1}}\
+/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}%{?1} || exit $?\
+if [ -x /sbin/weak-modules ]\
+then\
+    /sbin/weak-modules --remove-kernel %{KVERREL}%{?1} || exit $?\
+fi\
+%{nil}
+
+%kernel_variant_preun
+%kernel_variant_post -s kernel-smp -r kernel
+
+%kernel_variant_preun smp
+%kernel_variant_post -v smp
+
+%kernel_variant_preun PAE
+%kernel_variant_post -v PAE -s kernel-smp -r kernel-PAE
 
-%post PAE-debug
-if [ -f /etc/sysconfig/kernel ]; then
-    /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel-PAE/' /etc/sysconfig/kernel
-fi
-/sbin/new-kernel-pkg --package kernel-PAE --mkinitrd --depmod --install %{KVERREL}PAE-debug || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --add-kernel %{KVERREL}PAE || exit $?
-#fi
+%kernel_variant_preun debug
+%kernel_variant_post -v debug
 
-%post PAE-debug-devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-PAE-debug-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
+%kernel_variant_post -v PAE-debug -s kernel-smp -r kernel-PAE-debug
+%kernel_variant_preun PAE-debug
 
-%post xen
-if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ]; then
-  if [ -f /etc/sysconfig/kernel ]; then
-    /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-xen[0U]/DEFAULTKERNEL=kernel-xen/' /etc/sysconfig/kernel || exit $?
-  fi
-fi
-if [ -e /proc/xen/xsd_kva -o ! -d /proc/xen ]; then
-	/sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install --multiboot=/%{image_install_path}/xen.gz-%{KVERREL} %{KVERREL}xen || exit $?
-else
-	/sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install %{KVERREL}xen || exit $?
-fi
+%kernel_variant_preun xen
+%kernel_variant_post xen -v xen -s kernel-xen[0U] -r kernel-xen -- `[ -d /proc/xen -a ! -e /proc/xen/xsd_kva ] || echo --multiboot=/%{image_install_path}/xen.gz-%{KVERREL}`
 if [ -x /sbin/ldconfig ]
 then
     /sbin/ldconfig -X || exit $?
 fi
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --add-kernel %{KVERREL}xen || exit $?
-#fi
-
-%post xen-devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-xen-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
-
-%post kdump
-/sbin/new-kernel-pkg --package kernel-kdump --mkinitrd --depmod --install %{KVERREL}kdump || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --add-kernel %{KVERREL}kdump || exit $?
-#fi
-
-%post kdump-devel
-if [ -f /etc/sysconfig/kernel ]
-then
-    . /etc/sysconfig/kernel || exit $?
-fi
-if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
-  pushd /usr/src/kernels/%{KVERREL}-kdump-%{_target_cpu} > /dev/null
-  /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
-  popd > /dev/null
-fi
-
-
-%preun
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL} || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --remove-kernel %{KVERREL} || exit $?
-#fi
-
-%preun smp
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}smp || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --remove-kernel %{KVERREL}smp || exit $?
-#fi
-
-%preun PAE
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}PAE || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --remove-kernel %{KVERREL}PAE || exit $?
-#fi
-
-%preun kdump
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}kdump || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --remove-kernel %{KVERREL}kdump || exit $?
-#fi
-
-%preun debug
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}debug || exit $?
-if [ -x /sbin/weak-modules ]
-then
-    /sbin/weak-modules --remove-kernel %{KVERREL}debug || exit $?
-fi
-
-%preun PAE-debug
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}PAE-debug || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --remove-kernel %{KVERREL}PAE || exit $?
-#fi
-
-%preun xen
-/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}xen || exit $?
-#if [ -x /sbin/weak-modules ]
-#then
-#    /sbin/weak-modules --remove-kernel %{KVERREL}xen || exit $?
-#fi
 
 ###
 ### file lists
 ###
 
-# This is %{image_install_path} on an arch where that includes ELF files,
-# or empty otherwise.
-%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
-
-%if %{with_up}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files debuginfo
-%defattr(-,root,root)
-%if "%{elf_image_install_path}" != ""
-%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-%{_target_cpu}
-%endif
-%endif
-
-%files
-%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}
-/boot/System.map-%{KVERREL}
-#/boot/symvers-%{KVERREL}.gz
-/boot/config-%{KVERREL}
-%dir /lib/modules/%{KVERREL}
-/lib/modules/%{KVERREL}/kernel
-/lib/modules/%{KVERREL}/build
-/lib/modules/%{KVERREL}/source
-/lib/modules/%{KVERREL}/extra
-/lib/modules/%{KVERREL}/updates
-/lib/modules/%{KVERREL}/weak-updates
-/lib/modules/%{KVERREL}/modules.block
-/lib/modules/%{KVERREL}/modules.networking
-%ghost /boot/initrd-%{KVERREL}.img
-
-%files devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-%{_target_cpu}
-%endif
-
-
 %if %{with_headers}
 %files headers
 %defattr(-,root,root)
 /usr/include/*
 %endif
 
-
-%if %{with_debug}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files debug-debuginfo
-%defattr(-,root,root)
-%if "%{elf_image_install_path}" != ""
-%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}debug.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}debug
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-debug-%{_target_cpu}
-%endif
-
-%files debug
-%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}debug
-/boot/System.map-%{KVERREL}debug
-#/boot/symvers-%{KVERREL}debug.gz
-/boot/config-%{KVERREL}debug
-%dir /lib/modules/%{KVERREL}debug
-/lib/modules/%{KVERREL}debug/kernel
-/lib/modules/%{KVERREL}debug/build
-/lib/modules/%{KVERREL}debug/source
-/lib/modules/%{KVERREL}debug/extra
-/lib/modules/%{KVERREL}debug/updates
-/lib/modules/%{KVERREL}debug/weak-updates
-/lib/modules/%{KVERREL}debug/modules.block
-/lib/modules/%{KVERREL}debug/modules.networking
-%ghost /boot/initrd-%{KVERREL}debug.img
-
-%files debug-devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-debug-%{_target_cpu}
-/usr/src/kernels/%{KVERREL}debug-%{_target_cpu}
-%endif
-%endif
-
-
-
-%if %{with_pae}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files PAE-debuginfo
-%defattr(-,root,root)
-%if "%{elf_image_install_path}" != ""
-%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}PAE.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}PAE
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-PAE-%{_target_cpu}
-%endif
-%endif
-
-%files PAE
-%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}PAE
-/boot/System.map-%{KVERREL}PAE
-#/boot/symvers-%{KVERREL}PAE.gz
-/boot/config-%{KVERREL}PAE
-%dir /lib/modules/%{KVERREL}PAE
-/lib/modules/%{KVERREL}PAE/kernel
-/lib/modules/%{KVERREL}PAE/build
-/lib/modules/%{KVERREL}PAE/source
-/lib/modules/%{KVERREL}PAE/extra
-/lib/modules/%{KVERREL}PAE/updates
-/lib/modules/%{KVERREL}PAE/weak-updates
-/lib/modules/%{KVERREL}PAE/modules.block
-/lib/modules/%{KVERREL}PAE/modules.networking
-%ghost /boot/initrd-%{KVERREL}PAE.img
-
-%files PAE-devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-PAE-%{_target_cpu}
-/usr/src/kernels/%{KVERREL}PAE-%{_target_cpu}
-
-%if %{with_debug}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files PAE-debug-debuginfo
-%defattr(-,root,root)
-%if "%{elf_image_install_path}" != ""
-%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}PAE-debug.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}PAE-debug
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-PAE-debug-%{_target_cpu}
-%endif
-
-%files PAE-debug
-%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}PAE-debug
-/boot/System.map-%{KVERREL}PAE-debug
-#/boot/symvers-%{KVERREL}PAE-debug.gz
-/boot/config-%{KVERREL}PAE-debug
-%dir /lib/modules/%{KVERREL}PAE-debug
-/lib/modules/%{KVERREL}PAE-debug/kernel
-/lib/modules/%{KVERREL}PAE-debug/build
-/lib/modules/%{KVERREL}PAE-debug/source
-/lib/modules/%{KVERREL}PAE-debug/extra
-/lib/modules/%{KVERREL}PAE-debug/updates
-/lib/modules/%{KVERREL}PAE-debug/weak-updates
-/lib/modules/%{KVERREL}PAE-debug/modules.block
-/lib/modules/%{KVERREL}PAE-debug/modules.networking
-%ghost /boot/initrd-%{KVERREL}PAE-debug.img
-
-%files PAE-debug-devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-PAE-debug-%{_target_cpu}
-/usr/src/kernels/%{KVERREL}PAE-debug-%{_target_cpu}
-%endif
-%endif
-# PAE
-%endif
-
-
-%if %{with_smp}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files smp-debuginfo
-%defattr(-,root,root)
-%if "%{elf_image_install_path}" != ""
-%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}smp.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}smp
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-smp-%{_target_cpu}
-%endif
-%endif
-
-%files smp
-%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}smp
-/boot/System.map-%{KVERREL}smp
-#/boot/symvers-%{KVERREL}smp.gz
-/boot/config-%{KVERREL}smp
-%dir /lib/modules/%{KVERREL}smp
-/lib/modules/%{KVERREL}smp/kernel
-/lib/modules/%{KVERREL}smp/build
-/lib/modules/%{KVERREL}smp/source
-/lib/modules/%{KVERREL}smp/extra
-/lib/modules/%{KVERREL}smp/updates
-/lib/modules/%{KVERREL}smp/weak-updates
-/lib/modules/%{KVERREL}smp/modules.block
-/lib/modules/%{KVERREL}smp/modules.networking
-%ghost /boot/initrd-%{KVERREL}smp.img
-
-%files smp-devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-smp-%{_target_cpu}
-/usr/src/kernels/%{KVERREL}smp-%{_target_cpu}
-%endif
-
-
-%if %{includexen}
-%if %{with_xen}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files xen-debuginfo
-%defattr(-,root,root)
-%if "%{elf_image_install_path}" != ""
-%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}xen.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}xen
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-xen-%{_target_cpu}
-%{debuginfodir}/boot/xen*-%{KVERREL}.debug
-%endif
-%endif
-
-%files xen
-%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}xen
-/boot/System.map-%{KVERREL}xen
-#/boot/symvers-%{KVERREL}xen.gz
-/boot/config-%{KVERREL}xen
-/%{image_install_path}/xen.gz-%{KVERREL}
-/boot/xen-syms-%{KVERREL}
-%dir /lib/modules/%{KVERREL}xen
-/lib/modules/%{KVERREL}xen/kernel
-%verify(not mtime) /lib/modules/%{KVERREL}xen/build
-/lib/modules/%{KVERREL}xen/source
-/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
-/lib/modules/%{KVERREL}xen/extra
-/lib/modules/%{KVERREL}xen/updates
-/lib/modules/%{KVERREL}xen/weak-updates
-/lib/modules/%{KVERREL}xen/modules.block
-/lib/modules/%{KVERREL}xen/modules.networking
-%ghost /boot/initrd-%{KVERREL}xen.img
-
-%files xen-devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-xen-%{_target_cpu}
-/usr/src/kernels/%{KVERREL}xen-%{_target_cpu}
-%endif
-%endif
-
-%if %{with_kdump}
-%if %{with_debuginfo}
-%ifnarch noarch
-%files kdump-debuginfo
-%defattr(-,root,root)
-%if "%{image_install_path}" != ""
-%{debuginfodir}/%{image_install_path}/*-%{KVERREL}kdump.debug
-%endif
-%{debuginfodir}/lib/modules/%{KVERREL}kdump
-%{debuginfodir}/usr/src/kernels/%{KVERREL}-kdump-%{_target_cpu}
-%endif
-%endif
-
-%files kdump
-%defattr(-,root,root)
-/%{image_install_path}/vmlinux-%{KVERREL}kdump
-/boot/System.map-%{KVERREL}kdump
-#/boot/symvers-%{KVERREL}kdump.gz
-/boot/config-%{KVERREL}kdump
-%dir /lib/modules/%{KVERREL}kdump
-/lib/modules/%{KVERREL}kdump/kernel
-/lib/modules/%{KVERREL}kdump/build
-/lib/modules/%{KVERREL}kdump/source
-/lib/modules/%{KVERREL}kdump/extra
-/lib/modules/%{KVERREL}kdump/updates
-/lib/modules/%{KVERREL}kdump/weak-updates
-/lib/modules/%{KVERREL}kdump/modules.block
-/lib/modules/%{KVERREL}kdump/modules.networking
-%ghost /boot/initrd-%{KVERREL}kdump.img
-
-%files kdump-devel
-%defattr(-,root,root)
-%verify(not mtime) /usr/src/kernels/%{KVERREL}-kdump-%{_target_cpu}
-/usr/src/kernels/%{KVERREL}kdump-%{_target_cpu}
-%endif
-
 # only some architecture builds need kernel-doc
-
 %if %{with_doc}
 %files doc
 %defattr(-,root,root)
@@ -2146,7 +1621,72 @@
 %dir %{_datadir}/doc/kernel-doc-%{kversion}
 %endif
 
+# This is %{image_install_path} on an arch where that includes ELF files,
+# or empty otherwise.
+%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
+
+#
+# This macro defines the %%files sections for a kernel package
+# and its devel and debuginfo packages.
+#	%%kernel_variant_files [-a <extra-files-glob>] [-e <extra-nonbinary>] <condition> <subpackage>
+#
+%define kernel_variant_files(a:e:) \
+%if %{1}\
+%{expand:%%files %{?2}}\
+%defattr(-,root,root)\
+/%{image_install_path}/vmlinuz-%{KVERREL}%{?2}\
+/boot/System.map-%{KVERREL}%{?2}\
+#/boot/symvers-%{KVERREL}%{?2}.gz\
+/boot/config-%{KVERREL}%{?2}\
+%{?-a:%{-a*}}\
+%dir /lib/modules/%{KVERREL}%{?2}\
+/lib/modules/%{KVERREL}%{?2}/kernel\
+/lib/modules/%{KVERREL}%{?2}/build\
+/lib/modules/%{KVERREL}%{?2}/source\
+/lib/modules/%{KVERREL}%{?2}/extra\
+/lib/modules/%{KVERREL}%{?2}/updates\
+/lib/modules/%{KVERREL}%{?2}/weak-updates\
+/lib/modules/%{KVERREL}%{?2}/modules.block\
+/lib/modules/%{KVERREL}%{?2}/modules.networking\
+%ghost /boot/initrd-%{KVERREL}%{?2}.img\
+%{?-e:%{-e*}}\
+%{expand:%%files %{?2:%{2}-}devel}\
+%defattr(-,root,root)\
+%verify(not mtime) /usr/src/kernels/%{KVERREL}%{?2:-%{2}}-%{_target_cpu}\
+/usr/src/kernels/%{KVERREL}%{?2}-%{_target_cpu}\
+%if %{with_debuginfo}\
+%ifnarch noarch\
+%if %{fancy_debuginfo}\
+%{expand:%%files -f debuginfo%{?2}.list %{?2:%{2}-}debuginfo}\
+%endif\
+%defattr(-,root,root)\
+%if %{fancy_debuginfo}\
+%if "%{elf_image_install_path}" != ""\
+%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}%{?2}.debug\
+%endif\
+%{debuginfodir}/lib/modules/%{KVERREL}{%?2}\
+%{debuginfodir}/usr/src/kernels/%{KVERREL}%{?2:-%{2}}-%{_target_cpu}\
+%endif\
+%endif\
+%endif\
+%endif\
+%endif\
+%{nil}
+
+
+%kernel_variant_files %{with_up}
+%kernel_variant_files %{with_smp} smp
+%kernel_variant_files %{with_debug} debug
+%kernel_variant_files %{with_pae} PAE
+%kernel_variant_files %{with_pae_debug} PAE-debug
+%kernel_variant_files %{with_kdump} kdump
+%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
+
+
 %changelog
+* Thu Aug  9 2007 Roland McGrath <roland at redhat.com>
+- macroized spec file, use new find-debuginfo.sh features
+
 * Wed Aug 08 2007 John W. Linville <linville at redhat.com>
 - Update wireless bits from wireless-2.6 and wireless-dev
 




More information about the fedora-extras-commits mailing list