aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2013-07-14 17:18:25 +0200
committerUlrich Müller <ulm@gentoo.org>2013-07-14 17:18:25 +0200
commitfb4af551582bbc588e9a97fdb0af942126b618c9 (patch)
treeb9ee986b7291740dcaf6e08d06d71022dd4c6c81 /modules/kernel.eselect
parentAdd hyperlinks to GPL-2 and CC-BY-SA-2.5. (diff)
downloadeselect-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.eselect8
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