diff --git a/install-onlyoffice.sh b/install-onlyoffice.sh index 84c021d91..7be005895 100755 --- a/install-onlyoffice.sh +++ b/install-onlyoffice.sh @@ -6,7 +6,7 @@ set -euo pipefail -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) CONF_DIR=$SCRIPT_DIR/onlyoffice-conf BUILDS_DIR=$CONF_DIR/onlyoffice-builds.git OO_DIR=$SCRIPT_DIR/www/common/onlyoffice/dist @@ -14,86 +14,89 @@ PROPS_FILE="$CONF_DIR"/onlyoffice.properties declare -A PROPS -main () { - mkdir -p "$CONF_DIR" +main() { + mkdir -p "$CONF_DIR" - load_props + load_props - parse_arguments "$@" + parse_arguments "$@" - ask_for_license + ask_for_license - # Remeber the 1st version that is installed. This will help us install only - # needed OnlyOffice versions in a later version of this script. - set_prop oldest_needed_version v1 + # Remeber the 1st version that is installed. This will help us install only + # needed OnlyOffice versions in a later version of this script. + set_prop oldest_needed_version v1 - mkdir -p "$OO_DIR" - install_version v1 4f370beb - install_version v2b d9da72fd - install_version v4 6ebc6938 - install_version v5 88a356f0 - install_version v6 abd8a309 - install_version v7 3506b60c - install_x2t v7.3+1 ab0c05b0e4c81071acea83f0c6a8e75f5870c360ec4abc4af09105dd9b52264af9711ec0b7020e87095193ac9b6e20305e446f2321a541f743626a598e5318c1 + mkdir -p "$OO_DIR" + install_version v1 4f370beb + install_version v2b d9da72fd + install_version v4 6ebc6938 + install_version v5 88a356f0 + install_version v6 abd8a309 + install_version v7 ba82142f + install_x2t v7.3+1 ab0c05b0e4c81071acea83f0c6a8e75f5870c360ec4abc4af09105dd9b52264af9711ec0b7020e87095193ac9b6e20305e446f2321a541f743626a598e5318c1 - rm -rf "$BUILDS_DIR" - if command -v rdfind &> /dev/null; then - rdfind -makehardlinks true -makeresultsfile false $OO_DIR/v* - fi + rm -rf "$BUILDS_DIR" + if command -v rdfind &>/dev/null; then + rdfind -makehardlinks true -makeresultsfile false $OO_DIR/v* + fi } -load_props () { - if [ -e "$PROPS_FILE" ]; then - while IFS='=' read -r key value; do - PROPS["$key"]="$value" - done < "$PROPS_FILE" - fi +load_props() { + if [ -e "$PROPS_FILE" ]; then + while IFS='=' read -r key value; do + PROPS["$key"]="$value" + done <"$PROPS_FILE" + fi } -set_prop () { - PROPS["$1"]="$2" +set_prop() { + PROPS["$1"]="$2" - for i in "${!PROPS[@]}"; do - echo "$i=${PROPS[$i]}" - done > "$PROPS_FILE" + for i in "${!PROPS[@]}"; do + echo "$i=${PROPS[$i]}" + done >"$PROPS_FILE" } -parse_arguments () { - while [[ $# -gt 0 ]]; do - case $1 in - -h|--help) - show_help - shift - ;; - -a|--accept-license) - ACCEPT_LICENSE="1" - shift - ;; - *) - show_help - shift - ;; - esac - done +parse_arguments() { + while [[ $# -gt 0 ]]; do + case $1 in + -h | --help) + show_help + shift + ;; + -a | --accept-license) + ACCEPT_LICENSE="1" + shift + ;; + *) + show_help + shift + ;; + esac + done } -ask_for_license () { - if [ ${ACCEPT_LICENSE+x} ] || [ "${PROPS[agree_license]:-no}" == yes ]; then - return - fi +ask_for_license() { + if [ ${ACCEPT_LICENSE+x} ] || [ "${PROPS[agree_license]:-no}" == yes ]; then + return + fi - ensure_command_available curl + ensure_command_available curl - (echo -e "Please review the license of OnlyOffice:\n\n" ; curl https://raw.githubusercontent.com/ONLYOFFICE/web-apps/master/LICENSE.txt 2>/dev/null) | less + ( + echo -e "Please review the license of OnlyOffice:\n\n" + curl https://raw.githubusercontent.com/ONLYOFFICE/web-apps/master/LICENSE.txt 2>/dev/null + ) | less - read -rp "Do you accept the license? (Y/N): " confirm \ - && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1 + read -rp "Do you accept the license? (Y/N): " confirm && + [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1 - set_prop "agree_license" yes + set_prop "agree_license" yes } -show_help () { - cat << EOF +show_help() { + cat < "$FULL_DIR"/.commit + echo "$COMMIT" >"$FULL_DIR"/.commit - echo "$DIR updated" - else - echo "$DIR was up to date" - fi + echo "$DIR updated" + else + echo "$DIR was up to date" + fi - - if [ ${CLEAR+x} ]; then - rm -f "$FULL_DIR"/.git - fi + if [ ${CLEAR+x} ]; then + rm -f "$FULL_DIR"/.git + fi } -install_x2t () { - ensure_command_available curl - ensure_command_available sha512sum - ensure_command_available unzip +install_x2t() { + ensure_command_available curl + ensure_command_available sha512sum + ensure_command_available unzip - local VERSION=$1 - local HASH=$2 - local LAST_DIR - LAST_DIR=$(pwd) - local X2T_DIR=$OO_DIR/x2t + local VERSION=$1 + local HASH=$2 + local LAST_DIR + LAST_DIR=$(pwd) + local X2T_DIR=$OO_DIR/x2t - if [ ! -e "$X2T_DIR"/.version ] || [ "$(cat "$X2T_DIR"/.version)" != "$VERSION" ]; then - rm -rf "$X2T_DIR" - mkdir -p "$X2T_DIR" + if [ ! -e "$X2T_DIR"/.version ] || [ "$(cat "$X2T_DIR"/.version)" != "$VERSION" ]; then + rm -rf "$X2T_DIR" + mkdir -p "$X2T_DIR" - cd "$X2T_DIR" + cd "$X2T_DIR" - curl "https://github.com/cryptpad/onlyoffice-x2t-wasm/releases/download/$VERSION/x2t.zip" --location --output x2t.zip - # curl "https://github.com/cryptpad/onlyoffice-x2t-wasm/releases/download/v7.3%2B1/x2t.zip" --location --output x2t.zip - echo "$HASH x2t.zip" > x2t.zip.sha512 - if ! sha512sum --check x2t.zip.sha512; then - echo "x2t.zip does not match expected checksum" - exit 1 - fi - unzip x2t.zip - rm x2t.zip* + curl "https://github.com/cryptpad/onlyoffice-x2t-wasm/releases/download/$VERSION/x2t.zip" --location --output x2t.zip + # curl "https://github.com/cryptpad/onlyoffice-x2t-wasm/releases/download/v7.3%2B1/x2t.zip" --location --output x2t.zip + echo "$HASH x2t.zip" >x2t.zip.sha512 + if ! sha512sum --check x2t.zip.sha512; then + echo "x2t.zip does not match expected checksum" + exit 1 + fi + unzip x2t.zip + rm x2t.zip* - echo "$VERSION" > "$X2T_DIR"/.version + echo "$VERSION" >"$X2T_DIR"/.version - echo "x2t updated" - else - echo "x2t was up to date" - fi + echo "x2t updated" + else + echo "x2t was up to date" + fi } -ensure_command_available () { - if ! command -v "$1" &> /dev/null; then - echo "$1 needs to be installed to run this script" - exit 1 - fi +ensure_command_available() { + if ! command -v "$1" &>/dev/null; then + echo "$1 needs to be installed to run this script" + exit 1 + fi } main "$@"