Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
69 lines
1.6 KiB
Bash
69 lines
1.6 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Called from udev
|
|
#
|
|
# Attempt to mount any added block devices and umount any removed devices
|
|
|
|
|
|
MOUNT="/bin/mount"
|
|
PMOUNT="/usr/bin/pmount"
|
|
UMOUNT="/bin/umount"
|
|
|
|
for line in `cat /etc/udev/mount.blacklist`
|
|
do
|
|
if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
|
|
then
|
|
logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"
|
|
exit 0
|
|
fi
|
|
done
|
|
|
|
automount() {
|
|
name="`basename "$DEVNAME"`"
|
|
|
|
! test -d "/media/$name" && mkdir -p "/media/$name"
|
|
|
|
if ! $MOUNT -t auto -o sync $DEVNAME "/media/$name"
|
|
then
|
|
#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
|
|
rm_dir "/media/$name"
|
|
else
|
|
logger "mount.sh/automount" "Auto-mount of [/media/$name] successful"
|
|
touch "/tmp/.automount-$name"
|
|
fi
|
|
}
|
|
|
|
rm_dir() {
|
|
# We do not want to rm -r populated directories
|
|
if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
|
|
then
|
|
! test -z "$1" && rm -r "$1"
|
|
else
|
|
logger "mount.sh/automount" "Not removing non-empty directory [$1]"
|
|
fi
|
|
}
|
|
|
|
if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
|
|
if [ -x "$PMOUNT" ]; then
|
|
$PMOUNT $DEVNAME 2> /dev/null
|
|
elif [ -x $MOUNT ]; then
|
|
$MOUNT $DEVNAME 2> /dev/null
|
|
fi
|
|
|
|
# If the device isn't mounted at this point, it isn't configured in fstab
|
|
grep -q "^$DEVNAME " /proc/mounts || automount
|
|
fi
|
|
|
|
|
|
|
|
if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
|
|
for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
|
|
do
|
|
$UMOUNT $mnt
|
|
done
|
|
|
|
# Remove empty directories from auto-mounter
|
|
name="`basename "$DEVNAME"`"
|
|
test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
|
|
fi
|