Files
PKGRepoSetup/Setup-Repo.sh
Bram Prieshof 969f8cbcdc Added jitsi, GoogleChrome and adoptopenjdk
adoptopenjdk provides backport of open jdk/jre 8
2020-10-22 14:06:37 +02:00

148 lines
6.2 KiB
Bash

dist_ver=$(grep --color=never -Po "^VERSION_ID=\K.*" "/etc/os-release")
dist=$(grep --color=never -Po "^ID=\K.*" "/etc/os-release")
dist_name=$(grep -oP '(?<=^VERSION_CODENAME=).+' /etc/os-release | tr -d '"')
if [ -z "$osrel" ] ; then
if [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"18.04"* ]]; then osrel=ubu1804;
elif [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"20.04"* ]]; then osrel=ubu2004;
elif [[ "${dist}" == *"debian"* ]] && [[ "${dist_ver}" == *"10"* ]]; then osrel=deb10;
elif [[ "${dist}" == *"centos"* ]] && [[ "${dist_ver}" == *"8"* ]]; then osrel=cent8;
else echo "This distro is not (yet) supported" && exit;
fi
fi
init () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] ; then
apt install -y --no-install-recommends software-properties-common gnupg
elif [ "$osrel" = "deb10" ]; then
apt install -y --no-install-recommends gnupg2 apt-transport-https lsb-release ca-certificates curl
elif [ "$osrel" = "cent8" ]; then
dnf install --setopt=install_weak_deps=False --best gnupg
else
echo "$repo repository not available for this Distro"
fi
}
mysql () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] || [ "$osrel" = "deb10" ]; then
curl --retry 7 --retry-delay 5 -s http://mirror.nxdi.nl/resources/mysql/RPM-GPG-KEY-mysql | apt-key add -
echo "deb http://mirror.nxdi.nl/apt/mysql/"$dist"/ "$dist_name" mysql-8.0" >/etc/apt/sources.list.d/mysql.list
elif [ "$osrel" = "cent8" ]; then
rpm --import http://mirror.nxdi.nl/resources/mysql/RPM-GPG-KEY-mysql
echo "[mysql80-community]" > /etc/yum.repos.d/mysql.repo
echo "name=MySQL 8.0 Community Server" >> /etc/yum.repos.d/mysql.repo
echo 'baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/8/$basearch/' >> /etc/yum.repos.d/mysql.repo
echo "enabled=1" >> /etc/yum.repos.d/mysql.repo
echo "gpgcheck=1" >> /etc/yum.repos.d/mysql.repo
echo "gpgkey=http://mirror.nxdi.nl/resources/mysql/RPM-GPG-KEY-mysql" >> /etc/yum.repos.d/mysql.repo
dnf -y module disable mysql
else
echo "$repo repository not available for this Distro"
fi
}
universe () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] ; then
add-apt-repository --no-update universe -y -n
else
echo "$repo repository not available for this Distro"
fi
}
epel () {
if [ "$osrel" = "cent8" ] ; then
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
else
echo "$repo repository not available for this Distro"
fi
}
apache () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] ; then
add-apt-repository --no-update ppa:ondrej/apache2 -y -n
elif [ "$osrel" = "deb10" ]; then
curl --retry 7 --retry-delay 5 -s https://packages.sury.org/apache2/apt.gpg -o /etc/apt/trusted.gpg.d/apache2.gpg
echo "deb https://packages.sury.org/apache2/ "$dist_name" main" > /etc/apt/sources.list.d/apache2.list
else
echo "$repo repository not available for this Distro"
fi
}
nginx () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] || [ "$osrel" = "deb10" ] ; then
echo "deb [arch=amd64] http://nginx.org/packages/"$dist" "$dist_name" nginx" > /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
elif [ "$osrel" = "cent8" ]; then
rpm --import https://nginx.org/keys/nginx_signing.key
echo '[nginx-stable]' >> /etc/yum.repos.d/nginx.repo
echo 'name=nginx stable repo' >> /etc/yum.repos.d/nginx.repo
echo 'baseurl=http://nginx.org/packages/centos/$releasever/$basearch/' >> /etc/yum.repos.d/nginx.repo
echo 'gpgcheck=1' >> /etc/yum.repos.d/nginx.repo
echo 'enabled=1' >> /etc/yum.repos.d/nginx.repo
echo 'gpgkey=https://nginx.org/keys/nginx_signing.key' >> /etc/yum.repos.d/nginx.repo
echo 'module_hotfixes=true' >> /etc/yum.repos.d/nginx.repo
else
echo "$repo repository not available for this Distro"
fi
}
php () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] ; then
add-apt-repository --no-update ppa:ondrej/php -y -n
elif [ "$osrel" = "deb10" ]; then
curl --retry 7 --retry-delay 5 -s https://packages.sury.org/php/apt.gpg -o /etc/apt/trusted.gpg.d/php.gpg
echo "deb https://packages.sury.org/php/ "$dist_name" main" > /etc/apt/sources.list.d/php.list
else
echo "$repo repository not available for this Distro"
fi
}
certbot () {
if [ "$osrel" = "ubu1804" ] ; then
add-apt-repository --no-update ppa:certbot/certbot -y -n
else
echo "$repo repository not available for this Distro"
fi
}
redis () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] ; then
add-apt-repository --no-update ppa:chris-lea/redis-server -y -n
else
echo "$repo repository not available for this Distro"
fi
}
jitsi () {
if [ "$osrel" = "deb10" ] ; then
curl --retry 7 --retry-delay 5 -s https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
echo 'deb [trusted=yes] http://mirror.nxdi.nl/apt/jitsi/ stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
else
echo "$repo repository not available for this Distro"
fi
}
GoogleChrome () {
if [ "$osrel" = "ubu1804" ] || [ "$osrel" = "ubu2004" ] || [ "$osrel" = "deb10" ]; then
curl -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add
echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/google-chrome.list
else
echo "$repo repository not available for this Distro"
fi
}
adoptopenjdk () {
if [ "$osrel" = "deb10" ] ; then
curl --retry 7 --retry-delay 5 -s https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -
echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main' >> /etc/apt/sources.list.d/jforg-openjdk.list
else
echo "$repo repository not available for this Distro"
fi
}
type $repo &>/dev/null && $repo || echo "Repository $repo not found."