From 27d40503be727fc91697a6f1af5181d808a6bb52 Mon Sep 17 00:00:00 2001 From: "T. Joseph Carter" Date: Fri, 29 Jul 2016 10:39:49 -0700 Subject: [PATCH] *: Fixed trailing whitespace --- files/dist/getexternal.sh | 2 +- files/netatalk-init.d-clean.txt | 14 ++--- fix/fix.txt | 10 ++-- scripts/a2server-1-storage.txt | 2 +- scripts/a2server-2-tools.txt | 4 +- scripts/a2server-3-sharing.txt | 44 +++++++-------- scripts/a2server-5-netboot.txt | 96 ++++++++++++++++----------------- scripts/clock.patch.py | 4 +- scripts/raspbian-update.txt | 6 +-- scripts/tools/cppo.txt | 44 +++++++-------- setup/index.txt | 4 +- update/devhistory.txt | 8 +-- update/versionhistory.txt | 2 +- 13 files changed, 120 insertions(+), 120 deletions(-) diff --git a/files/dist/getexternal.sh b/files/dist/getexternal.sh index c2c5e3d..9e1a681 100755 --- a/files/dist/getexternal.sh +++ b/files/dist/getexternal.sh @@ -39,7 +39,7 @@ wget -O files/external/appleii/snap.bxy "$snapUrl" for gsosInstall in {1..3}; do activeDisk=0 mkdir -p files/external/appleii/gsos60${gsosInstall} - + diskNames=( Install System.Disk SystemTools1 SystemTools2 Fonts synthLAB ) if (( $gsosInstall == 1 )); then gsosURL="http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Apple_II/Apple_IIGS_System_6.0.1/" diff --git a/files/netatalk-init.d-clean.txt b/files/netatalk-init.d-clean.txt index c7302bd..9021990 100755 --- a/files/netatalk-init.d-clean.txt +++ b/files/netatalk-init.d-clean.txt @@ -66,13 +66,13 @@ atalk_startup() { echo -n " atalkd" fi - + # prepare startup of file services if [ "x$CNID_METAD_RUN" = "xyes" -a -x /usr/local/sbin/cnid_metad ] ; then echo -n " cnid_metad" /usr/local/sbin/cnid_metad $CNID_CONFIG fi - + if [ x"$AFPD_RUN" = x"yes" ]; then /usr/local/sbin/afpd $AFPD_UAMLIST -g $AFPD_GUEST -c $AFPD_MAX_CLIENTS \ -n "$ATALK_NAME$ATALK_ZONE" @@ -111,12 +111,12 @@ case "$1" in echo -n " cnid_metad" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/cnid_metad - + if test -x /usr/local/sbin/papd; then echo -n " papd" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/papd fi - + if test -x /usr/local/sbin/timelord; then echo -n " timelord" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/timelord @@ -126,10 +126,10 @@ case "$1" in echo -n " atalkd" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/atalkd fi - + echo "." ;; - + restart) $0 force-reload ;; @@ -144,7 +144,7 @@ case "$1" in echo "done." fi ;; - + *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 1 diff --git a/fix/fix.txt b/fix/fix.txt index 6aca35e..b5f8c3c 100644 --- a/fix/fix.txt +++ b/fix/fix.txt @@ -22,7 +22,7 @@ if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then echo -n "Press return to continue..."; read; echo ls -1 /dev/sd? > /tmp/sd2 2> /dev/null - + # if exactly one drive has been inserted, exit loop if { ! diff /tmp/sd1 /tmp/sd2 &> /dev/null; }; then # files are different, get dev name @@ -47,9 +47,9 @@ if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then echo "No SD card found. Trying again..." echo fi - + done - + mkdir -p /tmp/sd sudo mount ${devName}6 /tmp/sd @@ -92,7 +92,7 @@ if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then fi done <<< "$(ls -1 /tmp/sd/lib/modules | sort -V)" sudo umount /tmp/sd - + echo kern:$kernelReplaced if [[ $kernelReplaced ]]; then echo @@ -104,7 +104,7 @@ if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then echo echo "Okey doke. Half done. Remove your SD card, and put it back in your Pi." echo "After it boots, log in and type 'a2server-setup' to complete the fix." - fi + fi echo "See the A2SERVER web site at http://ivanx.com/a2server for more help." echo "(You can type 'sudo shutdown -h now' if you're done on this machine.)" echo diff --git a/scripts/a2server-1-storage.txt b/scripts/a2server-1-storage.txt index cd1818d..e2cdbd2 100755 --- a/scripts/a2server-1-storage.txt +++ b/scripts/a2server-1-storage.txt @@ -12,7 +12,7 @@ if [[ -d /media/A2SHARED ]]; then sudo mv /media/A2SHARED /srv/A2SERVER sudo sed -i 's|/media/A2SHARED|/srv/A2SERVER|g' /usr/local/etc/netatalk/AppleVolumes.default [[ -f /etc/samba/smbd.conf ]] && sudo sed -i 's|/media/A2SHARED|/srv/A2SERVER|g' /etc/samba/smbd.conf - + fi # skip if we're already set up diff --git a/scripts/a2server-2-tools.txt b/scripts/a2server-2-tools.txt index d0c132e..382f155 100755 --- a/scripts/a2server-2-tools.txt +++ b/scripts/a2server-2-tools.txt @@ -62,7 +62,7 @@ if ! hash nulib2 &> /dev/null; then if [[ $arch && ! -f /tmp/a2server-compileAlways ]]; then { wget -qO- "${binaryURL}precompiled/nulib2-3.1.0a2-${arch}.tgz" | sudo tar Pzx; } &> /dev/null fi - + if ! hash nulib2 &> /dev/null; then if [[ ! -f /tmp/a2server-packageReposUpdated ]]; then @@ -124,7 +124,7 @@ if ! hash unar &> /dev/null; then sudo apt-get -y install unar sudo apt-get clean fi - + if ! hash unar &> /dev/null; then if [[ $arch && ! -f /tmp/a2server-compileAlways ]]; then # Dependencies: for unar diff --git a/scripts/a2server-3-sharing.txt b/scripts/a2server-3-sharing.txt index f1b209c..2e669e6 100755 --- a/scripts/a2server-3-sharing.txt +++ b/scripts/a2server-3-sharing.txt @@ -57,17 +57,17 @@ fi if [[ -f /usr/local/etc/A2SERVER-version ]] && (( $(head -c 3 /usr/local/etc/A2SERVER-version) >= 101 )); then echo "A2SERVER: Netatalk is already installed." - + else echo "A2SERVER: Installing Netatalk (this will take a while)..." - + # stop Netatalk and samba if running (during upgrade) if [[ $(ps --no-headers -C afpd) ]]; then sudo /etc/init.d/netatalk stop &> /dev/null sudo /etc/init.d/samba stop &> /dev/null fi - + if [[ ! -f /tmp/a2server-packageReposUpdated ]]; then # prepare for installing packages sudo apt-get -y update @@ -75,7 +75,7 @@ else fi # not being used as of 1.2.9, but it's available if full URL to .deb package is supplied - getOldPackage () { + getOldPackage () { for url in $@; do pkgFile=${url##*/} pkgName=${pkgFile%%_*} @@ -112,7 +112,7 @@ else else break fi - + if [[ $(apt-cache search '^libgcrypt11$') ]]; then # Wheezy # Dependencies: netatalk 2.2.4 sudo apt-get -y install libgcrypt11 @@ -122,13 +122,13 @@ else else break fi - + # install Netatalk if [[ $arch && ! -f /tmp/a2server-compileAlways ]]; then { wget -qO- "${binaryURL}precompiled/netatalk224-${arch}_${debianName}.tgz" | sudo tar Pzx; } &> /dev/null fi sudo mandb &> /dev/null - + [[ -f /usr/local/sbin/atalkd ]] && compileFromSource= break @@ -157,12 +157,12 @@ else sudo apt-get -y install $(apt-cache search '^libgcrypt.*dev$' | sort -r | head -1 | cut -d ' ' -f 1) fi sudo apt-get clean - + # get Netatalk rm -rf /tmp/netatalk &> /dev/null mkdir /tmp/netatalk cd /tmp/netatalk - + if [[ $useExternalURL ]]; then wget -qO netatalk-2.2.4.tar.gz "http://downloads.sourceforge.net/project/netatalk/netatalk/2.2.4/netatalk-2.2.4.tar.gz" tar zxf netatalk-2.2.4.tar.gz &> /dev/null @@ -172,38 +172,38 @@ else tar zxf netatalk-2.2.4.tar.gz &> /dev/null fi cd netatalk-2.2.4 - + # Patch the source so file dates are preserved during a GS/OS folder copy, # and the AsanteTalk bridge consistently starts up in AppleTalk Phase 2 # and the Dayna bridge doesn't crash GS/OS # props to Steven Hirsch for these sed -i ':a;N;$!ba;s/case FILPBIT_ATTR :\n *change_mdate = 1;\n/case FILPBIT_ATTR :\n/g' etc/afpd/file.c sed -i 's/rtmp->rt_iface == iface/rtmp->rt_iface != iface/g' etc/atalkd/main.c - + # prepare to build Netatalk ./configure --enable-debian --enable-ddp --enable-a2boot - + # uninstall Netatalk if already installed [[ -f /usr/local/sbin/afpd ]] && sudo make uninstall - + # compile and install Netatalk make sudo make install - + # to remove the Netatalk source code (optional), type: cd rm -rf /tmp/netatalk - fi + fi fi # --- Install MacIPgw if ! hash macipgw &> /dev/null; then echo "A2SERVER: Installing TCP over AppleTalk (MacIP)..." - + if [[ $arch && ! -f /tmp/a2server-compileAlways ]]; then { wget -qO- "${binaryURL}precompiled/macipgw-${arch}.tgz" | sudo tar Pzx; } 2> /dev/null fi - + if ! hash macipgw &> /dev/null; then wd="$PWD" sudo apt-get -y install build-essential @@ -229,7 +229,7 @@ if ! hash macipgw &> /dev/null; then else echo "A2SERVER: TCP over AppleTalk (MacIP) has already been installed." fi - + # --- Configuring Netatalk echo "A2SERVER: Configuring Netatalk..." @@ -448,7 +448,7 @@ if [[ ! -d /srv/A2SERVER/A2FILES/.AppleDesktop ]]; then mkdir .AppleDesktop fi -# set up ADTDISKS share (ADTPro disk image folder, if A2CLOUD is installed) +# set up ADTDISKS share (ADTPro disk image folder, if A2CLOUD is installed) # classic Mac OS file names are allowed (31 chars, mixed case, everything but colons) if [[ -d /usr/local/adtpro/disks ]]; then # A2CLOUD/ADTPro installed if [[ ! -d /srv/A2SERVER/ADTDISKS ]]; then @@ -479,7 +479,7 @@ else echo echo "A2SERVER: Setting up AFP password 'apple2' for Apple II and Mac clients..." # echo "A2SERVER: Enter 'apple2' or another password of up to eight characters." - echo + echo # set registered user login using RandNum authentication sudo afppasswd -c sudo sed -i "s/^\(${USER}\).*$/\1:6170706C65320000:****************:********/" /usr/local/etc/netatalk/afppasswd @@ -625,8 +625,8 @@ echo "A2SERVER: Netatalk is installed, configured, and running." echo # if atalkd isn't running (no AppleTalk), and this is a Rasbperry Pi: -if [[ ( ! $(ps aux | grep [a]talkd) ) && ( $isRpi ) ]]; then - +if [[ ( ! $(ps aux | grep [a]talkd) ) && ( $isRpi ) ]]; then + # if AppleTalk module exists, try to load it if [[ -f /lib/modules/$kernelRelease/kernel/net/appletalk/appletalk.ko ]]; then # module present, but not loaded? sudo depmod diff --git a/scripts/a2server-5-netboot.txt b/scripts/a2server-5-netboot.txt index 26e9c0b..e8f8216 100755 --- a/scripts/a2server-5-netboot.txt +++ b/scripts/a2server-5-netboot.txt @@ -88,7 +88,7 @@ checkP8YearTables () { return $? } -updateP8YearTables () { +updateP8YearTables () { # JC: Geoff Body and Andrew Roughan helped Joseph Carter with this one # Update ProDOS 8 year table (and spalsh date because may as well) # Effectively, we're turning p8 into the 6.0.2 or 6.0.3 version here. @@ -128,7 +128,7 @@ updateP8YearTables () { files=("p8" "ProDOS16 Image" "Apple :2f:2fe Boot Blocks" "$gsosDir/System/P8") offset1=(3958 7030 7071 3958) # splash screen date offset2=(38 3110 79 38) # year table - + i=0 if [[ $check ]]; then # check if patched -- we're not actually doing this any more; we're always patching @@ -156,7 +156,7 @@ updateP8YearTables () { patched=0 # 0 is true fi return $patched - + # echo -n -e "\xb0\xb2\xad\xc1\xf5\xe7\xad\xb1\xb5" | sudo dd of="p8" bs=38 seek=1 conv=notrunc 2> /dev/null # echo -n -e "\x12\x11\x0b\x10\x0f\x0e\x0d" | sudo dd of="p8" bs=3958 seek=1 conv=notrunc 2> /dev/null # echo -n -e "\xb0\xb2\xad\xc1\xf5\xe7\xad\xb1\xb5" | sudo dd of="ProDOS16 Image" bs=3110 seek=1 conv=notrunc 2> /dev/null @@ -191,17 +191,17 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then else echo "A2SERVER is already set up to boot Apple II computers over the network." fi - fi + fi if [[ $autoAnswerYes || ${REPLY:0:1} == "Y" || ${REPLY:0:1} == "y" ]]; then - + nbmode=1 echo - + sudo true mkdir -p /tmp/netboot rm -r /tmp/netboot/* 2> /dev/null cd /tmp/netboot - + # this will get "Disk 7" (Apple II Setup) as a raw (block dump) image if [[ ! -f /usr/local/etc/netatalk/a2boot/ProDOS16\ Boot\ Blocks ]] \ || [[ ! -f /usr/local/etc/netatalk/a2boot/ProDOS16\ Image ]] \ @@ -210,7 +210,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then || [[ ! -f /usr/local/etc/netatalk/a2boot/Basic.System ]]; then echo "A2SERVER: Downloading Apple II Boot Blocks..." cd /tmp/netboot - + if [[ $useExternalURL ]]; then wget --max-redirect 0 -qO Disk_7_of_7-Apple_II_Setup.sea.bin ${gsosURL}Disk_7_of_7-Apple_II_Setup.sea.bin unar -k skip Disk_7_of_7-Apple_II_Setup.sea.bin &> /dev/null @@ -225,7 +225,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then fi truncate -s 819284 'Disk 7 of 7-Apple II Setup.sea' dd if='Disk 7 of 7-Apple II Setup.sea' of=APPLE2SETUP.HDV bs=84 skip=1 2> /dev/null - + mkdir -p a2setup sudo mount -t hfs -o ro,loop APPLE2SETUP.HDV a2setup sudo mkdir -p /usr/local/etc/netatalk/a2boot @@ -233,8 +233,8 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then sudo cp -p a2setup/System\ Folder/* /usr/local/etc/netatalk/a2boot sudo umount a2setup sudo mv /usr/local/etc/netatalk/a2boot/Apple* /usr/local/etc/netatalk/a2boot/'Apple :2f:2fe Boot Blocks' - - cd /usr/local/etc/netatalk/a2boot + + cd /usr/local/etc/netatalk/a2boot # thanks to Geoff Body for these Boot Blocks patches # fix cleartext password login bug echo -n -e "\xA8\xA2\x01\xBD\x80\x38\x99\xA0\x38\xC8\xE8\xE0\x09\x90\xF4" | \ @@ -248,7 +248,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then sudo dd of='ProDOS16 Image' bs=1661 seek=1 conv=notrunc 2> /dev/null fi echo "A2SERVER: Boot Blocks have been installed." - + # get a2server-tools if necessary if [[ ! -f /usr/local/bin/mkatinit ]] \ || [[ ! -f /usr/local/bin/afptype ]] \ @@ -261,12 +261,12 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then /tmp/2.tools rm /tmp/2.tools fi - + # put BASIC.SYSTEM at root for ProDOS 8 startup cp -p /usr/local/etc/netatalk/a2boot/Basic.System $gsosDir/BASIC.System afpsync -v $gsosDir > /dev/null afptype -p SYS -q $gsosDir/BASIC.System - + # create tools for setting GS/OS or ProDOS 8 boot in battery RAM and rebooting. Props yet again to Geoff Body. if [[ ! -f $p8Dir/NETBOOT.P8 ]]; then echo @@ -287,7 +287,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then afpsync -v $gsosDir > /dev/null afptype -p SYS -q $gsosDir/NETBOOT.GSOS fi - + mkatinit -gs -d -f # GS/OS registered user and Guest starts up with SYSTEM/FINDER mkatinit -d -f guest # ProDOS 8 Guest starts up with BASIC.SYSTEM (no registered user) @@ -329,7 +329,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then afpsync &> /dev/null echo break - fi + fi fi else gsosInstall=1 @@ -363,7 +363,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then [[ $autoAnswerYes ]] && gsosVersion=1 if [[ $REPLY == "1" || $REPLY == "2" || $REPLY == "3" ]]; then gsosInstall=$REPLY - + if [[ gsosInstall -gt 1 ]]; then updateP8YearTables fi @@ -379,7 +379,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then mkdir -p $imagesDir mkdir -p $netInstallDir activeDisk=0 - + diskNames=( Install System.Disk SystemTools1 SystemTools2 Fonts synthLAB ) if (( $gsosInstall == 1 )); then : @@ -390,12 +390,12 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then elif (( $gsosInstall == 3 )); then gsosURL="ftp://ftp.apple.asimov.net/pub/apple_II/images/gs/os/gsos/Apple_IIGS_System_6.0.3/" fi - + # delete previously downloaded installer rm "$imagesDir/* $imagesDir/.AppleDouble"/* 2> /dev/null rm "$netInstallDir/* $netInstallDir/.AppleDouble"/* 2> /dev/null afpsync -v $gsosDir > /dev/null - + for diskname in ${diskNames[@]}; do outfile="$imagesDir/$diskname.po" (( activeDisk++ )) @@ -434,9 +434,9 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then done rm *.sea* &> /dev/null sed -i "s/\([^\\]\r:\)/\1A2FILES:GSOS.Installer:Net.Install:/g" $netInstallDir/Install/Scripts/* - + afpsync -v $gsosDir > /dev/null - + # install GS/OS # spec for GS/OS installer scripts: GS/OS Tech Note #64 # http://www.1000bit.it/support/manuali/apple/technotes/iigs/tn.iigs.064.html @@ -463,7 +463,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then targetFile=${targetPath##*/} sourceParent=${sourcePath%/*} sourceFile=${sourcePath##*/} - + if [[ $action == 1 || $action == 2 ]]; then mkdir -p $targetParent echo "copying: $sourcePathMixed" @@ -484,12 +484,12 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then done unset IFS } - + mkdir -p /tmp/netboot rm -r /tmp/netboot/* 2> /dev/null cd /tmp/netboot - - echo "A2SERVER: Preparing GS/OS installer scripts..." + + echo "A2SERVER: Preparing GS/OS installer scripts..." # work through installer scripts echo "Script: Install.Sys.File" processScript $netInstallDir/Install/Scripts/Instal.Sys.File @@ -503,14 +503,14 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then processScript $netInstallDir/Install/Scripts/Appleshare echo "Script: Server.Sys.File" processScript $netInstallDir/Install/Scripts/Server.Sys.File - + # sync netatalk database afpsync -v $gsosDir > /dev/null else gsosInstall= fi fi - + # if [[ ! $autoAnswerYes && (! $gsosInstall || $gsosInstall -lt 2) ]] && ! checkP8YearTables 603; then # echo # echo -n "Do you want to update the ProDOS 8 Thunderclock year table? " @@ -556,11 +556,11 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then fi if [[ $gsosInstalled ]]; then if [[ $autoAnswerYes || ${REPLY:0:1} == "Y" || ${REPLY:0:1} == "y" ]]; then - + # download image tools and put them in IMAGE.TOOLS echo "A2SERVER: Downloading GS/OS disk image utilities..." mkdir -p $imageToolsDir - + # get Asimov2 (for GS/OS) echo -n "Asimov 2.0" if [[ -f $imageToolsDir/Asimov ]]; then @@ -581,7 +581,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cat Asimov/Asimov_rsrc_ >> $imageToolsDir/.AppleDouble/Asimov afptype -p S16 -q $imageToolsDir/Asimov fi - + echo -n "GS-ShrinkIt 1.1" # get GS-ShrinkIt if [[ -f $imageToolsDir/GSHK ]]; then @@ -607,8 +607,8 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then afptype -p S16 -a DB07 -q $imageToolsDir/GSHK cd /tmp/netboot fi - - echo -n "MountIt 1.4" + + echo -n "MountIt 1.4" # get MountIt (for GS/OS) if [[ -f $gsosDir/System/System.Setup/MountIt ]]; then echo " is already installed." @@ -641,7 +641,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then echo "A2SERVER: Downloading ProDOS 8 disk image utilities..." mkdir -p $diskToolsP8Dir - + echo -n "ShrinkIt 3.4" # get ShrinkIt 3.4 (for ProDOS 8) if [[ -f $diskToolsP8Dir/SHRINKIT ]]; then @@ -663,7 +663,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cppo -s -ad "SHRINKIT#000118i" /SHRINKIT/SHRINKIT $diskToolsP8Dir &> /dev/null afpsync -v $sharepath > /dev/null fi - + echo -n "DSK2FILE 5.8" # get DSK2FILE (for ProDOS 8) if [[ -f $diskToolsP8Dir/DSK2FILE ]]; then @@ -683,7 +683,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then afpsync -v $sharepath > /dev/null afptype -p SYS -q $diskToolsP8Dir/DSK2FILE fi - + echo -n "Apple System Utilities 3.1" if [[ -f $diskToolsP8Dir/SYSUTIL ]]; then echo " is already installed." @@ -709,7 +709,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cppo -s -ad A2SYSDISK32.HDV /UTILITIES/UTIL.2 $diskToolsP8Dir &> /dev/null afpsync -v $sharepath > /dev/null fi - + fi p8CommInstalled= @@ -735,7 +735,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then fi fi if [[ $autoAnswerYes || ${REPLY:0:1} == "Y" || ${REPLY:0:1} == "y" ]]; then - + echo "A2SERVER: Downloading communications software..." mkdir -p $commDir @@ -753,7 +753,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then 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" # get Spectrum if [[ -f $commDir/Spectrum/Spectrum ]]; then @@ -777,7 +777,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then fi cppo -s -ad Spectrum.Gold.2mg . &> /dev/null userFolder=$(tr [:lower:] [:upper:] <<< $USER) - + for thisFolder in \ Installer/Extras/CDEvs^System/CDevs \ Installer/Extras/Tools^System/Tools \ @@ -987,7 +987,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cd .AppleDouble mv *PT3* *PROTERM* $commDir/ProTERM/.AppleDouble afpsync -v $gsosDir > /dev/null - fi + fi echo -n "Z-Link 12-15-91" # get A2CLOUD disk and copy from there @@ -1002,7 +1002,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cd .AppleDouble mv Z.LINK $commDir/Z.Link/.AppleDouble afpsync -v $gsosDir > /dev/null - fi + fi echo -n "ADTPro 2.0.1" if [[ -f $commDir/ADTPro/ADTPRO ]]; then @@ -1016,23 +1016,23 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then cd .AppleDouble mv *ADTPRO* *VEDRIVE* *VSDRIVE* $commDir/ADTPro/.AppleDouble afpsync -v $gsosDir > /dev/null - fi + fi fi - + # clean up cd - + # rock and roll! echo - + echo if [[ $gsosInstall ]]; then echo "GS/OS network boot (for registered user and Guest) and" fi echo "ProDOS 8 network boot (for Guest only) is now configured." - echo "See http://ivanx.com/a2server for info using it." - + echo "See http://ivanx.com/a2server for info using it." + fi REPLY= diff --git a/scripts/clock.patch.py b/scripts/clock.patch.py index 5008f67..2a6f26d 100755 --- a/scripts/clock.patch.py +++ b/scripts/clock.patch.py @@ -71,7 +71,7 @@ def find_slash_pos(day): # 799 REM Finds position of / for i in range(0,3): # 810 FOR I = 1 TO 3 if day[i:i+1] == "/": x = i; break # 820 IF MID$ (DAY$,I,1) = "/" THEN X = I:I = 3 # 830 NEXT I - return x # 840 RETURN + return x # 840 RETURN while True: # 999 REM get the user's input and convert if not day: @@ -110,7 +110,7 @@ while True: # 999 REM get the user's input mo == 2 and da > 28): x = -1; continue input_ok = True - if x != -1: break + if x != -1: break else: dow_str = ""; day = "" while True: diff --git a/scripts/raspbian-update.txt b/scripts/raspbian-update.txt index 2f3d586..cf62913 100644 --- a/scripts/raspbian-update.txt +++ b/scripts/raspbian-update.txt @@ -48,7 +48,7 @@ if [[ \ ${partitions[1]:0:14} == "/dev/mmcblk0p2" && ${partitions[1]:57:2} == "85" && ${partitions[2]:0:14} == "/dev/mmcblk0p3" && ${partitions[2]:57:2} == "83" && ${partitions[3]:0:14} == "/dev/mmcblk0p5" && ${partitions[3]:57:2} == " c" && - ${partitions[4]:0:14} == "/dev/mmcblk0p6" && ${partitions[4]:57:2} == "83" ]]; then + ${partitions[4]:0:14} == "/dev/mmcblk0p6" && ${partitions[4]:57:2} == "83" ]]; then noobs=" and the NOOBS install manager" fi @@ -82,7 +82,7 @@ if [[ ! $noobsOnly ]]; then { cd /tmp; sudo apt-get -y autoremove; sudo apt-get -y autoclean; sudo apt-get -y clean; } > /dev/null freeSpace=$(df / | tail -1 | awk '{ print $4 }') if (( $freeSpace < 400000 )); then - if dpkg -l | grep -q wolfram-engine; then + if dpkg -l | grep -q wolfram-engine; then if [[ ! $autoYes ]]; then echo "In order to create enough space on your SD card to upgrade," echo "the Wolfram Language and Mathematica software packages must be removed." @@ -179,7 +179,7 @@ if [[ $noobs ]]; then grep -q 'disablesafemode' /tmp/p1/recovery.cmdline || sudo sed -i '1 s/^\(.*\)$/\1 disablesafemode/' /tmp/p1/recovery.cmdline sudo umount /tmp/p1 rmdir /tmp/p1 - + sudo sed -i 's/\(Raspple II release.*[^u]$\)/\1u/' /etc/issue fi diff --git a/scripts/tools/cppo.txt b/scripts/tools/cppo.txt index fb99b65..07e83fd 100755 --- a/scripts/tools/cppo.txt +++ b/scripts/tools/cppo.txt @@ -13,7 +13,7 @@ options: -e : Nulib2-compatible filenames with type/auxtype and resource forks. -uc : Copy GS/OS mixed case filenames as uppercase. -pro: Adapt DOS 3.3 names to ProDOS and remove addr/len from file data. - + /extract/path examples: /FULL/PRODOS/PATH (ProDOS image source) "MY FILENAME" (DOS 3.3 image source) @@ -125,7 +125,7 @@ def unixDateToADDate(arg1): # returns byte position in disk image file def getStartPos(arg1, arg2): if g.D33: - return (ts(arg1) + (35 * (arg2 % 7)) + 11) + return (ts(arg1) + (35 * (arg2 % 7)) + 11) else: # ProDOS return ( (arg1 * 512) + (39 * ((arg2 + (arg2 > 11)) % 13)) + @@ -154,7 +154,7 @@ def getFileName(arg1, arg2): for i in range(0, len(fileName)): if (caseMask[i] == "1"): fileName = (fileName[:i] + - fileName[i:i+1].lower() + + fileName[i:i+1].lower() + fileName[i+1:]) return fileName @@ -208,7 +208,7 @@ def getKeyPointer(arg1, arg2): start = getStartPos(arg1, arg2) if g.D33: return [readcharDec(g.imageData, start+0), - readcharDec(g.imageData, start+1)] + readcharDec(g.imageData, start+1)] else: # ProDOS return (readcharDec(g.imageData, start+17) + readcharDec(g.imageData, start+18)*256) @@ -228,7 +228,7 @@ def getFileLength(arg1, arg2): elif (fileType == 'FC' or fileType == 'FA'): # BAS (A) or INT (I) # file length is in first two bytes of file data return ((readcharDec(g.imageData, ts(fileStart)+0) + - readcharDec(g.imageData, ts(fileStart)+1)*256) + 2) + readcharDec(g.imageData, ts(fileStart)+1)*256) + 2) else: # TXT (T) or other # sadly, we have to walk the whole file # length is determined by sectors in TSlist, minus wherever @@ -338,7 +338,7 @@ def getWorkingDirName(arg1, arg2=None): for i in range(0, len(workingDirName)): if (caseMask[i] == "1"): workingDirName = (workingDirName[:i] + - workingDirName[i:i+1].lower() + + workingDirName[i:i+1].lower() + workingDirName[i+1:]) return workingDirName @@ -399,7 +399,7 @@ def ts(track, sector=None): if isinstance(sector, type("".encode("L1").decode("L1"))): # hex-ustr sector = int(sector, 16) return (track*16*256)+(sector*256) - + # --- main logic functions def copyFile(arg1, arg2): @@ -409,7 +409,7 @@ def copyFile(arg1, arg2): # ShrinkIt: directory path / file name # copies file or dfork to g.outFileData, rfork if any to g.exFileData g.activeFileBytesCopied = 0 - + if g.SHK: with open(os.path.join(arg1, arg2), 'rb') as infile: g.outFileData += infile.read() @@ -523,7 +523,7 @@ def processEntry(arg1, arg2): getFileLength(arg1, arg2), getAuxType(arg1, arg2), getCreationDate(arg1, arg2), getModifiedDate(arg1, arg2)) ''' - + eTargetName = None g.exFileData = None g.outFileData = bytearray(b'') @@ -541,7 +541,7 @@ def processEntry(arg1, arg2): if (not g.PDOSPATH_INDEX or g.activeFileName.upper() == g.PDOSPATH_SEGMENT.upper()): - + # if ProDOS directory, not file if (not g.SHK and getStorageType(arg1, arg2) == 13): if not g.PDOSPATH_INDEX: @@ -620,7 +620,7 @@ def processEntry(arg1, arg2): writecharsHex(g.exFileData, 654, getFileType(arg1, arg2) + - getAuxType(arg1, arg2)) + getAuxType(arg1, arg2)) writechars(g.exFileData, 657, b'pdos') saveFile(ADfilePath, g.exFileData) touch(saveName, modifiedDate) @@ -632,7 +632,7 @@ def processEntry(arg1, arg2): (g.extractFile and (g.extractFile.lower() == origFileName.lower()))): quitNow(0) - g.targetName = None + g.targetName = None #else: #print(g.activeFileName + " doesn't match " + g.PDOSPATH_SEGMENT) @@ -791,7 +791,7 @@ def binToDec(arg1): # arg: binary string up to 8 bits # out: decimal value return to_dec([arg1]) - + def binToHex(arg1): # converts single-byte binary string (8 bits) value to hex # warning: no error checking @@ -994,10 +994,10 @@ def to_bytes(val): else: raise Exception( "to_bytes() requires hex-ustr, int/long, or [bin-ustr]") - + def shift(items): """Shift list items to left, losing the first item. - + in : list out: list """ @@ -1005,7 +1005,7 @@ def shift(items): items[i] = items[i+1] del items[-1] return items - + def s(string): """Perform local variable substution, e.g. 'total: {num} items'""" # http://stackoverflow.com/questions/2960772/ @@ -1101,14 +1101,14 @@ while True: # breaks when there are no more arguments starting with dash if (len(args) == 1): usage() - + if (slyce(args[1],0,1) != "-"): break if (args[1] == "-s"): g.nomsg = 1 args = args[1:] #shift - + elif (args[1] == "-n"): g.nodir = 1 args = args[1:] #shift @@ -1121,7 +1121,7 @@ while True: # breaks when there are no more arguments starting with dash g.AD = 1 g.PNAME = 1 args = args[1:] #shift - + elif (args[1] == "-shk"): g.SHK = 1 args = args[1:] #shift @@ -1191,7 +1191,7 @@ else: if not os.path.isdir(args[2]): print("Target directory not found.") quitNow(2) - + if g.SHK: g.PNAME = 0 if not g.CAT: @@ -1284,7 +1284,7 @@ if g.SHK: quitNow(0) # end script if SHK - + g.imageData = loadFile(g.imageFile) # detect if image is 2mg and remove 64-byte header if so @@ -1345,7 +1345,7 @@ if (len(g.imageData) == 143360): #print("saving fixed order file as outfile.dsk") #saveFile("outfile.dsk", g.imageData) #print("saved") - + if not prodosDisk and not g.D33: print("Warning: Unable to determine disk format, assuming ProDOS.") diff --git a/setup/index.txt b/setup/index.txt index 385e6da..ceb2ab2 100755 --- a/setup/index.txt +++ b/setup/index.txt @@ -279,7 +279,7 @@ if (( $doSetup )); then echo "Workstation Card software. For IIgs users, it should be accessible" echo "via the AppleShare control panel." if [[ -f /srv/A2SERVER/A2FILES/System/Start.GS.OS ]]; then - echo + echo echo "You can network boot GS/OS." echo "On a ROM 01 IIgs, set slot 1 (printer port), or slot 2 (modem port)" echo "to Your Card, and slot 7 to AppleTalk, and Startup Slot to 7 or Scan." @@ -327,7 +327,7 @@ if (( $doSetup )); then echo "by typing 'appletalk-on'." echo fi - + if [[ -f /tmp/noMacIP ]]; then echo echo "MacIP connections may be unavailable. If you know how, try" diff --git a/update/devhistory.txt b/update/devhistory.txt index 76db249..edfc13a 100644 --- a/update/devhistory.txt +++ b/update/devhistory.txt @@ -68,7 +68,7 @@ 1.2.6: Nov 2015: full, ready to use install of Spectrum; install unzip [unannounced] - + 1.2.6+:Nov 2015: merged Ivan's 1.2.6 (into github master branch) [unannounced] @@ -80,11 +80,11 @@ 1.2.8: Dec 2015: can specify alternate host for binaries and external files; [unannounced] 64-bit Debian precompiled binaries; move /media/A2SHARED/* to /srv/A2SERVER; internet access (MacIP support); - + 1.2.9: Jan 2016: cppo supports ShrinkIt, DOS 3.3, DSK, 2MG; MountIt fully [unannounced] installed; nulib2 fixes handling empty forks (thanks Andy); -c installer option compiles all software (no binaries) - + 1.3.0: Jan 2016: Marinetti 3.0b8 installed, with preconfigured MacIP [unannounced] @@ -93,7 +93,7 @@ 1.3.2: Jan 2016: install SAFE2, SAM2, and SNAP, configured for Apple II sites; [unannounced] -i installer option reinstalls A2SERVER - + 1.5.0: Jan 2016: defaults to GitHub for location of installer scripts [unannounced] diff --git a/update/versionhistory.txt b/update/versionhistory.txt index 0181550..4080ab2 100644 --- a/update/versionhistory.txt +++ b/update/versionhistory.txt @@ -56,7 +56,7 @@ 1.2.6: Nov 2015: full, ready to use install of Spectrum [unannounced; released briefly, then withdrawn] -1.5.0: Jan 2016: mixed case filenames for A2FILES; remove GSFILES if empty; +1.5.0: Jan 2016: mixed case filenames for A2FILES; remove GSFILES if empty; install Marinetti 3.0b8 with internet access via MacIP; fully install Spectrum, SAFE2, SAM2, SNAP, MountIt; install DOS3.3 and TEACH; remove Ubuntu support; move/media/A2SHARED/*