Browse Source

Merge pull request #2946 from moinakg/master

Solaris portability tweaks.
Robby Russell 9 years ago
parent
commit
57ff83db59
3 changed files with 31 additions and 3 deletions
  1. 6 1
      lib/completion.zsh
  2. 21 0
      plugins/colored-man/colored-man.plugin.zsh
  3. 4 2
      tools/check_for_upgrade.sh

+ 6 - 1
lib/completion.zsh

@@ -25,7 +25,12 @@ bindkey -M menuselect '^o' accept-and-infer-next-history
 
 zstyle ':completion:*:*:*:*:*' menu select
 zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
-zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
+if [ "$OSTYPE[0,7]" = "solaris" ]
+then
+  zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm"
+else
+  zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
+fi
 
 # disable named-directories autocompletion
 zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories

+ 21 - 0
plugins/colored-man/colored-man.plugin.zsh

@@ -1,3 +1,21 @@
+if [ "$OSTYPE[0,7]" = "solaris" ]
+then
+	if [ ! -x ${HOME}/bin/nroff ]
+	then
+		mkdir -p ${HOME}/bin
+		cat > ${HOME}/bin/nroff <<EOF
+#!/bin/sh
+if [ -n "\$_NROFF_U" -a "\$1,\$2,\$3" = "-u0,-Tlp,-man" ]; then
+	shift
+	exec /usr/bin/nroff -u\${_NROFF_U} "\$@"
+fi
+#-- Some other invocation of nroff
+exec /usr/bin/nroff "\$@"
+EOF
+	chmod +x ${HOME}/bin/nroff
+	fi
+fi
+
 man() {
       env \
       	  LESS_TERMCAP_mb=$(printf "\e[1;31m") \
@@ -7,5 +25,8 @@ man() {
 	  LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
 	  LESS_TERMCAP_ue=$(printf "\e[0m") \
 	  LESS_TERMCAP_us=$(printf "\e[1;32m") \
+	  PAGER=/usr/bin/less \
+	  _NROFF_U=1 \
+	  PATH=${HOME}/bin:${PATH} \
 	  			   man "$@"
 }

+ 4 - 2
tools/check_for_upgrade.sh

@@ -1,7 +1,9 @@
-#!/bin/sh
+#!/usr/bin/env zsh
+
+zmodload zsh/datetime
 
 function _current_epoch() {
-  echo $(($(date +%s) / 60 / 60 / 24))
+  echo $(( $EPOCHSECONDS / 60 / 60 / 24 ))
 }
 
 function _update_zsh_update() {