Bug release, replace 3.3.17 asap, most users will not experience the bug, but if

they do, inxi stops right before the -D line. Failed to do an if defined test on
an array ref that could be undefined or an array ref. That makes Perl very
unhappy!

--------------------------------------------------------------------------------
KNOWN ISSUES:

1. AMD family F, K8 series, will need more granular treatments to get the data
to be more accurate and less generic. We got 2 IDs nailed from raw visual data
confirmations and cpuid values, which leaves many, but good start. We will chip
away (pardon the pun) at these more ambiguous IDs over time, but don't need to
get them all done instantly, just eventually. Thanks slackware person linuxdaddy
for doing really good research and actually looking at the cpu to find dates
etc.

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

1. Bug, fatal, caused by internal hash/array ref refactor of 3.3.17. Thanks
alaymari github issue #271 for reporting this one.

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

1. None except for code fixes to try to avoid the cause of the bug in Bugs 1.

2. Fixed nvidia eol try --gpu, it was showing backwards, with --gpu, not
without, sigh.

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

1. Added slimski dm data. That's a new fork of SLiM. Also guessing that brzdm
has same version -v output: brzdm version x.xx

--------------------------------------------------------------------------------
CHANGES:

1. None

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

1. Refactors of core docs, ongoing, but will list those next release.

--------------------------------------------------------------------------------
CODE:

1. Cleaned up some array ref handling in subs, returned as: ($var1,$var2) =
@{block_data(...)}, skipped initializing and creating scalar to hold the ref,
just use it directly for DiskItem::block_data().

2. Also switched to local ref scalar array in DiskItem::scsi_data(),
DiskItem::block_data(). Not set local array, set local array ref, to keep it
clear. Also made DriveItem::drive_speed() return straight ref, not array then
ref. Same for many other subs, switched to ref assignment so it's the same ref
all through all the sub and return.

3. Fixed a redundant return \@$data to simply assinging to @$data ref, no return
needed, in DiskItem::smartctl_data().

4. Tightened some returns of ref so that tests if good test @$ref, not $ref.
Trying to avoid more cases like issue #271.

5. Going along with array ref local/return, switched all hash refs to local hash
ref returning ref, and working local with ref. More efficient, avoids creating
new refs over and over, dugh. This made a particularly large difference in CPU
because in certain parts, new references were being created over and over, and
subs were returning like \@arr or \%hash instead of declaring to start:
my $arr = []; my $hash = {};

Then working with the data from there on as an array or hash reference, to the
same original reference, rather than creating new ones over and over, which Perl
then has to track til they expire.
This commit is contained in:
Harald Hope 2022-06-13 16:32:32 -07:00
parent 4d7d43580a
commit 80522b55b1
3 changed files with 591 additions and 475 deletions

965
inxi

File diff suppressed because it is too large Load diff

10
inxi.1
View file

@ -15,7 +15,7 @@
.\" with this program; if not, write to the Free Software Foundation, Inc., .\" with this program; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. .\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
.\" .\"
.TH INXI 1 "2022\-06\-10" "inxi" "inxi manual" .TH INXI 1 "2022\-06\-13" "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
@ -333,7 +333,7 @@ Graphics:
arch: Rankine arch: Rankine
code: NV3x code: NV3x
process: 130\-150nm process: 130\-150nm
built: 2003-05 built: 2003\-05
ports: ports:
active: VGA\-1 active: VGA\-1
empty: DVI\-I\-1,TV\-1 empty: DVI\-I\-1,TV\-1
@ -1937,7 +1937,7 @@ differences shown, like \fBcores:, \fBmin/max:\fR, etc.
arch: Zen arch: Zen
gen: 1 gen: 1
process: GF 14nm process: GF 14nm
built: 2017-19 built: 2017\-19
family:0x17 (23) family:0x17 (23)
model\-id:1 model\-id:1
stepping: 2 stepping: 2
@ -2074,7 +2074,7 @@ Wayland sample, with Sway/swaymsg:
.nf .nf
\fBinxi \aGz \fBinxi \aGz
Graphics: Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine Device\-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel alternate: amdgpu arch: TeraScale 2 driver: radeon v: kernel alternate: amdgpu arch: TeraScale 2
process: TSMC 32\-40nm pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link\-max: process: TSMC 32\-40nm pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link\-max:
gen: 2 speed: 5 GT/s ports: active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1 gen: 2 speed: 5 GT/s ports: active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1
@ -2790,7 +2790,7 @@ X/Wayland).
.B Developer Options .B Developer Options
These are useful only for developers. These are useful only for developers.
\fBFAKE_DATA_DIR\fR - change default fake data directory location. See \fBFAKE_DATA_DIR\fR \- change default fake data directory location. See
\fB\-\-fake\-data\-dir\fR. \fB\-\-fake\-data\-dir\fR.
.SH BUGS .SH BUGS

View file

@ -1,3 +1,90 @@
================================================================================
Version: 3.3.18
Patch: 00
Date: 2022-06-13
--------------------------------------------------------------------------------
RELEASE NOTES:
--------------------------------------------------------------------------------
Bug release, replace 3.3.17 asap, most users will not experience the bug, but if
they do, inxi stops right before the -D line. Failed to do an if defined test on
an array ref that could be undefined or an array ref. That makes Perl very
unhappy!
--------------------------------------------------------------------------------
KNOWN ISSUES:
1. AMD family F, K8 series, will need more granular treatments to get the data
to be more accurate and less generic. We got 2 IDs nailed from raw visual data
confirmations and cpuid values, which leaves many, but good start. We will chip
away (pardon the pun) at these more ambiguous IDs over time, but don't need to
get them all done instantly, just eventually. Thanks slackware person linuxdaddy
for doing really good research and actually looking at the cpu to find dates
etc.
--------------------------------------------------------------------------------
BUGS:
1. Bug, fatal, caused by internal hash/array ref refactor of 3.3.17. Thanks
alaymari github issue #271 for reporting this one.
--------------------------------------------------------------------------------
FIXES:
1. None except for code fixes to try to avoid the cause of the bug in Bugs 1.
2. Fixed nvidia eol try --gpu, it was showing backwards, with --gpu, not
without, sigh.
--------------------------------------------------------------------------------
ENHANCEMENTS:
1. Added slimski dm data. That's a new fork of SLiM. Also guessing that brzdm
has same version -v output: brzdm version x.xx
--------------------------------------------------------------------------------
CHANGES:
1. None
--------------------------------------------------------------------------------
DOCUMENTATION:
1. Refactors of core docs, ongoing, but will list those next release.
--------------------------------------------------------------------------------
CODE:
1. Cleaned up some array ref handling in subs, returned as: ($var1,$var2) =
@{block_data(...)}, skipped initializing and creating scalar to hold the ref,
just use it directly for DiskItem::block_data().
2. Also switched to local ref scalar array in DiskItem::scsi_data(),
DiskItem::block_data(). Not set local array, set local array ref, to keep it
clear. Also made DriveItem::drive_speed() return straight ref, not array then
ref. Same for many other subs, switched to ref assignment so it's the same ref
all through all the sub and return.
3. Fixed a redundant return \@$data to simply assinging to @$data ref, no return
needed, in DiskItem::smartctl_data().
4. Tightened some returns of ref so that tests if good test @$ref, not $ref.
Trying to avoid more cases like issue #271.
5. Going along with array ref local/return, switched all hash refs to local hash
ref returning ref, and working local with ref. More efficient, avoids creating
new refs over and over, dugh. This made a particularly large difference in CPU
because in certain parts, new references were being created over and over, and
subs were returning like \@arr or \%hash instead of declaring to start:
my $arr = []; my $hash = {};
Then working with the data from there on as an array or hash reference, to the
same original reference, rather than creating new ones over and over, which Perl
then has to track til they expire.
--------------------------------------------------------------------------------
-- Harald Hope - Mon, 13 Jun 2022 11:22:20 -0700
================================================================================ ================================================================================
Version: 3.3.17 Version: 3.3.17
Patch: 01 Patch: 01
@ -18,7 +105,7 @@ information is not correct:
wikipedia links, but also be aware, sometimes these slightly contradict each- wikipedia links, but also be aware, sometimes these slightly contradict each-
other, so research. Don't make me do all your work for you. other, so research. Don't make me do all your work for you.
* Show the relelevant data, like cpu model/stepping, to correct the issue, or * Show the relevant data, like cpu model/stepping, to correct the issue, or
model name string. model name string.
* There are 4 main manually updated matching tables, which use either raw regex * There are 4 main manually updated matching tables, which use either raw regex
@ -332,7 +419,7 @@ Used non-existing $size{'output-block'} instead of correct $use{'output-block'}
they change internal light shells, but all the docs say they use ash, so now they change internal light shells, but all the docs say they use ash, so now
it will show shell: ash (busybox) to make it clear. Hurray!! This means that it will show shell: ash (busybox) to make it clear. Hurray!! This means that
tinycore users will get this long awaited feature! Ok, ok, long awaited by tinycore users will get this long awaited feature! Ok, ok, long awaited by
probably only me, but since I package inxi for busybox, it was on my todo list. probably only me, but since I package inxi for TinyCore, it was on my todo list.
7. Cleaned up and re-organized many disk vendor matching rules, made them easier 7. Cleaned up and re-organized many disk vendor matching rules, made them easier
to read and debug, going along with Code 3, vendors.pl development and release. to read and debug, going along with Code 3, vendors.pl development and release.