Make scripts run completely out of git repo

This commit is contained in:
T. Joseph Carter 2016-10-27 13:31:00 -07:00
parent 85d30152f2
commit e131b8de40
12 changed files with 101 additions and 71 deletions

View File

@ -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

View File

@ -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}/" ;;

View File

@ -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

View File

@ -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

View File

@ -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 </usr/local/etc/A2SERVER-version
@ -38,10 +42,14 @@ done
echo
echo "Update history:"
wget -qO- "${scriptURL}update/versionhistory.txt"
if [[ -z "$a2sDevel" ]]; then
wget -qO- "${scriptURL}update/versionhistory.txt"
else
cat "$a2sDevel/update/versionhistory.txt"
fi
echo
echo "installed version: ${installedVersion:0:1}.${installedVersion:1:1}.${installedVersion:2:1}"
echo "current version: ${currentVersion:0:1}.${currentVersion:1:1}.${currentVersion:2:1}"
echo "installed version: ${installedVersion}"
echo "current version: ${currentVersion}"
echo
if [[ $autoAnswerYes ]]; then
REPLY="y"
@ -50,8 +58,11 @@ else
read
fi
if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then
# sudo rm /usr/local/etc/netatalk/a2boot/* &> /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