1 Summary: The Linux kernel (the core of the Linux operating system)
3 # What parts do we want to build? We must build at least one kernel.
4 # These are the kernels that are built IF the architecture allows it.
11 # Versions of various parts
14 # Polite request for people who spin their own kernel rpms:
15 # please modify the "release" field in a way that identifies
16 # that the kernel isn't the stock distribution kernel, for example by
17 # adding some text to the end of the version number.
21 %define kversion 2.6.%{sublevel}
22 %define rpmversion 2.6.%{sublevel}%{?patchlevel:.%{patchlevel}}
24 %define vsversion 2.3.0.29
26 # Will go away when VServer supports NetNS in mainline. Currently, it must be
27 # updated every time the PL kernel is updated.
28 %define vini_pl_patch 551
32 %define release vs%{vsversion}.%{specrelease}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
34 %{!?pldistro:%global pldistro planetlab}
37 %define make_target bzImage
38 %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
40 # Override generic defaults with per-arch defaults
42 %define image_install_path boot
45 # Three sets of minimum package version requirements in the form of Conflicts:
46 # to versions below the minimum
50 # First the general kernel 2.6 required versions as per
51 # Documentation/Changes
53 %define kernel_dot_org_conflicts ppp <= 2.3.15, pcmcia-cs <= 3.1.20, isdn4k-utils <= 3.0, mount < 2.10r-5, nfs-utils < 1.0.3, e2fsprogs < 1.29, util-linux < 2.10, jfsutils < 1.0.14, reiserfsprogs < 3.6.3, xfsprogs < 2.1.0, procps < 2.0.9, oprofile < 0.5.3
56 # Then a series of requirements that are distribution specific, either
57 # because we add patches for something, or the older versions have
58 # problems with the newer kernel or lack certain things that make
59 # integration in the distro harder than needed.
61 %define package_conflicts cipe < 1.4.5, kudzu <= 0.92, initscripts < 7.23, dev < 3.2-7, iptables < 1.2.5-3, bcm5820 < 1.81, nvidia-rh72 <= 1.0 selinux-policy-targeted < 1.23.16-1
64 # Several packages had bugs in them that became obvious when the NPTL
65 # threading code got integrated.
67 %define nptl_conflicts SysVinit < 2.84-13, pam < 0.75-48, vixie-cron < 3.0.1-73, privoxy < 3.0.0-8, spamassassin < 2.44-4.8.x, cups < 1.1.17-13
70 # The ld.so.conf.d file we install uses syntax older ldconfig's don't grok.
74 # %define xen_conflicts glibc < 2.3.5-1
77 # Packages that need to be installed before the kernel is, because the %post
80 %define kernel_prereq fileutils, module-init-tools, initscripts >= 5.83, mkinitrd >= 3.5.5
82 URL: http://svn.planet-lab.org/wiki/linux-2.6
85 Group: System Environment/Kernel
87 Version: %{rpmversion}
90 Provides: kernel = %{version}
91 Provides: kernel-drm = 4.3.0
92 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
93 Provides: kernel-smp = %{rpmversion}-%{release}
94 Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{release}
95 Prereq: %{kernel_prereq}
96 Conflicts: %{kernel_dot_org_conflicts}
97 Conflicts: %{package_conflicts}
98 Conflicts: %{nptl_conflicts}
99 # We can't let RPM do the dependencies automatic because it'll then pick up
100 # a correct but undesirable perl dependency from the module headers which
101 # isn't required for the kernel proper to function
105 # List the packages used during the kernel build
107 BuildPreReq: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
108 BuildPreReq: bzip2, findutils, gzip, m4, perl, make >= 3.78, gnupg, diffutils
109 BuildRequires: gcc >= 3.3.3, binutils >= 2.12, redhat-rpm-config
110 BuildConflicts: rhbuildsys(DiskFree) < 500Mb
113 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
115 Source10: kernel-%{kversion}-i586-%{pldistro}.config
116 Source11: kernel-%{kversion}-i686-%{pldistro}.config
117 Source12: kernel-%{kversion}-x86_64-%{pldistro}.config
119 Source20: kernel-%{kversion}-i686-uml-%{pldidstro}.config
122 Source30: kernel-%{kversion}-i686-xenU-%{pldistro}.config
127 Patch000: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-%{rpmversion}.bz2
130 Patch010: linux-2.6-010-e1000e.patch
131 Patch020: linux-2.6-020-build-id.patch
133 # These are patches picked up from Fedora/RHEL
134 Patch100: linux-2.6-100-build-nonintconfig.patch
137 Patch200: patch-%{rpmversion}-vs%{vsversion}.diff
140 Patch250: linux-2.6-250-ipsets.patch
143 Patch500: linux-2.6-500-vserver-filesharing.patch
144 Patch510: linux-2.6-510-ipod.patch
145 Patch520: linux-2.6-520-vnet+.patch
146 Patch530: linux-2.6-530-built-by-support.patch
147 Patch540: linux-2.6-540-oom-kill.patch
148 Patch550: linux-2.6-550-raise-default-nfile-ulimit.patch
150 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
153 The kernel package contains the Linux kernel (vmlinuz), the core of any
154 Linux operating system. The kernel handles the basic functions
155 of the operating system: memory allocation, process allocation, device
156 input and output, etc.
159 Summary: Development package for building kernel modules to match the kernel.
160 Group: System Environment/Kernel
162 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}
163 Provides: kernel-smp-devel = %{rpmversion}-%{release}
164 Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release}
165 Prereq: /usr/bin/find
168 This package provides kernel headers and makefiles sufficient to build modules
169 against the kernel package.
173 Summary: Various documentation bits found in the kernel source.
177 This package contains documentation files from the kernel
178 source. Various bits of information about the Linux kernel and the
179 device drivers shipped with it are documented in these files.
181 You'll want to install this package if you need a reference to the
182 options that can be passed to Linux kernel modules at load time.
185 Summary: The Linux kernel compiled for unprivileged Xen guest VMs
187 Group: System Environment/Kernel
188 Provides: kernel = %{version}
189 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}xenU
190 Prereq: %{kernel_prereq}
191 Conflicts: %{kernel_dot_org_conflicts}
192 Conflicts: %{package_conflicts}
193 Conflicts: %{nptl_conflicts}
196 # Conflicts: %{xen_conflicts}
198 # We can't let RPM do the dependencies automatic because it'll then pick up
199 # a correct but undesirable perl dependency from the module headers which
200 # isn't required for the kernel proper to function
204 This package includes a version of the Linux kernel which
205 runs in Xen unprivileged guest VMs. This should be installed
206 both inside the unprivileged guest (for the modules) and in
210 Summary: Development package for building kernel modules to match the kernel.
211 Group: System Environment/Kernel
213 Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{release}
214 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}xenU
215 Provides: kernel-devel = %{rpmversion}-%{release}xenU
216 Prereq: /usr/sbin/hardlink, /usr/bin/find
218 %description xenU-devel
219 This package provides kernel headers and makefiles sufficient to build modules
220 against the kernel package.
223 Summary: The Linux kernel compiled for use in user mode (User Mode Linux).
225 Group: System Environment/Kernel
228 This package includes a user mode version of the Linux kernel.
231 Summary: Development package for building kernel modules to match the UML kernel.
232 Group: System Environment/Kernel
233 Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{release}
234 Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}smp
235 Provides: kernel-devel = %{rpmversion}-%{release}smp
237 Prereq: /usr/sbin/hardlink, /usr/bin/find
239 %description uml-devel
240 This package provides kernel headers and makefiles sufficient to build modules
241 against the User Mode Linux kernel package.
244 Summary: The Linux kernel modules compiled for use in user mode (User Mode Linux).
246 Group: System Environment/Kernel
248 %description uml-modules
249 This package includes a user mode version of the Linux kernel modules.
252 Summary: A placeholder RPM that provides kernel and kernel-drm
254 Group: System Environment/Kernel
255 Provides: kernel = %{version}
256 Provides: kernel-drm = 4.3.0
257 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
260 VServers do not require and cannot use kernels, but some RPMs have
261 implicit or explicit dependencies on the "kernel" package
262 (e.g. tcpdump). This package installs no files but provides the
263 necessary dependencies to make rpm and yum happy.
267 # First we unpack the kernel tarball.
268 # If this isn't the first make prep, we use links to the existing clean tarball
269 # which speeds things up quite a bit.
270 if [ ! -d kernel-%{kversion}/vanilla ]; then
271 # Ok, first time we do a make prep.
272 rm -f pax_global_header
273 %setup -q -n %{name}-%{kversion} -c
274 mv linux-%{kversion} vanilla
276 # We already have a vanilla dir.
277 cd kernel-%{kversion}
280 KERNEL_PREVIOUS=vanilla
281 # Dark RPM-magic to apply each patch to a hardlinked copy of the tree.
282 %define ApplyPatch() \
283 rm -fr linux-%{kversion}-%1 \
284 cp -al $KERNEL_PREVIOUS linux-%{kversion}-%1 \
286 test "%2" != "%%2" && patchflag="%2" \
287 PATCH="%{expand:%{PATCH%1}}" \
288 if test ! -e "$PATCH"; then \
289 echo "Patch %1 does not exist!" \
293 *.bz2) bzcat "$PATCH";; \
294 *.gz) zcat "$PATCH";; \
296 esac | patch -F1 -s -d linux-%{kversion}-%1 $patchflag \
297 KERNEL_PREVIOUS=linux-%{kversion}-%1
299 # This is where the patches get applied
307 # NetNS patch for VINI
325 # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
326 # break with later patches.
329 %ApplyPatch %vini_pl_patch
332 rm -fr linux-%{kversion}
333 ln -sf $KERNEL_PREVIOUS linux-%{kversion}
337 # make sure the kernel has the sublevel we know it has. This looks weird
338 # but for -pre and -rc versions we need it since we only want to use
339 # the higher version when the final kernel is released.
340 perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile
341 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -prep/" Makefile
343 # get rid of unwanted files resulting from patch fuzz
344 find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
357 rm -rf linux-%{_target_cpu}-%{kversion}$Flavour
358 cp -rl linux-%{kversion}/ linux-%{_target_cpu}-%{kversion}$Flavour
359 cd linux-%{_target_cpu}-%{kversion}$Flavour
361 # Pick the right config file for the kernel we're building
362 if [ -n "$Flavour" ] ; then
363 Config=kernel-%{kversion}-%{_target_cpu}-$Flavour-%{pldistro}.config
364 DevelDir=/usr/src/kernels/%{KVERREL}-$Flavour-%{_target_cpu}
365 DevelLink=/usr/src/kernels/%{KVERREL}$Flavour-%{_target_cpu}
367 Config=kernel-%{kversion}-%{_target_cpu}-%{pldistro}.config
368 DevelDir=/usr/src/kernels/%{KVERREL}-%{_target_cpu}
372 KernelVer=%{version}-%{release}$Flavour
373 echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}...
375 # make sure EXTRAVERSION says what we want it to say
376 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{release}$Flavour/" Makefile
378 # and now to start the build process
381 cp %{_sourcedir}/$Config .config
383 #Arch=`head -1 .config | cut -b 3-`
384 echo USING ARCH=$Arch
386 make -s ARCH=$Arch nonint_oldconfig > /dev/null
387 make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
388 make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
390 # Start installing the results
392 %if "%{_enable_debug_packages}" == "1"
393 mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/boot
395 mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
396 install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
397 install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
398 if [ -f arch/$Arch/boot/bzImage ]; then
399 cp arch/$Arch/boot/bzImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
401 if [ -f arch/$Arch/boot/zImage.stub ]; then
402 cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
404 if [ "$Flavour" = "uml" ] ; then
405 install -D -m 755 linux $RPM_BUILD_ROOT/%{_bindir}/linux
408 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
409 make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
411 # And save the headers/makefiles etc for building modules against
413 # This all looks scary, but the end result is supposed to be:
414 # * all arch relevant include/ files
415 # * all Makefile/Kconfig files
416 # * all script/ files
418 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
419 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
420 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
421 (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
422 # dirs for additional modules per module-init-tools, kbuild/modules.txt
423 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
424 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
425 # first copy everything
426 cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
427 cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
428 if [ "$Flavour" = "uml" ] ; then
429 cp --parents -a `find arch/um -name include` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
431 # then drop all but the needed Makefiles/Kconfig files
432 rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
433 rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
434 rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
435 cp arch/%{_arch}/kernel/asm-offsets.s $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/kernel || :
436 cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
437 cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
438 if [ -d arch/%{_arch}/scripts ]; then
439 cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
441 if [ -f arch/%{_arch}/*lds ]; then
442 cp -a arch/%{_arch}/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
444 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
445 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
446 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
448 cp -a acpi config keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video asm asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
449 cp -a `readlink asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
450 if [ "$Arch" = "x86_64" ]; then
451 cp -a asm-i386 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
454 if [ "$Flavour" = "xenU" ]; then
455 cp -a xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
456 cp -a asm-i386 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
460 if [ "$Flavour" = "uml" ] ; then
461 cp -a `readlink -f asm/arch` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
464 # While arch/powerpc/include/asm is still a symlink to the old
465 # include/asm-ppc{64,} directory, include that in kernel-devel too.
466 if [ "$Arch" = "powerpc" -a -r ../arch/powerpc/include/asm ]; then
467 cp -a `readlink ../arch/powerpc/include/asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
468 mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include
469 pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include
470 ln -sf ../../../include/asm-ppc* asm
474 # Make sure the Makefile and version.h have a matching timestamp so that
475 # external modules can be built
476 touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h
477 touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h
481 # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
483 %if "%{_enable_debug_packages}" == "1"
484 mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer
485 cp vmlinux $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer
488 if [ -f vmlinuz ]; then
489 cp vmlinuz $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
493 find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
495 # mark modules executable so that strip-to-file can strip them
496 cat modnames | xargs chmod u+x
498 # remove files that will be auto generated by depmod at rpm -i time
499 rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.*
501 # Move the devel headers out of the root file system
502 mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
503 mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
504 ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
505 [ -z "$DevelLink" ] || ln -sf `basename $DevelDir` $RPM_BUILD_ROOT/$DevelLink
512 # prepare directories
513 rm -rf $RPM_BUILD_ROOT
514 mkdir -p $RPM_BUILD_ROOT/boot
516 %if "%{_target_cpu}" == "x86_64"
517 %define kernel_arch %{_target_cpu}
519 %if "%{_target_cpu}" == "i586"
520 %define kernel_arch i386
522 %if "%{_target_cpu}" == "i686"
523 %define kernel_arch i386
527 BuildKernel %make_target %kernel_arch
532 BuildKernel linux um uml
536 BuildKernel vmlinuz %kernel_arch xenU
548 %if %{buildxen} && "%{_target_cpu}" == "i686"
549 mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
550 rm -f $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
551 cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf <<\EOF
552 # This directive teaches ldconfig to search in nosegneg subdirectories
553 # and cache the DSOs there with extra bit 0 set in their hwcap match
554 # fields. In Xen guest kernels, the vDSO tells the dynamic linker to
555 # search in nosegneg subdirectories and to match this extra hwcap bit
556 # in the ld.so.cache file.
559 chmod 444 $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
563 mkdir -p $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}/Documentation
565 # sometimes non-world-readable files sneak into the kernel source tree
567 # copy the source over
568 tar cf - Documentation | tar xf - -C $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}
576 rm -rf $RPM_BUILD_ROOT
582 # load the loop module for upgrades...in case the old modules get removed we have
583 # loopback in the kernel so that mkinitrd will work.
585 /sbin/modprobe loop 2> /dev/null > /dev/null || :
589 if [ -f /etc/sysconfig/kernel ]; then
590 /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel
593 # trick mkinitrd in case the current environment does not have device mapper
594 rootdev=$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)
595 if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then
596 if [ ! -f $rootdev ]; then
598 mkdir -p $(dirname $rootdev)
603 [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}
604 #/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL}
605 # Older modutils do not support --package option
606 /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}
609 if [ -n "$fake_root_lvm" ]; then
613 # make some useful links
614 pushd /boot > /dev/null ; {
615 ln -sf config-%{KVERREL} config
616 ln -sf config-%{KVERREL} configsmp
617 ln -sf initrd-%{KVERREL}.img initrd-boot
618 ln -sf initrd-%{KVERREL}.img initrd-bootsmp
619 ln -sf vmlinuz-%{KVERREL} kernel-boot
620 ln -sf vmlinuz-%{KVERREL} kernel-bootsmp
625 mkdir -p /etc/planetlab
626 touch /etc/planetlab/update-reboot
629 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
630 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
631 pushd /usr/src/kernels/%{KVERREL}-%{_target_cpu} > /dev/null
632 /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
637 [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade
638 [ ! -x /sbin/ldconfig ] || /sbin/ldconfig -X
641 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
642 if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then
643 pushd /usr/src/kernels/%{KVERREL}-xenU-%{_target_cpu} > /dev/null
644 /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*FC*/$f $f ; done
649 depmod -ae %{KVERREL}uml
652 /sbin/modprobe loop 2> /dev/null > /dev/null || :
653 /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}
656 /sbin/modprobe loop 2> /dev/null > /dev/null || :
657 /sbin/new-kernel-pkg --rmmoddep --remove %{KVERREL}xenU
660 rm -f /lib/modules/%{KVERREL}uml/modules.*
669 %defattr(-,root,root)
670 /%{image_install_path}/vmlinuz-%{KVERREL}
671 /boot/System.map-%{KVERREL}
672 /boot/config-%{KVERREL}
673 %dir /lib/modules/%{KVERREL}
674 /lib/modules/%{KVERREL}/kernel
675 /lib/modules/%{KVERREL}/build
676 /lib/modules/%{KVERREL}/source
677 /lib/modules/%{KVERREL}/extra
678 /lib/modules/%{KVERREL}/updates
681 %defattr(-,root,root)
682 %verify(not mtime) /usr/src/kernels/%{KVERREL}-%{_target_cpu}
685 %if %{builduml} && "%{_target_cpu}" == "i686"
687 %defattr(-,root,root)
691 %defattr(-,root,root)
692 %verify(not mtime) /usr/src/kernels/%{KVERREL}-uml-%{_target_cpu}
693 /usr/src/kernels/%{KVERREL}uml-%{_target_cpu}
696 %defattr(-,root,root)
697 /boot/System.map-%{KVERREL}uml
698 /boot/config-%{KVERREL}uml
699 %dir /lib/modules/%{KVERREL}uml
700 /lib/modules/%{KVERREL}uml/kernel
701 /lib/modules/%{KVERREL}uml/build
702 /lib/modules/%{KVERREL}uml/source
703 /lib/modules/%{KVERREL}uml/extra
704 /lib/modules/%{KVERREL}uml/updates
707 %if %{buildxen} && "%{_target_cpu}" == "i686"
709 %defattr(-,root,root)
710 /%{image_install_path}/vmlinuz-%{KVERREL}xenU
711 /boot/System.map-%{KVERREL}xenU
712 /boot/config-%{KVERREL}xenU
713 %dir /lib/modules/%{KVERREL}xenU
714 /lib/modules/%{KVERREL}xenU/kernel
715 /lib/modules/%{KVERREL}xenU/build
716 /lib/modules/%{KVERREL}xenU/source
717 /lib/modules/%{KVERREL}xenU/extra
718 /lib/modules/%{KVERREL}xenU/updates
719 /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf
722 %defattr(-,root,root)
723 %verify(not mtime) /usr/src/kernels/%{KVERREL}-xenU-%{_target_cpu}
724 /usr/src/kernels/%{KVERREL}xenU-%{_target_cpu}
728 %defattr(-,root,root)
731 # only some architecture builds need kernel-doc
735 %defattr(-,root,root)
736 %{_datadir}/doc/kernel-doc-%{kversion}/Documentation/*
737 %dir %{_datadir}/doc/kernel-doc-%{kversion}/Documentation
738 %dir %{_datadir}/doc/kernel-doc-%{kversion}
742 * Tue Jul 11 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2142_FC4]
744 - Disable split pagetable lock.
746 * Wed Jul 5 2006 Dave Jones <davej@redhat.com>
747 - Get rid of stack backtrace on panic, which in most
748 cases actually caused a loss of info instead of a gain.
750 * Fri Jun 30 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2141_FC4]
753 * Fri Jun 30 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2140_FC4]
755 - Fix up the alsa list_add bug.
757 * Mon Jun 26 2006 Dave Jones <davej@redhat.com>
758 - Fix up various stupidities incurred by the last big rebase.
759 - Reenable SMP x86-64 builds.
761 - Enable PCI fake hotplug driver.
762 - Enable gameport/joystick on i586 builds. (#196581)
764 * Sat Jun 24 2006 Dave Jones <davej@redhat.com>
765 - Enable profiling for 586 kernels.
767 * Fri Jun 23 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2139_FC4]
768 - Rebuild with slab debug off.
770 * Tue Jun 20 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2138_FC4]
773 * Mon Jun 5 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2115_FC4]
776 * Tue May 30 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2114_FC4]
779 * Mon May 29 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2113_FC4]
780 - Improved list_head debugging.
782 * Tue May 23 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2112_FC4]
785 * Sat May 20 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2111_FC4]
788 * Wed May 10 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2110_FC4]
791 * Tue May 9 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2109_FC4]
793 - make 16C950 UARTs work (again). (#126403)
794 - Fix exec-shield default, which should fix a few programs that
797 * Thu May 4 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2108_FC4]
800 * Tue May 2 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2107_FC4]
803 * Mon May 1 2006 Dave Jones <davej@redhat.com>
806 * Tue Apr 25 2006 Dave Jones <davej@redhat.com>
807 - Fix up SCSI errors with mymusix usb mp3 player (#186187)
809 * Mon Apr 24 2006 Dave Jones <davej@redhat.com>
812 * Wed Apr 19 2006 Dave Jones <davej@redhat.com>
813 - Enable PCI MSI support.
815 * Tue Apr 18 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2096_FC4]
818 * Tue Apr 18 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2093_FC4]
821 * Mon Apr 17 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2092_FC4]
824 * Sun Apr 16 2006 Dave Jones <davej@redhat.com>
827 * Fri Apr 7 2006 Dave Jones <davej@redhat.com>
830 * Tue Apr 4 2006 Dave Jones <davej@redhat.com>
831 - Reenable non-standard serial ports. (#187466)
832 - Reenable snd-es18xx for x86-32 (#187733)
834 * Thu Mar 30 2006 Dave Jones <davej@redhat.com>
835 - ship the .kernelrelease file in -devel too.
836 - Disable EDAC debug.
838 * Tue Mar 26 2006 Dave Jones <davej@redhat.com> [2.6.16-1.2069_FC4]
841 * Mon Mar 25 2006 Dave Jones <davej@redhat.com>
842 - Include patches posted for review for inclusion in 2.6.16.1
843 - Updated new audit msg types.
844 - Reenable HDLC driver (#186257)
845 - Make acpi-cpufreq 'sticky'
846 - Fix broken x86-64 32bit vDSO (#186924)
848 * Tue Mar 21 2006 Dave Jones <davej@redhat.com>
849 - Improve spinlock scalability on big machines.
851 * Mon Mar 20 2006 Dave Jones <davej@redhat.com>
852 - Sync with FC5's 2.6.16 kernel.
853 - Update Tux & Exec-shield to latest.