diff --git a/files/dist/getexternal.sh b/files/dist/getexternal.sh index 94c4067..ba69f6f 100755 --- a/files/dist/getexternal.sh +++ b/files/dist/getexternal.sh @@ -23,15 +23,14 @@ wget -O files/external/appleii/PPPX.1.3d4.SHK http://www.apple2.org/marinetti/PP wget -O files/external/appleii/dsk2file.shk http://www.dwheeler.com/6502/oneelkruns/dsk2file.zip wget -O files/external/appleii/gshk11.sea http://www.nulib.com/library/gshk11.sea wget -O files/external/appleii/shrinkit.sdk http://www.nulib.com/library/shrinkit.sdk -wget -O files/external/appleii/spectrum_gold_2mg.zip http://www.speccie.co.uk/speccie/software/spectrum_gold_2mg.zip -wget -O files/external/appleii/uthernet2ll.bxy http://www.speccie.co.uk/speccie/software/uthernet2ll.bxy -wget -O files/external/appleii/uthernetll.bxy http://www.speccie.co.uk/speccie/software/uthernetll.bxy +wget -O files/external/appleii/spectrum_gold_2mg.zip http://speccie.uk/speccie/downloads/spectrum_gold_2mg.zip +wget -O files/external/appleii/uthernet2ll.bxy http://speccie.uk/speccie/downloads/uthernet2ll.bxy +wget -O files/external/appleii/uthernetll.bxy http://speccie.uk/speccie/downloads/uthernetll.bxy -unset safeUrl samUrl snapUrl safeVer samVer snapVer -html=$(wget -qO- http://speccie.co.uk/speccie/Site/Download_Centre_files/widget1_markup.html) -safeUrl=$(echo "$html" | grep -i 'safe2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') -samUrl=$(echo "$html" | grep -i 'sam2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') -snapUrl=$(echo "$html" | grep -i 'snap.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') +unset safeUrl samUrl snapUrl +safeUrl=$(wget -qO- http://speccie.uk/software/safe2/ | grep -i 'safe2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') +samUrl=$(wget -qO- http://speccie.uk/software/sam2/ | grep -i 'sam2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') +snapUrl=$(wget -qO- http://speccie.uk/software/snap/ | grep -i 'snap.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') wget -O files/external/appleii/safe2.bxy "$safeUrl" wget -O files/external/appleii/sam2.bxy "$samUrl" wget -O files/external/appleii/snap.bxy "$snapUrl" diff --git a/scripts/a2server-3-sharing.txt b/scripts/a2server-3-sharing.txt index cd8ac87..d02083f 100755 --- a/scripts/a2server-3-sharing.txt +++ b/scripts/a2server-3-sharing.txt @@ -36,10 +36,18 @@ fi debianName=$(lsb_release -cs) -# skip this if already done +# enable SSH (disabled by default in Raspbian from late 2016 onward) +if [[ $isRpi ]] && ! ps aux | grep -q '[s]shd'; then + echo "A2SERVER: Enabling ssh access..." + sudo systemctl enable ssh &> /dev/null && sudo systemctl start ssh &> /dev/null +else + echo "A2SERVER: ssh access is already enabled." +fi + if [[ -f /usr/local/etc/A2SERVER-version ]]; then read a2sVersion /dev/null; then # note: topdir will be macipgw-, EEK! # note: .tar.gz also works if [[ $useExternalURL ]]; then - wget -qO macipgw.zip "https://github.com/zero2sixd/macipgw/archive/cc544d8.zip" + wget -qO macipgw.zip "https://github.com/zero2sixd/macipgw/archive/4f77c09.zip" unzip macipgw.zip 2> /dev/null rm macipgw.zip &> /dev/null fi - if [[ ! -d macipgw-master ]]; then - wget -qO macipgw.zip "${a2sBinaryURL}/source/macipgw-cc544d8.zip" + if [[ ! -d macipgw-* ]]; then + wget -qO macipgw.zip "${a2sBinaryURL}/source/macipgw-4f77c09.zip" unzip macipgw.zip 2> /dev/null rm macipgw.zip &> /dev/null fi - cd macipgw* + cd macipgw-* make sudo make install cd "$wd" @@ -394,6 +417,9 @@ if ! hash ciopfs &> /dev/null; then cd /tmp/ciopfs if [[ $useExternalURL ]]; then wget -q -O ciopfs-0.4.tar.gz "http://www.brain-dump.org/projects/ciopfs/ciopfs-0.4.tar.gz" + if (( $? != 0 )); then + wget -q -O ciopfs-0.4.tar.gz http://web.archive.org/web/20160911102924/http://www.brain-dump.org/projects/ciopfs/ciopfs-0.4.tar.gz + fi tar zxf ciopfs-0.4.tar.gz &> /dev/null fi if [ ! -f ciopfs*/ciopfs.c ]; then # single brackets required for glob @@ -407,6 +433,9 @@ if ! hash ciopfs &> /dev/null; then rm -rf /tmp/ciopfs fi if ! grep -q '^ciopfs' /etc/fstab; then + # http://www.brain-dump.org/projects/ciopfs/ recommends: + # /data/projects/ciopfs/data /data/projects/ciopfs/mnt ciopfs allow_other,default_permissions,use_ino,attr_timeout=0 0 0 + # Really should check the docs on that echo "ciopfs#/srv/A2SERVER/.a2files /srv/A2SERVER/A2FILES fuse allow_other 0 0" | sudo tee -a /etc/fstab > /dev/null fi if ! mount | grep '^ciopfs.*A2FILES'; then @@ -517,6 +546,7 @@ if [[ -f "/lib/modules/$kernelRelease/kernel/drivers/net/appletalk/ipddp.ko" ]]; else # if we didn't load it successfully, remove it sudo rm /lib/modules/$kernelRelease/kernel/net/appletalk/appletalk.ko 2> /dev/null + echo "A2SERVER: failed to load AppleTalk kernel module" fi fi fi diff --git a/scripts/a2server-5-netboot.txt b/scripts/a2server-5-netboot.txt index f443e65..126d3c4 100755 --- a/scripts/a2server-5-netboot.txt +++ b/scripts/a2server-5-netboot.txt @@ -33,6 +33,7 @@ diskToolsP8Dir=$p8Dir/Disk.Tools.P8 commDir="/srv/A2SERVER/A2FILES/Comm" gsosURL="http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Apple_II/Apple_IIGS_System_6.0.1/" +# alernate: http://web.archive.org/web/20080907081050/http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Apple_II/Apple_IIGS_System_6.0.1/ gsosBackupURL="http://archive.org/download/download.info.apple.com.2012.11/download.info.apple.com.2012.11.zip/download.info.apple.com%2FApple_Support_Area%2FApple_Software_Updates%2FEnglish-North_American%2FApple_II%2FApple_IIGS_System_6.0.1%2F" # --- bashByter library routines @@ -138,11 +139,11 @@ updateP8YearTables () { patched=0 # 0 is true in this case since it's the return value while (( $i < ${#files[@]} )); do [[ ! -f "${files[$i]}" ]] && { (( i++ )); continue; } - if [[ ! $patch1 || $patch1 != $(sudo dd if="${files[$i]}" skip=${offset1[$i]} bs=1 count=7 2> /dev/null) ]]; then + if [[ ! $patch1 || $patch1 != $(sudo dd if="${files[$i]}" skip=${offset1[$i]} bs=1 count=7 2> /dev/null | tr -d '\0') ]]; then patched=1 # 1 is false break fi - if [[ ! $patch2 || $patch2 != $(sudo dd if="${files[$i]}" skip=${offset2[$i]} bs=1 count=9 2> /dev/null) ]]; then + if [[ ! $patch2 || $patch2 != $(sudo dd if="${files[$i]}" skip=${offset2[$i]} bs=1 count=9 2> /dev/null | tr -d '\0') ]]; then patched=1 # 1 is false break fi @@ -404,8 +405,8 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then fi # delete previously downloaded installer - rm "$imagesDir/* $imagesDir/.AppleDouble"/* 2> /dev/null - rm "$netInstallDir/* $netInstallDir/.AppleDouble"/* 2> /dev/null + rm -f "$imagesDir/* $imagesDir/.AppleDouble"/* + rm -f "$netInstallDir/* $netInstallDir/.AppleDouble"/* afpsync -v $gsosDir > /dev/null for diskname in ${diskNames[@]}; do @@ -490,10 +491,8 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then elif [[ $action == 3 || $action == 4 ]]; then if [[ -f "$targetPath" ]]; then echo "deleting $targetPath" - rm "$targetPath" - if [[ -f $targetParent/.AppleDouble/$targetFile ]]; then - rm "$targetParent/.AppleDouble/$targetFile" - fi + rm -f "$targetPath" + rm -f "$targetParent/.AppleDouble/$targetFile" fi fi (( entryIndex++ )) @@ -592,6 +591,9 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cd /tmp/netboot if [[ $useExternalURL ]]; then wget -qO Asimov.shk "http://www.ninjaforce.com/downloads/Asimov.shk" + if (( $? != 0 )); then + wget -qO Asimov.shk "http://web.archive.org/web/20160330184627/http://www.ninjaforce.com/downloads/Asimov.shk" + fi nulib2 -x -s Asimov.shk &> /dev/null fi if [[ ! -d Asimov ]]; then @@ -696,6 +698,9 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then if [[ $useExternalURL ]]; then # This should not be .zip *sigh* wget -q -O dsk2file.shk "http://www.dwheeler.com/6502/oneelkruns/dsk2file.zip" + if (( $? != 0 )); then + wget -q -O dsk2file.shk http://web.archive.org/web/20120726132356/http://www.dwheeler.com/6502/oneelkruns/dsk2file.zip + fi nulib2 -x -s dsk2file.shk &> /dev/null fi if [[ ! -f DSK2FILE58 ]]; then @@ -780,17 +785,15 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then unset safeUrl samUrl snapUrl safeVer samVer snapVer if [[ $useExternalURL ]]; then - html=$(wget -qO- "http://speccie.co.uk/speccie/Site/Download_Centre_files/widget1_markup.html") - safeUrl=$(echo "$html" | grep -i 'safe2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') - samUrl=$(echo "$html" | grep -i 'sam2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') - snapUrl=$(echo "$html" | grep -i 'snap.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') + safeUrl=$(wget -qO- http://speccie.uk/software/safe2/ | grep -i 'safe2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') + samUrl=$(wget -qO- http://speccie.uk/software/sam2/ | grep -i 'sam2.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') + snapUrl=$(wget -qO- http://speccie.uk/software/snap/ | grep -i 'snap.*bxy' | tr '<>' '\n' | grep href | cut -d '=' -f 2 | tr -d '"') safeVer=$(echo $safeUrl | rev | cut -d '/' -f 1 | cut -d '.' -f 2 | rev | cut -c 5- | sed 's/./.&/g' | cut -c 2-) samVer=$(echo $samUrl | rev | cut -d '/' -f 1 | cut -d '.' -f 2 | rev | cut -c 4- | sed 's/./.&/g' | cut -c 2-) snapVer=$(echo $snapUrl | rev | cut -d '/' -f 1 | cut -d '.' -f 2 | rev | cut -c 5- | sed 's/./.&/g' | cut -c 2-) - spectrumVer=$(echo "$html" | grep 'Spectrum.*Gold.2mg' | tr '<>' '\n' | grep '^Spectrum.*2mg$' | cut -d ' ' -f 2) fi - echo -n "Spectrum $spectrumVer" + echo -n "Spectrum" # get Spectrum if [[ -f $commDir/Spectrum/Spectrum ]]; then echo " is already installed." @@ -847,6 +850,9 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then # Marinetti 3.0b1 -- had to repackage because installer is GS/OS self-contained app wget -qO MarinettiB1.SHK "${a2sBinaryURL}/appleii/MarinettiB1.SHK" + if (( $? != 0 )); then + wget -qO Marinetti3.0b8.po http://web.archive.org/web/20171105043713/http://a2retrosystems.com/downloads/Marinetti3.0b8.po + fi cppo -ad -s -n MarinettiB1.SHK $gsosDir > /dev/null # TCP/IP update (3.0b8) @@ -862,6 +868,9 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then # PPP Scripted Link Layer update (1.3d4) if [[ $useExternalURL ]]; then wget -qO PPPX.1.3d4.SHK "http://www.apple2.org/marinetti/PPPX.1.3d4.SHK" + if (( $? != 0 )); then + wget -qO PPPX.1.3d4.SHK http://web.archive.org/web/20160331231844/http://www.apple2.org/marinetti/PPPX.1.3d4.SHK + fi fi if [[ $? != 0 || ! -f PPPX.1.3d4.SHK || $(wc -c < PPPX.1.3d4.SHK) != "22068" ]]; then wget -qO PPPX.1.3d4.SHK "${a2sBinaryURL}/appleii/PPPX.1.3d4.SHK" @@ -908,13 +917,13 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cd /tmp/netboot/safe2 if [[ $useExternalURL ]]; then if [[ ! $safeUrl ]]; then - safeUrl="http://www.speccie.co.uk/speccie/software/safe229.bxy" + safeUrl="http://www.speccie.co.uk/speccie/software/safe230.bxy" fi wget -qO safe2.bxy "$safeUrl" cppo -s -ad safe2.bxy . &> /dev/null fi if [[ ! -f SAFE2.Archive/Safe2 ]]; then - wget -qO safe2.bxy "${a2sBinaryURL}/appleii/safe229.bxy" + wget -qO safe2.bxy "${a2sBinaryURL}/appleii/safe230.bxy" cppo -s -ad safe2.bxy . &> /dev/null fi cd SAFE2.Archive diff --git a/scripts/tools/afptype b/scripts/tools/afptype index 7b0a78d..ef52d65 100755 --- a/scripts/tools/afptype +++ b/scripts/tools/afptype @@ -158,7 +158,7 @@ readchars () { && ( $3 -ge 0 ) ]] || return 23; } # args are valid dd if="$1" bs=1 skip=$(($2)) $([[ $3 ]] && echo -n "count=$3") \ - 2> /dev/null + 2> /dev/null | tr -d ' \0' } readcharDec () { @@ -175,7 +175,7 @@ readcharDec () { && ( $2 -ge 0 ) ]] || return 22; } # args are valid charX="$(dd if="$1" bs=1 skip=$(($2)) \ - count=1 2> /dev/null; echo -n X)" + count=1 2> /dev/null | tr -d '\0'; echo -n X)" [[ ${#charX} -gt 1 ]] || { echo -n 0; return 0; } echo -n "${charX:0:1}" | od -t u1 | \ head -1 | sed 's/[0\ ]*//' | tr -d ' \n' @@ -195,7 +195,7 @@ readcharHex () { && ( $2 -ge 0 ) ]] || return 22; } # args are valid charX="$(dd if="$1" bs=1 skip=$(($2)) \ - count=1 2> /dev/null; echo -n X)" + count=1 2> /dev/null | tr -d '\0'; echo -n X)" [[ ${#charX} -gt 1 ]] || { echo -n "00"; return 0; } printf %02X $(echo -n "${charX:0:1}" | od -t u1 | \ head -1 | sed 's/[0\ ]*//' | tr -d ' \n') diff --git a/setup/index.txt b/setup/index.txt index 2840fde..a34907e 100755 --- a/setup/index.txt +++ b/setup/index.txt @@ -6,7 +6,7 @@ # netatalk configured for Apple II use on Debian or Raspbian. # more info is at http://ivanx.com/a2server -a2serverVersion="1.5.1" +a2serverVersion="1.5.2" a2sScriptURL="https://raw.githubusercontent.com/RasppleII/a2server/master" a2sDevel="$( dirname "${BASH_SOURCE[0]}" )/.." @@ -148,9 +148,6 @@ while [[ $1 ]]; do echo "-b: auto-setup network boot (use with -y)" echo "-w: auto-setup Windows file sharing (use with -y)" echo "-c: compile non-package items, rather than downloading binaries" - if [[ $isRpi ]]; then - echo "-os: update Raspbian OS, A2CLOUD, A2SERVER, and Apple II Pi" - fi if [[ $0 == "-bash" ]]; then return 1 else @@ -170,9 +167,8 @@ fi a2server_update=0 doSetup=1 -if a2sCmpInstalled lt 1.5.0; then +if a2sCmpInstalled lt 1.5.2; then a2server_update=1 -fi unsupportedOS=1 if [[ $isRpi ]]; then #supported Raspbian? (16-Feb-15, 20-Jun-14, 09-Jan-14, etc) @@ -180,22 +176,26 @@ if [[ $isRpi ]]; then #supported Raspbian? (16-Feb-15, 20-Jun-14, 09-Jan-14, etc fwsupported="-8aca5762- -462f3e3f476f7b6- -c32bc633039cd9- -9d34d0475f9- -d4f5315cfac4e- -6f4a90c8cb8817f- -5dd9b4962e- -17c8799375- -960832a6c2590635216c296b6ee0bebf67b21d50- - -2a329e0c7d8ea19c085bac5633aa4fccee0f21be-" - [[ "$fwsupported" == *-$fwhash-* ]] && unsupportedOS= + -2a329e0c7d8ea19c085bac5633aa4fccee0f21be- + -b2420fc150ae4616f5d9ec24bdaedc630586a529-" + if [[ "$fwsupported" == *-$fwhash-* ]]; then + unsupportedOS= + fi elif [[ $isDebian ]]; then # supported Debian? debianVersion=$(cat /etc/debian_version) - debianSupported="-8.2- -7.9- -7.8- -7.6- -7.3-" + debianSupported="-9.2- -8.2- -7.9- -7.8- -7.6- -7.3-" [[ $debianSupported == *-$debianVersion-* ]] && unsupportedOS= fi if [[ $unsupportedOS && $isRpi ]]; then echo echo "A2SERVER and its installer scripts have been tested on Raspbian Wheezy and" - echo "Jessie, though not this specific firmware version ($fwhash). Just FYI." + echo "Jessie, though not this specific firmware version" + echo "(${fwhash:0:7}). Just FYI." unsupportedOS= elif [[ $unsupportedOS && $isDebian ]]; then echo - echo "A2SERVER and its installer scripts have been tested on Debian 7 and 8," + echo "A2SERVER and its installer scripts have been tested on Debian 7/8/9," echo "though not this specific point release ($debianVersion). Just FYI." unsupportedOS= fi @@ -239,33 +239,36 @@ if (( $doSetup )); then rm -rf /tmp/a2server-install &>/dev/null mkdir -p /tmp/a2server-install - isApple2Pw= - isRaspberryPw= - userPw=$(sudo grep "^$USER" /etc/shadow | cut -f 2 -d ':') - [[ $userPw == "$(echo 'apple2' | perl -e '$_ = ; chomp; print crypt($_, $ARGV[0])' "${userPw%"${userPw#\$*\$*\$}"}")" ]] && isApple2Pw=1 - [[ $userPw == "$(echo 'raspberry' | perl -e '$_ = ; chomp; print crypt($_, $ARGV[0])' "${userPw%"${userPw#\$*\$*\$}"}")" ]] && isRaspberryPw=1 + checkPw=1 + while [[ $checkPw ]] ; do + userPw=$(sudo grep "^$USER" /etc/shadow | cut -f 2 -d ':') + [[ $userPw == "$(echo 'apple2' | perl -e '$_ = ; chomp; print crypt($_, $ARGV[0])' "${userPw%"${userPw#\$*\$*\$}"}")" ]] && isApple2Pw=1 || isApple2Pw= + [[ $userPw == "$(echo 'raspberry' | perl -e '$_ = ; chomp; print crypt($_, $ARGV[0])' "${userPw%"${userPw#\$*\$*\$}"}")" ]] && isRaspberryPw=1 || isRaspberryPw= - password="your password" - [[ $isApple2Pw ]] && password="'apple2'" - [[ $isRaspberryPw ]] && password="'raspberry'" + password="your password" + [[ $isApple2Pw ]] && password="'apple2'" + [[ $isRaspberryPw ]] && password="'raspberry'" + checkPw= - [[ $isRpi ]] && a2server="your Raspberry Pi" || a2server="A2SERVER" - if [[ ! $isApple2Pw && ! -f /usr/local/etc/A2SERVER-version ]]; then - if [[ ! $autoAnswerYes ]]; then - echo - echo "To ensure that all client computers are able to connect to" - echo "${a2server} using the same password, you probably want" - echo "to change your user password to 'apple2'." - echo - echo -n "Do you want to change the password for user '$USER' to 'apple2' now? " - read + [[ $isRpi ]] && a2server="your Raspberry Pi" || a2server="A2SERVER" + if [[ ! $isApple2Pw && ! -f /usr/local/etc/A2SERVER-version ]]; then + if [[ ! $autoAnswerYes ]]; then + echo + echo "To ensure that all client computers are able to connect to" + echo "${a2server} using the same password, you probably want" + echo "to change your user password to 'apple2'." + echo + echo -n "Do you want to change the password for user '$USER' to 'apple2' now? " + read + fi + if [[ $autoAnswerYes || ${REPLY:0:1} == "Y" || ${REPLY:0:1} == "y" ]]; then + echo "A2SERVER: changing password for user '$USER' to 'apple2'..." + echo "$USER:apple2" | sudo chpasswd + fi fi - if [[ $autoAnswerYes || ${REPLY:0:1} == "Y" || ${REPLY:0:1} == "y" ]]; then - echo "A2SERVER: changing password for user '$USER' to 'apple2'..." - echo "$USER:apple2" | sudo chpasswd - fi - fi + done + echo echo "During this installation, enter ${password} if prompted for passwords." @@ -273,9 +276,6 @@ if (( $doSetup )); then sudo true - echo - echo "A2SERVER: Downloading scripts..." - read -d '' a2sSubScripts <<-EOF a2server-1-storage.txt a2server-2-tools.txt @@ -288,6 +288,8 @@ if (( $doSetup )); then if [[ -n "$a2sDevel" ]]; then a2sScriptDir="$a2sDevel/scripts" else + echo + echo "A2SERVER: Downloading scripts..." a2sScriptDir="/tmp/a2server-install/scripts" mkdir -p "$a2sScriptDir" for _script in $a2sSubScripts; do @@ -299,7 +301,14 @@ if (( $doSetup )); then 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 + sudo rm -f /usr/local/etc/A2SERVER-version + sudo rm -f /usr/local/bin/nulib2 + sudo rm -f /usr/local/bin/unar + sudo rm -f /usr/local/sbin/macipgw + sudo rm -f /usr/local/bin/ciopfs + sudo rm -f /usr/local/etc/netatalk/afppasswd + sudo rm -f /usr/local/etc/netatalk/a2boot/p8 + sudo rm -f /usr/local/etc/netatalk/a2boot/ProDOS16\ Image fi for _script in $a2sSubScripts; do @@ -314,10 +323,7 @@ if (( $doSetup )); then rm -f /tmp/a2server-packageReposUpdated - if [[ ! -f /usr/local/etc/A2SERVER-version ]] \ - || (( $(head -c 3 /usr/local/etc/A2SERVER-version) < ${a2serverVersion:0:3} )); then - echo "$a2serverVersion" | sudo tee /usr/local/etc/A2SERVER-version &> /dev/null - fi + echo "$a2serverVersion" | sudo tee /usr/local/etc/A2SERVER-version &> /dev/null source /usr/local/etc/a2serverrc diff --git a/update/devhistory.txt b/update/devhistory.txt index edfc13a..cb17bd9 100644 --- a/update/devhistory.txt +++ b/update/devhistory.txt @@ -98,4 +98,22 @@ [unannounced] 1.5.1: May 2016: changed URLs from rawgit.com to raw.githubusercontent.com - to resolve https problems during install + to resolve https problems during install; OS X temp dir + path corrected; added getexternal.sh to repo; + cppo changes; minor text changes (JTC); better Debian + version checking (JTC) +[unannounced] + +1.5.1r2: Oct 2017: set internal version to 1.5.1; expanded version history +[unannounced] + +1.5.2: Nov 2017: support for Stretch; suppress null byte read warnings in + Bash 4.4; enable SSH server on Raspberry Pi if disabled; + use Internet Archive backup URL's for external downloads if + possible; compile AppleTalk kernel if -c flag is + specified (rather than downloading); better cleanup after + AppleTalk kernel compile; notification if AppleTalk kernel + module doesn't load; fixed download links for comm software; + bug fixes when compiling macipgw and ciopfs; + os option (Raspbian update) removed from a2server-setup + diff --git a/update/versionhistory.txt b/update/versionhistory.txt index 4080ab2..19d4ab7 100644 --- a/update/versionhistory.txt +++ b/update/versionhistory.txt @@ -70,6 +70,16 @@ 1.5.0r2: Jan 16: fixed GitHub URLs to prevent https errors during installation (thanks to http://blogs.yahoo.co.jp/ushi_cow/57459736.html) +1.5.1: Jan 2016: fixed GitHub URLs to prevent https errors during installation + (thanks to http://blogs.yahoo.co.jp/ushi_cow/57459736.html); + bug fixes and minor text changes + +1.5.1r2: Oct 2017: corrected version number + +1.5.2: Nov 2017: support for Debian/Raspbian Stretch; fixes minor bugs during + install; enable SSH server if disabled on Raspberry Pi; fixes + changed download links for GS/OS communication software + Big thanks to: Anthony Martino, Henry Courbis, Joseph Carter, Jason King, Andy McFadden, Steven Hirsch, Geoff Body, Peter Wong, Tony Diaz, David Schmidt, David Schmenk, Ewen Wannop, Andrew Roughan, Antoine Vignau, Martin Haye,