mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 08:57:57 +00:00
Removed xiin references, fully switched to perl sys traverse tool and uploader.
Renamed debugger sys files to sys-dir-[traverse|depth-[1-6]].txt
This commit is contained in:
parent
c35bbc850a
commit
af40f3d842
141
inxi
141
inxi
|
@ -2,8 +2,8 @@
|
||||||
########################################################################
|
########################################################################
|
||||||
SELF_NAME='inxi'
|
SELF_NAME='inxi'
|
||||||
# don't quote the following, parsers grab these too
|
# don't quote the following, parsers grab these too
|
||||||
SELF_VERSION=2.3.41
|
SELF_VERSION=2.3.42
|
||||||
SELF_DATE=2017-10-29
|
SELF_DATE=2017-10-30
|
||||||
SELF_PATCH=00
|
SELF_PATCH=00
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
|
@ -1763,23 +1763,21 @@ set_man_location()
|
||||||
# args: $1 - debug data type: sys|xorg|disk
|
# args: $1 - debug data type: sys|xorg|disk
|
||||||
debug_data_collector()
|
debug_data_collector()
|
||||||
{
|
{
|
||||||
local xiin_app='' sys_data_file='' error='' b_run_xiin='false' b_xiin_downloaded='false'
|
local sys_data_file='' error='' Debug_Data_Dir='' bsd_string=''
|
||||||
local Debug_Data_Dir='' bsd_string='' xorg_d_files='' xorg_file='' a_distro_ids=''
|
local xorg_d_files='' xorg_file='' a_distro_ids=''
|
||||||
local completed_gz_file='' Xiin_File='xiin.py' ftp_upload='ftp.techpatterns.com/incoming'
|
local completed_gz_file='' ftp_upload='ftp.techpatterns.com/incoming'
|
||||||
local Line='-------------------------'
|
local Line='-------------------------'
|
||||||
local start_directory=$( pwd )
|
local start_directory=$( pwd )
|
||||||
local host='' debug_i='' root_string='' b_perl_worked='false' b_uploaded='false'
|
local host='' debug_i='' root_string='' b_traverse_worked='false' b_uploaded='false'
|
||||||
|
|
||||||
if (( "$BASH" >= 4 ));then
|
if (( "$BASH" >= 4 ));then
|
||||||
host="${HOSTNAME,,}"
|
host="${HOSTNAME,,}"
|
||||||
else
|
else
|
||||||
host=$( tr '[A-Z]' '[a-z]' <<< "$HOSTNAME" )
|
host=$( tr '[A-Z]' '[a-z]' <<< "$HOSTNAME" )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $B_DEBUG_I == 'true' ]];then
|
if [[ $B_DEBUG_I == 'true' ]];then
|
||||||
debug_i='i'
|
debug_i='i'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n $host ]];then
|
if [[ -n $host ]];then
|
||||||
host=${host// /-}
|
host=${host// /-}
|
||||||
else
|
else
|
||||||
|
@ -1791,9 +1789,7 @@ debug_data_collector()
|
||||||
if [[ $( whoami ) == 'root' ]];then
|
if [[ $( whoami ) == 'root' ]];then
|
||||||
root_string='-root'
|
root_string='-root'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
Debug_Data_Dir="inxi$bsd_string-$host-$(date +%Y%m%d-%H%M%S)-$1$root_string"
|
Debug_Data_Dir="inxi$bsd_string-$host-$(date +%Y%m%d-%H%M%S)-$1$root_string"
|
||||||
|
|
||||||
if [[ $B_IRC == 'false' ]];then
|
if [[ $B_IRC == 'false' ]];then
|
||||||
if [[ -n $ALTERNATE_FTP ]];then
|
if [[ -n $ALTERNATE_FTP ]];then
|
||||||
ftp_upload=$ALTERNATE_FTP
|
ftp_upload=$ALTERNATE_FTP
|
||||||
|
@ -1809,7 +1805,6 @@ debug_data_collector()
|
||||||
echo 'Deleting previous tar.gz file...'
|
echo 'Deleting previous tar.gz file...'
|
||||||
rm -f $SELF_DATA_DIR/$Debug_Data_Dir.tar.gz
|
rm -f $SELF_DATA_DIR/$Debug_Data_Dir.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'Collecting system info: sensors, lsusb, lspci, lspci -v data, plus /proc data'
|
echo 'Collecting system info: sensors, lsusb, lspci, lspci -v data, plus /proc data'
|
||||||
echo 'also checking for dmidecode data: note, you must be root to have dmidecode work.'
|
echo 'also checking for dmidecode data: note, you must be root to have dmidecode work.'
|
||||||
echo "Data going into: $SELF_DATA_DIR/$Debug_Data_Dir"
|
echo "Data going into: $SELF_DATA_DIR/$Debug_Data_Dir"
|
||||||
|
@ -1854,9 +1849,7 @@ debug_data_collector()
|
||||||
# diskinfo -v <disk>
|
# diskinfo -v <disk>
|
||||||
# fdisk <disk>
|
# fdisk <disk>
|
||||||
dmidecode &> $Debug_Data_Dir/dmidecode.txt
|
dmidecode &> $Debug_Data_Dir/dmidecode.txt
|
||||||
|
|
||||||
get_repo_data "$SELF_DATA_DIR/$Debug_Data_Dir"
|
get_repo_data "$SELF_DATA_DIR/$Debug_Data_Dir"
|
||||||
|
|
||||||
if type -p shopt &>/dev/null;then
|
if type -p shopt &>/dev/null;then
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
a_distro_ids=(/etc/*[-_]{release,version})
|
a_distro_ids=(/etc/*[-_]{release,version})
|
||||||
|
@ -2058,7 +2051,6 @@ debug_data_collector()
|
||||||
else
|
else
|
||||||
touch $Debug_Data_Dir/xorg-absent
|
touch $Debug_Data_Dir/xorg-absent
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $GNOME_DESKTOP_SESSION_ID &> $Debug_Data_Dir/gnome-desktop-session-id.txt
|
echo $GNOME_DESKTOP_SESSION_ID &> $Debug_Data_Dir/gnome-desktop-session-id.txt
|
||||||
# kde 3 id
|
# kde 3 id
|
||||||
echo $KDE_FULL_SESSION &> $Debug_Data_Dir/kde3-full-session.txt
|
echo $KDE_FULL_SESSION &> $Debug_Data_Dir/kde3-full-session.txt
|
||||||
|
@ -2174,12 +2166,12 @@ debug_data_collector()
|
||||||
fi
|
fi
|
||||||
# create the error file in case it's needed
|
# create the error file in case it's needed
|
||||||
if [[ $B_UPLOAD_DEBUG_DATA == 'true' || $1 == 'disk' || $1 == 'sys' || $1 == 'all' ]];then
|
if [[ $B_UPLOAD_DEBUG_DATA == 'true' || $1 == 'disk' || $1 == 'sys' || $1 == 'all' ]];then
|
||||||
touch $SELF_DATA_DIR/$Debug_Data_Dir/xiin-error.txt
|
touch $SELF_DATA_DIR/$Debug_Data_Dir/sys-dir-error.txt
|
||||||
fi
|
fi
|
||||||
# note, only bash 4> supports ;;& for case, so using if/then here
|
# note, only bash 4> supports ;;& for case, so using if/then here
|
||||||
if [[ -z $BSD_TYPE ]] && [[ $1 == 'disk' || $1 == 'sys' || $1 == 'all' ]];then
|
if [[ -z $BSD_TYPE ]] && [[ $1 == 'disk' || $1 == 'sys' || $1 == 'all' ]];then
|
||||||
echo $Line
|
echo $Line
|
||||||
sys_data_file=$SELF_DATA_DIR/$Debug_Data_Dir/xiin-sys.txt
|
sys_data_file=$SELF_DATA_DIR/$Debug_Data_Dir/sys-dir-traverse.txt
|
||||||
echo "Getting file paths in /sys..."
|
echo "Getting file paths in /sys..."
|
||||||
ls_sys 1
|
ls_sys 1
|
||||||
ls_sys 2
|
ls_sys 2
|
||||||
|
@ -2242,41 +2234,13 @@ debug_data_collector()
|
||||||
echo -e "ERROR: failed to generate /sys data - removing data file.\nContinuing with incomplete data collection."
|
echo -e "ERROR: failed to generate /sys data - removing data file.\nContinuing with incomplete data collection."
|
||||||
echo "Continuing with incomplete data collection."
|
echo "Continuing with incomplete data collection."
|
||||||
rm -f $sys_data_file
|
rm -f $sys_data_file
|
||||||
echo "/sys data generation failed. No data collected." >> $Debug_Data_Dir/xiin-error.txt
|
echo "/sys data generation failed. No data collected." >> $Debug_Data_Dir/sys-dir-error.txt
|
||||||
else
|
else
|
||||||
b_perl_worked='true'
|
b_traverse_worked='true'
|
||||||
echo 'Completed /sys data collection.'
|
echo 'Completed /sys data collection.'
|
||||||
echo -n "$sys_traverse_data" > $sys_data_file
|
echo -n "$sys_traverse_data" > $sys_data_file
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -z "$sys_traverse_data" ]];then
|
|
||||||
download_xiin 'sys'
|
|
||||||
if [[ $? -eq 0 ]];then
|
|
||||||
b_run_xiin='true'
|
|
||||||
b_xiin_downloaded='true'
|
|
||||||
echo "Running $Xiin_File tool now on /sys..."
|
|
||||||
echo -n "Using " && python --version
|
|
||||||
python --version &> $Debug_Data_Dir/python-version.txt
|
|
||||||
python ./$Xiin_File -d /sys -f $sys_data_file
|
|
||||||
if [[ $? -ne 0 ]];then
|
|
||||||
error=$?
|
|
||||||
echo -e "ERROR: $Xiin_File exited with error $error - removing data file.\nContinuing with incomplete data collection."
|
|
||||||
rm -f $sys_data_file
|
|
||||||
echo "$Xiin_File data generation failed with python error $error" >> $Debug_Data_Dir/xiin-error.txt
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
# has to be before gz cleanup
|
|
||||||
if [[ $B_UPLOAD_DEBUG_DATA == 'true' ]];then
|
|
||||||
if [[ $b_xiin_downloaded == 'false' && $b_perl_worked == 'false' ]];then
|
|
||||||
echo $Line
|
|
||||||
download_xiin 'upload'
|
|
||||||
if [[ $? -eq 0 ]];then
|
|
||||||
b_run_xiin='true'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
echo $Line
|
echo $Line
|
||||||
echo "Creating $SELF_NAME output file now. This can take a few seconds..."
|
echo "Creating $SELF_NAME output file now. This can take a few seconds..."
|
||||||
|
@ -2307,7 +2271,7 @@ debug_data_collector()
|
||||||
echo $completed_gz_file
|
echo $completed_gz_file
|
||||||
if [[ $B_UPLOAD_DEBUG_DATA == 'true' ]];then
|
if [[ $B_UPLOAD_DEBUG_DATA == 'true' ]];then
|
||||||
echo $Line
|
echo $Line
|
||||||
if [[ $b_perl_worked == 'true' ]];then
|
if [[ $b_traverse_worked == 'true' ]];then
|
||||||
upload_debugger_data "$completed_gz_file"
|
upload_debugger_data "$completed_gz_file"
|
||||||
if [[ $? -gt 0 ]];then
|
if [[ $? -gt 0 ]];then
|
||||||
echo "Error: looks like the Perl ftp upload failed. Error number: $?"
|
echo "Error: looks like the Perl ftp upload failed. Error number: $?"
|
||||||
|
@ -2316,22 +2280,6 @@ debug_data_collector()
|
||||||
echo "Hurray! Looks like the Perl ftp upload worked!"
|
echo "Hurray! Looks like the Perl ftp upload worked!"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ $b_uploaded == 'false' ]];then
|
|
||||||
if [[ $b_run_xiin == 'true' ]];then
|
|
||||||
echo "Running automatic upload of data to remote server $ftp_upload now..."
|
|
||||||
python ./$Xiin_File --version
|
|
||||||
python ./$Xiin_File -u $completed_gz_file $ftp_upload
|
|
||||||
if [[ $? -gt 0 ]];then
|
|
||||||
echo $Line
|
|
||||||
echo "Error: looks like the Python ftp upload failed. Error number: $?"
|
|
||||||
# echo "The ftp upload failed. Error number: $?" >> $Debug_Data_Dir/xiin-error.txt
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo 'Unable to run the automatic ftp upload because no uploaders appear to be working or available.'
|
|
||||||
# that has been removed at this point, so no more logging
|
|
||||||
# echo "Unable to run the automoatic ftp upload because of an error with the xiin download" >> $Debug_Data_Dir/xiin-error.txt
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo 'You can upload this here using most file managers: ftp.techpatterns.com/incoming'
|
echo 'You can upload this here using most file managers: ftp.techpatterns.com/incoming'
|
||||||
echo 'then let a maintainer know it is uploaded.'
|
echo 'then let a maintainer know it is uploaded.'
|
||||||
|
@ -2342,7 +2290,7 @@ debug_data_collector()
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
## args: $1 - level
|
## args: $1 - depth
|
||||||
ls_sys()
|
ls_sys()
|
||||||
{
|
{
|
||||||
local files=''
|
local files=''
|
||||||
|
@ -2372,7 +2320,7 @@ ls_sys()
|
||||||
else if (!/^total / ) {
|
else if (!/^total / ) {
|
||||||
print $0
|
print $0
|
||||||
}
|
}
|
||||||
}' &> $Debug_Data_Dir/sys-level-$1.txt
|
}' &> $Debug_Data_Dir/sys-dir-depth-$1.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
## args: $1 - debugger file name
|
## args: $1 - debugger file name
|
||||||
|
@ -2419,67 +2367,6 @@ upload_debugger_data()
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
# $1 - download type [sys|upload]
|
|
||||||
download_xiin()
|
|
||||||
{
|
|
||||||
local xiin_download='' xiin_url="https://github.com/smxi/inxi/raw/xiin/$Xiin_File"
|
|
||||||
local downloader_error=0 download_type='uploader'
|
|
||||||
|
|
||||||
if [[ $1 == 'sys' ]];then
|
|
||||||
download_type='tree traverse'
|
|
||||||
fi
|
|
||||||
touch $Debug_Data_Dir/download_xiin.txt
|
|
||||||
echo "download_xiin: \$1 - $1" >> $Debug_Data_Dir/download_xiin.txt
|
|
||||||
echo "Downloading required $download_type tool $Xiin_File..."
|
|
||||||
if [[ -f xiin && ! -f $Xiin_File ]];then
|
|
||||||
mv -f xiin $Xiin_File
|
|
||||||
fi
|
|
||||||
# -Nc is creating really weird download anomalies, so using -O instead
|
|
||||||
case $DOWNLOADER in
|
|
||||||
curl)
|
|
||||||
xiin_download="$( curl $NO_SSL_OPT -s $xiin_url )" || downloader_error=$?
|
|
||||||
;;
|
|
||||||
fetch)
|
|
||||||
xiin_download="$( fetch $NO_SSL_OPT -q -o - $xiin_url )" || downloader_error=$?
|
|
||||||
;;
|
|
||||||
ftp)
|
|
||||||
xiin_download="$( ftp $NO_SSL_OPT -o - $xiin_url 2>/dev/null )" || downloader_error=$?
|
|
||||||
;;
|
|
||||||
wget)
|
|
||||||
xiin_download="$( wget $NO_SSL_OPT -q -O - $xiin_url )" || downloader_error=$?
|
|
||||||
;;
|
|
||||||
no-downloader)
|
|
||||||
downloader_error=100
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
# if nothing got downloaded kick out error, otherwise we'll use an older version
|
|
||||||
if [[ $downloader_error -gt 0 && ! -f $Xiin_File ]];then
|
|
||||||
echo -e "ERROR: Failed to download required file: $Xiin_File\nMaybe the remote site is down or your networking is broken?"
|
|
||||||
if [[ $1 == 'sys' ]];then
|
|
||||||
echo "Continuing with incomplete data collection."
|
|
||||||
else
|
|
||||||
echo "$SELF_NAME will be unable to automatically upload the debugger data."
|
|
||||||
fi
|
|
||||||
echo "$Xiin_File download failed and no existing $Xiin_File: error: $downloader_error" >> $Debug_Data_Dir/xiin-error.txt
|
|
||||||
return 1
|
|
||||||
elif [[ -n $( grep -s '# EOF' <<< "$xiin_download" ) || -f $Xiin_File ]];then
|
|
||||||
if [[ -n $( grep -s '# EOF' <<< "$xiin_download" ) ]];then
|
|
||||||
echo "Updating $Xiin_File from remote location"
|
|
||||||
echo "$xiin_download" > $Xiin_File
|
|
||||||
else
|
|
||||||
echo "Using local $Xiin_File due to download failure"
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
if [[ $1 == 'sys' ]];then
|
|
||||||
echo -e "ERROR: $Xiin_File downloaded but the program file data is corrupted.\nContinuing with incomplete data collection."
|
|
||||||
else
|
|
||||||
echo -e "ERROR: $Xiin_File downloaded but the program file data is corrupted.\nWill not be able to automatically upload debugger data file."
|
|
||||||
fi
|
|
||||||
echo "$Xiin_File downloaded but the program file data is corrupted." >> $Debug_Data_Dir/xiin-error.txt
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
check_recommends_user_output()
|
check_recommends_user_output()
|
||||||
{
|
{
|
||||||
|
@ -2524,7 +2411,7 @@ check_recommends_user_output()
|
||||||
echo "Gawk version: $gawk_version"
|
echo "Gawk version: $gawk_version"
|
||||||
echo "Sed version: $sed_version"
|
echo "Sed version: $sed_version"
|
||||||
echo "Sudo version: $sudo_version"
|
echo "Sudo version: $sudo_version"
|
||||||
echo "Python version: $python_version (deprecated)"
|
echo "Python version: $python_version (legacy, no longer used)"
|
||||||
echo "Perl version: $perl_version"
|
echo "Perl version: $perl_version"
|
||||||
echo $Line
|
echo $Line
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,17 @@
|
||||||
|
=====================================================================================
|
||||||
|
Version: 2.3.42
|
||||||
|
Patch Version: 00
|
||||||
|
Script Date: 2017-10-30
|
||||||
|
-----------------------------------
|
||||||
|
Changes:
|
||||||
|
-----------------------------------
|
||||||
|
Removed xiin references, fully switched to perl sys traverse tool and uploader.
|
||||||
|
|
||||||
|
Renamed debugger sys files to sys-dir-[traverse|depth-[1-6]].txt
|
||||||
|
|
||||||
|
-----------------------------------
|
||||||
|
-- Harald Hope - Mon, 30 Oct 2017 12:04:02 -0700
|
||||||
|
|
||||||
=====================================================================================
|
=====================================================================================
|
||||||
Version: 2.3.41
|
Version: 2.3.41
|
||||||
Patch Version: 00
|
Patch Version: 00
|
||||||
|
|
Loading…
Reference in a new issue