mirror of
https://github.com/RetroPie/RetroPie-Setup.git
synced 2025-04-02 10:51:41 -04:00
58 lines
1.4 KiB
Bash
58 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# This file is part of The RetroPie Project
|
|
#
|
|
# The RetroPie Project is the legal property of its developers, whose names are
|
|
# too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
|
|
#
|
|
# See the LICENSE.md file at the top-level directory of this distribution and
|
|
# at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
|
|
#
|
|
|
|
## config / defaults
|
|
user="USER"
|
|
|
|
home="$(eval echo ~$user)"
|
|
retropie_path="$home/RetroPie"
|
|
|
|
usb_path="$UM_MOUNTPOINT/retropie-mount"
|
|
|
|
## internals
|
|
hook_name=${0##*/}
|
|
|
|
## functions
|
|
function log() {
|
|
logger -p user.$1 -t usbmount-"$hook_name"-[$$] -- "$2"
|
|
}
|
|
|
|
function log_cmd() {
|
|
local ret
|
|
local error
|
|
error="$("$@" 2>&1 >/dev/null)"
|
|
ret=$?
|
|
[[ "$ret" -ne 0 ]] && log err "$* - returned $ret - $error"
|
|
}
|
|
|
|
## some sanity checking
|
|
if [[ -z "$UM_MOUNTPOINT" ]]; then
|
|
log err "UM_MOUNTPOINT not set!"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ ! -d "$UM_MOUNTPOINT" ]]; then
|
|
log err "UM_MOUNTPOINT is not a directory"
|
|
exit 0
|
|
fi
|
|
|
|
# check for a retropie-mount folder
|
|
if [[ ! -d "$usb_path" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [[ -z "$(ls -A "$usb_path")" ]]; then
|
|
log info "Copying existing $retropie_path to $usb_path ..."
|
|
log_cmd rsync -rtu "$retropie_path/" "$usb_path/"
|
|
fi
|
|
|
|
log info "Mounting $usb_path over $retropie_path ..."
|
|
log_cmd mount -o bind "$usb_path" "$retropie_path"
|