43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Update the R binaries and RStudio-R4 application menu entry
|
|
# $1: R version number, ex. '4.1.2'
|
|
# $2: RStudio version number, ex. '2021.09.1-372'
|
|
# Copyright 2021 Bryan C. Roessler
|
|
|
|
parent="${BASH_SOURCE[0]}"
|
|
parent=${parent%/*}
|
|
|
|
[[ -f "$parent"/functions ]] && . "$parent"/functions || exit 1
|
|
|
|
is_root
|
|
|
|
if [[ $# -eq 2 ]]; then
|
|
re='^[0-9].[0-9].[0-9]$'
|
|
if [[ ! $1 =~ $re ]]; then
|
|
echo "Bad R version number"
|
|
exit 1
|
|
fi
|
|
re='^[0-9][0-9][0-9][0-9].[0-9][0-9].[0-9]-[0-9]+$'
|
|
if [[ ! $2 =~ $re ]]; then
|
|
echo "Bad RStudio version number"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "You must provide exactly two arguments!"
|
|
echo "\$1: R version, ex. '4.1.2'"
|
|
echo "\$2: RStudio version, ex. '2021.09.1-372'"
|
|
exit 1
|
|
fi
|
|
|
|
ask_ok "Update R to version $1 and RStudio to version $2?" || exit $?
|
|
|
|
sudo dnf install -y "https://cdn.rstudio.com/r/centos-7/pkgs/R-${1}-1-1.x86_64.rpm" \
|
|
"https://download2.rstudio.org/server/centos7/x86_64/rstudio-server-rhel-${2}-x86_64.rpm" \
|
|
"https://download1.rstudio.org/desktop/centos7/x86_64/rstudio-${2}-x86_64.rpm"
|
|
|
|
desktop_file="/usr/share/applications/rstudio-R4.desktop"
|
|
|
|
[[ -f "$desktop_file" ]] && \
|
|
sed -i "s|/opt/R/.*/bin/R|/opt/R/$1/bin/R|" "$desktop_file"
|
|
|
|
exit $? |