diff options
author | Ulrich Müller <ulm@gentoo.org> | 2013-07-14 17:18:25 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2013-07-14 17:18:25 +0200 |
commit | fb4af551582bbc588e9a97fdb0af942126b618c9 (patch) | |
tree | b9ee986b7291740dcaf6e08d06d71022dd4c6c81 /modules/kernel.eselect | |
parent | Add hyperlinks to GPL-2 and CC-BY-SA-2.5. (diff) | |
download | eselect-fb4af551582bbc588e9a97fdb0af942126b618c9.tar.gz eselect-fb4af551582bbc588e9a97fdb0af942126b618c9.tar.bz2 eselect-fb4af551582bbc588e9a97fdb0af942126b618c9.zip |
kernel.eselect: Check for Makefile in target tree, bug 460328.
* modules/kernel.eselect (find_targets, set_symlink, do_show):
Consider target trees as valid only if they contain a Makefile,
bug 460328. Thanks to C.J. Wijtmans <cj.wijtmans@gmail.com>.
Diffstat (limited to 'modules/kernel.eselect')
-rw-r--r-- | modules/kernel.eselect | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/kernel.eselect b/modules/kernel.eselect index f6778b8..87045f8 100644 --- a/modules/kernel.eselect +++ b/modules/kernel.eselect @@ -29,7 +29,7 @@ sort_kernel_versions() { find_targets() { local f for f in "${EROOT}"/usr/src/linux-[[:digit:]]*; do - [[ -d ${f} ]] && basename "${f}" + [[ -f ${f}/Makefile ]] && basename "${f}" done | sort_kernel_versions } @@ -49,9 +49,9 @@ set_symlink() { if [[ -z ${target} ]]; then die -q "Target \"$1\" doesn't appear to be valid!" - elif [[ -d ${EROOT}/usr/src/${target} ]]; then + elif [[ -f ${EROOT}/usr/src/${target}/Makefile ]]; then ln -s "${target}" "${EROOT}/usr/src/linux" - elif [[ -d ${EROOT}/usr/src/linux-${target} ]]; then + elif [[ -f ${EROOT}/usr/src/linux-${target}/Makefile ]]; then ln -s "linux-${target}" "${EROOT}/usr/src/linux" else die -q "Target \"$1\" doesn't appear to be valid!" @@ -69,6 +69,8 @@ do_show() { if [[ -L ${EROOT}/usr/src/linux ]]; then local kernel=$(canonicalise "${EROOT}/usr/src/linux") write_kv_list_entry "${kernel%/}" "" + [[ -f ${kernel}/Makefile ]] \ + || write_warning_msg "Symlink target doesn't appear to be valid!" else write_kv_list_entry "(unset)" "" fi |