From da6775db7937d4d28e0b7aaf0bff8aaa683e4ecb Mon Sep 17 00:00:00 2001 From: Pierrick Rouxel Date: Thu, 30 Jun 2016 11:08:05 +0200 Subject: [PATCH] Add IBM i support --- lib/theme-and-appearance.zsh | 4 +++- tools/install.sh | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh index 5c5bb0e6..3fc700b1 100644 --- a/lib/theme-and-appearance.zsh +++ b/lib/theme-and-appearance.zsh @@ -5,7 +5,7 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad" # Enable ls colors if [ "$DISABLE_LS_COLORS" != "true" ] then - # Find the option for using colors in ls, depending on the version: Linux or BSD + # Find the option for using colors in ls, depending on the version: Linux, BSD or IBM i if [[ "$(uname -s)" == "NetBSD" ]]; then # On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors); # otherwise, leave ls as is, because NetBSD's ls doesn't support -G @@ -17,6 +17,8 @@ then # coreutils, so prefer it to "gls". gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty' colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G' + elif [[ "$(uname -s)" == "OS400" ]]; then + # On IBM i ls doesn't support colors else ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G' fi diff --git a/tools/install.sh b/tools/install.sh index 3f4de868..9b4c7a20 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -24,12 +24,10 @@ main() { # which may fail on systems lacking tput or terminfo set -e - CHECK_ZSH_INSTALLED=$(grep /zsh$ /etc/shells | wc -l) - if [ ! $CHECK_ZSH_INSTALLED -ge 1 ]; then + if ! type zsh >/dev/null 2>&1; then printf "${YELLOW}Zsh is not installed!${NORMAL} Please install zsh first!\n" exit fi - unset CHECK_ZSH_INSTALLED if [ ! -n "$ZSH" ]; then ZSH=~/.oh-my-zsh @@ -62,10 +60,18 @@ main() { fi fi env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { - printf "Error: git clone of oh-my-zsh repo failed\n" - exit 1 + printf "Error: git clone of oh-my-zsh repo failed (https)\n" + GIT_CLONE_ERROR=1 } - + # Support for git compiled without SSL + if [ $GIT_CLONE_ERROR -ge 1 ]; then + printf "Retry with ssh\n" + env git clone --depth=1 git@github.com:robbyrussell/oh-my-zsh.git $ZSH || { + printf "Error: git clone of oh-my-zsh repo failed (ssh)\n" + exit 1 + } + fi + unset GIT_CLONE_ERROR printf "${BLUE}Looking for an existing zsh config...${NORMAL}\n" if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then