17 |
|
|
18 |
# This is only to make life easier for people that creates derivated kernels |
# This is only to make life easier for people that creates derivated kernels |
19 |
# a.k.a name it kernel-tmb :) |
# a.k.a name it kernel-tmb :) |
20 |
%define kname kernel-vserver |
%define ktag vserver |
21 |
|
%define kname kernel-%{ktag} |
22 |
|
|
23 |
%define rpmtag %distsuffix |
%define rpmtag %distsuffix |
24 |
%if %kpatch |
%if %kpatch |
414 |
install %{SOURCE21} %{build_dir}/linux-%{tar_ver}/arch/x86/configs/ |
install %{SOURCE21} %{build_dir}/linux-%{tar_ver}/arch/x86/configs/ |
415 |
|
|
416 |
# make sure the kernel has the sublevel we know it has... |
# make sure the kernel has the sublevel we know it has... |
417 |
LC_ALL=C perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" linux-%{tar_ver}/Makefile |
LC_ALL=C perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile |
418 |
|
|
419 |
|
|
420 |
%build |
%build |
421 |
# Common target directories |
# Common target directories |
422 |
%define _bootdir /boot |
%define _bootdir /boot |
423 |
%define _modulesdir /lib/modules |
%define _modulesdir /lib/modules |
424 |
%define _kerneldir /usr/src/%{kname}-%{buildrel} |
%define _kerneldir /usr/src/linux-%{kversion}-%{ktag}-%{buildrpmrel} |
425 |
%define _develdir /usr/src/%{kname}-devel-%{buildrel} |
%define _develdir /usr/src/linux-%{kversion}-%{ktag}-devel-%{buildrpmrel} |
426 |
|
|
427 |
|
|
428 |
# Directories definition needed for building |
# Directories definition needed for building |
443 |
|
|
444 |
# make sure EXTRAVERSION says what we want it to say |
# make sure EXTRAVERSION says what we want it to say |
445 |
%if %kstable |
%if %kstable |
446 |
LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = .%{kstable}-%{buildrpmrel}/" Makefile |
LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = .%{kstable}-%{ktag}-%{buildrpmrel}/" Makefile |
447 |
%else |
%else |
448 |
LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{buildrpmrel}/" Makefile |
LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{ktag}-%{buildrpmrel}/" Makefile |
449 |
%endif |
%endif |
450 |
|
|
451 |
# Prepare the kernel |
# Prepare the kernel |
462 |
|
|
463 |
# Install kernel |
# Install kernel |
464 |
install -d %{temp_boot} |
install -d %{temp_boot} |
465 |
install -m 644 System.map %{temp_boot}/System.map-%{buildrel} |
install -m 644 System.map \ |
466 |
install -m 644 .config %{temp_boot}/config-%{buildrel} |
%{temp_boot}/System.map-%{kversion}-%{ktag}-%{buildrpmrel} |
467 |
cp -f arch/%{target_arch}/boot/bzImage %{temp_boot}/vmlinuz-%{buildrel} |
install -m 644 .config %{temp_boot}/config-%{kversion}-%{ktag}-%{buildrpmrel} |
468 |
|
cp -f arch/%{target_arch}/boot/bzImage \ |
469 |
|
%{temp_boot}/vmlinuz-%{kversion}-%{ktag}-%{buildrpmrel} |
470 |
|
|
471 |
# Install modules |
# Install modules |
472 |
install -d %{temp_modules}/%{buildrel} |
install -d %{temp_modules}/%{kversion}-%{ktag}-%{buildrpmrel} |
473 |
%smake INSTALL_MOD_PATH=%{temp_root} KERNELRELEASE=%{buildrel} modules_install |
%smake INSTALL_MOD_PATH=%{temp_root} \ |
474 |
|
KERNELRELEASE=%{kversion}-%{ktag}-%{buildrpmrel} \ |
475 |
|
modules_install |
476 |
|
|
477 |
# remove /lib/firmware, we use a separate kernel-firmware |
# remove /lib/firmware, we use a separate kernel-firmware |
478 |
rm -rf %{temp_root}/lib/firmware |
rm -rf %{temp_root}/lib/firmware |
634 |
### kernel |
### kernel |
635 |
%if %build_kernel |
%if %build_kernel |
636 |
%preun -n %{kname}-%{buildrel} |
%preun -n %{kname}-%{buildrel} |
637 |
/sbin/installkernel -R %{buildrel} |
/sbin/installkernel -R %{kversion}-%{ktag}-%{buildrpmrel} |
638 |
if [ -L /lib/modules/%{buildrel}/build ]; then |
if [ -L /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/build ]; then |
639 |
rm -f /lib/modules/%{buildrel}/build |
rm -f /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/build |
640 |
fi |
fi |
641 |
if [ -L /lib/modules/%{buildrel}/source ]; then |
if [ -L /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/source ]; then |
642 |
rm -f /lib/modules/%{buildrel}/source |
rm -f /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/source |
643 |
fi |
fi |
644 |
pushd /boot > /dev/null |
pushd /boot > /dev/null |
645 |
if [ -L vmlinuz-vserver ]; then |
if [ -L vmlinuz-%{ktag} ]; then |
646 |
if [ "$(readlink vmlinuz-vserver)" = "vmlinuz-%{buildrel}" ]; then |
if [ "$(readlink vmlinuz-%{ktag})" = "vmlinuz-%{kversion}-%{ktag}-%{buildrpmrel}" ]; then |
647 |
rm -f vmlinuz-vserver |
rm -f vmlinuz-%{ktag} |
648 |
fi |
fi |
649 |
fi |
fi |
650 |
if [ -L initrd-vserver.img ]; then |
if [ -L initrd-%{ktag}.img ]; then |
651 |
if [ "$(readlink initrd-vserver.img)" = "initrd-%{buildrel}.img" ]; then |
if [ "$(readlink initrd-%{ktag}.img)" = "initrd-%{kversion}-%{ktag}-%{buildrpmrel}.img" ]; then |
652 |
rm -f initrd-vserver.img |
rm -f initrd-%{ktag}.img |
653 |
fi |
fi |
654 |
fi |
fi |
655 |
popd > /dev/null |
popd > /dev/null |
656 |
exit 0 |
exit 0 |
657 |
|
|
658 |
%post -n %{kname}-%{buildrel} |
%post -n %{kname}-%{buildrel} |
659 |
/sbin/installkernel -L %{buildrel} |
/sbin/installkernel -L %{kversion}-%{ktag}-%{buildrpmrel} |
660 |
if [ -d /usr/src/%{kname}-devel-%{buildrel} ]; then |
if [ -d /usr/src/linux-%{kversion}-%{ktag}-devel-%{buildrpmrel} ]; then |
661 |
ln -sf /usr/src/%{kname}-devel-%{buildrel} /lib/modules/%{buildrel}/build |
ln -sf /usr/src/linux-%{kversion}-%{ktag}-devel-%{buildrpmrel} \ |
662 |
ln -sf /usr/src/%{kname}-devel-%{buildrel} /lib/modules/%{buildrel}/source |
/lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/build |
663 |
|
ln -sf /usr/src/linux-%{kversion}-%{ktag}-devel-%{buildrpmrel} \ |
664 |
|
/lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/source |
665 |
fi |
fi |
666 |
pushd /boot > /dev/null |
pushd /boot > /dev/null |
667 |
if [ -L vmlinuz-vserver ]; then |
if [ -L vmlinuz-%{ktag} ]; then |
668 |
rm -f vmlinuz-vserver |
rm -f vmlinuz-%{ktag} |
669 |
fi |
fi |
670 |
ln -sf vmlinuz-%{buildrel} vmlinuz-vserver |
ln -sf vmlinuz-%{kversion}-%{ktag}-%{buildrpmrel} vmlinuz-%{ktag} |
671 |
if [ -L initrd-vserver.img ]; then |
if [ -L initrd-%{ktag}.img ]; then |
672 |
rm -f initrd-vserver.img |
rm -f initrd-%{ktag}.img |
673 |
fi |
fi |
674 |
ln -sf initrd-%{buildrel}.img initrd-vserver.img |
ln -sf initrd-%{kversion}-%{ktag}-%{buildrpmrel}.img initrd-%{ktag}.img |
675 |
popd > /dev/null |
popd > /dev/null |
676 |
|
|
677 |
%postun -n %{kname}-%{buildrel} |
%postun -n %{kname}-%{buildrel} |
683 |
%if %build_devel |
%if %build_devel |
684 |
%post -n %{kname}-devel-%{buildrel} |
%post -n %{kname}-devel-%{buildrel} |
685 |
# place /build and /source symlinks in place. |
# place /build and /source symlinks in place. |
686 |
if [ -d /lib/modules/%{buildrel} ]; then |
if [ -d /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel} ]; then |
687 |
ln -sf /usr/src/%{kname}-devel-%{buildrel} /lib/modules/%{buildrel}/build |
ln -sf /usr/src/linux-%{kversion}-%{ktag}-devel-%{buildrpmrel} \ |
688 |
ln -sf /usr/src/%{kname}-devel-%{buildrel} /lib/modules/%{buildrel}/source |
/lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/build |
689 |
|
ln -sf /usr/src/linux-%{kversion}-%{ktag}-devel-%{buildrpmrel} \ |
690 |
|
/lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/source |
691 |
fi |
fi |
692 |
|
|
693 |
%preun -n %{kname}-devel-%{buildrel} |
%preun -n %{kname}-devel-%{buildrel} |
694 |
# we need to delete <modules>/{build,source} at uninstall |
# we need to delete <modules>/{build,source} at uninstall |
695 |
if [ -L /lib/modules/%{buildrel}/build ]; then |
if [ -L /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/build ]; then |
696 |
rm -f /lib/modules/%{buildrel}/build |
rm -f /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/build |
697 |
fi |
fi |
698 |
if [ -L /lib/modules/%{buildrel}/source ]; then |
if [ -L /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/source ]; then |
699 |
rm -f /lib/modules/%{buildrel}/source |
rm -f /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/source |
700 |
fi |
fi |
701 |
exit 0 |
exit 0 |
702 |
%endif #build_devel |
%endif #build_devel |
705 |
### kernel-source |
### kernel-source |
706 |
%if %build_source |
%if %build_source |
707 |
%post -n %{kname}-source-%{buildrel} |
%post -n %{kname}-source-%{buildrel} |
708 |
for i in /lib/modules/%{buildrel}*; do |
if [ -d "/lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}" ]; then |
709 |
if [ -d $i ]; then |
if [ ! -L $i/build -a ! -L $i/source ]; then |
710 |
if [ ! -L $i/build -a ! -L $i/source ]; then |
rm -f $i/{build,source} |
711 |
rm -f $i/{build,source} |
ln -sf /usr/src/linux-%{kversion}-%{ktag}-%{buildrpmrel} \ |
712 |
ln -sf /usr/src/%{kname}-%{buildrel} $i/build |
$i/build |
713 |
ln -sf /usr/src/%{kname}-%{buildrel} $i/source |
ln -sf /usr/src/linux-%{kversion}-%{ktag}-%{buildrpmrel} \ |
714 |
fi |
$i/source |
715 |
fi |
fi |
716 |
done |
fi |
717 |
|
|
718 |
%preun -n %{kname}-source-%{buildrel} |
%preun -n %{kname}-source-%{buildrel} |
719 |
for i in /lib/modules/%{buildrel}/{build,source}; do |
for i in /lib/modules/%{kversion}-%{ktag}-%{buildrpmrel}/{build,source}; do |
720 |
if [ -L $i ]; then |
if [ -L $i ]; then |
721 |
if [ "$(readlink $i)" = "/usr/src/%{kname}-%{buildrel}" ]; then |
if [ "$(readlink $i)" = "/usr/src/linux-%{kversion}-%{ktag}-%{buildrpmrel}" ]; then |
722 |
rm -f $i |
rm -f $i |
723 |
fi |
fi |
724 |
fi |
fi |
735 |
%if %build_kernel |
%if %build_kernel |
736 |
%files -n %{kname}-%{buildrel} |
%files -n %{kname}-%{buildrel} |
737 |
%defattr(-,root,root) |
%defattr(-,root,root) |
738 |
%{_bootdir}/config-%{buildrel} |
%{_bootdir}/config-%{kversion}-%{ktag}-%{buildrpmrel} |
739 |
%{_bootdir}/vmlinuz-%{buildrel} |
%{_bootdir}/vmlinuz-%{kversion}-%{ktag}-%{buildrpmrel} |
740 |
%{_bootdir}/System.map-%{buildrel} |
%{_bootdir}/System.map-%{kversion}-%{ktag}-%{buildrpmrel} |
741 |
%dir %{_modulesdir}/%{buildrel}/ |
%dir %{_modulesdir}/%{kversion}-%{ktag}-%{buildrpmrel}/ |
742 |
%{_modulesdir}/%{buildrel}/kernel |
%{_modulesdir}/%{kversion}-%{ktag}-%{buildrpmrel}/kernel |
743 |
%{_modulesdir}/%{buildrel}/modules.* |
%{_modulesdir}/%{kversion}-%{ktag}-%{buildrpmrel}/modules.* |
744 |
%doc README.kernel-sources |
%doc README.kernel-sources |
745 |
%endif # build_kernel |
%endif # build_kernel |
746 |
|
|