diff --git a/scripts/a2server-2-tools.txt b/scripts/a2server-2-tools.txt index 36f910f..24f97b0 100755 --- a/scripts/a2server-2-tools.txt +++ b/scripts/a2server-2-tools.txt @@ -4,6 +4,15 @@ # download and install a2server tools: # mkatinit, mkvolinfo, afptype, afpsync, aliases, nulib2 +a2sDevel="$( dirname "${BASH_SOURCE[0]}" )/.." +if [[ -f "$a2sDevel/.a2server_source" ]]; then + pushd $a2sDevel >/dev/null + a2sDevel="$PWD" + popd >/dev/null +else + a2sDevel= +fi + # Ensure URL we'll use ends in a / case "$A2SERVER_SCRIPT_URL" in */) scriptURL="$A2SERVER_SCRIPT_URL" ;; @@ -173,19 +182,30 @@ else echo "A2SERVER: unzip has already been installed." fi -sudo wget -q -O /usr/local/bin/afpsync "${scriptURL}scripts/tools/afpsync.txt" -sudo chmod ugo+x /usr/local/bin/afpsync -sudo wget -q -O /usr/local/bin/afptype "${scriptURL}scripts/tools/afptype.txt" -sudo chmod ugo+x /usr/local/bin/afptype -sudo wget -q -O /usr/local/bin/mkatinit "${scriptURL}scripts/tools/mkatinit.txt" -sudo chmod ugo+x /usr/local/bin/mkatinit -sudo wget -q -O /usr/local/bin/mkvolinfo "${scriptURL}scripts/tools/mkvolinfo.txt" -sudo chmod ugo+x /usr/local/bin/mkvolinfo -sudo wget -q -O /usr/local/bin/cppo "${scriptURL}scripts/tools/cppo.txt" -sudo chmod ugo+x /usr/local/bin/cppo -sudo wget -q -O /usr/local/etc/a2server-help.txt "${scriptURL}scripts/tools/a2server-help.txt" -sudo wget -q -O /usr/local/etc/a2server-aliases "${scriptURL}scripts/tools/a2server-aliases.txt" -sudo wget -q -O /usr/local/etc/a2serverrc "${scriptURL}scripts/tools/a2serverrc.txt" +a2sTools="afpsync afptype mkatinit mkvolinfo cppo" +a2sHelp="a2server-help.txt" +a2sConfScripts="a2server-aliases a2serverrc" +if [[ -z "$a2sDevel" ]]; then + a2sToolDir="/tmp/a2server-install/tools" + mkdir -p "$a2sToolDir" + for _tool in $a2sTools $a2sHelp $a2sConfScripts; do + sudo wget -q -O "$a2sToolDir/$_tool" "${scriptURL}scripts/tools/$_tool" + done +else + a2sToolDir="$a2sDevel/scripts/tools" +fi +for _tool in $a2sTools; do + sudo install -m 755 "$a2sToolDir/$_tool" "/usr/local/bin/$_tool" +done +for _help in $a2sTools; do + sudo install -m 644 "$a2sToolDir/$_help" "/usr/local/etc/$_help" +done +for _confscript in $a2sConfScripts; do + sudo install -m 755 "$a2sToolDir/$_confscript" "/usr/local/etc/$_tool" +done +if [[ -z "$a2sDevel" ]]; then + rm -rf "$a2sToolDir" +fi # 1.3.0: a2serverrc is now called from /etc/bash.bashrc, # which in turn calls a2server-aliases diff --git a/scripts/a2server-3-sharing.txt b/scripts/a2server-3-sharing.txt index 27b770a..93ae344 100755 --- a/scripts/a2server-3-sharing.txt +++ b/scripts/a2server-3-sharing.txt @@ -14,11 +14,6 @@ # --- Installing netatalk -# Ensure URL we'll use ends in a / -case "$A2SERVER_SCRIPT_URL" in - */) scriptURL="$A2SERVER_SCRIPT_URL" ;; - *) scriptURL="${A2SERVER_SCRIPT_URL:-https://raw.githubusercontent.com/RasppleII/a2server/current}/" ;; -esac case "$A2SERVER_BINARY_URL" in */) binaryURL="$A2SERVER_BINARY_URL" ;; *) binaryURL="${A2SERVER_BINARY_URL:-http://ivanx.com/a2server/files}/" ;; diff --git a/scripts/a2server-5-netboot.txt b/scripts/a2server-5-netboot.txt index cd45ce1..3b187c7 100755 --- a/scripts/a2server-5-netboot.txt +++ b/scripts/a2server-5-netboot.txt @@ -7,13 +7,13 @@ # program (for Apple IIe users, and IIgs users in ProDOS network mode). # It also can download and install GS/OS for a network boot configuration. -a2server_devel="$( dirname "${BASH_SOURCE[0]}" )/.." -if [[ -f "$a2server_devel/.a2server_source" ]]; then - pushd $a2server_devel >/dev/null - a2server_devel="$PWD" +a2sDevel="$( dirname "${BASH_SOURCE[0]}" )/.." +if [[ -f "$a2sDevel/.a2server_source" ]]; then + pushd $a2sDevel >/dev/null + a2sDevel="$PWD" popd >/dev/null else - a2server_devel= + a2sDevel= fi # Ensure URL we'll use ends in a / @@ -267,15 +267,16 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then || [[ ! -f /usr/local/bin/mkvolinfo ]] \ || [[ ! -f /usr/local/bin/afpsync ]] \ || [[ ! -f /usr/local/bin/cppo ]]; then - if [[ -z "$a2server_devel" ]]; then - mkdir -p /tmp/a2server-install - rm -f /tmp/a2server-install/a2server-2-tools.txt &>/dev/null - wget -q -O /tmp/a2server-install/a2server-2-tools.txt "${scriptURL}scripts/a2server-2-tools.txt" - chmod ugo+x /tmp/a2server-install/a2server-2-tools.txt - /tmp/a2server-install/a2server-2-tools.txt + if [[ -z "$a2sDevel" ]]; then + a2sScriptDir="/tmp/a2server-install/scripts" + mkdir -p "$a2sScriptDir" + rm -f "$a2sScriptDir/a2server-2-tools.txt" &>/dev/null + wget -q -O "$a2sScriptDir/a2server-2-tools.txt" "${scriptURL}scripts/a2server-2-tools.txt" + chmod ugo+x "$a2sScriptDir/a2server-2-tools.txt" + fi + "$a2sScriptDir/a2server-2-tools.txt" + if [[ -z "$a2sDevel" ]]; then rm -f /tmp/a2server-install/a2server-2-tools.txt - else - "$a2server_devel/scripts/a2server-install/a2server-2-tools.txt" fi fi @@ -537,8 +538,13 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then echo "A2SERVER: Updating ProDOS 8 Thunderclock driver year table..." mkdir -p /tmp/netboot rm -r /tmp/netboot/* 2> /dev/null - wget -qO /tmp/netboot/clock.patch.py "${scriptURL}scripts/clock.patch.py" - updateP8YearTables $(python /tmp/netboot/clock.patch.py $(LANG=C date +"%a %m/%d/%y")) + if [[ -z $a2sDevel ]]; then + p8ClockPatch="/tmp/netboot/clock.patch.py" + wget -qO "$p8ClockPatch" "${scriptURL}scripts/clock.patch.py" + else + p8ClockPatch="$a2sDevel/scripts/clock.patch.py" + fi + updateP8YearTables $(python $p8ClockPatch $(LANG=C date +"%a %m/%d/%y")) gsosInstalled="" if [[ -f "$gsosDir/System/Start.GS.OS" ]]; then diff --git a/scripts/tools/a2server-aliases.txt b/scripts/tools/a2server-aliases similarity index 100% rename from scripts/tools/a2server-aliases.txt rename to scripts/tools/a2server-aliases diff --git a/scripts/tools/a2serverrc.txt b/scripts/tools/a2serverrc similarity index 100% rename from scripts/tools/a2serverrc.txt rename to scripts/tools/a2serverrc diff --git a/scripts/tools/afpsync.txt b/scripts/tools/afpsync similarity index 100% rename from scripts/tools/afpsync.txt rename to scripts/tools/afpsync diff --git a/scripts/tools/afptype.txt b/scripts/tools/afptype similarity index 100% rename from scripts/tools/afptype.txt rename to scripts/tools/afptype diff --git a/scripts/tools/cppo.txt b/scripts/tools/cppo similarity index 100% rename from scripts/tools/cppo.txt rename to scripts/tools/cppo diff --git a/scripts/tools/mkatinit.txt b/scripts/tools/mkatinit similarity index 100% rename from scripts/tools/mkatinit.txt rename to scripts/tools/mkatinit diff --git a/scripts/tools/mkvolinfo.txt b/scripts/tools/mkvolinfo similarity index 100% rename from scripts/tools/mkvolinfo.txt rename to scripts/tools/mkvolinfo diff --git a/setup/index.txt b/setup/index.txt index 79e4cfe..bccf17c 100755 --- a/setup/index.txt +++ b/setup/index.txt @@ -11,13 +11,13 @@ a2serverVersion="1.5.1" -a2server_devel="$( dirname "${BASH_SOURCE[0]}" )/.." -if [[ -f "$a2server_devel/.a2server_source" ]]; then - pushd $a2server_devel >/dev/null - a2server_devel="$PWD" +a2sDevel="$( dirname "${BASH_SOURCE[0]}" )/.." +if [[ -f "$a2sDevel/.a2server_source" ]]; then + pushd $a2sDevel >/dev/null + a2sDevel="$PWD" popd >/dev/null else - a2server_devel= + a2sDevel= fi # Ensure URL we'll use ends in a / @@ -125,6 +125,7 @@ setupNetBoot= setupWindowsSharing= compileAlways= updateRasppleII= +rm -rf /tmp/a2server-install rm /tmp/a2server-* 2> /dev/null while [[ $1 ]]; do if [[ $1 == "-r" ]]; then @@ -309,7 +310,7 @@ if (( $doSetup )); then echo echo "A2SERVER: Downloading scripts..." - read -d '' a2serverSubScripts <<-EOF + read -d '' a2sSubScripts <<-EOF a2server-1-storage.txt a2server-2-tools.txt a2server-3-sharing.txt @@ -318,33 +319,30 @@ if (( $doSetup )); then a2server-7-console.txt EOF - if [[ -z "$a2server_devel" ]]; then - for _script in $a2serverSubScripts; do - wget -q -O "/tmp/a2server-install/$_script" "${scriptURL}scripts/$_script" - chmod ugo+x "/tmp/a2server-install/$_script" + if [[ -n "$a2sDevel" ]]; then + a2sScriptDir="$a2sDevel/scripts" + else + a2sScriptDir="/tmp/a2server-install/scripts" + mkdir -p "$a2sScriptDir" + for _script in $a2sSubScripts; do + wget -q -O "$a2sScriptDir/$_script" "${scriptURL}scripts/$_script" + chmod ugo+x "$a2sScriptDir/$_script" done echo "A2SERVER: Scripts have been downloaded. Installing..." + fi - if [[ $installAll ]]; then - sudo rm -f /usr/local/etc/A2SERVER-version /usr/local/bin/nulib2 /usr/local/bin/unar /usr/local/sbin/macipgw /usr/local/bin/ciopfs /usr/local/etc/netatalk/afppasswd /usr/local/etc/netatalk/a2boot/p8 /usr/local/etc/netatalk/a2boot/ProDOS16\ Image - fi + if [[ $installAll ]]; then + sudo rm -f /usr/local/etc/A2SERVER-version /usr/local/bin/nulib2 /usr/local/bin/unar /usr/local/sbin/macipgw /usr/local/bin/ciopfs /usr/local/etc/netatalk/afppasswd /usr/local/etc/netatalk/a2boot/p8 /usr/local/etc/netatalk/a2boot/ProDOS16\ Image + fi - for _script in $a2serverSubScripts; do - "/tmp/a2server-install/$_script" - done - for _script in $a2serverSubScripts; do - rm -f "/tmp/a2server-install/$_script" - done + for _script in $a2sSubScripts; do + "$a2sScriptDir/$_script" + done - else - # Local development scripts just run them - if [[ $installAll ]]; then - sudo rm -f /usr/local/etc/A2SERVER-version /usr/local/bin/nulib2 /usr/local/bin/unar /usr/local/sbin/macipgw /usr/local/bin/ciopfs /usr/local/etc/netatalk/afppasswd /usr/local/etc/netatalk/a2boot/p8 /usr/local/etc/netatalk/a2boot/ProDOS16\ Image - fi - - for _script in $a2serverSubScripts; do - "$a2server_devel/scripts/$_script" + if [[ -z "$a2sDevel" ]]; then + for _script in $a2sSubScripts; do + rm -f "$a2sScriptDir/$_script" done fi diff --git a/update/index.txt b/update/index.txt index 794d0b5..ca35b75 100755 --- a/update/index.txt +++ b/update/index.txt @@ -1,13 +1,13 @@ #! /bin/bash # vim: set tabstop=4 shiftwidth=4 noexpandtab filetype=sh: -a2server_devel="$( dirname "${BASH_SOURCE[0]}" )/.." -if [[ -f "$a2server_devel/.a2server_source" ]]; then - pushd $a2server_devel >/dev/null - a2server_devel="$PWD" +a2sDevel="$( dirname "${BASH_SOURCE[0]}" )/.." +if [[ -f "$a2sDevel/.a2server_source" ]]; then + pushd $a2sDevel >/dev/null + a2sDevel="$PWD" popd >/dev/null else - a2server_devel= + a2sDevel= fi # Ensure URL we'll use ends in a / @@ -16,7 +16,11 @@ case "$A2SERVER_SCRIPT_URL" in *) scriptURL="${A2SERVER_SCRIPT_URL:-https://raw.githubusercontent.com/RasppleII/a2server/current}/" ;; esac -currentVersion=$(wget -qO- "${scriptURL}setup/index.txt" | grep '^a2serverVersion' | cut -d '"' -f 2) +if [[ -z "$a2sDevel" ]]; then + currentVersion=$(wget -qO- "${scriptURL}setup/index.txt" | grep '^a2serverVersion' | cut -d '"' -f 2) +else + currentVersion=$(grep '^a2serverVersion' "$a2sDevel/setup/index.txt" | cut -d '"' -f 2) +fi if [[ -f /usr/local/etc/A2SERVER-version ]]; then read installedVersion /dev/null - wget -q -O /tmp/setup "${scriptURL}setup/index.txt"; source /tmp/setup -i "$@" + if [[ -z "$a2sDevel" ]]; then + wget -q -O /tmp/setup "${scriptURL}setup/index.txt"; source /tmp/setup -i "$@" + else + "$a2sDevel/setup/index.txt" + fi fi unset currentVersion 2> /dev/null