mirror of
https://github.com/RasppleII/a2server.git
synced 2024-12-25 05:29:35 +00:00
ff2da76e84
Ivan's precompiled binaries of nulib2, The Unarchiver, and netatalk for Debian and Raspbian aren't going to be part of this repository, so I've reverted to hardcoding Ivan's server as the source of those things. We could perhaps download and compile nulib2 and The Unarchiver, and we'd have to if the script doesn't recognize Debian/Raspbian. Ideally for those systems we'd download .deb packages with full and proper dependency tracking, but we'd still need source for use on non-Debian systems, should we ever develop support for those. (OS X is a good candidate for such a system?)
133 lines
4.7 KiB
Bash
Executable File
133 lines
4.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# download and install a2server tools:
|
|
# mkatinit, mkvolinfo, afptype, afpsync, aliases, nulib2
|
|
|
|
# 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}/" ;;
|
|
esac
|
|
|
|
isRpi=
|
|
[[ -f /usr/bin/raspi-config ]] && isRpi=1
|
|
|
|
isDebian=
|
|
[[ ( -f /etc/debian_version ) && ( $(cut -c 1-2 < /etc/debian_version) == "7." ) && ( $(uname -m) == "i686" ) ]] && isDebian=1
|
|
|
|
echo "A2SERVER: Installing A2SERVER tools..."
|
|
|
|
if [[ ! -f /usr/local/bin/nulib2 ]]; then
|
|
|
|
echo "A2SERVER: Installing nulib2..."
|
|
|
|
cd /tmp
|
|
if [[ $isRpi ]]; then
|
|
wget -qO- "http://appleii.ivanx.com/a2server/files/nulib2-rpi.tgz" | sudo tar Pzx
|
|
elif [[ $isDebian ]]; then
|
|
wget -qO- "http://appleii.ivanx.com/a2server/files/nulib2-debian7_x86.tgz" | sudo tar Pzx
|
|
fi
|
|
|
|
if [[ ! -f /usr/local/bin/nulib2 ]]; then
|
|
|
|
if [[ ! -f /tmp/a2server-packageReposUpdated ]]; then
|
|
# prepare for installing packages
|
|
sudo apt-get -y update
|
|
touch /tmp/a2server-packageReposUpdated
|
|
fi
|
|
|
|
sudo apt-get -y install build-essential
|
|
sudo apt-get -y install zlib1g-dev
|
|
sudo apt-get -y clean
|
|
cd /tmp
|
|
rm -rf /tmp/nulib &> /dev/null
|
|
mkdir /tmp/nulib
|
|
cd /tmp/nulib
|
|
wget -q -O nulib.tgz http://web.archive.org/web/20131031160750/http://www.nulib.com/downloads/nulibdist.tar.gz
|
|
tar zxf nulib.tgz
|
|
cd nufxlib*
|
|
./configure
|
|
make
|
|
sudo make install
|
|
cd ../nulib2*
|
|
./configure
|
|
make
|
|
sudo make install
|
|
cd
|
|
rm -rf /tmp/nulib
|
|
fi
|
|
|
|
else
|
|
echo "A2SERVER: Nulib2 has already been installed."
|
|
fi
|
|
|
|
# download and install The Unarchiver, for expanding Apple disk images
|
|
# http://wakaba.c3.cx/s/apps/unarchiver.html
|
|
|
|
if [[ ! -f /usr/local/bin/unar ]]; then
|
|
|
|
echo "A2SERVER: Installing The Unarchiver..."
|
|
|
|
if [[ ! -f /tmp/a2server-packageReposUpdated ]]; then
|
|
# prepare for installing packages
|
|
sudo apt-get -y update
|
|
touch /tmp/a2server-packageReposUpdated
|
|
fi
|
|
|
|
if [[ $isRpi || $isDebian ]]; then
|
|
sudo apt-get -y install libgnustep-base1.22
|
|
sudo apt-get clean
|
|
if [[ $isRpi ]]; then
|
|
wget -qO- "http://appleii.ivanx.com/a2server/files/unar-rpi.tgz" | sudo tar Pzx
|
|
elif [[ $isDebian ]]; then
|
|
wget -qO- "http://appleii.ivanx.com/a2server/files/unar-debian7_x86.tgz" | sudo tar Pzx
|
|
fi
|
|
fi
|
|
if [[ ! -f /usr/local/bin/unar ]]; then
|
|
sudo apt-get -y install build-essential
|
|
sudo apt-get -y install libgnustep-base-dev libz-dev libbz2-dev
|
|
sudo apt-get -y install libssl-dev libicu-dev unzip
|
|
sudo apt-get clean
|
|
rm -rf /tmp/unar &> /dev/null
|
|
mkdir /tmp/unar
|
|
cd /tmp/unar
|
|
wget -qO unar1.7_src.zip http://theunarchiver.googlecode.com/files/unar1.7_src.zip
|
|
unzip -o unar1.7_src.zip
|
|
cd The\ Unarchiver/XADMaster
|
|
make -f Makefile.linux
|
|
sudo mv lsar unar /usr/local/bin
|
|
cd ../Extra
|
|
sudo mv lsar.1 unar.1 /usr/local/man/man1
|
|
cd
|
|
rm -rf /tmp/unar
|
|
fi
|
|
sudo mandb &> /dev/null
|
|
else
|
|
echo "A2SERVER: The Unarchiver has already been installed."
|
|
fi
|
|
|
|
sudo wget -q -O /usr/local/bin/afpsync "${scriptURL}scripts/tools/afpsync.txt"
|
|
sudo chmod ugo+x /usr/local/bin/afpsync
|
|
sudo wget -q -O /usr/local/bin/afptype "${scriptURL}scripts/tools/afptype.txt"
|
|
sudo chmod ugo+x /usr/local/bin/afptype
|
|
sudo wget -q -O /usr/local/bin/mkatinit "${scriptURL}scripts/tools/mkatinit.txt"
|
|
sudo chmod ugo+x /usr/local/bin/mkatinit
|
|
sudo wget -q -O /usr/local/bin/mkvolinfo "${scriptURL}scripts/tools/mkvolinfo.txt"
|
|
sudo chmod ugo+x /usr/local/bin/mkvolinfo
|
|
sudo wget -q -O /usr/local/bin/cppo "${scriptURL}scripts/tools/cppo.txt"
|
|
sudo chmod ugo+x /usr/local/bin/cppo
|
|
sudo wget -q -O /usr/local/etc/a2server-help.txt "${scriptURL}scripts/tools/a2server-help.txt"
|
|
sudo wget -q -O /usr/local/etc/a2server-aliases "${scriptURL}scripts/tools/a2server-aliases.txt"
|
|
|
|
grep a2server-aliases /etc/bash.bashrc > /dev/null || \
|
|
echo "source /usr/local/etc/a2server-aliases" | sudo tee -a /etc/bash.bashrc > /dev/null
|
|
|
|
[[ $(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
|
|
fi
|