95 lines
3.6 KiB
Bash
Executable File
95 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
TOKEN=$1
|
|
RELEASE=$2
|
|
INSTALL=$3
|
|
|
|
# Source the os-release file (assuming it exists)
|
|
. /etc/os-release
|
|
echo $ID
|
|
echo $VERSION_CODENAME
|
|
|
|
if [ "${ID,,}" = "debian" ]; then
|
|
ARCH=$(dpkg --print-architecture)
|
|
if [[ "${TOKEN}" == pat_* ]]; then
|
|
echo "FreeSWITCH Community"
|
|
|
|
RPI=""
|
|
|
|
if [ "${RELEASE,,}" = "prerelease" ]; then
|
|
RELEASE="unstable"
|
|
else
|
|
RELEASE="release"
|
|
fi
|
|
|
|
echo $RELEASE
|
|
|
|
if [ "${ARCH,,}" = "armhf" ]; then
|
|
RPI="rpi/"
|
|
fi
|
|
|
|
rm -f /etc/apt/sources.list.d/freeswitch.list
|
|
apt-get update && apt-get install -y gnupg2 wget software-properties-common apt-transport-https
|
|
|
|
wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/${RPI}debian-release/signalwire-freeswitch-repo.gpg
|
|
echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
|
|
chmod 600 /etc/apt/auth.conf
|
|
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/${RPI}debian-${RELEASE}/ ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/freeswitch.list
|
|
echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/${RPI}debian-${RELEASE}/ ${VERSION_CODENAME} main" >> /etc/apt/sources.list.d/freeswitch.list
|
|
|
|
apt-get update
|
|
if [ "${INSTALL}" = "install" ]; then
|
|
echo "Installing FreeSWITCH Community"
|
|
apt-get install -y freeswitch-meta-all
|
|
echo "------------------------------------------------------------------"
|
|
echo " Done installing FreeSWITCH Community"
|
|
echo "------------------------------------------------------------------"
|
|
else
|
|
echo "------------------------------------------------------------------"
|
|
echo " Done configuring FreeSWITCH Debian repository"
|
|
echo "------------------------------------------------------------------"
|
|
echo "To install FreeSWITCH Community type: apt-get install -y freeswitch-meta-all"
|
|
fi
|
|
elif [[ "${TOKEN}" == PT* ]]; then
|
|
echo "FreeSWITCH Enterprise"
|
|
|
|
if [ "${RELEASE,,}" = "prerelease" ]; then
|
|
RELEASE="unstable"
|
|
else
|
|
RELEASE="1.8"
|
|
fi
|
|
|
|
echo $RELEASE
|
|
|
|
if [ "${ARCH,,}" = "armhf" ]; then
|
|
RPI="-rpi"
|
|
fi
|
|
|
|
rm -f /etc/apt/sources.list.d/freeswitch.list
|
|
apt-get update && apt-get install -y gnupg2 wget software-properties-common apt-transport-https
|
|
|
|
wget --http-user=signalwire --http-password=$TOKEN -O - https://fsa.freeswitch.com/repo/deb/fsa${RPI}/pubkey.gpg | apt-key add -
|
|
echo "machine fsa.freeswitch.com login signalwire password $TOKEN" > /etc/apt/auth.conf
|
|
chmod 600 /etc/apt/auth.conf
|
|
echo "deb https://fsa.freeswitch.com/repo/deb/fsa${RPI}/ ${VERSION_CODENAME} ${RELEASE}" > /etc/apt/sources.list.d/freeswitch.list
|
|
echo "deb-src https://fsa.freeswitch.com/repo/deb/fsa${RPI}/ ${VERSION_CODENAME} ${RELEASE}" >> /etc/apt/sources.list.d/freeswitch.list
|
|
|
|
apt-get update
|
|
if [ "${INSTALL}" = "install" ]; then
|
|
echo "Installing FreeSWITCH Enterprise"
|
|
apt-get install -y freeswitch-meta-all
|
|
echo "------------------------------------------------------------------"
|
|
echo " Done installing FreeSWITCH Enterprise"
|
|
echo "------------------------------------------------------------------"
|
|
else
|
|
echo "------------------------------------------------------------------"
|
|
echo " Done configuring FreeSWITCH Debian repository"
|
|
echo "------------------------------------------------------------------"
|
|
echo "To install FreeSWITCH Enterprise type: apt-get install -y freeswitch-meta-all"
|
|
fi
|
|
else
|
|
echo "Unrecognized token type"
|
|
fi
|
|
else
|
|
echo "Unrecognized OS. We support Debian only."
|
|
fi |