#!/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"