diff --git a/scripts/a2server-1-storage.txt b/scripts/a2server-1-storage.txt index 009e4e3..39403ce 100755 --- a/scripts/a2server-1-storage.txt +++ b/scripts/a2server-1-storage.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # --- Setting up the share volume diff --git a/scripts/a2server-2-tools.txt b/scripts/a2server-2-tools.txt index f65b7e6..5929633 100755 --- a/scripts/a2server-2-tools.txt +++ b/scripts/a2server-2-tools.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # download and install a2server tools: # mkatinit, mkvolinfo, afptype, afpsync, aliases, nulib2 @@ -124,9 +125,9 @@ echo "source /usr/local/etc/a2server-aliases" | sudo tee -a /etc/bash.bashrc > / [[ $(lsb_release -d 2> /dev/null | grep Ubuntu) ]] && motd="/etc/issue" || motd="/etc/motd" if [[ ! $(grep A2SERVER $motd) ]]; then - echo | sudo tee -a $motd > /dev/null - echo "Type 'system-shutdown' to turn off A2SERVER." | sudo tee -a $motd > /dev/null - echo "Type 'a2server-setup' to configure network boot." | sudo tee -a $motd > /dev/null - echo "Type 'a2server-help' for a list of other commands." | sudo tee -a $motd > /dev/null - echo | sudo tee -a $motd > /dev/null + echo | sudo tee -a $motd > /dev/null + echo "Type 'system-shutdown' to turn off A2SERVER." | sudo tee -a $motd > /dev/null + echo "Type 'a2server-setup' to configure network boot." | sudo tee -a $motd > /dev/null + echo "Type 'a2server-help' for a list of other commands." | sudo tee -a $motd > /dev/null + echo | sudo tee -a $motd > /dev/null fi diff --git a/scripts/a2server-3-sharing.txt b/scripts/a2server-3-sharing.txt index e9fadde..f741ab3 100755 --- a/scripts/a2server-3-sharing.txt +++ b/scripts/a2server-3-sharing.txt @@ -1,4 +1,6 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: + # A2SERVER -- a virtual machine for sharing files to Apple II clients # by Ivan X, ivan@ivanx.com @@ -173,10 +175,10 @@ if [[ ! $(grep '^- -ddp.*uams_randnum.so' /usr/local/etc/netatalk/afpd.conf) ]]; # disable DHX (DHCAST128) on Raspberry Pi, which refuses uams if the config string is too long [[ -f /usr/bin/raspi-config ]] && dhx="" || dhx="uams_dhx.so," echo -n -e \ - "- -ddp -tcp -uamlist uams_guest.so,uams_clrtxt.so,uams_randnum.so" \ - | sudo tee -a /usr/local/etc/netatalk/afpd.conf > /dev/null + "- -ddp -tcp -uamlist uams_guest.so,uams_clrtxt.so,uams_randnum.so" \ + | sudo tee -a /usr/local/etc/netatalk/afpd.conf > /dev/null echo -e ",${dhx}uams_dhx2.so" \ - | sudo tee -a /usr/local/etc/netatalk/afpd.conf > /dev/null + | sudo tee -a /usr/local/etc/netatalk/afpd.conf > /dev/null fi # replace home folder share and end of file mark with share placeholders @@ -192,7 +194,7 @@ if [[ ! $(grep ^eth0 /usr/local/etc/netatalk/atalkd.conf) && ! $(grep ^wlan0 /us # needs -router and -zone to prevent GS/OS AppleShare CDEV crash when used # with Dayna or Asante bridges echo -e 'eth0 -router -phase 2 -net 1 -zone "A2SERVER"' \ - | sudo tee -a /usr/local/etc/netatalk/atalkd.conf > /dev/null + | sudo tee -a /usr/local/etc/netatalk/atalkd.conf > /dev/null fi # Raspberry Pi @@ -217,8 +219,8 @@ fi # set up GSFILES share (for GS data files, not GSOS system) # classic Mac OS file names are allowed (31 chars, mixed case, everything but colons) sudo sed -i \ -'s/^#share1/\/media\/A2SHARED\/GSFILES\ GSFILES ea:ad/' \ -/usr/local/etc/netatalk/AppleVolumes.default + 's/^#share1/\/media\/A2SHARED\/GSFILES\ GSFILES ea:ad/' \ + /usr/local/etc/netatalk/AppleVolumes.default [[ -d /media/A2SHARED/GSFILES ]] || mkdir -p /media/A2SHARED/GSFILES # set up A2FILES share (for ProDOS 8 files, and GS/OS system) @@ -226,8 +228,8 @@ sudo sed -i \ # lowercase filenames will be converted to upper automatically # need for GS/OS system because it may refer to files by either upper or lower sudo sed -i \ -'s/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper ea:ad/' \ -/usr/local/etc/netatalk/AppleVolumes.default + 's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper ea:ad/' \ + /usr/local/etc/netatalk/AppleVolumes.default [[ -d /media/A2SHARED/A2FILES ]] || mkdir -p /media/A2SHARED/A2FILES if [[ ! -d /media/A2SHARED/A2FILES/.AppleDesktop ]]; then cd /media/A2SHARED/A2FILES @@ -363,11 +365,11 @@ if [[ ( ! $(ps aux | grep [a]talkd) ) && ( $isRpi ) ]]; then # from when AppleTalk was added/fixed, so we have a consistent firmware that # we're loading until the next proper release of Raspbian that includes it # - # 10-26-13: when AppleTalk was added to Raspbian: - # sudo rpi-update 9530adbe31fe6b8e05b3bd5cfadfc90f067f5362 + # # 10-26-13: when AppleTalk was added to Raspbian: + # sudo rpi-update 9530adbe31fe6b8e05b3bd5cfadfc90f067f5362 # sudo modprobe appletalk 2> /dev/null # if [[ $(lsmod | grep appletalk) ]]; then - # if it loaded, restart netatalk + # # if it loaded, restart netatalk # sudo sed -i "s/ATALKD_RUN=no/ATALKD_RUN=yes/" /etc/default/netatalk; sudo /etc/init.d/netatalk restart # fi # diff --git a/scripts/a2server-5-netboot.txt b/scripts/a2server-5-netboot.txt index 90d44ad..eb5bc79 100755 --- a/scripts/a2server-5-netboot.txt +++ b/scripts/a2server-5-netboot.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # this script downloads and installs the Apple boot blocks required # for booting an Apple II client over the network, and places @@ -48,8 +49,8 @@ if [[ ! $autoAnswerDefault || -f /tmp/a2server-setupNetBoot ]]; then # 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 ]] \ - || [[ ! -f /usr/local/etc/netatalk/a2boot/Apple\ :2f:2fe\ Boot\ Blocks ]]; then + || [[ ! -f /usr/local/etc/netatalk/a2boot/ProDOS16\ Image ]] \ + || [[ ! -f /usr/local/etc/netatalk/a2boot/Apple\ :2f:2fe\ Boot\ Blocks ]]; then echo "A2SERVER: Downloading Apple II Boot Blocks..." cd /tmp/netboot @@ -70,22 +71,22 @@ if [[ ! $autoAnswerDefault || -f /tmp/a2server-setupNetBoot ]]; then # 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" | \ - sudo dd of='Apple :2f:2fe Boot Blocks' bs=19779 seek=1 conv=notrunc 2> /dev/null + sudo dd of='Apple :2f:2fe Boot Blocks' bs=19779 seek=1 conv=notrunc 2> /dev/null echo -n -e "\xA8\xA2\x01\xBD\x80\x10\x99\xA0\x10\xC8\xE8\xE0\x09\x90\xF4" | \ - sudo dd of='ProDOS16 Image' bs=22583 seek=1 conv=notrunc 2> /dev/null + sudo dd of='ProDOS16 Image' bs=22583 seek=1 conv=notrunc 2> /dev/null # enable typing "8" during GS/OS netboot to force ProDOS 8 boot echo -n -e "\x92" | sudo dd of='ProDOS16 Image' bs=256 seek=1 conv=notrunc 2> /dev/null echo -n -e "\x20\x7d\x14" | sudo dd of='ProDOS16 Image' bs=864 seek=1 conv=notrunc 2> /dev/null echo -n -e "\xad\x00\xc0\x29\xff\x00\xc9\xb8\x00\xd0\x06\xa9\x02\x00\x8d\x53\x14\xa9\x10\x0f\x60" | \ - sudo dd of='ProDOS16 Image' bs=1661 seek=1 conv=notrunc 2> /dev/null + 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 ]] \ - || [[ ! -f /usr/local/bin/mkvolinfo ]] \ - || [[ ! -f /usr/local/bin/afpsync ]]; then + || [[ ! -f /usr/local/bin/afptype ]] \ + || [[ ! -f /usr/local/bin/mkvolinfo ]] \ + || [[ ! -f /usr/local/bin/afpsync ]]; then rm /tmp/2.tools &> /dev/null wget -q -O /tmp/2.tools "${scriptURL}scripts/a2server-2-tools.txt" chmod ugo+x /tmp/2.tools @@ -104,7 +105,7 @@ if [[ ! $autoAnswerDefault || -f /tmp/a2server-setupNetBoot ]]; then echo "A2SERVER: Creating NETBOOT.P8..." touch $p8Dir/NETBOOT.P8 echo -n -e "\x38\x20\x1f\xfe\x90\x01\x60\xfb\x08\xc2\x30\xf4\x02\x00\xf4\x62\x00\xa2\x03\x0b\x22\x00\x00\xe1\x78\xf4\x00\x00\xf4\x00\x00\xab\xab\x2b\x38\xfb\xce\xf4\x03\xa9\x0c\x8d\x68\xc0\x9c\x47\xc0\x9c\x41\xc0\xa9\x09\x8d\x39\xc0\xa9\xc0\x8d\x39\xc0\x5c\x62\xfa\x00" | \ - sudo dd of="$p8Dir/NETBOOT.P8" 2> /dev/null + sudo dd of="$p8Dir/NETBOOT.P8" 2> /dev/null afpsync -v $p8Dir > /dev/null afptype -p SYS -q $p8Dir/NETBOOT.P8 fi @@ -114,7 +115,7 @@ if [[ ! $autoAnswerDefault || -f /tmp/a2server-setupNetBoot ]]; then # create tool for setting GSOS boot in battery RAM and rebooting. Props yet again to Geoff Body. touch $gsosDir/NETBOOT.GSOS echo -n -e "\x38\x20\x1f\xfe\x90\x01\x60\xfb\x08\xc2\x30\xf4\x01\x00\xf4\x62\x00\xa2\x03\x0b\x22\x00\x00\xe1\x78\xf4\x00\x00\xf4\x00\x00\xab\xab\x2b\x38\xfb\xce\xf4\x03\xa9\x0c\x8d\x68\xc0\x9c\x47\xc0\x9c\x41\xc0\xa9\x09\x8d\x39\xc0\xa9\xc0\x8d\x39\xc0\x5c\x62\xfa\x00" | \ - sudo dd of="$p8Dir/NETBOOT.GSOS" 2> /dev/null + sudo dd of="$p8Dir/NETBOOT.GSOS" 2> /dev/null afpsync -v $gsosDir > /dev/null afptype -p SYS -q $gsosDir/NETBOOT.GSOS fi diff --git a/scripts/a2server-6-samba.txt b/scripts/a2server-6-samba.txt index 547a618..9378e33 100755 --- a/scripts/a2server-6-samba.txt +++ b/scripts/a2server-6-samba.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # Set up A2SERVER to support Samba (Windows File Sharing) # this script can also be used if new shares are introduced @@ -57,7 +58,7 @@ if [[ ! $autoAnswerDefault || -f /tmp/a2server-setupWindowsSharing ]]; then sudo sed -i 's/^# security = user/ security = user/' /etc/samba/smb.conf 2> /dev/null grep ^/media /usr/local/etc/netatalk/AppleVolumes.default | cut -d" " -f2 \ - | while read sharename; do + | while read sharename; do if [[ $(grep $sharename /etc/samba/smb.conf) ]]; then echo "A2SERVER: $sharename is already set up for Windows file sharing." else diff --git a/scripts/a2server-7-console.txt b/scripts/a2server-7-console.txt index f810587..2531c88 100755 --- a/scripts/a2server-7-console.txt +++ b/scripts/a2server-7-console.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # --- Ubuntu Server console optimizaton (optional) @@ -77,21 +78,21 @@ if [[ $(lsb_release -d 2> /dev/null | grep Ubuntu) ]]; then # If you see a piix4_smbus error on startup, it is harmless, but if you # want to eliminate it, type: echo -e '\nblacklist i2c_piix4' \ - | sudo tee -a /etc/modprobe.d/blacklist.conf > /dev/null + | sudo tee -a /etc/modprobe.d/blacklist.conf > /dev/null sudo update-initramfs -u -k all # If you want to prevent the Ubuntu screen from going blank after ten # minutes of inactivity (once you are logged in), type: echo -e \ - '\n[[ $SSH_CLIENT || $REMOTEHOST ]] || setterm -blank 0 -powersave off -powerdown 0' \ - | sudo tee -a /etc/profile > /dev/null + '\n[[ $SSH_CLIENT || $REMOTEHOST ]] || setterm -blank 0 -powersave off -powerdown 0' \ + | sudo tee -a /etc/profile > /dev/null setterm -blank 0 -powersave off -powerdown 0 # (note: These next lines addresses an issue only for Ubuntu 10.04.) # Type "ps aux" and press return. If you see slow text scrolling, type: if [[ "$(lsb_release -rs 2> /dev/null)" == "10.04" ]]; then echo -e '\nblacklist vga16fb' \ - | sudo tee -a /etc/modprobe.d/blacklist-framebuffer.conf > /dev/null + | sudo tee -a /etc/modprobe.d/blacklist-framebuffer.conf > /dev/null if [[ ! $SSH_CLIENT ]]; then echo "Restarting now is recommended. To resume setup, log back" echo -n "in, press up-arrow, and press return. Restart now? " diff --git a/scripts/tools/afpsync.txt b/scripts/tools/afpsync.txt index 91f2640..2681227 100755 --- a/scripts/tools/afpsync.txt +++ b/scripts/tools/afpsync.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # afpsync: updates .AppleDouble components of files on shared volumes @@ -45,12 +46,12 @@ processPath () { [[ ! $renameLower ]] && echo "Ensure filenames are all caps on volume $sharepath." if [[ $showerrors ]]; then echo $result \ - | while read LINE; do + | while read LINE; do [[ ! $(echo $LINE | grep APPLEDESKTOP) ]] && echo $LINE done elif [[ $renameLower ]]; then echo $result \ - | while read LINE; do + | while read LINE; do if [[ ! $(echo $LINE | grep APPLEDESKTOP) ]]; then filepath=$(echo $LINE | sed "s/^Bad\ encoding\ for\ '//" | sed s/\'//) filename=${filepath##*/} @@ -105,7 +106,7 @@ else processPath else grep ^/media /usr/local/etc/netatalk/AppleVolumes.default | \ - while read line; do + while read line; do [[ $(echo $line | grep toupper) ]]; nocasefold=$? sharepath=$(echo $line | cut -d" " -f1) processPath nocasefold diff --git a/scripts/tools/afptype.txt b/scripts/tools/afptype.txt index 2d64c44..66cf3f9 100755 --- a/scripts/tools/afptype.txt +++ b/scripts/tools/afptype.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # 2-25-11: tested on 10.6.5 and Ubuntu 10.10. Final. @@ -58,7 +59,7 @@ decToHex () { [[ $1 ]] || return 11 [[ $2 ]] && return 8 [[ ( $(printf %d "$1" 2> /dev/null) == $1 ) \ - && ( $1 -ge 0 ) && ( $1 -le 255 ) ]] || return 21 + && ( $1 -ge 0 ) && ( $1 -le 255 ) ]] || return 21 # args are valid printf %02X "$1" } @@ -72,7 +73,7 @@ hexToDec () { [[ $2 ]] && return 8 [[ ${#1} -eq 2 ]] || return 21 [[ $(printf %02X "0x$1" 2> /dev/null) == \ - $(echo -n "$1" | tr [a-z] [A-Z]) ]] || return 21 + $(echo -n "$1" | tr [a-z] [A-Z]) ]] || return 21 # args are valid printf %d "0x$1" } @@ -92,7 +93,7 @@ charToDec () { # above line verifies that arg/stdin is valid [[ ${#charX} -ne 2 ]] && { echo -n 0; return 0; } echo -n "${charX:0:1}" | od -t u1 | \ - head -1 | sed 's/[0\ ]*//' | tr -d ' \n' + head -1 | sed 's/[0\ ]*//' | tr -d ' \n' } charToHex () { @@ -110,7 +111,7 @@ charToHex () { # above line verifies that stdin/arg is valid [[ ${#charX} -ne 2 ]] && { echo -n "00"; return 0; } printf %02X $(echo -n "${charX:0:1}" | od -t u1 | \ - head -1 | sed 's/[0\ ]*//' | tr -d ' \n') + head -1 | sed 's/[0\ ]*//' | tr -d ' \n') } decToChar () { @@ -121,7 +122,7 @@ decToChar () { [[ $1 ]] || return 11 [[ $2 ]] && return 8 [[ ( $(printf %d "$1" 2> /dev/null ) == $1 ) \ - && ( $1 -ge 0 ) && ( $1 -le 255 ) ]] || return 21 + && ( $1 -ge 0 ) && ( $1 -le 255 ) ]] || return 21 # args are valid echo -n -e "\x$(printf %02X "$1")" } @@ -135,7 +136,7 @@ hexToChar () { [[ $2 ]] && return 8 [[ ${#1} -eq 2 ]] || return 21 [[ $(printf %02X "0x$1" 2> /dev/null) == \ - $(echo -n "$1" | tr [a-z] [A-Z]) ]] || return 21 + $(echo -n "$1" | tr [a-z] [A-Z]) ]] || return 21 # args are valid echo -n -e "\x$1" } @@ -152,12 +153,12 @@ readchars () { [[ $4 ]] && return 8 [[ -f $1 ]] || return 21 [[ $2 ]] && { [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) \ - && ( $2 -ge 0 ) ]] || return 22; } + && ( $2 -ge 0 ) ]] || return 22; } [[ $3 ]] && { [[ ( $(printf %d "$3" 2> /dev/null) == $3 ) \ - && ( $3 -ge 0 ) ]] || return 23; } + && ( $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 } readcharDec () { @@ -171,13 +172,13 @@ readcharDec () { [[ $3 ]] && return 8 [[ -f $1 ]] || return 21 [[ $2 ]] && { [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) \ - && ( $2 -ge 0 ) ]] || return 22; } + && ( $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; 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' + head -1 | sed 's/[0\ ]*//' | tr -d ' \n' } readcharHex () { @@ -191,13 +192,13 @@ readcharHex () { [[ $3 ]] && return 8 [[ -f $1 ]] || return 21 [[ $2 ]] && { [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) \ - && ( $2 -ge 0 ) ]] || return 22; } + && ( $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; 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') + head -1 | sed 's/[0\ ]*//' | tr -d ' \n') } ### 2-15-11 above tested on OS X and Linux @@ -213,13 +214,13 @@ writechars () { # 13=missing stdin/arg3, 22=invalid arg2 [[ $1 ]] || { [[ -t 0 ]] || cat > /dev/null; return 11; } [[ $2 ]] && { [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) && \ - ( $2 -ge 0 ) ]] || { [[ -t 0 ]] || cat > /dev/null; return 22; } } + ( $2 -ge 0 ) ]] || { [[ -t 0 ]] || cat > /dev/null; return 22; } } [[ ( ! -t 0 ) && $3 ]] && { cat > /dev/null; return 8; } [[ ( -t 0 ) ]] && { [[ $4 ]] && return 8; [[ $3 ]] || return 13; } # args are valid if [[ -t 0 ]]; then echo -n "$3" | \ - dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null + dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null else dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null fi @@ -236,12 +237,12 @@ writecharDec () { [[ $1 ]] || return 11; [[ $2 ]] || return 12; [[ $3 ]] || return 13 [[ $4 ]] && return 8 [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) \ - && ( $2 -ge 0 ) ]] || return 22 + && ( $2 -ge 0 ) ]] || return 22 [[ ( $(printf %d "$3" 2> /dev/null) == $3 ) \ - && ( $3 -ge 0 ) && ( $3 -lt 255 ) ]] || return 23 + && ( $3 -ge 0 ) && ( $3 -lt 255 ) ]] || return 23 # args are valid echo -n -e "\x$(printf %02X "$3")" | \ - dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null + dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null } writecharHex () { @@ -255,12 +256,12 @@ writecharHex () { [[ $1 ]] || return 11; [[ $2 ]] || return 12; [[ $3 ]] || return 13 [[ $4 ]] && return 8 [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) \ - && ( $2 -ge 0 ) ]] || return 22 + && ( $2 -ge 0 ) ]] || return 22 [[ $(printf %02X "0x$3" 2> /dev/null) == \ - $(echo -n "$3" | tr [a-z] [A-Z]) ]] || return 23 + $(echo -n "$3" | tr [a-z] [A-Z]) ]] || return 23 # args are valid echo -n -e "\x$3" | \ - dd of="$1" bs=1 seek=$2 conv=notrunc 2> /dev/null + dd of="$1" bs=1 seek=$2 conv=notrunc 2> /dev/null } @@ -268,7 +269,7 @@ writecharHex () { isHexByte () { [[ $(printf %02X "0x$1" 2> /dev/null) == \ - $(echo -n "$1" | tr [a-z] [A-Z]) ]] || return 1 + $(echo -n "$1" | tr [a-z] [A-Z]) ]] || return 1 } # support 00 and 0A as filetype chars? @@ -310,8 +311,7 @@ lookupPdosType () { [[ ${#1} -eq 3 ]] || return 1 arg=$(echo -n "$1" | tr [a-z] [A-Z]) for ptype in $ptypes; do - if [[ ${ptype:3:3} == $arg ]] - then + if [[ ${ptype:3:3} == $arg ]]; then echo -n "${ptype:0:2}" return 0 fi @@ -383,11 +383,11 @@ for filename in $@; do [[ -f $adname ]] && filename=$adname ADversion=$(readcharDec "$filename" 5) if [[ ( ( $ADversion -ne 1 ) && ( $ADversion -ne 2 ) ) \ - || ( "$(readchars "$filename" 1 3)" != "$(echo -e -n "\x05\x16\x07")" ) \ - || ( $(readcharDec "$filename" 0) -ne 0 ) \ - || ( $(readcharDec "$filename" 4) -ne 0 ) \ - || ( $(readcharDec "$filename" 6) -ne 0 ) \ - || ( $(readcharDec "$filename" 7) -ne 0 ) ]]; then + || ( "$(readchars "$filename" 1 3)" != "$(echo -e -n "\x05\x16\x07")" ) \ + || ( $(readcharDec "$filename" 0) -ne 0 ) \ + || ( $(readcharDec "$filename" 4) -ne 0 ) \ + || ( $(readcharDec "$filename" 6) -ne 0 ) \ + || ( $(readcharDec "$filename" 7) -ne 0 ) ]]; then echo "${linestart}Not an AppleDouble file." continue fi @@ -451,7 +451,7 @@ for filename in $@; do echo -n "$linestart" if [[ $creator != "pdos" || ( ( $type != "TEXT" ) \ - && ( $type != "PSYS" ) && ( ${type:0:1} != "p" ) ) ]]; then + && ( $type != "PSYS" ) && ( ${type:0:1} != "p" ) ) ]]; then if [[ $creator || $type ]]; then echo "Mac file. Type:$type Creator:$creator" else diff --git a/scripts/tools/mkatinit.txt b/scripts/tools/mkatinit.txt index 79311c5..e6fad41 100755 --- a/scripts/tools/mkatinit.txt +++ b/scripts/tools/mkatinit.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # mkatinit by Ivan Drucker, http://appleii.ivanx.com # not licensed; please modify and redistribute as you like @@ -29,7 +30,7 @@ decToChar () { [[ $1 ]] || return 11 [[ $2 ]] && return 8 [[ ( $(printf %d "$1" 2> /dev/null ) == $1 ) \ - && ( $1 -ge 0 ) && ( $1 -le 255 ) ]] || return 21 + && ( $1 -ge 0 ) && ( $1 -le 255 ) ]] || return 21 # args are valid echo -n -e "\x$(printf %02X "$1")" } @@ -45,13 +46,13 @@ writechars () { # 13=missing stdin/arg3, 22=invalid arg2 [[ $1 ]] || { [[ -t 0 ]] || cat > /dev/null; return 11; } [[ $2 ]] && { [[ ( $(printf %d "$2" 2> /dev/null) == $2 ) && \ - ( $2 -ge 0 ) ]] || { [[ -t 0 ]] || cat > /dev/null; return 22; } } + ( $2 -ge 0 ) ]] || { [[ -t 0 ]] || cat > /dev/null; return 22; } } [[ ( ! -t 0 ) && $3 ]] && { cat > /dev/null; return 8; } [[ ( -t 0 ) ]] && { [[ $4 ]] && return 8; [[ $3 ]] || return 13; } # args are valid if [[ -t 0 ]]; then echo -n "$3" | \ - dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null + dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null else dd of="$1" bs=1 seek=$(($2)) conv=notrunc 2> /dev/null fi @@ -73,49 +74,49 @@ echo usersfolder=1 while [ -n "$1" ] && [ "${1:0:1}" = '-' ]; do - flag="$1" - if [ $flag = "-gs" ]; then - gs=1 - shift - continue - elif [ $flag = "-d" ]; then - noprompt=1 - shift - continue - elif [ $flag = "-f" ]; then - overwrite=1 - shift - continue - elif [ $flag = "-g" ]; then - alsoguest=1 - shift - continue - elif [ $flag = "-c" ]; then - usersfolder=0 - shift - continue - else - badflag=1 - break - fi + flag="$1" + if [ $flag = "-gs" ]; then + gs=1 + shift + continue + elif [ $flag = "-d" ]; then + noprompt=1 + shift + continue + elif [ $flag = "-f" ]; then + overwrite=1 + shift + continue + elif [ $flag = "-g" ]; then + alsoguest=1 + shift + continue + elif [ $flag = "-c" ]; then + usersfolder=0 + shift + continue + else + badflag=1 + break + fi done if [ $usersfolder -eq 0 ] && [ -n "$alsoguest" ]; then - badflag=1 + badflag=1 fi if [ $badflag ]; then - echo "usage: mkatinit [-gs] [-d] [-f] [-g | -c] [|guest]" - echo - echo " should be the name of a netatalk user, or 'guest'" - echo "-gs sets the default ProDOS netboot system startup program and" - echo " prefix for GS/OS (if omitted, ProDOS 8 defaults are used)" - echo "-d use the default start program and prefix, without prompting" - echo "-f overwrite existing ATINIT file if present, without warning" - echo "-g create an ATINIT file for Guest as well as the specified user" - echo "-c write ATNIT to current directory instead of USERS hierarchy" - echo - exit + echo "usage: mkatinit [-gs] [-d] [-f] [-g | -c] [|guest]" + echo + echo " should be the name of a netatalk user, or 'guest'" + echo "-gs sets the default ProDOS netboot system startup program and" + echo " prefix for GS/OS (if omitted, ProDOS 8 defaults are used)" + echo "-d use the default start program and prefix, without prompting" + echo "-f overwrite existing ATINIT file if present, without warning" + echo "-g create an ATINIT file for Guest as well as the specified user" + echo "-c write ATNIT to current directory instead of USERS hierarchy" + echo + exit fi arg="$1" @@ -124,162 +125,162 @@ arg="$1" while : ; do - if [ ${#arg} -gt 32 ]; then - echo "User name is too long. Exiting with no action." - exit - elif [ -n "$arg" ]; then - if [ `echo $arg | tr '[:upper:]' '[:lower:]'` = "guest" ]; then - username='' - alsoguest= - if [[ ! $(grep -F -s $(ls -1 /home) /etc/default/netatalk) ]]; then - echo 'Warning: The AFPD_GUEST setting in /etc/default/netatalk is not assigned to a' - echo 'user with a folder in /home. Guest users may be able to boot over the network' - echo 'into ProDOS 8 for read-only access, but will not be able to boot into GS/OS.' - if [ $gs ]; then - echo ' Using ProDOS 8 defaults.' - gs= - else - echo - fi - echo - fi - else - username="$arg" - if [[ ! $(ls -1 /home | grep -F -s $username) ]]; then - echo "Warning: This username ($username) does not have a folder in /home. This user may" - echo "not be able to boot over the network into ProDOS 8 or GS/OS." - echo - fi - fi - if [ $gs ]; then - startprog="$gsstartprog" - prefix="$gsprefix" - fi - fi + if [ ${#arg} -gt 32 ]; then + echo "User name is too long. Exiting with no action." + exit + elif [ -n "$arg" ]; then + if [ `echo $arg | tr '[:upper:]' '[:lower:]'` = "guest" ]; then + username='' + alsoguest= + if [[ ! $(grep -F -s $(ls -1 /home) /etc/default/netatalk) ]]; then + echo 'Warning: The AFPD_GUEST setting in /etc/default/netatalk is not assigned to a' + echo 'user with a folder in /home. Guest users may be able to boot over the network' + echo 'into ProDOS 8 for read-only access, but will not be able to boot into GS/OS.' + if [ $gs ]; then + echo ' Using ProDOS 8 defaults.' + gs= + else + echo + fi + echo + fi + else + username="$arg" + if [[ ! $(ls -1 /home | grep -F -s $username) ]]; then + echo "Warning: This username ($username) does not have a folder in /home. This user may" + echo "not be able to boot over the network into ProDOS 8 or GS/OS." + echo + fi + fi + if [ $gs ]; then + startprog="$gsstartprog" + prefix="$gsprefix" + fi + fi - # make username all caps - username=`echo $username | tr '[:lower:]' '[:upper:]'` + # make username all caps + username=`echo $username | tr '[:lower:]' '[:upper:]'` - # prompt for folders - if [ ! $doalsoguest ] && [ ! $noprompt ]; then - while : ; do - echo "Enter the ProDOS path to the startup system program." - echo "default (CR to accept): $startprog" - read - if [ ${#REPLY} -gt 64 ]; then - continue - elif [ -n "$REPLY" ]; then - startprog="`echo $REPLY | tr '[:lower:]' '[:upper:]'`" - echo - fi - break - done + # prompt for folders + if [ ! $doalsoguest ] && [ ! $noprompt ]; then + while : ; do + echo "Enter the ProDOS path to the startup system program." + echo "default (CR to accept): $startprog" + read + if [ ${#REPLY} -gt 64 ]; then + continue + elif [ -n "$REPLY" ]; then + startprog="`echo $REPLY | tr '[:lower:]' '[:upper:]'`" + echo + fi + break + done - while : ; do - echo "Enter the initial ProDOS prefix:" - echo "default (CR to accept): $prefix" - read - if [ ${#REPLY} -gt 64 ]; then - continue - elif [ -n "$REPLY" ]; then - prefix="`echo $REPLY | tr '[:lower:]' '[:upper:]'`" - echo - fi - break - done - fi + while : ; do + echo "Enter the initial ProDOS prefix:" + echo "default (CR to accept): $prefix" + read + if [ ${#REPLY} -gt 64 ]; then + continue + elif [ -n "$REPLY" ]; then + prefix="`echo $REPLY | tr '[:lower:]' '[:upper:]'`" + echo + fi + break + done + fi - # create folders if needed - filepath="$PWD/$filename" + # create folders if needed + filepath="$PWD/$filename" - while [ $usersfolder -eq 1 ]; do - # create folders for ATINIT - while [ ! -d "$sharepath" ]; do - echo "Shared volume '$sharepath' not found. Edit mkatinit to change the default." - echo "Enter the local path to the netatalk shared volume used for netboot:" - read sharepath - done + while [ $usersfolder -eq 1 ]; do + # create folders for ATINIT + while [ ! -d "$sharepath" ]; do + echo "Shared volume '$sharepath' not found. Edit mkatinit to change the default." + echo "Enter the local path to the netatalk shared volume used for netboot:" + read sharepath + done - if [ ! -d "$sharepath/USERS" ]; then - mkdir "$sharepath/USERS" - if [ $? -ne 0 ]; then - break - fi - fi - if [ ! -d "$sharepath/USERS/$username" ]; then - mkdir "$sharepath/USERS/$username" - if [ $? -ne 0 ]; then - break - fi - fi - if [ ! -d "$sharepath/USERS/$username/SETUP" ]; then - mkdir "$sharepath/USERS/$username/SETUP" - if [ $? -ne 0 ]; then - break - fi - else - if [ ! -w "$sharepath/USERS/$username/SETUP" ]; then - break - fi - fi + if [ ! -d "$sharepath/USERS" ]; then + mkdir "$sharepath/USERS" + if [ $? -ne 0 ]; then + break + fi + fi + if [ ! -d "$sharepath/USERS/$username" ]; then + mkdir "$sharepath/USERS/$username" + if [ $? -ne 0 ]; then + break + fi + fi + if [ ! -d "$sharepath/USERS/$username/SETUP" ]; then + mkdir "$sharepath/USERS/$username/SETUP" + if [ $? -ne 0 ]; then + break + fi + else + if [ ! -w "$sharepath/USERS/$username/SETUP" ]; then + break + fi + fi - # we have a valid USERS folder target for ATINIT - filepath="$sharepath/USERS/$username/SETUP/$filename" - usersfolder=2 - done + # we have a valid USERS folder target for ATINIT + filepath="$sharepath/USERS/$username/SETUP/$filename" + usersfolder=2 + done - if [ $usersfolder -eq 1 ]; then - echo "Could not write to shared volume. Creating ATINIT in current directory." - if [ -n "$alsoguest" ]; then - echo "ATINIT for Guest user will not be created." - fi - echo - alsoguest= - fi + if [ $usersfolder -eq 1 ]; then + echo "Could not write to shared volume. Creating ATINIT in current directory." + if [ -n "$alsoguest" ]; then + echo "ATINIT for Guest user will not be created." + fi + echo + alsoguest= + fi - if [ ! $doalsoguest ]; then - echo "netboot start program: $startprog" - echo "netboot start prefix : $prefix" - echo - fi + if [ ! $doalsoguest ]; then + echo "netboot start program: $startprog" + echo "netboot start prefix : $prefix" + echo + fi - #remove ATINIT if present - if [ ! $overwrite ] && [ -f "$filepath" ]; then - echo -n "$filepath already exists. Overwrite? " - while read -s -n 1 > /dev/null 2>&1; do - if [ -z "$REPLY" ]; then - continue - elif [ "$REPLY" = "Y" ] || [ "$REPLY" = "y" ]; then - echo - break - elif [ "$REPLY" = "N" ] || [ "$REPLY" = "n" ]; then - echo - echo "Exiting with no action." - exit - fi - done - fi + #remove ATINIT if present + if [ ! $overwrite ] && [ -f "$filepath" ]; then + echo -n "$filepath already exists. Overwrite? " + while read -s -n 1 > /dev/null 2>&1; do + if [ -z "$REPLY" ]; then + continue + elif [ "$REPLY" = "Y" ] || [ "$REPLY" = "y" ]; then + echo + break + elif [ "$REPLY" = "N" ] || [ "$REPLY" = "n" ]; then + echo + echo "Exiting with no action." + exit + fi + done + fi - #write the file. start with zeroes - dd if=/dev/zero of="$filepath" bs=1 count=276 2> /dev/null - #put in startprog, prefix, username (first byte of each field is length) - # ( echo -n "${#startprog}" | awk '{printf("%c",$0);}'; echo -n "$startprog"; ) | dd of="$filepath" bs=1 seek=7 conv=notrunc 2> /dev/null - # ( echo -n "${#prefix}" | awk '{printf("%c",$0);}'; echo -n "$prefix"; ) | dd of="$filepath" bs=1 seek=78 conv=notrunc 2> /dev/null - # ( echo -n "${#username}" | awk '{printf("%c",$0);}'; echo -n "$username"; ) | dd of="$filepath" bs=1 seek=143 conv=notrunc 2> /dev/null - ( decToChar "${#startprog}"; echo -n "$startprog"; ) | writechars "$filepath" 7 - ( decToChar "${#prefix}"; echo -n "$prefix"; ) | writechars "$filepath" 78 - ( decToChar "${#username}"; echo -n "$username"; ) | writechars "$filepath" 143 + #write the file. start with zeroes + dd if=/dev/zero of="$filepath" bs=1 count=276 2> /dev/null + #put in startprog, prefix, username (first byte of each field is length) + # ( echo -n "${#startprog}" | awk '{printf("%c",$0);}'; echo -n "$startprog"; ) | dd of="$filepath" bs=1 seek=7 conv=notrunc 2> /dev/null + # ( echo -n "${#prefix}" | awk '{printf("%c",$0);}'; echo -n "$prefix"; ) | dd of="$filepath" bs=1 seek=78 conv=notrunc 2> /dev/null + # ( echo -n "${#username}" | awk '{printf("%c",$0);}'; echo -n "$username"; ) | dd of="$filepath" bs=1 seek=143 conv=notrunc 2> /dev/null + ( decToChar "${#startprog}"; echo -n "$startprog"; ) | writechars "$filepath" 7 + ( decToChar "${#prefix}"; echo -n "$prefix"; ) | writechars "$filepath" 78 + ( decToChar "${#username}"; echo -n "$username"; ) | writechars "$filepath" 143 - echo "Created $filepath" - if [ ! $alsoguest ]; then - break - fi + echo "Created $filepath" + if [ ! $alsoguest ]; then + break + fi - if [ $usersfolder -eq 2 ]; then - usersfolder=1 - fi - doalsoguest=1 - arg='guest' + if [ $usersfolder -eq 2 ]; then + usersfolder=1 + fi + doalsoguest=1 + arg='guest' done echo diff --git a/scripts/tools/mkvolinfo.txt b/scripts/tools/mkvolinfo.txt index 82bbf27..54b9cbd 100755 --- a/scripts/tools/mkvolinfo.txt +++ b/scripts/tools/mkvolinfo.txt @@ -1,4 +1,5 @@ -#!/bin/bash +#! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # mkvolinfo -- creates a (share)/.AppleDesktop/.volinfo file diff --git a/setup/index.txt b/setup/index.txt index 91aa409..c184b44 100755 --- a/setup/index.txt +++ b/setup/index.txt @@ -1,4 +1,5 @@ #! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # A2SERVER master setup script, last update 15-Feb-2015 # it downloads and executes several scripts related to the setup of @@ -12,36 +13,36 @@ a2serverVersion="125" function askYesNo() { - local default + local default - case "$3" in - 0) default="y" ;; - 1) default="n" ;; - *) default="" ;; - esac + case "$3" in + 0) default="y" ;; + 1) default="n" ;; + *) default="" ;; + esac - if [ -n "$autoAnswerDefault" -a -n "$default" ]; then - return $3 - fi + if [ -n "$autoAnswerDefault" -a -n "$default" ]; then + return $3 + fi - printf "\n$1\n\n" - while :; do - echo -n "$2 " - [ -n "$default" ] && echo -n "[$default] " - read - case "$REPLY" in - [Yy]*) return 0 ;; - [Nn]*) return 1 ;; - "") [ -n "$default" ] && return $3 ;; - *) echo "Please answer yes or no." ;; - esac - done + printf "\n$1\n\n" + while :; do + echo -n "$2 " + [ -n "$default" ] && echo -n "[$default] " + read + case "$REPLY" in + [Yy]*) return 0 ;; + [Nn]*) return 1 ;; + "") [ -n "$default" ] && return $3 ;; + *) echo "Please answer yes or no." ;; + esac + done } # Ensure URL we'll use ends in a / case "$A2SERVER_SCRIPT_URL" in - */) scriptURL="$A2SERVER_SCRIPT_URL" ;; - *) scriptURL="${A2SERVER_SCRIPT_URL:-http://appleii.ivanx.com/a2server}/" ;; + */) scriptURL="$A2SERVER_SCRIPT_URL" ;; + *) scriptURL="${A2SERVER_SCRIPT_URL:-http://appleii.ivanx.com/a2server}/" ;; esac isRpi= @@ -78,7 +79,7 @@ while [[ $1 ]]; do setupWindowsSharing="-w" touch /tmp/a2server-setupWindowsSharing elif [[ $1 == "-os" || $1 == "os" ]]; then - # elif [[ ${1,,} == "rasppleii" || ${1,,} == "raspple" || ${1,,} == "rasappleii" || ${1,,} == "rasapple" || ${1,,} == "raspple2" || ${1,,} == "rasapple2" ]]; then + # elif [[ ${1,,} == "rasppleii" || ${1,,} == "raspple" || ${1,,} == "rasappleii" || ${1,,} == "rasapple" || ${1,,} == "raspple2" || ${1,,} == "rasapple2" ]]; then shift updateRasppleII=1 elif [[ $1 == "-v" ]]; then @@ -125,9 +126,9 @@ if [[ $isRpi ]]; then #supported Raspbian? (16-Feb-15, 20-Jun-14, 09-Jan-14, etc fwhash=$(zcat /usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz | grep -m 1 'as of' | awk '{print $NF}') [[ ($fwhash == "8aca5762") || ($fwhash == "462f3e3f476f7b6") || ($fwhash == "c32bc633039cd9") || ($fwhash == "9d34d0475f9") || ($fwhash == "d4f5315cfac4e") || ($fwhash == "6f4a90c8cb8817f") || ($fwhash == "5dd9b4962e") || ($fwhash == "17c8799375") ]] && unsupportedOS=0 elif [[ "$(lsb_release -rs 2> /dev/null)" == "12.04" ]]; then #Ubuntu 12.04? - unsupportedOS=0 + unsupportedOS=0 elif [[ "$(lsb_release -rs 2> /dev/null)" == "7.3" || "$(lsb_release -rs 2> /dev/null)" == "7.6" || "$(lsb_release -rs 2> /dev/null)" == "7.8" ]]; then # tested Debian? - unsupportedOS=0 + unsupportedOS=0 fi if (( unsupportedOS )); then @@ -141,14 +142,14 @@ fi doSetup=1 if [[ ! -f /usr/local/etc/a2server-help.txt ]] || (( $a2server_update )); then - askYesNo "Setting up A2SERVER will take up to 60 minutes, during which\nyou'll see a bunch of stuff spit out across the screen." "Ready to set up A2SERVER?" 0 - doSetup=$(( 1 - $? )) + askYesNo "Setting up A2SERVER will take up to 60 minutes, during which\nyou'll see a bunch of stuff spit out across the screen." "Ready to set up A2SERVER?" 0 + doSetup=$(( 1 - $? )) fi if (( $doSetup )); then - askYesNo "a2server-setup modifies files and performs actions as the root user.\nFor details, visit http://appleii.ivanx.com/a2server." "Continue?" 0 - doSetup=$(( 1 - $? )) + askYesNo "a2server-setup modifies files and performs actions as the root user.\nFor details, visit http://appleii.ivanx.com/a2server." "Continue?" 0 + doSetup=$(( 1 - $? )) if (( $doSetup )); then @@ -163,7 +164,7 @@ if (( $doSetup )); then [[ $isRpi ]] && a2server="your Raspberry Pi" || a2server="A2SERVER" if [[ ! $isApple2Pw && ! -f /usr/local/etc/A2SERVER-version ]]; then - askYesNo "To ensure that all client computers are able to connect to\n${a2server} using the same password, you are recommended\nto change your user password to \"apple2\"." "Do you want to change the password for user \"$USER\" to \"apple2\" now?" 0 + askYesNo "To ensure that all client computers are able to connect to\n${a2server} using the same password, you are recommended\nto change your user password to \"apple2\"." "Do you want to change the password for user \"$USER\" to \"apple2\" now?" 0 if [ $? -eq 0 ]; then echo "A2SERVER: changing password for user '$USER' to 'apple2'..." echo "$USER:apple2" | sudo chpasswd @@ -214,7 +215,7 @@ if (( $doSetup )); then rm /tmp/a2server-packageReposUpdated &> /dev/null if [[ ! -f /usr/local/etc/A2SERVER-version ]] \ - || (( $(cat /usr/local/etc/A2SERVER-version) < "$a2serverVersion" )); then + || (( $(cat /usr/local/etc/A2SERVER-version) < "$a2serverVersion" )); then echo "$a2serverVersion" | sudo tee /usr/local/etc/A2SERVER-version &> /dev/null fi @@ -236,7 +237,7 @@ if (( $doSetup )); then echo "A2SERVER setup is complete! Go connect from your Apple II!" echo elif [[ -f /tmp/rpiUpdate ]]; then - askYesNo "A2SERVER is now configured, but Apple II clients will not be able\nto connect until you restart your Raspberry Pi." "Restart now?" 0 + askYesNo "A2SERVER is now configured, but Apple II clients will not be able\nto connect until you restart your Raspberry Pi." "Restart now?" 0 if [ $? -eq 0 ]; then sudo shutdown -r now echo @@ -263,7 +264,7 @@ if (( $doSetup )); then fi if [[ -f /tmp/singleUser ]]; then - askYesNo "Your Raspberry Pi was started in single-user mode in order to\nfix a problem. You should restart to operate normally." "Restart now?" 0 + askYesNo "Your Raspberry Pi was started in single-user mode in order to\nfix a problem. You should restart to operate normally." "Restart now?" 0 if [ $? -eq 0 ]; then sudo shutdown -r now echo @@ -274,9 +275,9 @@ if (( $doSetup )); then fi echo - echo "Type 'system-shutdown' to turn off A2SERVER." - echo "Type 'a2server-setup' to configure network boot." - echo "Type 'a2server-help' for a list of other commands." + echo "Type 'system-shutdown' to turn off A2SERVER." + echo "Type 'a2server-setup' to configure network boot." + echo "Type 'a2server-help' for a list of other commands." fi fi diff --git a/update/index.txt b/update/index.txt index 5a33882..85c851a 100755 --- a/update/index.txt +++ b/update/index.txt @@ -1,11 +1,12 @@ #! /bin/bash +# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: currentVersion=125 if [[ -f /usr/local/etc/A2SERVER-version ]]; then - installedVersion=$(cat /usr/local/etc/A2SERVER-version) + installedVersion=$(cat /usr/local/etc/A2SERVER-version) else - installedVersion=100 + installedVersion=100 fi # Ensure URL we'll use ends in a /