Commit c56356fc authored by Mikhail Tergoev's avatar Mikhail Tergoev

Merge branch 'Boria138-fix-automount' into devel

parents cea79dec 9b290c5b
...@@ -1255,25 +1255,42 @@ check_dirs_and_files_in_pfx () { ...@@ -1255,25 +1255,42 @@ check_dirs_and_files_in_pfx () {
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local" "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data" then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local" "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data"
fi fi
find "${WINEPREFIX}/dosdevices" -xtype l -maxdepth 1 2>/dev/null -exec rm {} \;
rm -f "${WINEPREFIX}/dosdevices/"*::
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/"*::
for drive in "${DRIVES[@]}"; do
rm -f "${WINEPREFIX}/dosdevices/${drive}:"
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 "$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
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment