Many small updates, enhancements, bug fixes!!! We've been saving them up!! Here

they are!! Don't wait!!

Thanks mr. mazda for many issue finds, and suggestions.

--------------------------------------------------------------------------------
KNOWN ISSUES BUT CAN'T OR WON'T BE FIXED:

1. Due to unfixable rpm slowdowns, removed package counts for default output for
rpm based systems. We were seeing delays of up to 30+ seconds just to list the
rpm package count, which is absurd, even after the rpm optimizations inxi
already runs. To allow rpm users to get excluded by default for rpm package list
counts, added --pkg flag plus a  short message telling them to use that flag to
get the installed package count if they want it.

Changes like this are very unfortunate, but in 2021 for a package manager at
times to require over 30 seconds to generate a trivial installed package list is
just not acceptable. One of the reasons this release was delayed was this was
not an easy decision to make, it's very rare support for a feature is removed
for specific tools due to how badly the tools may perform. Note that whatever
higher level tool is used, like dnf, zypp, it's still the same speed, they all
appear to use the same core engine.

Basically this decision was forced since either inxi looks really bad and slow,
when it's not, or the actual cause was removed from default outputs.

--------------------------------------------------------------------------------
BUGS:

1. Small bug in nfs blacklist for disk used led to nfs used being added, which
leads to silly used percents. This is corrected.

2. If ram vendor ID failed, inxi would delete the part number. Oops. This was
related to the Mushkin failures.

3. Close to a bug, though not one internally, but to users would appear as one:
ZFS does not act as expected, zpool list did not in fact return the pool size,
which I had always assumed to be the case, but in a very strange decision, does
return something very close to the pool size for mirrors, but NOT for z1 or z2
pools, then it returns the total size of the drives that make up the pool. To
call this strange behavior would be an understatement. The fix was to modify the
logic to use zfs list instead to get the size data. This also makes the drive
total report far more accurate, since it lists usable space now for ZFS as was
always intended. The cause of this was simply that I'd always had access to zfs
mirrors, not z1 or z2 arrays.

--------------------------------------------------------------------------------
FIXES:

1. OpenSuse and maybe others use kdm3 for Trinity, not kdm, so dm was failing.

2. Going along with fix 1, made kde version detection more robust so may catch
more fringe / corner cases for kde desktops. These were mainly added to correct
Trinity desktop version detections.

3. Mushkin ram vendor ID was failing, that is or should be corrected.

4. Added in /dev/disk/by-id handlers for zpool components, there are several
variants, wwn-, pci-, scsi-, ata-, but they all map to the real /dev drive IDs.
Failure to unmap these led to failing to match components and get size info
etc for zfs.

5. See DOCUMENTATION: 2, language changes for weather feature abuse.

--------------------------------------------------------------------------------
ENHANCEMENTS:

1. Going along with the rpm issues, added dnf.conf support to yum/dnf repo
types. Not sure how that one was missed, but there it is. This should tighten
repo reports for dnf/yum/zypp types.

2. Added LeftWM. LeftWM confirmed working. Added unverifed detections for:
penrose, 2bwm, 5dwm, catwm, mcwm, monsterwm, snapwm, uwm, wingo, wmfs, wmfs2.

3. Added xfwm as a compositor type, that had bee left out, somewhat on purpose,
since xfwm can run in compositing or non compositing mode. But should show
since many users use compositing mode now.

4. Added OpenMediaVault distro ID and systembase handlers.

5. Going along with zfs bug fix 3, using zfs list data for free, size,
allocated. Trying to understand how zfs developers actually thought about this
is nearly impossible so just used what seems to correspond to reality most.
Also shows raw values for zfs data in RAID along with regular ones to make
clear which is which value.

6. Added more CPU architecture ID matches for AMD Zen and a variety of Intel.
Both vendors finally released some new CPUs and the data became available,
which doesn't always happen quickly.

7. A bunch of new disk vendors and vendor IDs added. Never stops, like the
sands of time, like the ocean waves, like the scuttling crabs scrounding around
in the seaweed in the foam where the outgoing wave left its mark...

--------------------------------------------------------------------------------
DOCUMENTATION:

1. Added leftwm keybindinigs to inxi-data.txt desktop/wm section. Updated more
wm in that section as well, and list more info on wms for future reference etc.
Also reorganized and more more readable wm section.

2. Help/Man now make more clear that automated requests or excessive use of the
inxi weather feature are not under any circumstance permitted. There had been
some ambiguity and lack of clarity about what abuse is, now it should be more
clear.

--------------------------------------------------------------------------------
CODE CHANGES:

1. Refactored uptime parser logic, the code and regex was just getting too
messy and difficult to work with and debug, now it works similar to how the
revised BSD parsers run, the regex are pulled apart and made more granular so
a small syntax change ideally won't break the detections as easily.

2. Cleaned up sub cpu_arch() and made all the arch values line up nicely, over
time I notice that almost invariably stuff done to save lines of code makes
code harder to read as the feature expands, so it's generally worth just
unravelling it so it all stacks and is easy to scan/read. Also removed extra
white space in parens, which is something I'm leaning more towards but it's
not worth fixing all at once so it's just done where it's noticed.

That's using:
if ( /test/ ){
rather than:
if (/test){

I believe using more white space helped with Perl comprehension in the
intermediate stages, but is not required anymore and just looks like extra
whitespace now.
This commit is contained in:
Harald Hope 2021-07-11 19:32:13 -07:00
parent 0bf234846f
commit 55ca175e5a
3 changed files with 847 additions and 318 deletions

980
inxi

File diff suppressed because it is too large Load diff

44
inxi.1
View file

@ -1,4 +1,21 @@
.TH INXI 1 "2021\-04\-16" inxi "inxi manual" .\" inxi.1 - manpage for inxi system information tool
.\" Copyright (C) 2021 Harald Hope
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License along
.\" with this program; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
.\"
.TH INXI 1 "2021\-07\-11" "inxi" "inxi manual"
.SH NAME .SH NAME
inxi \- Command line system information script for console and IRC inxi \- Command line system information script for console and IRC
@ -756,10 +773,10 @@ Adds weather line. To get weather for an alternate location, use
Please note that your distribution's maintainer may chose to disable this Please note that your distribution's maintainer may chose to disable this
feature. feature.
DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! You will be blocked DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! Automated or excessive
from any further access. This feature is not meant for widget type weather use will lead to your being blocked from any further access. This feature is not
monitoring, or Conky type use. It is meant to get weather when you need to meant for widget type weather monitoring, or Conky type use. It is meant to get
see it, for example, on a remote server. weather when you need to see it, for example, on a remote server.
.TP .TP
.B \-W\fR, \fB\-\-weather\-location <location_string>\fR .B \-W\fR, \fB\-\-weather\-location <location_string>\fR
@ -1691,7 +1708,7 @@ Shortcut, legacy. See \fB\-\-force dmidecode\fR.
Force inxi to use Curl, Fetch, Perl, or Wget for downloads. Force inxi to use Curl, Fetch, Perl, or Wget for downloads.
.TP .TP
.B \-\-force [dmidecode|hddtemp|lsusb|usb-sys|vmstat|wmctl]\fR .B \-\-force [dmidecode|hddtemp|lsusb|pkg|usb-sys|vmstat|wmctl]\fR
Various force options to allow users to override defaults. Values be given Various force options to allow users to override defaults. Values be given
as a comma separated list: as a comma separated list:
@ -1705,6 +1722,17 @@ as a comma separated list:
\- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as \- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as
data source (default). Overrides \fBUSB_SYS\fR in user configuration file(s). data source (default). Overrides \fBUSB_SYS\fR in user configuration file(s).
\- \fBpkg\fR \- Force override of disabled package counts. Known package
managers with non\-resolvable issues:
rpm: Due to up to 30 seconds delays executing
.nf
\fBrpm \-qa \-\-nodigest \-\-nosignature\fR
.fi
on older hardware (and over 1 second on new hardware with some rpm versions)
package counts are disabled by default because of the unacceptable slowdowns
to execute a simple package list command.
\- \fBusb-sys\fR \- Forces the USB data generator to use \fB/sys\fR as \- \fBusb-sys\fR \- Forces the USB data generator to use \fB/sys\fR as
data source instead of \fBlsusb\fR (Linux only). data source instead of \fBlsusb\fR (Linux only).
@ -1837,6 +1865,10 @@ sort will be random.
\fBused\fR \- KiB used of partition. \fBused\fR \- KiB used of partition.
.TP
.B \-\-pkg\fR
Shortcut. See \fB\-\-force pkg\fR.
.TP .TP
.B \-\-pm\-type [package manager name]\fR .B \-\-pm\-type [package manager name]\fR
For distro package maintainers only, and only for non apt, rpm, or pacman For distro package maintainers only, and only for non apt, rpm, or pacman

View file

@ -1,3 +1,144 @@
================================================================================
Version: 3.3.05
Patch: 00
Date: 2021-07-11
--------------------------------------------------------------------------------
CHANGES:
--------------------------------------------------------------------------------
Many small updates, enhancements, bug fixes!!! We've been saving them up!! Here
they are!! Don't wait!!
Thanks mr. mazda for many issue finds, and suggestions.
--------------------------------------------------------------------------------
KNOWN ISSUES BUT CAN'T OR WON'T BE FIXED:
1. Due to unfixable rpm slowdowns, removed package counts for default output for
rpm based systems. We were seeing delays of up to 30+ seconds just to list the
rpm package count, which is absurd, even after the rpm optimizations inxi
already runs. To allow rpm users to get excluded by default for rpm package list
counts, added --pkg flag plus a short message telling them to use that flag to
get the installed package count if they want it.
Changes like this are very unfortunate, but in 2021 for a package manager at
times to require over 30 seconds to generate a trivial installed package list is
just not acceptable. One of the reasons this release was delayed was this was
not an easy decision to make, it's very rare support for a feature is removed
for specific tools due to how badly the tools may perform. Note that whatever
higher level tool is used, like dnf, zypp, it's still the same speed, they all
appear to use the same core engine.
Basically this decision was forced since either inxi looks really bad and slow,
when it's not, or the actual cause was removed from default outputs.
--------------------------------------------------------------------------------
BUGS:
1. Small bug in nfs blacklist for disk used led to nfs used being added, which
leads to silly used percents. This is corrected.
2. If ram vendor ID failed, inxi would delete the part number. Oops. This was
related to the Mushkin failures.
3. Close to a bug, though not one internally, but to users would appear as one:
ZFS does not act as expected, zpool list did not in fact return the pool size,
which I had always assumed to be the case, but in a very strange decision, does
return something very close to the pool size for mirrors, but NOT for z1 or z2
pools, then it returns the total size of the drives that make up the pool. To
call this strange behavior would be an understatement. The fix was to modify the
logic to use zfs list instead to get the size data. This also makes the drive
total report far more accurate, since it lists usable space now for ZFS as was
always intended. The cause of this was simply that I'd always had access to zfs
mirrors, not z1 or z2 arrays.
--------------------------------------------------------------------------------
FIXES:
1. OpenSuse and maybe others use kdm3 for Trinity, not kdm, so dm was failing.
2. Going along with fix 1, made kde version detection more robust so may catch
more fringe / corner cases for kde desktops. These were mainly added to correct
Trinity desktop version detections.
3. Mushkin ram vendor ID was failing, that is or should be corrected.
4. Added in /dev/disk/by-id handlers for zpool components, there are several
variants, wwn-, pci-, scsi-, ata-, but they all map to the real /dev drive IDs.
Failure to unmap these led to failing to match components and get size info
etc for zfs.
5. See DOCUMENTATION: 2, language changes for weather feature abuse.
--------------------------------------------------------------------------------
ENHANCEMENTS:
1. Going along with the rpm issues, added dnf.conf support to yum/dnf repo
types. Not sure how that one was missed, but there it is. This should tighten
repo reports for dnf/yum/zypp types.
2. Added LeftWM. LeftWM confirmed working. Added unverifed detections for:
penrose, 2bwm, 5dwm, catwm, mcwm, monsterwm, snapwm, uwm, wingo, wmfs, wmfs2.
3. Added xfwm as a compositor type, that had bee left out, somewhat on purpose,
since xfwm can run in compositing or non compositing mode. But should show
since many users use compositing mode now.
4. Added OpenMediaVault distro ID and systembase handlers.
5. Going along with zfs bug fix 3, using zfs list data for free, size,
allocated. Trying to understand how zfs developers actually thought about this
is nearly impossible so just used what seems to correspond to reality most.
Also shows raw values for zfs data in RAID along with regular ones to make
clear which is which value.
6. Added more CPU architecture ID matches for AMD Zen and a variety of Intel.
Both vendors finally released some new CPUs and the data became available,
which doesn't always happen quickly.
7. A bunch of new disk vendors and vendor IDs added. Never stops, like the
sands of time, like the ocean waves, like the scuttling crabs scrounding around
in the seaweed in the foam where the outgoing wave left its mark...
--------------------------------------------------------------------------------
DOCUMENTATION:
1. Added leftwm keybindinigs to inxi-data.txt desktop/wm section. Updated more
wm in that section as well, and list more info on wms for future reference etc.
Also reorganized and more more readable wm section.
2. Help/Man now make more clear that automated requests or excessive use of the
inxi weather feature are not under any circumstance permitted. There had been
some ambiguity and lack of clarity about what abuse is, now it should be more
clear.
--------------------------------------------------------------------------------
CODE CHANGES:
1. Refactored uptime parser logic, the code and regex was just getting too
messy and difficult to work with and debug, now it works similar to how the
revised BSD parsers run, the regex are pulled apart and made more granular so
a small syntax change ideally won't break the detections as easily.
2. Cleaned up sub cpu_arch() and made all the arch values line up nicely, over
time I notice that almost invariably stuff done to save lines of code makes
code harder to read as the feature expands, so it's generally worth just
unravelling it so it all stacks and is easy to scan/read. Also removed extra
white space in parens, which is something I'm leaning more towards but it's
not worth fixing all at once so it's just done where it's noticed.
That's using:
if ( /test/ ){
rather than:
if (/test){
I believe using more white space helped with Perl comprehension in the
intermediate stages, but is not required anymore and just looks like extra
whitespace now.
--------------------------------------------------------------------------------
-- Harald Hope - Sun, 11 Jul 2021 18:36:42 -0700
================================================================================ ================================================================================
Version: 3.3.04 Version: 3.3.04
Patch: 00 Patch: 00