From c4237d1c08a5c88722d8374e800f034b9d3b708a Mon Sep 17 00:00:00 2001 From: mollusk Date: Wed, 20 Jul 2016 14:57:59 -0700 Subject: [PATCH] [New Script] euphoria-install.sh: easily install and uninstall euphoria-lang --- euphoria-install.sh | 112 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100755 euphoria-install.sh diff --git a/euphoria-install.sh b/euphoria-install.sh new file mode 100755 index 0000000..45b882a --- /dev/null +++ b/euphoria-install.sh @@ -0,0 +1,112 @@ +#!/bin/bash + + +name="euphoria" +version="4.1.0" +state="beta2" +arch="x64" +fext="tar.gz" +extcmd="tar" +target_dir="/usr/local" +url="http://nbtelecom.dl.sourceforge.net/project/rapideuphoria/Euphoria/${version}-${state}/${name}-${version}-Linux-${arch}-57179171dbed.${fext}" +tmpdir="/tmp" + +check_root(){ + if [[ $EUID -ne 0 ]]; then + printf "${LRED}This script must be run as root${NC}\n" 1>&2 + exit 1 + fi +} + +check_install(){ + if [ ! -d ${target_dir}/${name}-${version}-Linux-${arch} ];then + printf "Install check passed...moving on...\n" + else + printf "${0}: ${name}-${version} is already installed\n" + exit 0; + fi +} +download_pkgs(){ + + if [ ! -f ${tmpdir}/${name}-${version}.${fext} ];then + wget ${url} -O ${tmpdir}/${name}-${version}.${fext} + else + printf "The archive already exists..moving to extraction phase\n" + fi +} + +extract_files(){ + cd ${tmpdir} + if [ ! -f ${name}-${version}.${fext} ];then + printf "${0}: ${tmpdir}/${name}-${version}.${fext}: no such file\n" + else + ${extcmd} xvzf ${name}-${version}.${fext} + fi +} + +install_build(){ + cd ${tmpdir} + if [ ! -d ${name}-${version}-Linux-${arch} ];then + printf "${0}: ${name}-${version}-Linux-${arch}: No such firectory\n" + else + cp -r ${tmpdir}/${name}-${version}-Linux-${arch} ${target_dir}/ + fi +} + +post_install(){ + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eui /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/euc /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eutest /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eudist /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eudoc /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eushroud /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/euloc /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eudis /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eubind /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eub /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/echoversion /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/creole /usr/bin + ln -v -s ${target_dir}/${name}-${version}-Linux-${arch}/bin/eucoverage /usr/bin +} + +uninstall_pkg(){ + if [ ! -d ${target_dir}/${name}-${version}-Linux-${arch} ];then + printf "${name}-${version} is not installed\n" + else + rm -v -r ${target_dir}/${name}-${version}-Linux-${arch} + rm -v /usr/bin/eui + rm -v /usr/bin/euc + rm -v /usr/bin/eutest + rm -v /usr/bin/eudist + rm -v /usr/bin/eudoc + rm -v /usr/bin/eushroud + rm -v /usr/bin/euloc + rm -v /usr/bin/eudis + rm -v /usr/bin/eubind + rm -v /usr/bin/eub + rm -v /usr/bin/echoversion + rm -v /usr/bin/creole + rm -v /usr/bin/eucoverage + if [ ! -d ${target_dir}/${name}-${version}-Linux-${arch} ];then + echo + printf "${name}-${version} is uninstalled\n" + else + printf "${name}-${version} still exists on the system\n" + printf "Location: ${target_dir}/${name}-${version}-Linux-${arch}\n" + fi + fi +} +case $1 in + install) + check_root + check_install + download_pkgs + extract_files + install_build + post_install + ;; + uninstall) + check_root + uninstall_pkg + ;; +esac