Finally fixed duplicates of sd cards and flash drives (SteamDeck)
This commit is contained in:
parent
95f51b9f41
commit
9440a0d900
@ -1260,26 +1260,41 @@ check_dirs_and_files_in_pfx () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
DRIVES=(d e f g i j k l m n o p q r s t u v w x y)
|
DRIVES=(d e f g i j k l m n o p q r s t u v w x y)
|
||||||
DEF_MOUNT_DIRS=('/media' "/media/$USER" '/mnt' '/run/media' "/run/media/$USER")
|
DEF_MOUNT_DIRS=('/media' '/mnt' '/run/media')
|
||||||
MOUNT_DIRS=($(find "${DEF_MOUNT_DIRS[@]}" -maxdepth 1 -type d 2>/dev/null | sort -u))
|
MOUNT_DIRS=($(find "${DEF_MOUNT_DIRS[@]}" -maxdepth 1 -mindepth 1 -type d 2>/dev/null | sort -u))
|
||||||
|
|
||||||
|
rm -f "${WINEPREFIX}/dosdevices/com"*
|
||||||
|
rm -f "${WINEPREFIX}/dosdevices/"*::
|
||||||
|
|
||||||
rm -fv "${WINEPREFIX}/dosdevices/"*::
|
|
||||||
for drive in "${DRIVES[@]}"; do
|
for drive in "${DRIVES[@]}"; do
|
||||||
rm -fv "${WINEPREFIX}/dosdevices/${drive}:" 2>/dev/null
|
rm -f "${WINEPREFIX}/dosdevices/${drive}:"
|
||||||
done
|
done
|
||||||
|
|
||||||
for drive_dir in "${MOUNT_DIRS[@]}" ; do
|
for drive_dir in "${MOUNT_DIRS[@]}" ; do
|
||||||
if [[ ! "${DEF_MOUNT_DIRS[@]}" =~ "$drive_dir" ]] \
|
if mountpoint -q "$drive_dir" ; then
|
||||||
&& ! realpath "${WINEPREFIX}/dosdevices"/*: | grep -w "$drive_dir$" &>/dev/null ; then
|
if ! realpath "${WINEPREFIX}/dosdevices"/*: | grep -w "$drive_dir$" &>/dev/null ; then
|
||||||
drive_num=0
|
drive_num=0
|
||||||
while [[ "$drive_num" -lt "${#DRIVES[@]}" ]] ; do
|
while [[ "$drive_num" -lt "${#DRIVES[@]}" ]] ; do
|
||||||
drive_path="${WINEPREFIX}/dosdevices/${DRIVES[$drive_num]}:"
|
drive_path="${WINEPREFIX}/dosdevices/${DRIVES[$drive_num]}:"
|
||||||
if [ ! -d "$drive_path" ] ; then
|
mount_point=$(df -P "$drive_dir" | awk 'NR==2 {print $1}')
|
||||||
ln -sf "$drive_dir" "$drive_path"
|
mount_name=$(lsblk -no pkname "$mount_point" 2>/dev/null)
|
||||||
break
|
|
||||||
else
|
if [[ ! -L "$drive_path" ]] ; then
|
||||||
((drive_num++))
|
if [[ $(cat "/sys/class/block/$mount_name/removable") != "1" ]] 2>/dev/null ; then
|
||||||
fi
|
if [[ ! $(echo "$mount_point" | grep "mmc") ]] 2>/dev/null ; then
|
||||||
done
|
ln -sf "$drive_dir" "$drive_path"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
((drive_num++))
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
((drive_num++))
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
((drive_num++))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user