X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.common;h=450163b4ce6226971859189f7eacb861045065ef;hb=78baf22aa54f2e0491ae5d63d2c41ba4efba33c8;hp=4da73e1ea9dd969a2c92ea3101f495fa85586c1e;hpb=427d029a1417937f48d9659f3037303fd1577d86;p=build.git diff --git a/build.common b/build.common index 4da73e1e..450163b4 100644 --- a/build.common +++ b/build.common @@ -73,10 +73,15 @@ function pl_getReleaseName () { function pl_getKexcludes () { distroname=$1; shift case $distroname in + ### there is an ugly hack going on around here + # with f12, the dependencies somehow require kernel 2.6.29 but our own kernel is 2.6.27 + # so the ugly workaround here is to let 'kernel-debug' get installed from the stock repos + # we then remove it manually after the image is done, look for kernel-debug below + # relyong on kernel-PAE for this trick won't work, as 64 bits distros don't have PAE of course f*) - echo 'kernel-PAE kernel-debug kernel-PAEdebug kernel-vserver kernel-devel kernel-headers kernel-debuginfo util-vserver* iptables iptables-ipv6 iproute drupal' ;; + echo 'kernel kernel-PAE kernel-PAEdebug kernel-vserver kernel-devel kernel-headers kernel-debuginfo util-vserver* iptables iptables-ipv6 iproute drupal' ;; centos5) - echo 'kernel-vserver kernel-devel kernel-headers kernel-debuginfo util-vserver* iptables iproute drupal inotify-tools* libnl' ;; + echo 'kernel kernel-vserver kernel-devel kernel-headers kernel-debuginfo util-vserver* iptables iproute drupal inotify-tools* libnl' ;; *) echo "pl_DISTRO_NAME=$pl_DISTRO_NAME not supported in getexcludes.sh" ; exit 1 ;; esac @@ -408,6 +413,23 @@ fi # Clean yum cache echo "* Cleaning up" + + # NOTE: this hack is for Fedora >= 12. + # if kernel-debug is installed, clean it up + # we link to our version of kernel/initrd and clean up + # kernel-debug manually + if rpm --root $vroot --quiet -q kernel-debug ; then + echo "* Cleaning up kernel-debug - (workaround for f12)" + pushd $vroot/boot/ + rm -rf kernel-boot kernel-bootsmp initrd-boot initrd-bootsmp + ln -s vmlinuz-*${pldistro}* kernel-boot + ln -s vmlinuz-*${pldistro}* kernel-bootsmp + ln -s initrd-*${pldistro}* initrd-boot + ln -s initrd-*${pldistro}* initrd-bootsmp + rpm --root $vroot --nodeps -e kernel-debug || : + popd + fi + # ignore yum's return code that is basically undefined yum $yum_options clean all || : @@ -429,15 +451,6 @@ fi # Clean up mkfedora_cleanup - # link to our version of kernel/initrd - pushd $vroot/boot/ - rm -rf kernel-boot kernel-bootsmp initrd-boot initrd-bootsmp - ln -s vmlinuz-*${pldistro}* kernel-boot - ln -s vmlinuz-*${pldistro}* kernel-bootsmp - ln -s initrd-*${pldistro}* initrd-boot - ln -s initrd-*${pldistro}* initrd-bootsmp - popd - return 0 }