fallback to old ismounted, if findmnt is not installed

master
Harald Hoyer 2012-09-20 10:36:13 +02:00
parent aa09b74a41
commit 4211605000
3 changed files with 54 additions and 8 deletions

View File

@ -73,13 +73,35 @@ if [[ ! -e "$testfile" ]]; then
fi
rm -f "$testfile"

ismounted() {
while read a m a; do
[[ "$m" = "$1" ]] && return 0
find_mount() {
local dev mnt etc wanted_dev
wanted_dev="$(readlink -e -q $1)"
while read dev mnt etc; do
[ "$dev" = "$wanted_dev" ] && echo "$dev" && return 0
done < /proc/mounts
return 1
}

# usage: ismounted <mountpoint>
# usage: ismounted /dev/<device>
if command -v findmnt >/dev/null; then
ismounted() {
findmnt "$1" > /dev/null 2>&1
}
else
ismounted() {
if [ -b "$1" ]; then
find_mount "$1" > /dev/null && return 0
return 1
fi

while read a m a; do
[ "$m" = "$1" ] && return 0
done < /proc/mounts
return 1
}
fi

# clean up after ourselves no matter how we die.
cleanup() {
echo "Something failed. Move back to the original state"

View File

@ -452,11 +452,34 @@ udevproperty() {
fi
}

find_mount() {
local dev mnt etc wanted_dev
wanted_dev="$(readlink -e -q $1)"
while read dev mnt etc; do
[ "$dev" = "$wanted_dev" ] && echo "$dev" && return 0
done < /proc/mounts
return 1
}

# usage: ismounted <mountpoint>
# usage: ismounted /dev/<device>
ismounted() {
findmnt "$1" > /dev/null
}
if command -v findmnt >/dev/null; then
ismounted() {
findmnt "$1" > /dev/null 2>&1
}
else
ismounted() {
if [ -b "$1" ]; then
find_mount "$1" > /dev/null && return 0
return 1
fi

while read a m a; do
[ "$m" = "$1" ] && return 0
done < /proc/mounts
return 1
}
fi

wait_for_if_up() {
local cnt=0

View File

@ -13,11 +13,12 @@ depends() {

install() {
local _d
dracut_install mount mknod mkdir pidof sleep chroot findmnt\
dracut_install mount mknod mkdir pidof sleep chroot \
sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
inst $(command -v modprobe) /sbin/modprobe

dracut_install -o less
dracut_install -o findmnt less

if [ ! -e "${initdir}/bin/sh" ]; then
dracut_install bash
(ln -s bash "${initdir}/bin/sh" || :)