mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 00:47:47 +00:00
New version, new tarball. Improved B_ALLOW_UPDATES handling, now if set to false,
turns off all -h and -H menu options for updating. Also triggers an error message if you use -U or -! <10-16/http://>. Distro maintainers, take note, if you used the B_ALLOW_UPDATES flag, you no longer need to change the code anywhere, the error messages and blocking the -h output for update features is automatic as soon as the flag is set to 'false'. I needed to change the -! handling because -! is now also being used for extra features like -! 31 and -! 32 and probably more stuff in the future, plus the -! 30 used by things like the inxi gui tool being worked on by trash80. Also included in this version are more bsd changes, including initial function for pciconf data parsing, this will be used for -A, -G, and -N options for card data. Further bsd improvements are better error/no data available messages for -D and -o.
This commit is contained in:
parent
48fa28f1ec
commit
46e36c755b
175
inxi
175
inxi
|
@ -1,8 +1,8 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### Version: 1.8.42
|
#### Version: 1.8.43
|
||||||
#### Date: February 27 2013
|
#### Date: February 28 2013
|
||||||
#### Patch Number: 00
|
#### Patch Number: 00
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
|
@ -237,9 +237,12 @@ A_UNMOUNTED_PARTITION_DATA=''
|
||||||
A_X_DATA=''
|
A_X_DATA=''
|
||||||
|
|
||||||
### Boolean true/false globals ## usage: 'B_<var>'
|
### Boolean true/false globals ## usage: 'B_<var>'
|
||||||
|
## Distro maintainer flags ##
|
||||||
# flag to allow distro maintainers to turn off update features. If false, turns off
|
# flag to allow distro maintainers to turn off update features. If false, turns off
|
||||||
# -U and -! testing/advanced update options, as well as removing the -U help menu item
|
# -U and -! testing/advanced update options, as well as removing the -U help menu item
|
||||||
B_ALLOW_UPDATE='true'
|
B_ALLOW_UPDATE='true'
|
||||||
|
B_ALLOW_WEATHER='false'
|
||||||
|
## standard boolean flags ##
|
||||||
B_BSD_RAID='false'
|
B_BSD_RAID='false'
|
||||||
B_COLOR_SCHEME_SET='false'
|
B_COLOR_SCHEME_SET='false'
|
||||||
B_CONSOLE_IRC='false'
|
B_CONSOLE_IRC='false'
|
||||||
|
@ -317,6 +320,7 @@ B_SHOW_SHORT_OUTPUT='false'
|
||||||
B_SHOW_SYSTEM='false'
|
B_SHOW_SYSTEM='false'
|
||||||
B_SHOW_UNMOUNTED_PARTITIONS='false'
|
B_SHOW_UNMOUNTED_PARTITIONS='false'
|
||||||
B_SHOW_UUIDS='false'
|
B_SHOW_UUIDS='false'
|
||||||
|
B_SHOW_WEATHER='false'
|
||||||
B_SHOW_X_DATA='false'
|
B_SHOW_X_DATA='false'
|
||||||
B_SYSCTL='false'
|
B_SYSCTL='false'
|
||||||
# triggers various debugging and new option testing
|
# triggers various debugging and new option testing
|
||||||
|
@ -1240,6 +1244,9 @@ error_handler()
|
||||||
16)
|
16)
|
||||||
error_message="$SCRIPT_NAME downloaded but the file data is corrupted. Purged data and using current version."
|
error_message="$SCRIPT_NAME downloaded but the file data is corrupted. Purged data and using current version."
|
||||||
;;
|
;;
|
||||||
|
17)
|
||||||
|
error_message="All $SCRIPT_NAME self updater features have been disabled by the distribution\npackage maintainer. This includes the option you used: $2"
|
||||||
|
;;
|
||||||
20)
|
20)
|
||||||
error_message="The option you selected has been deprecated. $2\nSee the -h (help) menu for currently supported options."
|
error_message="The option you selected has been deprecated. $2\nSee the -h (help) menu for currently supported options."
|
||||||
;;
|
;;
|
||||||
|
@ -1989,12 +1996,12 @@ remove_erroneous_chars()
|
||||||
get_parameters()
|
get_parameters()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local opt='' wget_test='' update_flags='U!:' debug_data_type=''
|
local opt='' wget_test='' debug_data_type='' weather_flag='w'
|
||||||
local use_short='true' # this is needed to trigger short output, every v/d/F/line trigger sets this false
|
local use_short='true' # this is needed to trigger short output, every v/d/F/line trigger sets this false
|
||||||
|
|
||||||
# If distro maintainers want to not allow updates, turn off that option for users
|
# if distro maintainers don't want the weather feature disable it
|
||||||
if [[ $B_ALLOW_UPDATE == 'false' ]];then
|
if [[ $B_ALLOW_WEATHER == 'false' ]];then
|
||||||
update_flags=''
|
weather_flag=''
|
||||||
fi
|
fi
|
||||||
if [[ $1 == '--version' ]];then
|
if [[ $1 == '--version' ]];then
|
||||||
print_version_info
|
print_version_info
|
||||||
|
@ -2009,7 +2016,7 @@ get_parameters()
|
||||||
# no need to run through these if there are no args
|
# no need to run through these if there are no args
|
||||||
# reserved for future use: -g for extra Graphics; -m for extra Machine; -d for extra Disk
|
# reserved for future use: -g for extra Graphics; -m for extra Machine; -d for extra Disk
|
||||||
elif [[ -n $1 ]];then
|
elif [[ -n $1 ]];then
|
||||||
while getopts Abc:CdDfFGhHiIlMnNopPrRsSt:uv:VxzZ%@:${update_flags} opt
|
while getopts Abc:CdDfFGhHiIlMnNopPrRsSt:uUv:V${weather_flag}xzZ%@:!: opt
|
||||||
do
|
do
|
||||||
case $opt in
|
case $opt in
|
||||||
A) B_SHOW_AUDIO='true'
|
A) B_SHOW_AUDIO='true'
|
||||||
|
@ -2212,7 +2219,11 @@ get_parameters()
|
||||||
error_handler 4 "$OPTARG"
|
error_handler 4 "$OPTARG"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
U) script_self_updater "$SCRIPT_DOWNLOAD" 'svn server' "$opt"
|
U) if [[ $B_ALLOW_UPDATE == 'true' ]];then
|
||||||
|
script_self_updater "$SCRIPT_DOWNLOAD" 'svn server' "$opt"
|
||||||
|
else
|
||||||
|
error_handler 17 "-$opt"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
V) print_version_info
|
V) print_version_info
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -2291,26 +2302,37 @@ get_parameters()
|
||||||
3) B_TESTING_1='true'
|
3) B_TESTING_1='true'
|
||||||
B_TESTING_2='true'
|
B_TESTING_2='true'
|
||||||
;;
|
;;
|
||||||
10)
|
1[0-6]|http*)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_DEV" 'dev server' "$opt $OPTARG"
|
if [[ $B_ALLOW_UPDATE == 'true' ]];then
|
||||||
;;
|
case $OPTARG in
|
||||||
11)
|
10)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_1" 'svn: branch one server' "$opt $OPTARG"
|
script_self_updater "$SCRIPT_DOWNLOAD_DEV" 'dev server' "$opt $OPTARG"
|
||||||
;;
|
;;
|
||||||
12)
|
11)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_2" 'svn: branch two server' "$opt $OPTARG"
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_1" 'svn: branch one server' "$opt $OPTARG"
|
||||||
;;
|
;;
|
||||||
13)
|
12)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_3" 'svn: branch three server' "$opt $OPTARG"
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_2" 'svn: branch two server' "$opt $OPTARG"
|
||||||
;;
|
;;
|
||||||
14)
|
13)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_4" 'svn: branch four server' "$opt $OPTARG"
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_3" 'svn: branch three server' "$opt $OPTARG"
|
||||||
;;
|
;;
|
||||||
15)
|
14)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_BSD" 'svn: branch bsd server' "$opt $OPTARG"
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_4" 'svn: branch four server' "$opt $OPTARG"
|
||||||
;;
|
;;
|
||||||
16)
|
15)
|
||||||
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_GNUBSD" 'svn: branch gnubsd server' "$opt $OPTARG"
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_BSD" 'svn: branch bsd server' "$opt $OPTARG"
|
||||||
|
;;
|
||||||
|
16)
|
||||||
|
script_self_updater "$SCRIPT_DOWNLOAD_BRANCH_GNUBSD" 'svn: branch gnubsd server' "$opt $OPTARG"
|
||||||
|
;;
|
||||||
|
http*)
|
||||||
|
script_self_updater "$OPTARG" 'alt server' "$opt <http...>"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
error_handler 17 "-$opt $OPTARG"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
30)
|
30)
|
||||||
B_RUNNING_IN_SHELL='true'
|
B_RUNNING_IN_SHELL='true'
|
||||||
|
@ -2324,9 +2346,6 @@ get_parameters()
|
||||||
ftp*)
|
ftp*)
|
||||||
ALTERNATE_FTP="$OPTARG"
|
ALTERNATE_FTP="$OPTARG"
|
||||||
;;
|
;;
|
||||||
http*)
|
|
||||||
script_self_updater "$OPTARG" 'alt server' "$opt <http...>"
|
|
||||||
;;
|
|
||||||
*) error_handler 11 "$OPTARG"
|
*) error_handler 11 "$OPTARG"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -2441,6 +2460,10 @@ show_options()
|
||||||
print_screen_output " standard raid data (-R)."
|
print_screen_output " standard raid data (-R)."
|
||||||
print_screen_output " 6 - Full ${partition_string} (-p), unmounted ${partition_string} (-o), optical drive (-d), full raid; triggers -xx."
|
print_screen_output " 6 - Full ${partition_string} (-p), unmounted ${partition_string} (-o), optical drive (-d), full raid; triggers -xx."
|
||||||
print_screen_output " 7 - Network IP data (-i); triggers -xxx."
|
print_screen_output " 7 - Network IP data (-i); triggers -xxx."
|
||||||
|
# if distro maintainers don't want the weather feature disable it
|
||||||
|
if [[ $B_ALLOW_WEATHER == 'true' ]];then
|
||||||
|
print_screen_output "-w Local weather data. "
|
||||||
|
fi
|
||||||
print_screen_output "-x Adds the following extra data (only works with verbose or line output, not short form): "
|
print_screen_output "-x Adds the following extra data (only works with verbose or line output, not short form): "
|
||||||
print_screen_output " -C - Bogomips on Cpu;"
|
print_screen_output " -C - Bogomips on Cpu;"
|
||||||
print_screen_output " -d - Extra optical drive data; adds rev version to optical drive."
|
print_screen_output " -d - Extra optical drive data; adds rev version to optical drive."
|
||||||
|
@ -2511,14 +2534,16 @@ show_options()
|
||||||
print_screen_output "-! 1 - Sets testing flag B_TESTING_1='true' to trigger testing condition 1."
|
print_screen_output "-! 1 - Sets testing flag B_TESTING_1='true' to trigger testing condition 1."
|
||||||
print_screen_output "-! 2 - Sets testing flag B_TESTING_2='true' to trigger testing condition 2."
|
print_screen_output "-! 2 - Sets testing flag B_TESTING_2='true' to trigger testing condition 2."
|
||||||
print_screen_output "-! 3 - Sets flags B_TESTING_1='true' and B_TESTING_2='true'."
|
print_screen_output "-! 3 - Sets flags B_TESTING_1='true' and B_TESTING_2='true'."
|
||||||
print_screen_output "-! 10 - Triggers an update from the primary dev download server instead of svn."
|
if [[ $B_ALLOW_UPDATE == 'true' ]];then
|
||||||
print_screen_output "-! 11 - Triggers an update from svn branch one - if present, of course."
|
print_screen_output "-! 10 - Triggers an update from the primary dev download server instead of svn."
|
||||||
print_screen_output "-! 12 - Triggers an update from svn branch two - if present, of course."
|
print_screen_output "-! 11 - Triggers an update from svn branch one - if present, of course."
|
||||||
print_screen_output "-! 13 - Triggers an update from svn branch three - if present, of course."
|
print_screen_output "-! 12 - Triggers an update from svn branch two - if present, of course."
|
||||||
print_screen_output "-! 14 - Triggers an update from svn branch four - if present, of course."
|
print_screen_output "-! 13 - Triggers an update from svn branch three - if present, of course."
|
||||||
print_screen_output "-! 15 - Triggers an update from svn branch BSD - if present, of course."
|
print_screen_output "-! 14 - Triggers an update from svn branch four - if present, of course."
|
||||||
print_screen_output "-! 16 - Triggers an update from svn branch GNUBSD - if present, of course."
|
print_screen_output "-! 15 - Triggers an update from svn branch BSD - if present, of course."
|
||||||
print_screen_output "-! <http://......> - Triggers an update from whatever server you list."
|
print_screen_output "-! 16 - Triggers an update from svn branch GNUBSD - if present, of course."
|
||||||
|
print_screen_output "-! <http://......> - Triggers an update from whatever server you list."
|
||||||
|
fi
|
||||||
print_screen_output "-! <ftp.......> - Changes debugging data ftp upload location to whatever you enter here."
|
print_screen_output "-! <ftp.......> - Changes debugging data ftp upload location to whatever you enter here."
|
||||||
print_screen_output " Only used together with -xx@ 11-14, and must be used in front of that."
|
print_screen_output " Only used together with -xx@ 11-14, and must be used in front of that."
|
||||||
print_screen_output " Example: inxi -! ftp.yourserver.com/incoming -xx@ 14"
|
print_screen_output " Example: inxi -! ftp.yourserver.com/incoming -xx@ 14"
|
||||||
|
@ -6533,6 +6558,58 @@ get_patch_version_string()
|
||||||
echo $patch_version_number
|
echo $patch_version_number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_pciconf_data()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
|
||||||
|
local pciconf="$( type -p pciconf 2>/dev/null )"
|
||||||
|
local pciconf_data=''
|
||||||
|
|
||||||
|
if [[ -n $pciconf ]];then
|
||||||
|
pciconf_data="$( $pciconf -lv 2>/dev/null )"
|
||||||
|
if [[ -n $pciconf_data ]];then
|
||||||
|
pciconf_data=$( gawk '
|
||||||
|
{
|
||||||
|
gsub(/'"$BAN_LIST_NORMAL"'/, "", $0)
|
||||||
|
gsub(/[[:space:]]+=[[:space:]]+/, "=",$0)
|
||||||
|
gsub(/^[[:space:]]+|'"'"'|\"|,/, "", $0)
|
||||||
|
gsub(/=0x/,"=",$0)
|
||||||
|
# line=gensub(/.*[[:space:]]+(class=[^[:space:]]*|card=[^[:space:]]*)|chip=[^[:space:]]*|rev=[^[:space:]]*|hdr=[^[:space:]]*).*/,"\n\\1","g",$0)
|
||||||
|
line=gensub(/(.*@.*)/,"\n\\1",$0)
|
||||||
|
print line
|
||||||
|
}' <<< "$pciconf_data" )
|
||||||
|
# now insert into arrays
|
||||||
|
# order: type,
|
||||||
|
gawk '
|
||||||
|
BEGIN {
|
||||||
|
audio=""
|
||||||
|
graphics=""
|
||||||
|
nic=""
|
||||||
|
fullLine=""
|
||||||
|
driver=""
|
||||||
|
vendor=""
|
||||||
|
device=""
|
||||||
|
class=""
|
||||||
|
pciId=""
|
||||||
|
}
|
||||||
|
/^.*@/ {
|
||||||
|
while ( getline && $1 !~ /^$/ ) {
|
||||||
|
driver=gensub(/^([^0-9@]).*/, "\\1", $2 )
|
||||||
|
if ( $2 == "class=020000" ) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fullLine=class ","
|
||||||
|
|
||||||
|
}' <<< "$pciconf_data"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
A_PCICONF_DATA='pciconf-not-installed'
|
||||||
|
fi
|
||||||
|
log_function_data "$pciconf_data"
|
||||||
|
eval $LOGFE
|
||||||
|
}
|
||||||
|
|
||||||
# args: $1 - type cpu/mem
|
# args: $1 - type cpu/mem
|
||||||
get_ps_tcm_data()
|
get_ps_tcm_data()
|
||||||
{
|
{
|
||||||
|
@ -8416,6 +8493,7 @@ print_hard_disk_data()
|
||||||
IFS="$ORIGINAL_IFS"
|
IFS="$ORIGINAL_IFS"
|
||||||
local hdd_capacity="${a_hdd_basic_working[0]}"
|
local hdd_capacity="${a_hdd_basic_working[0]}"
|
||||||
local hdd_used=${a_hdd_basic_working[1]}
|
local hdd_used=${a_hdd_basic_working[1]}
|
||||||
|
local bsd_unsupported='Hard drive data not yet supported for BSD systems.'
|
||||||
|
|
||||||
if [[ $B_SHOW_BASIC_DISK == 'true' || $B_SHOW_DISK == 'true' ]];then
|
if [[ $B_SHOW_BASIC_DISK == 'true' || $B_SHOW_DISK == 'true' ]];then
|
||||||
## note: the output part of this should be in the print hdd data function, not here
|
## note: the output part of this should be in the print hdd data function, not here
|
||||||
|
@ -8491,8 +8569,20 @@ print_hard_disk_data()
|
||||||
hdd_data=$( create_print_line "$Line_Starter" "${hdd_model}${CN}" )
|
hdd_data=$( create_print_line "$Line_Starter" "${hdd_model}${CN}" )
|
||||||
print_screen_output "$hdd_data"
|
print_screen_output "$hdd_data"
|
||||||
fi
|
fi
|
||||||
|
# temporary message to indicate not yet supported
|
||||||
|
if [[ $BSD_TYPE == 'bsd' ]];then
|
||||||
|
hdd_data=$bsd_unsupported
|
||||||
|
hdd_data=$( create_print_line "$Line_Starter" "$hdd_data${CN}" )
|
||||||
|
print_screen_output "$hdd_data"
|
||||||
|
Line_Starter=' '
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
hdd_data=$( create_print_line "$Line_Starter" "${C1}HDD Total Size:${C2} ${hdd_capacity} (${hdd_used})${CN}" )
|
# temporary message to indicate not yet supported
|
||||||
|
hdd_data="${C1}HDD Total Size:${C2} ${hdd_capacity} (${hdd_used})"
|
||||||
|
if [[ $BSD_TYPE == 'bsd' ]];then
|
||||||
|
hdd_data=$bsd_unsupported
|
||||||
|
fi
|
||||||
|
hdd_data=$( create_print_line "$Line_Starter" "$hdd_data${CN}" )
|
||||||
print_screen_output "$hdd_data"
|
print_screen_output "$hdd_data"
|
||||||
Line_Starter=' '
|
Line_Starter=' '
|
||||||
fi
|
fi
|
||||||
|
@ -9965,6 +10055,7 @@ print_unmounted_partition_data()
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
local a_unmounted_data='' line_starter='' unmounted_data='' full_fs=''
|
local a_unmounted_data='' line_starter='' unmounted_data='' full_fs=''
|
||||||
local full_dev='' full_size='' full_label='' full_uuid='' full_string=''
|
local full_dev='' full_size='' full_label='' full_uuid='' full_string=''
|
||||||
|
local bsd_unsupported='This feature is not yet supported for BSD systems.'
|
||||||
|
|
||||||
if [[ -z ${A_PARTITION_DATA} ]];then
|
if [[ -z ${A_PARTITION_DATA} ]];then
|
||||||
get_partition_data
|
get_partition_data
|
||||||
|
@ -10012,6 +10103,10 @@ print_unmounted_partition_data()
|
||||||
else
|
else
|
||||||
line_starter=' '
|
line_starter=' '
|
||||||
fi
|
fi
|
||||||
|
# temporary message to indicate not yet supported
|
||||||
|
if [[ $BSD_TYPE == 'bsd' ]];then
|
||||||
|
full_string=$bsd_unsupported
|
||||||
|
fi
|
||||||
unmounted_data=$( create_print_line "$line_starter" "$full_string" )
|
unmounted_data=$( create_print_line "$line_starter" "$full_string" )
|
||||||
print_screen_output "$unmounted_data"
|
print_screen_output "$unmounted_data"
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
=====================================================================================
|
||||||
|
Version: 1.8.43
|
||||||
|
Patch Version: 00
|
||||||
|
Script Date: February 28 2013
|
||||||
|
-----------------------------------
|
||||||
|
Changes:
|
||||||
|
-----------------------------------
|
||||||
|
New version, new tarball. Improved B_ALLOW_UPDATES handling, now if set to false,
|
||||||
|
turns off all -h and -H menu options for updating. Also triggers an error message
|
||||||
|
if you use -U or -! <10-16/http://>.
|
||||||
|
|
||||||
|
Distro maintainers, take note, if you used the B_ALLOW_UPDATES flag, you no longer
|
||||||
|
need to change the code anywhere, the error messages and blocking the -h output for
|
||||||
|
update features is automatic as soon as the flag is set to 'false'.
|
||||||
|
|
||||||
|
I needed to change the -! handling because -! is now also being used for extra features
|
||||||
|
like -! 31 and -! 32 and probably more stuff in the future, plus the -! 30 used by
|
||||||
|
things like the inxi gui tool being worked on by trash80.
|
||||||
|
|
||||||
|
Also included in this version are more bsd changes, including initial function for pciconf
|
||||||
|
data parsing, this will be used for -A, -G, and -N options for card data.
|
||||||
|
|
||||||
|
Further bsd improvements are better error/no data available messages for -D and -o.
|
||||||
|
|
||||||
|
-----------------------------------
|
||||||
|
-- Harald Hope - Thu, 28 Feb 2013 15:30:07 -0800
|
||||||
|
|
||||||
=====================================================================================
|
=====================================================================================
|
||||||
Version: 1.8.42
|
Version: 1.8.42
|
||||||
Patch Version: 00
|
Patch Version: 00
|
||||||
|
|
Loading…
Reference in a new issue