diff --git a/install-dev-dependencies.sh b/install-dev-dependencies.sh index db3a50063790..767dbae82d75 100755 --- a/install-dev-dependencies.sh +++ b/install-dev-dependencies.sh @@ -11,27 +11,27 @@ if [ "$1" != "--no-prompt" ]; then echo echo -n "Are you sure you want to continue? [y/N]: " read CONTINUE - CONTINUE=`echo $CONTINUE | xargs | head -c 1 | awk '{print tolower($0)}'` + CONTINUE=$(echo "$CONTINUE" | xargs | head -c 1 | awk '{print tolower($0)}') if [ "$CONTINUE" != "y" ]; then exit fi echo fi -if [ $UID != 0 ]; then +if [ "$UID" != 0 ]; then SUDO_SHIM=sudo fi -if [ "`uname -m`" == "x86_64" ]; then +if [ "$(uname -m)" == "x86_64" ]; then ARCH=64 else ARCH=32 fi # debian based installation -if type apt-get>/dev/null 2>&1; then - $SUDO_SHIM apt-get update - $SUDO_SHIM apt-get install -y lsb-release +if type apt-get >/dev/null 2>&1; then + "$SUDO_SHIM" apt-get update + "$SUDO_SHIM" apt-get install -y lsb-release BROWSERS="firefox chromium-browser" CHROMEDRIVER="chromium-chromedriver" if [[ "$(lsb_release -is)" == "Debian" ]]; then @@ -41,19 +41,19 @@ if type apt-get>/dev/null 2>&1; then BROWSERS="iceweasel chromium" CHROMEDRIVER="chromedriver" fi - $SUDO_SHIM apt-get install -y libxml2-dev libxml2-utils libxslt1-dev \ - python3.6-dev $BROWSERS zip sqlite3 python3-pip libcurl4-openssl-dev xvfb \ - libssl-dev git curl $CHROMEDRIVER - if ! type geckodriver >/dev/null 2>&1; then + "$SUDO_SHIM" apt-get install -y libxml2-dev libxml2-utils libxslt1-dev \ + python3.6-dev "$BROWSERS" zip sqlite3 python3-pip libcurl4-openssl-dev xvfb \ + libssl-dev git curl "$CHROMEDRIVER" + if ! type geckodriver >/dev/null 2>&1; then curl -LO "https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux$ARCH.tar.gz" tar -zxvf "geckodriver-v0.24.0-linux$ARCH.tar.gz" rm -f "geckodriver-v0.24.0-linux$ARCH.tar.gz" - $SUDO_SHIM mv geckodriver /usr/bin/geckodriver - $SUDO_SHIM chown root /usr/bin/geckodriver - $SUDO_SHIM chmod 755 /usr/bin/geckodriver + "$SUDO_SHIM" mv geckodriver /usr/bin/geckodriver + "$SUDO_SHIM" chown root /usr/bin/geckodriver + "$SUDO_SHIM" chmod 755 /usr/bin/geckodriver fi - if [ ! -f /usr/lib/chromium-browser/chromedriver ] && [ -f `which chromedriver` ]; then - $SUDO_SHIM ln -s `which chromedriver` /usr/lib/chromium-browser/chromedriver + if [ ! -f /usr/lib/chromium-browser/chromedriver ] && [ -f "$(which chromedriver)" ]; then + "$SUDO_SHIM" ln -s "$(which chromedriver)" /usr/lib/chromium-browser/chromedriver fi # macOS installation @@ -61,42 +61,42 @@ elif type brew >/dev/null 2>&1; then brew list python &>/dev/null || brew install python brew cask install chromedriver brew install libxml2 gnu-sed - if ! echo $PATH | grep -ql /usr/local/bin ; then + if ! echo "$PATH" | grep -ql /usr/local/bin; then echo '/usr/local/bin not found in $PATH, please add it.' fi # distros that use rpm (Fedora, Suse, CentOS) installation elif type dnf >/dev/null 2>&1; then - $SUDO_SHIM dnf install -y firefox gcc git libcurl-devel libxml2-devel \ + "$SUDO_SHIM" dnf install -y firefox gcc git libcurl-devel libxml2-devel \ libxslt-devel python3-devel redhat-rpm-config xorg-x11-server-Xvfb which \ findutils procps openssl openssl-devel chromium GConf2 if ! type chromedriver >/dev/null; then curl -O "https://chromedriver.storage.googleapis.com/2.23/chromedriver_linux$ARCH.zip" unzip "chromedriver_linux$ARCH.zip" rm -f "chromedriver_linux$ARCH.zip" - $SUDO_SHIM mv chromedriver /usr/bin/chromedriver - $SUDO_SHIM chown root /usr/bin/chromedriver - $SUDO_SHIM chmod 755 /usr/bin/chromedriver + "$SUDO_SHIM" mv chromedriver /usr/bin/chromedriver + "$SUDO_SHIM" chown root /usr/bin/chromedriver + "$SUDO_SHIM" chmod 755 /usr/bin/chromedriver fi - if ! type geckodriver >/dev/null 2>&1; then + if ! type geckodriver >/dev/null 2>&1; then curl -LO "https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-macos.tar.gz" tar -zxvf "geckodriver-v0.24.0-macos.tar.gz" rm -f "geckodriver-v0.24.0-macos.tar.gz" - $SUDO_SHIM mv geckodriver /usr/bin/geckodriver - $SUDO_SHIM chown root /usr/bin/geckodriver - $SUDO_SHIM chmod 755 /usr/bin/geckodriver + "$SUDO_SHIM" mv geckodriver /usr/bin/geckodriver + "$SUDO_SHIM" chown root /usr/bin/geckodriver + "$SUDO_SHIM" chmod 755 /usr/bin/geckodriver fi # This is needed for Firefox on some systems. See here for more information: # https://github.com/EFForg/https-everywhere/pull/5584#issuecomment-238655443 if [ ! -f /var/lib/dbus/machine-id ]; then - $SUDO_SHIM sh -c 'dbus-uuidgen > /var/lib/dbus/machine-id' + "$SUDO_SHIM" sh -c 'dbus-uuidgen > /var/lib/dbus/machine-id' fi export PYCURL_SSL_LIBRARY=openssl else - echo \ - "Your distro isn't supported by this script yet!"\ + echo \ + "Your distro isn't supported by this script yet!" \ "Please install dependencies manually." - exit + exit fi # Get the addon SDK submodule and rule checker