From 0d567183c381d0a20e8288a8e62f6c51fcf5b75d Mon Sep 17 00:00:00 2001 From: Taylor Smock Date: Thu, 29 Oct 2015 06:59:14 -0600 Subject: [PATCH] Modified method for picking the directory. * Now uses XDG_DATA_HOME if it is set. Otherwise, if $HOME/.local/share exists, it uses that. Otherwise, it uses $HOME/.multimc5 * Script to start has been modified to use arguments. USE AT OWN RISK! --- .SRCINFO | 4 ++-- PKGBUILD | 4 ++-- multimc5.sh | 46 +++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 818bb51..00b936a 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = multimc5 pkgdesc = Minecraft launcher with ability to manage multiple instances. pkgver = 0.4.7 - pkgrel = 1 + pkgrel = 3 url = http://multimc.org/ arch = i686 arch = x86_64 @@ -21,7 +21,7 @@ pkgbase = multimc5 source = multimc5.sh source = multimc5.desktop sha512sums = 237b566ee6b7e6ba0800790f0ec25e3e2fd6037688fd5b3105d8f3dfe880c3d0eeb5d08969b222b45cf815e8c616aef0bc955a4ac12bf65138a88f004ea2175f - sha512sums = 039dcb1e40eaad229dad9a71b7a858774fc689a90f352726608bb508fb482f50c6ce1fb5c77265846d36937ca60806516bf1d93aa93c44661392dd0922dd00c5 + sha512sums = 573ca15b53e22ffde35d0daf55d68ce33ed1764d89517146123bbc6a3bc77f410fa84b1f8fb4b1eb0b6e4c8cdd3291922c5ad83edca4b484e20bd27230e27e4a sha512sums = a6712d0e84acc719ed1aff740717add44202f88cb42a0b7a3157108b73a1009ac7edd325f75d372e0a63617f40eb614d55fb4e24e5c1fb8957cd280486070675 pkgname = multimc5 diff --git a/PKGBUILD b/PKGBUILD index 3f778bb..1e20943 100755 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgname=multimc5 pkgver=0.4.7 -pkgrel=1 +pkgrel=3 pkgdesc="Minecraft launcher with ability to manage multiple instances." arch=('i686' 'x86_64') url="http://multimc.org/" @@ -17,7 +17,7 @@ source=("https://github.com/MultiMC/MultiMC5/archive/${pkgver}.tar.gz" 'multimc5.desktop' ) sha512sums=('237b566ee6b7e6ba0800790f0ec25e3e2fd6037688fd5b3105d8f3dfe880c3d0eeb5d08969b222b45cf815e8c616aef0bc955a4ac12bf65138a88f004ea2175f' - '039dcb1e40eaad229dad9a71b7a858774fc689a90f352726608bb508fb482f50c6ce1fb5c77265846d36937ca60806516bf1d93aa93c44661392dd0922dd00c5' + '573ca15b53e22ffde35d0daf55d68ce33ed1764d89517146123bbc6a3bc77f410fa84b1f8fb4b1eb0b6e4c8cdd3291922c5ad83edca4b484e20bd27230e27e4a' 'a6712d0e84acc719ed1aff740717add44202f88cb42a0b7a3157108b73a1009ac7edd325f75d372e0a63617f40eb614d55fb4e24e5c1fb8957cd280486070675') diff --git a/multimc5.sh b/multimc5.sh index 2a7054f..24fd1a6 100755 --- a/multimc5.sh +++ b/multimc5.sh @@ -1,4 +1,44 @@ #!/bin/bash -CONFIG_DIR=${XDG_CONFIG_HOME:-$HOME/.multimc5} -mkdir -p $CONFIG_DIR -/usr/lib/multimc5/MultiMC5 -d $CONFIG_DIR +# Usage: $0 [DATA_DIR] [NAME] +set -e +set -x +function variables() { + NAME="${2:-multimc5}" + if [ "${1}" ]; then + DATA_DIR="${1}" + else + if [ "${XDG_DATA_HOME}" ]; then + DATA_DIR="${XDG_DATA_HOME}/${NAME}" + elif [ -d "${HOME}/.local/share" ]; then + DATA_DIR="${HOME}/.local/share/${NAME}" + else + DATA_DIR="${HOME}/.${NAME}" + fi + fi + echo ${DATA_DIR} +} +function move() { + for i in "${1}"; do + mv "${i}" "${2}" + done +} +function directories() { + mkdir --parents "${DATA_DIR}" + if [ -d "${HOME}/.${NAME}" ] && [ "${HOME}/.${NAME}" != "${DATA_DIR}" ]; then + move "${HOME}/.${NAME}/" "${DATA_DIR}/" + rmdir "${HOME}/.${NAME}" + elif [ -d "${HOME}/.local/share/${NAME}" ] && [ "${HOME}/.local/share/${NAME}" != "${DATA_DIR}" ]; then + move "${HOME}/.local/share/${NAME}" "${DATA_DIR}" + rmdir "${HOME}/.local/share/${NAME}" + elif [ -d "${XDG_DATA_HOME}/${NAME}" ] && [ "${XDG_DATA_HOME}/${NAME}" != "${DATA_DIR}" ] ; then + move "${XDG_DATA_HOME}/${NAME}/" "${DATA_DIR}" + rmdir "${XDG_DATA_HOME}/${NAME}" + fi +} + +function main() { + variables $@ + directories + #/usr/lib/multimc5/MultiMC5 --dir "${DATA_DIR}" +} +main $@