mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-07 17:19:23 +00:00
udev-extra-rules: refactor mount.sh script
Avoids a fork for using cat and do a whitespace cleanup. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
This commit is contained in:
committed by
Koen Kooi
parent
d1bda096a7
commit
d014d6322b
@@ -2,7 +2,7 @@ DESCRIPTION = "Extra udev rules"
|
|||||||
LICENSE = "MIT"
|
LICENSE = "MIT"
|
||||||
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
|
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
|
||||||
|
|
||||||
PR = "r1"
|
PR = "r2"
|
||||||
|
|
||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
file://automount.rules \
|
file://automount.rules \
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Called from udev
|
# Called from udev
|
||||||
# Attemp to mount any added block devices
|
# Attemp to mount any added block devices
|
||||||
# and remove any removed devices
|
# and remove any removed devices
|
||||||
#
|
#
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ PMOUNT="/usr/bin/pmount"
|
|||||||
UMOUNT="/bin/umount"
|
UMOUNT="/bin/umount"
|
||||||
name="`basename "$DEVNAME"`"
|
name="`basename "$DEVNAME"`"
|
||||||
|
|
||||||
for line in `cat /etc/udev/mount.blacklist | grep -v ^#`
|
for line in `grep -v ^# /etc/udev/mount.blacklist`
|
||||||
do
|
do
|
||||||
if ( echo "$DEVNAME" | grep -q "$line" )
|
if ( echo "$DEVNAME" | grep -q "$line" )
|
||||||
then
|
then
|
||||||
@@ -19,9 +19,9 @@ do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
automount() {
|
automount() {
|
||||||
! test -d "/media/$name" && mkdir -p "/media/$name"
|
! test -d "/media/$name" && mkdir -p "/media/$name"
|
||||||
|
|
||||||
if ! $MOUNT -t auto -o async,relatime $DEVNAME "/media/$name"
|
if ! $MOUNT -t auto -o async,relatime $DEVNAME "/media/$name"
|
||||||
then
|
then
|
||||||
#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
|
#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
|
||||||
@@ -31,7 +31,7 @@ automount() {
|
|||||||
touch "/tmp/.automount-$name"
|
touch "/tmp/.automount-$name"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
rm_dir() {
|
rm_dir() {
|
||||||
# We do not want to rm -r populated directories
|
# We do not want to rm -r populated directories
|
||||||
if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
|
if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
|
||||||
@@ -46,27 +46,19 @@ if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
|
|||||||
if [ -x "$PMOUNT" ]; then
|
if [ -x "$PMOUNT" ]; then
|
||||||
$PMOUNT $DEVNAME 2> /dev/null
|
$PMOUNT $DEVNAME 2> /dev/null
|
||||||
elif [ -x $MOUNT ]; then
|
elif [ -x $MOUNT ]; then
|
||||||
$MOUNT $DEVNAME 2> /dev/null
|
$MOUNT $DEVNAME 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If the device isn't mounted at this point, it isn't configured in fstab
|
|
||||||
# 20061107: Small correction: The rootfs partition may be called just "rootfs" and not by
|
|
||||||
# its true device name so this would break. If the rootfs is mounted on two places
|
|
||||||
# during boot, it confuses the heck out of fsck. So Im auto-adding the root-partition
|
|
||||||
# to /etc/udev/mount.blacklist via postinst
|
|
||||||
|
|
||||||
cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount
|
# Avoid remounting devices (e.g: rootfs)
|
||||||
|
awk '{print $1}' /proc/mounts | grep -q "^$DEVNAME$" || automount
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
|
if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
|
||||||
for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
|
for mnt in `grep "$DEVNAME" /proc/mounts | cut -f 2 -d " " `
|
||||||
do
|
do
|
||||||
$UMOUNT -l $mnt
|
$UMOUNT -l $mnt
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove empty directories from auto-mounter
|
# Remove empty directories from auto-mounter
|
||||||
test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
|
test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user