diff --git a/README.md b/README.md index 9d32461..f740269 100755 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This program will install [JRiver Media Center](https://www.jriver.com/) (JRMC) Running `installJRMC` without any options will install the latest version of JRiver Media Center from the official JRiver repository (Ubuntu/Debian) or my [unofficial repository](https://repos.bryanroessler.com/jriver/) (Fedora/CentOS) using the system package manager (`--install repo`). If any other option is specified, then the default install method (i.e. `--install repo` or `--install local`) will need to be explicitly specified. This makes it possible to install services and containers independent of MC. -**Note**: `installJRMC` does not perform library migrations. Before moving to a new major version (i.e. v28->v29), you should first [perform a library backup](https://wiki.jriver.com/index.php/Library_Backup), install the new major version, and then [restore the library](https://wiki.jriver.com/index.php/Restore_a_library). +**Note**: As of 1.0b14 major version library migrations are performed if the destination config directory `$HOME/.jriver/Media Center XX` is missing for major release `XX`. However, it is still a good idea to create a manual library backup before migrating major versions. ## Options diff --git a/installJRMC b/installJRMC index 4d446db..b6bff88 100755 --- a/installJRMC +++ b/installJRMC @@ -18,7 +18,7 @@ shopt -s extglob -declare -g SCRIPTVERSION="1.0b13" +declare -g SCRIPTVERSION="1.0b15" declare -g OUTPUTDIR="$PWD/output" declare -g CREATEREPO_WEBROOT="/var/www/jriver" declare -g USER="${SUDO_USER:-$USER}" @@ -1393,6 +1393,7 @@ disableCoW() { declare mc_user_path="$HOME/.jriver" for dir in "$mc_system_path" "$mc_user_path"; do + ! [[ -d "$dir" ]] && return if [[ $(stat -f -c %T "$dir") == "btrfs" ]] && ! lsattr -d "$dir" | cut -f1 -d" " | grep -q C; then echo "Disabling CoW for $dir" @@ -1409,14 +1410,14 @@ migrateLibrary() { debug "Running: ${FUNCNAME[0]}" declare mc_user_path="$HOME/.jriver" - declare current_config_path="$mc_user_path/Media Center $MVERSION" declare previous_config_path="$mc_user_path/Media Center $(( MVERSION - 1 ))" if [[ ! -d "$current_config_path" ]] && - [[ -d "$previous_config_path" ]]; then + [[ -d "$previous_config_path" ]] && + mkdir -p "$current_config_path"; then echo "Migrating $previous_config_path to $current_config_path" - rsync -a "$previous_config_path" "$current_config_path" &>/dev/null + cp -a "$previous_config_path"/* "$current_config_path" &>/dev/null fi }