New version; added supybot/limnoria/gribble support. This only works

when the supybot
'SHELL' command is used, 'CALL' gives the user irc client data, and 
supybot etc are
not detectable.

Fine tuned some error message lengths so they fit into 80 columns or so.
This commit is contained in:
inxi-svn 2014-03-25 20:56:58 +00:00
parent b4319c40f5
commit 6556ae2375
2 changed files with 100 additions and 62 deletions

146
inxi
View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
######################################################################## ########################################################################
#### Script Name: inxi #### Script Name: inxi
#### Version: 2.1.9 #### Version: 2.1.10
#### Date: 2014-03-24 #### Date: 2014-03-25
#### Patch Number: 00 #### Patch Number: 00
######################################################################## ########################################################################
#### SPECIAL THANKS #### SPECIAL THANKS
@ -108,6 +108,7 @@
#### * Note: [[ -n $something ]] - double brackets does not require quotes for variables: ie, "$something". #### * Note: [[ -n $something ]] - double brackets does not require quotes for variables: ie, "$something".
#### * Always use quotes, double or single, for all string values. #### * Always use quotes, double or single, for all string values.
#### * All new code/methods must be in a function. #### * All new code/methods must be in a function.
#### * For all boolean tests, use 'true' / 'false'. #### * For all boolean tests, use 'true' / 'false'.
#### !! Do NOT use 0 or 1 unless it's a function return. #### !! Do NOT use 0 or 1 unless it's a function return.
#### * Avoid complicated tests in the if condition itself. #### * Avoid complicated tests in the if condition itself.
@ -3134,18 +3135,16 @@ get_irc_client_version()
;; ;;
esac esac
;; ;;
supybot|limnoria) gribble|limnoria|supybot)
# ff=$(nano --version);ff=( $ff );time for ((i=0;i<1000;i++)); do ff=${ff[3]};done;echo $ff IRC_CLIENT_VERSION=" $( get_program_version 'supybot' '^Supybot' '2' )"
# time for ((i=0;i<1000;i++)); do ff=$(nano --version| gawk 'NR == 1 {print $4}' );done;echo $ff if [[ -n $IRC_CLIENT_VERSION ]];then
# ff=$(nano --version);time for ((i=0;i<1000;i++)); do ff=$(gawk 'NR == 1 {print $4}' <<< $ff );done;echo $ff if [[ -n ${IRC_CLIENT_VERSION/*gribble*/} || $App_Working_Name == 'gribble' ]];then
IRC_CLIENT_VERSION=" $( $Irc_Client_Path --version | gawk 'NR == 1 { IRC_CLIENT="Gribble"
print $2 elif [[ -n ${IRC_CLIENT_VERSION/*limnoria*/} || $App_Working_Name == 'limnoria' ]];then
}' )" IRC_CLIENT="Limnoria"
if [[ -n $IRC_CLIENT_VERSION ]] && \ else
[[ -n $( grep 'limnoria' <<< $IRC_CLIENT_VERSION ) || $App_Working_Name == 'limnoria' ]];then IRC_CLIENT="Supybot"
IRC_CLIENT="Limnoria" fi
else
IRC_CLIENT="Supybot"
fi fi
;; ;;
weechat|weechat-curses) weechat|weechat-curses)
@ -3193,11 +3192,11 @@ get_irc_client_version()
esac esac
done done
B_CONSOLE_IRC='true' B_CONSOLE_IRC='true'
set_perl_python_konvi "$App_Working_Name" set_perl_python_client_data "$App_Working_Name"
;; ;;
python*) python*)
# B_CONSOLE_IRC='true' # are there even any python type console irc clients? check. # B_CONSOLE_IRC='true' # are there even any python type console irc clients? check.
set_perl_python_konvi "$App_Working_Name" set_perl_python_client_data "$App_Working_Name"
;; ;;
# then unset, set unknown data # then unset, set unknown data
*) *)
@ -3211,23 +3210,46 @@ get_irc_client_version()
} }
# args: $1 - App_Working_Name # args: $1 - App_Working_Name
set_perl_python_konvi() set_perl_python_client_data()
{ {
if [[ -z $IRC_CLIENT_VERSION ]];then if [[ -z $IRC_CLIENT_VERSION ]];then
local version=''
# this is a hack to try to show konversation if inxi is running but started via /cmd # this is a hack to try to show konversation if inxi is running but started via /cmd
if [[ -n $( grep -i 'konversation' <<< "$Ps_aux_Data" ) && $B_RUNNING_IN_DISPLAY == 'true' ]];then # OR via script shortcuts, both cases in fact now
if [[ $B_RUNNING_IN_DISPLAY == 'true' && -z ${Ps_aux_Data/*konversation*/} ]];then
IRC_CLIENT='Konversation' IRC_CLIENT='Konversation'
IRC_CLIENT_VERSION=" $( konversation --version 2>/dev/null | gawk '/^Konversation/ {print $2}' )" version=$( get_program_version 'konversation' '^konversation' '2' )
B_CONSOLE_IRC='false' B_CONSOLE_IRC='false'
## NOTE: supybot only appears in ps aux using 'SHELL' command; the 'CALL' command
## gives the user system irc priority, and you don't see supybot listed, so use SHELL
elif [[ $B_RUNNING_IN_DISPLAY == 'false' && -z ${Ps_aux_Data/*supybot*/} ]];then
version=$( get_program_version 'supybot' '^Supybot' '2' )
if [[ -n $version ]];then
IRC_CLIENT_VERSION=" $version"
if [[ -z ${version/*gribble*/} ]];then
IRC_CLIENT='Gribble'
elif [[ -z ${version/*limnoria*/} ]];then
IRC_CLIENT='Limnoria'
else
IRC_CLIENT='Supybot'
fi
else
IRC_CLIENT='Supybot'
# currently all use the same actual app name, this will probably change.
fi
B_CONSOLE_IRC='true'
else else
IRC_CLIENT="Unknown $1 client" IRC_CLIENT="Unknown $1 client"
fi fi
if [[ -n $version ]];then
IRC_CLIENT_VERSION=" $version"
fi
fi fi
} }
## try to infer the use of Konversation >= 1.2, which shows $PPID improperly ## try to infer the use of Konversation >= 1.2, which shows $PPID improperly
## no known method of finding Kovni >= 1.2 as parent process, so we look to see if it is running, ## no known method of finding Kovni >= 1.2 as parent process, so we look to see if it is running,
## and all other irc clients are not running. ## and all other irc clients are not running. As of 2014-03-25 this isn't used in my cases
is_this_qt4_konvi() is_this_qt4_konvi()
{ {
local konvi_qt4_client='' konvi_dbus_exist='' konvi_pid='' konvi_home_dir='' local konvi_qt4_client='' konvi_dbus_exist='' konvi_pid='' konvi_home_dir=''
@ -4012,7 +4034,7 @@ get_desktop_environment()
elif [[ $KDE_FULL_SESSION == 'true' ]]; then elif [[ $KDE_FULL_SESSION == 'true' ]]; then
version_data=$( kded --version 2>/dev/null ) version_data=$( kded --version 2>/dev/null )
version=$( grep -si '^KDE:' <<< "$version_data" | gawk '{print $2}' ) version=$( grep -si '^KDE:' <<< "$version_data" | gawk '{print $2}' )
# version=$( get_de_app_version 'kded' '^KDE:' '2' ) # version=$( get_program_version 'kded' '^KDE:' '2' )
if [[ -z $version ]];then if [[ -z $version ]];then
version='3.5' version='3.5'
fi fi
@ -4024,7 +4046,7 @@ get_desktop_environment()
fi fi
desktop_environment="KDE" desktop_environment="KDE"
elif [[ $XDG_CURRENT_DESKTOP == 'Unity' ]];then elif [[ $XDG_CURRENT_DESKTOP == 'Unity' ]];then
version=$( get_de_app_version 'unity' '^unity' '2' ) version=$( get_program_version 'unity' '^unity' '2' )
# not certain cinn will always have version, so keep output right if not # not certain cinn will always have version, so keep output right if not
if [[ -n $version ]];then if [[ -n $version ]];then
version="$version " version="$version "
@ -4047,7 +4069,7 @@ get_desktop_environment()
# eventually this needs to be better organized so all the xprop tests are in the same # eventually this needs to be better organized so all the xprop tests are in the same
# section, but this is good enough for now. # section, but this is good enough for now.
if [[ -n $xprop_root && -n $( grep -is '^_MUFFIN' <<< "$xprop_root" ) ]];then if [[ -n $xprop_root && -n $( grep -is '^_MUFFIN' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'cinnamon' '^cinnamon' '2' ) version=$( get_program_version 'cinnamon' '^cinnamon' '2' )
# not certain cinn will always have version, so keep output right if not # not certain cinn will always have version, so keep output right if not
if [[ -n $version ]];then if [[ -n $version ]];then
version="$version " version="$version "
@ -4060,7 +4082,7 @@ get_desktop_environment()
fi fi
desktop_environment="Cinnamon" desktop_environment="Cinnamon"
elif [[ -n $xprop_root && -n $( grep -is '^_MARCO' <<< "$xprop_root" ) ]];then elif [[ -n $xprop_root && -n $( grep -is '^_MARCO' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'mate-about' '^MATE[[:space:]]DESKTOP' 'NF' ) version=$( get_program_version 'mate-about' '^MATE[[:space:]]DESKTOP' 'NF' )
# not certain cinn/mate will always have version, so keep output right if not # not certain cinn/mate will always have version, so keep output right if not
if [[ -n $version ]];then if [[ -n $version ]];then
version="$version " version="$version "
@ -4076,9 +4098,9 @@ get_desktop_environment()
# https://bugzilla.gnome.org/show_bug.cgi?id=542880 # https://bugzilla.gnome.org/show_bug.cgi?id=542880
elif [[ -n $GNOME_DESKTOP_SESSION_ID ]]; then elif [[ -n $GNOME_DESKTOP_SESSION_ID ]]; then
if type -p gnome-shell &>/dev/null;then if type -p gnome-shell &>/dev/null;then
version=$( get_de_app_version 'gnome-shell' 'gnome' '3' ) version=$( get_program_version 'gnome-shell' 'gnome' '3' )
elif type -p gnome-about &>/dev/null;then elif type -p gnome-about &>/dev/null;then
version=$( get_de_app_version 'gnome-about' 'gnome' '3' ) version=$( get_program_version 'gnome-about' 'gnome' '3' )
fi fi
if [[ $B_EXTRA_DATA == 'true' ]];then if [[ $B_EXTRA_DATA == 'true' ]];then
toolkit=$( get_de_gtk_data ) toolkit=$( get_de_gtk_data )
@ -4095,16 +4117,16 @@ get_desktop_environment()
# String: "This is xfdesktop version 4.2.12" # String: "This is xfdesktop version 4.2.12"
# alternate: xfce4-about --version > xfce4-about 4.10.0 (Xfce 4.10) # alternate: xfce4-about --version > xfce4-about 4.10.0 (Xfce 4.10)
if [[ -n $( grep -Eis '\"xfce4\"' <<< "$xprop_root" ) ]];then if [[ -n $( grep -Eis '\"xfce4\"' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'xfdesktop' 'xfdesktop[[:space:]]version' '5' ) version=$( get_program_version 'xfdesktop' 'xfdesktop[[:space:]]version' '5' )
# arch linux reports null, so use alternate if null # arch linux reports null, so use alternate if null
if [[ -z $version ]];then if [[ -z $version ]];then
version=$( get_de_app_version 'xfce4-panel' '^xfce4-panel' '2' ) version=$( get_program_version 'xfce4-panel' '^xfce4-panel' '2' )
if [[ -z $version ]];then if [[ -z $version ]];then
version='4' version='4'
fi fi
fi fi
if [[ $B_EXTRA_DATA == 'true' ]];then if [[ $B_EXTRA_DATA == 'true' ]];then
toolkit=$( get_de_app_version 'xfdesktop' 'Built[[:space:]]with[[:space:]]GTK' '4' ) toolkit=$( get_program_version 'xfdesktop' 'Built[[:space:]]with[[:space:]]GTK' '4' )
if [[ -n $toolkit ]];then if [[ -n $toolkit ]];then
version="$version (Gtk $toolkit)" version="$version (Gtk $toolkit)"
fi fi
@ -4112,16 +4134,16 @@ get_desktop_environment()
desktop_environment="Xfce" desktop_environment="Xfce"
# when 5 is released, the string may need updating # when 5 is released, the string may need updating
elif [[ -n $( grep -is '\"xfce5\"' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is '\"xfce5\"' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'xfdesktop' 'xfdesktop[[:space:]]version' '5' ) version=$( get_program_version 'xfdesktop' 'xfdesktop[[:space:]]version' '5' )
# arch linux reports null, so use alternate if null # arch linux reports null, so use alternate if null
if [[ -z $version ]];then if [[ -z $version ]];then
version=$( get_de_app_version 'xfce5-panel' '^xfce5-panel' '2' ) version=$( get_program_version 'xfce5-panel' '^xfce5-panel' '2' )
if [[ -z $version ]];then if [[ -z $version ]];then
version='5' version='5'
fi fi
fi fi
if [[ $B_EXTRA_DATA == 'true' ]];then if [[ $B_EXTRA_DATA == 'true' ]];then
toolkit=$( get_de_app_version 'xfdesktop' 'Built[[:space:]]with[[:space:]]GTK' '4' ) toolkit=$( get_program_version 'xfdesktop' 'Built[[:space:]]with[[:space:]]GTK' '4' )
if [[ -n $toolkit ]];then if [[ -n $toolkit ]];then
version="$version (Gtk $toolkit)" version="$version (Gtk $toolkit)"
fi fi
@ -4129,14 +4151,14 @@ get_desktop_environment()
desktop_environment="Xfce" desktop_environment="Xfce"
elif [[ -n $( grep -is 'BLACKBOX_PID' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is 'BLACKBOX_PID' <<< "$xprop_root" ) ]];then
if [[ -n $( grep -is 'fluxbox' <<< "$Ps_aux_Data" ) ]];then if [[ -n $( grep -is 'fluxbox' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'fluxbox' '^fluxbox' '2' ) version=$( get_program_version 'fluxbox' '^fluxbox' '2' )
desktop_environment='Fluxbox' desktop_environment='Fluxbox'
else else
desktop_environment='Blackbox' desktop_environment='Blackbox'
fi fi
elif [[ -n $( grep -is 'OPENBOX_PID' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is 'OPENBOX_PID' <<< "$xprop_root" ) ]];then
# note: openbox-lxde --version may be present, but returns openbox data # note: openbox-lxde --version may be present, but returns openbox data
version=$( get_de_app_version 'openbox' '^openbox' '2' ) version=$( get_program_version 'openbox' '^openbox' '2' )
if [[ $XDG_CURRENT_DESKTOP == 'LXDE' || \ if [[ $XDG_CURRENT_DESKTOP == 'LXDE' || \
-n $( grep -is 'lxde' <<< "$Ps_aux_Data" ) ]];then -n $( grep -is 'lxde' <<< "$Ps_aux_Data" ) ]];then
if [[ -n $version ]];then if [[ -n $version ]];then
@ -4152,7 +4174,7 @@ get_desktop_environment()
desktop_environment='Openbox' desktop_environment='Openbox'
fi fi
elif [[ -n $( grep -is 'ICEWM' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is 'ICEWM' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'icewm' '^icewm' '2' ) version=$( get_program_version 'icewm' '^icewm' '2' )
desktop_environment='IceWM' desktop_environment='IceWM'
elif [[ -n $( grep -is 'ENLIGHTENMENT' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is 'ENLIGHTENMENT' <<< "$xprop_root" ) ]];then
# no -v or --version but version is in xprop -root # no -v or --version but version is in xprop -root
@ -4160,10 +4182,10 @@ get_desktop_environment()
version=$( grep -is 'ENLIGHTENMENT_VERSION' <<< "$xprop_root" | cut -d '"' -f 2 | gawk '{print $2}' ) version=$( grep -is 'ENLIGHTENMENT_VERSION' <<< "$xprop_root" | cut -d '"' -f 2 | gawk '{print $2}' )
desktop_environment='Enlightenment' desktop_environment='Enlightenment'
elif [[ -n $( grep -is '^I3_' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is '^I3_' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'i3' '^i3' '3' ) version=$( get_program_version 'i3' '^i3' '3' )
desktop_environment='i3' desktop_environment='i3'
elif [[ -n $( grep -is 'WINDOWMAKER' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is 'WINDOWMAKER' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'wmaker' '^Window[[:space:]]*Maker' 'NF' ) version=$( get_program_version 'wmaker' '^Window[[:space:]]*Maker' 'NF' )
if [[ -n $version ]];then if [[ -n $version ]];then
version="$version " version="$version "
fi fi
@ -4171,14 +4193,14 @@ get_desktop_environment()
elif [[ -n $( grep -is '^_WM2' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is '^_WM2' <<< "$xprop_root" ) ]];then
# note; there isn't actually a wm2 version available but error handling should cover it and return null # note; there isn't actually a wm2 version available but error handling should cover it and return null
# maybe one day they will add it? # maybe one day they will add it?
version=$( get_de_app_version 'wm2' '^wm2' 'NF' ) version=$( get_program_version 'wm2' '^wm2' 'NF' )
# not certain will always have version, so keep output right if not # not certain will always have version, so keep output right if not
if [[ -n $version ]];then if [[ -n $version ]];then
version="$version " version="$version "
fi fi
desktop_environment="WM2" desktop_environment="WM2"
elif [[ -n $( grep -is 'herbstluftwm' <<< "$xprop_root" ) ]];then elif [[ -n $( grep -is 'herbstluftwm' <<< "$xprop_root" ) ]];then
version=$( get_de_app_version 'herbstluftwm' '^herbstluftwm' 'NF' ) version=$( get_program_version 'herbstluftwm' '^herbstluftwm' 'NF' )
if [[ -n $version ]];then if [[ -n $version ]];then
version="$version " version="$version "
fi fi
@ -4189,37 +4211,37 @@ get_desktop_environment()
# note that gawk is going to exit after first occurance of search string, so no need for extra # note that gawk is going to exit after first occurance of search string, so no need for extra
if [[ -z $desktop_environment ]];then if [[ -z $desktop_environment ]];then
if [[ -n $( grep -is 'fvwm-crystal' <<< "$Ps_aux_Data" ) ]];then if [[ -n $( grep -is 'fvwm-crystal' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'fvwm' '^fvwm' '2' ) version=$( get_program_version 'fvwm' '^fvwm' '2' )
desktop_environment='FVWM-Crystal' desktop_environment='FVWM-Crystal'
elif [[ -n $( grep -is 'fvwm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'fvwm' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'fvwm' '^fvwm' '2' ) version=$( get_program_version 'fvwm' '^fvwm' '2' )
desktop_environment='FVWM' desktop_environment='FVWM'
elif [[ -n $( grep -is 'pekwm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'pekwm' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'pekwm' '^pekwm' '3' ) version=$( get_program_version 'pekwm' '^pekwm' '3' )
desktop_environment='pekwm' desktop_environment='pekwm'
elif [[ -n $( grep -is 'awesome' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'awesome' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'awesome' '^awesome' '2' ) version=$( get_program_version 'awesome' '^awesome' '2' )
desktop_environment='Awesome' desktop_environment='Awesome'
elif [[ -n $( grep -is 'scrotwm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'scrotwm' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'scrotwm' '^welcome.*scrotwm' '4' ) version=$( get_program_version 'scrotwm' '^welcome.*scrotwm' '4' )
desktop_environment='Scrotwm' # no --version for this one desktop_environment='Scrotwm' # no --version for this one
elif [[ -n $( grep -is 'spectrwm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'spectrwm' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'spectrwm' '^spectrwm.*welcome.*spectrwm' '5' ) version=$( get_program_version 'spectrwm' '^spectrwm.*welcome.*spectrwm' '5' )
desktop_environment='Spectrwm' # no --version for this one desktop_environment='Spectrwm' # no --version for this one
elif [[ -n $( grep -Eis '([[:space:]]|/)twm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -Eis '([[:space:]]|/)twm' <<< "$Ps_aux_Data" ) ]];then
desktop_environment='Twm' # no --version for this one desktop_environment='Twm' # no --version for this one
elif [[ -n $( grep -Eis '([[:space:]]|/)dwm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -Eis '([[:space:]]|/)dwm' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'dwm' '^dwm' '1' ) version=$( get_program_version 'dwm' '^dwm' '1' )
desktop_environment='dwm' desktop_environment='dwm'
elif [[ -n $( grep -is 'wmii2' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'wmii2' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'wmii2' '^wmii2' '1' ) version=$( get_program_version 'wmii2' '^wmii2' '1' )
desktop_environment='wmii2' desktop_environment='wmii2'
# note: in debian at least, wmii is actuall wmii3 # note: in debian at least, wmii is actuall wmii3
elif [[ -n $( grep -is 'wmii' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'wmii' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'wmii' '^wmii' '1' ) version=$( get_program_version 'wmii' '^wmii' '1' )
desktop_environment='wmii' desktop_environment='wmii'
elif [[ -n $( grep -Eis '([[:space:]]|/)jwm' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -Eis '([[:space:]]|/)jwm' <<< "$Ps_aux_Data" ) ]];then
version=$( get_de_app_version 'jwm' '^jwm' '2' ) version=$( get_program_version 'jwm' '^jwm' '2' )
desktop_environment='JWM' desktop_environment='JWM'
fi fi
fi fi
@ -4234,7 +4256,7 @@ get_desktop_environment()
# note: gawk doesn't support white spaces in search string, gave errors, so use [[:space:]] instead # note: gawk doesn't support white spaces in search string, gave errors, so use [[:space:]] instead
# args: $1 - desktop/app command for --version; $2 - search string; $3 - gawk print number # args: $1 - desktop/app command for --version; $2 - search string; $3 - gawk print number
get_de_app_version() get_program_version()
{ {
local version_data='' version='' get_version='--version' local version_data='' version='' get_version='--version'
@ -5642,11 +5664,11 @@ get_init_data()
if [[ -e /proc/1/comm && -n $( grep -s 'systemd' /proc/1/comm ) ]];then if [[ -e /proc/1/comm && -n $( grep -s 'systemd' /proc/1/comm ) ]];then
init_type='systemd' init_type='systemd'
if type -p systemd &>/dev/null;then if type -p systemd &>/dev/null;then
init_version=$( get_de_app_version 'systemd' '^systemd' '2' ) init_version=$( get_program_version 'systemd' '^systemd' '2' )
fi fi
if [[ -z $init_version ]];then if [[ -z $init_version ]];then
if type -p systemctl &>/dev/null;then if type -p systemctl &>/dev/null;then
init_version=$( get_de_app_version 'systemctl' '^systemd' '2' ) init_version=$( get_program_version 'systemctl' '^systemd' '2' )
fi fi
fi fi
else else
@ -5655,11 +5677,11 @@ get_init_data()
if [[ -n $( /sbin/init --version 2>/dev/null | grep 'upstart' ) ]];then if [[ -n $( /sbin/init --version 2>/dev/null | grep 'upstart' ) ]];then
init_type='Upstart' init_type='Upstart'
# /sbin/init --version == init (upstart 1.12.1) # /sbin/init --version == init (upstart 1.12.1)
init_version=$( get_de_app_version 'init' 'upstart' '3' ) init_version=$( get_program_version 'init' 'upstart' '3' )
elif type -p epoch &>/dev/null;then elif type -p epoch &>/dev/null;then
init_type='Epoch' init_type='Epoch'
# epoch version == Epoch Init System 1.0.1 "Sage" # epoch version == Epoch Init System 1.0.1 "Sage"
init_version=$( get_de_app_version 'epoch' '^Epoch' '4' ) init_version=$( get_program_version 'epoch' '^Epoch' '4' )
# missing data: # missing data:
# http://smarden.org/runit/sv.8.html # http://smarden.org/runit/sv.8.html
elif [[ -e /sbin/runit-init || -e /etc/runit || -n $( type -p sv ) ]];then elif [[ -e /sbin/runit-init || -e /etc/runit || -n $( type -p sv ) ]];then
@ -5682,10 +5704,10 @@ get_init_data()
rc_type='OpenRC' rc_type='OpenRC'
# /sbin/openrc --version == openrc (OpenRC) 0.13 # /sbin/openrc --version == openrc (OpenRC) 0.13
if type -p openrc &>/dev/null;then if type -p openrc &>/dev/null;then
rc_version=$( get_de_app_version 'openrc' '^openrc' '3' ) rc_version=$( get_program_version 'openrc' '^openrc' '3' )
# /sbin/rc --version == rc (OpenRC) 0.11.8 (Gentoo Linux) # /sbin/rc --version == rc (OpenRC) 0.11.8 (Gentoo Linux)
elif type -p rc &>/dev/null;then elif type -p rc &>/dev/null;then
rc_version=$( get_de_app_version 'rc' '^rc' '3' ) rc_version=$( get_program_version 'rc' '^rc' '3' )
fi fi
## assume sysvrc, but this data is too buggy and weird and inconsistent to have meaning ## assume sysvrc, but this data is too buggy and weird and inconsistent to have meaning
# leaving this off for now # leaving this off for now
@ -8325,24 +8347,24 @@ get_shell_data()
if [[ $B_EXTRA_DATA == 'true' && -n $shell_type ]];then if [[ $B_EXTRA_DATA == 'true' && -n $shell_type ]];then
case $shell_type in case $shell_type in
bash) bash)
shell_version=$( get_de_app_version "$shell_type" "^GNU[[:space:]]bash,[[:space:]]version" "4" | \ shell_version=$( get_program_version "$shell_type" "^GNU[[:space:]]bash,[[:space:]]version" "4" | \
sed $SED_RX 's/(\(.*|-release|-version)//' ) sed $SED_RX 's/(\(.*|-release|-version)//' )
;; ;;
# csh/dash use dpkg package version data, debian/buntu only # csh/dash use dpkg package version data, debian/buntu only
csh) csh)
shell_version=$( get_de_app_version "$shell_type" "^tcsh" "2" ) shell_version=$( get_program_version "$shell_type" "^tcsh" "2" )
;; ;;
dash) dash)
shell_version=$( get_de_app_version "$shell_type" "$shell_type" "3" ) shell_version=$( get_program_version "$shell_type" "$shell_type" "3" )
;; ;;
ksh) ksh)
shell_version=$( get_de_app_version "$shell_type" "version" "5" ) shell_version=$( get_program_version "$shell_type" "version" "5" )
;; ;;
tcsh) tcsh)
shell_version=$( get_de_app_version "$shell_type" "^tcsh" "2" ) shell_version=$( get_program_version "$shell_type" "^tcsh" "2" )
;; ;;
zsh) zsh)
shell_version=$( get_de_app_version "$shell_type" "^zsh" "2" ) shell_version=$( get_program_version "$shell_type" "^zsh" "2" )
;; ;;
esac esac
fi fi

View file

@ -1,3 +1,19 @@
=====================================================================================
Version: 2.1.10
Patch Version: 00
Script Date: 2014-03-25
-----------------------------------
Changes:
-----------------------------------
New version; added supybot/limnoria/gribble support. This only works when the supybot
'SHELL' command is used, 'CALL' gives the user irc client data, and supybot etc are
not detectable.
Fine tuned some error message lengths so they fit into 80 columns or so.
-----------------------------------
-- Harald Hope - Tue, 25 Mar 2014 13:55:13 -0700
===================================================================================== =====================================================================================
Version: 2.1.9 Version: 2.1.9
Patch Version: 00 Patch Version: 00