2 Commits

Author SHA1 Message Date
Ivan X
4fb47b06ed documentation updates 2020-07-15 07:02:11 -07:00
Ivan X
a615ed1808 initial Buster compatibility 2020-07-15 06:06:44 -07:00
5 changed files with 52 additions and 14 deletions

View File

@@ -1,5 +1,6 @@
# A2SERVER # A2SERVER
AppleTalk server for Apple // computers developed by Ivan Drucker AppleTalk server for Apple // computers developed by Ivan Drucker, with
substantial rework and by T. Joseph Carter
Documentation here is sparse for the moment; see [Ivan's site]() for Documentation here is sparse for the moment; see [Ivan's site]() for
information about A2SERVER and how it all works. There's a lot there and it's information about A2SERVER and how it all works. There's a lot there and it's
@@ -13,7 +14,14 @@ relatively modern piece of it. As such they should be preserved as they are.
## Developer note ## Developer note
To use the scripts on your own server, including your local machine: To use the scripts with a specific GitHub tag:
~~~ bash
export A2SERVER_SCRIPT_URL=https://raw.githubusercontent.com/RasppleII/a2server/TAG_GOES_HERE/
export A2SERVER_BINARY_URL=${A2SERVER_SCRIPT_URL}files
wget -O setup ${A2SERVER_SCRIPT_URL}setup/index.txt; source setup
~~~
Or, to use the scripts on your own server, including your local machine:
~~~ bash ~~~ bash
export A2SERVER_SCRIPT_URL=http://yoururl.com/ export A2SERVER_SCRIPT_URL=http://yoururl.com/

View File

@@ -44,7 +44,9 @@ fi
debianName= debianName=
if [[ $debianVersion ]]; then if [[ $debianVersion ]]; then
debianMajor=$(cut -d . -f 1 <<< $debianVersion) debianMajor=$(cut -d . -f 1 <<< $debianVersion)
if [[ $debianMajor == "9" ]]; then if [[ $debianMajor == "10" ]]; then
debianName="buster"
elif [[ $debianMajor == "9" ]]; then
debianName="stretch" debianName="stretch"
elif [[ $debianMajor == "8" ]]; then elif [[ $debianMajor == "8" ]]; then
debianName="jessie" debianName="jessie"
@@ -122,6 +124,13 @@ else
elif [[ $(apt-cache search '^libssl1.0.2$') ]]; then # Stretch elif [[ $(apt-cache search '^libssl1.0.2$') ]]; then # Stretch
# Dependencies: netatalk 2.2.4 # Dependencies: netatalk 2.2.4
sudo apt-get -y install libssl1.0.2 sudo apt-get -y install libssl1.0.2
elif [[ $(apt-cache search '^libssl1.1$') ]]; then # Buster
# Dependencies: netatalk 2.2.4
echo "deb http://deb.debian.org/debian/ oldstable main" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt-get -y update
sudo apt-get -y install libssl1.0.2
sudo sed -i '$d' /etc/apt/sources.list
sudo apt-get -y update
else else
break break
fi fi
@@ -129,7 +138,7 @@ else
if [[ $(apt-cache search '^libgcrypt11$') ]]; then # Wheezy if [[ $(apt-cache search '^libgcrypt11$') ]]; then # Wheezy
# Dependencies: netatalk 2.2.4 # Dependencies: netatalk 2.2.4
sudo apt-get -y install libgcrypt11 sudo apt-get -y install libgcrypt11
elif [[ $(apt-cache search '^libgcrypt20$') ]]; then # Jessie or Stretch elif [[ $(apt-cache search '^libgcrypt20$') ]]; then # Jessie, Stretch, Buster
# Dependencies: netatalk 2.2.4 # Dependencies: netatalk 2.2.4
sudo apt-get -y install libgcrypt20 sudo apt-get -y install libgcrypt20
else else
@@ -138,7 +147,7 @@ else
# install Netatalk # install Netatalk
if [[ $arch && ! -f /tmp/a2server-compileAlways ]]; then if [[ $arch && ! -f /tmp/a2server-compileAlways ]]; then
{ wget -qO- "${binaryURL}precompiled/netatalk224-${arch}_${debianName}.tgz" | sudo tar Pzx; } &> /dev/null { wget -qO- "${binaryURL}precompiled/netatalk226-${arch}_${debianName}.tgz" | sudo tar Pzx; } &> /dev/null
fi fi
sudo mandb &> /dev/null sudo mandb &> /dev/null
@@ -161,15 +170,23 @@ else
if [[ $(apt-cache search '^libssl1.0-dev$') ]]; then # Stretch if [[ $(apt-cache search '^libssl1.0-dev$') ]]; then # Stretch
# Dependencies: build-deps for netatalk 2.2.4 # Dependencies: build-deps for netatalk 2.2.4
sudo apt-get -y install libssl1.0-dev sudo apt-get -y install libssl1.0-dev
else # probably Jessie or Wheezy else # Jessie or Wheezy (libssl-dev 1.0.x) or Buster (absent)
if [[ $(apt-cache madison libssl-dev | grep '^libssl' | head -1 | cut -d '|' -f 2 | tr -d ' ' | cut -c 1-3) == "1.1" ]]; then # Buster, so pull from Stretch
echo "deb http://deb.debian.org/debian/ oldstable main" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt-get -y update
sudo apt-get -y install libssl1.0.dev
sudo sed -i '$d' /etc/apt/sources.list
sudo apt-get -y update
else # Jessie or Wheezy
# Dependencies: build-deps for netatalk 2.2.4 # Dependencies: build-deps for netatalk 2.2.4
sudo apt-get -y install libssl-dev sudo apt-get -y install libssl-dev
fi fi
fi
if [[ $(apt-cache search '^libdb5.1-dev$') ]]; then # Wheezy if [[ $(apt-cache search '^libdb5.1-dev$') ]]; then # Wheezy
# Dependencies: build-deps for netatalk 2.2.4 # Dependencies: build-deps for netatalk 2.2.4
sudo apt-get -y install libdb5.1-dev sudo apt-get -y install libdb5.1-dev
elif [[ $(apt-cache search '^libdb5.3-dev$') ]]; then # Jessie elif [[ $(apt-cache search '^libdb5.3-dev$') ]]; then # Jessie, Stretch, Buster
# Dependencies: build-deps for netatalk 2.2.4 # Dependencies: build-deps for netatalk 2.2.4
sudo apt-get -y install libdb5.3-dev sudo apt-get -y install libdb5.3-dev
else else
@@ -181,6 +198,13 @@ else
if [[ $(apt-cache search '^libgcrypt11-dev$') ]]; then # Stretch, Jessie or Wheezy if [[ $(apt-cache search '^libgcrypt11-dev$') ]]; then # Stretch, Jessie or Wheezy
# Dependencies: build-deps for netatalk 2.2.4 # Dependencies: build-deps for netatalk 2.2.4
sudo apt-get -y install libgcrypt11-dev sudo apt-get -y install libgcrypt11-dev
elif [[ $(apt-cache search '^libgcrypt20-dev$') ]]; then # Buster
# Dependencies: build-deps for netatalk 2.2.4
echo "deb http://deb.debian.org/debian/ oldstable main" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt-get -y update
sudo apt-get -y install libgcrypt11-dev
sudo sed -i '$d' /etc/apt/sources.list
sudo apt-get -y update
else else
echo "A2SERVER: WARNING: unknown version of libgcrypt-dev is being installed." echo "A2SERVER: WARNING: unknown version of libgcrypt-dev is being installed."
# Dependencies: build-deps for netatalk 2.2.4 # Dependencies: build-deps for netatalk 2.2.4
@@ -582,6 +606,8 @@ if [[ -f "/lib/modules/$kernelRelease/kernel/drivers/net/appletalk/ipddp.ko" ]];
# if we didn't load it successfully, remove it # if we didn't load it successfully, remove it
sudo rm /lib/modules/$kernelRelease/kernel/net/appletalk/appletalk.ko 2> /dev/null sudo rm /lib/modules/$kernelRelease/kernel/net/appletalk/appletalk.ko 2> /dev/null
fi fi
else # download failed, so premade kernel not found, remove empty file
rm /tmp/appletalk.tgz 2>/dev/null
fi fi
fi fi
@@ -599,6 +625,7 @@ if [[ -f "/lib/modules/$kernelRelease/kernel/drivers/net/appletalk/ipddp.ko" ]];
[[ -f /boot/config-$kernelRelease ]] || break [[ -f /boot/config-$kernelRelease ]] || break
sudo apt-get -y install linux-headers-$kernelRelease linux-source-$kernelMajorMinor || break sudo apt-get -y install linux-headers-$kernelRelease linux-source-$kernelMajorMinor || break
sudo apt-get -y install build-essential sudo apt-get -y install build-essential
sudo apt-get -y install libelf-dev # required as of kernel 4.14.12, apparently
cd /usr/src cd /usr/src
kernelSrc=$(find linux-source-${kernelMajorMinor}*) kernelSrc=$(find linux-source-${kernelMajorMinor}*)
if [[ ${kernelSrc##*.} == "xz" ]]; then if [[ ${kernelSrc##*.} == "xz" ]]; then

View File

@@ -1,7 +1,7 @@
#! /bin/bash #! /bin/bash
# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh:
# A2SERVER master setup script, last update 17-Nov-15 # A2SERVER master setup script, last update 15-Jul-20
# it downloads and executes several scripts related to the setup of # it downloads and executes several scripts related to the setup of
# netatalk configured for Apple II use on Debian or Raspbian. # netatalk configured for Apple II use on Debian or Raspbian.
# more info is at http://ivanx.com/a2server # more info is at http://ivanx.com/a2server
@@ -9,7 +9,7 @@
# to download and execute, type: # to download and execute, type:
# wget ivanx.com/a2server/setup; source setup # wget ivanx.com/a2server/setup; source setup
a2serverVersion="152" a2serverVersion="153"
# Ensure URL we'll use ends in a / # Ensure URL we'll use ends in a /
case "$A2SERVER_SCRIPT_URL" in case "$A2SERVER_SCRIPT_URL" in
@@ -116,19 +116,19 @@ if [[ $isRpi ]]; then #supported Raspbian? (16-Feb-15, 20-Jun-14, 09-Jan-14, etc
# [[ ($fwhash == "8aca5762") || ($fwhash == "462f3e3f476f7b6") || ($fwhash == "c32bc633039cd9") || ($fwhash == "9d34d0475f9") || ($fwhash == "d4f5315cfac4e") || ($fwhash == "6f4a90c8cb8817f") || ($fwhash == "5dd9b4962e") || ($fwhash == "17c8799375") ]] && unsupportedOS= # [[ ($fwhash == "8aca5762") || ($fwhash == "462f3e3f476f7b6") || ($fwhash == "c32bc633039cd9") || ($fwhash == "9d34d0475f9") || ($fwhash == "d4f5315cfac4e") || ($fwhash == "6f4a90c8cb8817f") || ($fwhash == "5dd9b4962e") || ($fwhash == "17c8799375") ]] && unsupportedOS=
elif [[ $isDebian ]]; then # supported Debian? elif [[ $isDebian ]]; then # supported Debian?
debianVersion=$(cat /etc/debian_version) debianVersion=$(cat /etc/debian_version)
debianSupported="-9.2- -8.2- -7.9- -7.8- -7.6- -7.3-" debianSupported="-10.4- -9.2- -8.2- -7.9- -7.8- -7.6- -7.3-"
[[ $debianSupported == *-$debianVersion-* ]] && unsupportedOS= [[ $debianSupported == *-$debianVersion-* ]] && unsupportedOS=
fi fi
if [[ $unsupportedOS && $isRpi ]]; then if [[ $unsupportedOS && $isRpi ]]; then
echo echo
echo "A2SERVER and its installer scripts have been tested on Raspbian Stretch," echo "A2SERVER and its installer scripts have been tested on Raspbian Buster,"
echo "Jessie, and Wheezy, though not this specific firmware version" echo "Stretch, Jessie, and Wheezy, though not this specific firmware version"
echo "(${fwhash:0:7}). Just FYI." echo "(${fwhash:0:7}). Just FYI."
unsupportedOS= unsupportedOS=
elif [[ $unsupportedOS && $isDebian ]]; then elif [[ $unsupportedOS && $isDebian ]]; then
echo echo
echo "A2SERVER and its installer scripts have been tested on Debian 7/8/9," echo "A2SERVER and its installer scripts have been tested on Debian 7/8/9/10,"
echo "though not this specific point release ($debianVersion). Just FYI." echo "though not this specific point release ($debianVersion). Just FYI."
unsupportedOS= unsupportedOS=
fi fi

View File

@@ -117,3 +117,4 @@
bug fixes when compiling macipgw and ciopfs; bug fixes when compiling macipgw and ciopfs;
os option (Raspbian update) removed from a2server-setup os option (Raspbian update) removed from a2server-setup
1.5.3a1: July 2020: initial support for Debian/Raspbian Buster

View File

@@ -77,6 +77,8 @@
install; enable SSH server if disabled on Raspberry Pi; fixes install; enable SSH server if disabled on Raspberry Pi; fixes
changed download links for GS/OS communication software changed download links for GS/OS communication software
1.5.3a2: July 2020: initial support for Debian/Raspbian Buster
Big thanks to: Anthony Martino, Henry Courbis, Joseph Carter, Jason King, Big thanks to: Anthony Martino, Henry Courbis, Joseph Carter, Jason King,
Andy McFadden, Steven Hirsch, Geoff Body, Peter Wong, Tony Diaz, David Schmidt, Andy McFadden, Steven Hirsch, Geoff Body, Peter Wong, Tony Diaz, David Schmidt,
David Schmenk, Ewen Wannop, Andrew Roughan, Antoine Vignau, Martin Haye, David Schmenk, Ewen Wannop, Andrew Roughan, Antoine Vignau, Martin Haye,