aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-12-03 19:46:26 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-12-03 19:46:26 -0500
commit79ee8fe941f8ac06713eb07cabe74b522f1ea921 (patch)
tree2509f7ce29a3c9b942eca5b371359761c774a57d
parent3e09164ac35589eb6fe3409440ef620ac84f9b6f (diff)
parent54730161c298f8b7f4a3604232d63dd98dbb3324 (diff)
Update upstream source from tag 'upstream/3.3.40-1'
Update to upstream version '3.3.40-1' with Debian dir 3f7d351a3de9cf0796148e96e18f7bdb8d2e25cf
-rwxr-xr-xinxi37
-rw-r--r--inxi.116
-rw-r--r--inxi.changelog88
3 files changed, 122 insertions, 19 deletions
diff --git a/inxi b/inxi
index d76681b..6ca35d0 100755
--- a/inxi
+++ b/inxi
@@ -49,8 +49,8 @@ use POSIX qw(ceil uname strftime ttyname);
## INXI INFO ##
my $self_name='inxi';
-my $self_version='3.3.39';
-my $self_date='2025-08-29';
+my $self_version='3.3.40';
+my $self_date='2025-11-25';
my $self_patch='00';
## END INXI INFO ##
@@ -5164,14 +5164,22 @@ sub get {
my ($opt,$arg) = @_;
if ($arg =~ /^(json|screen|xml)$/){
$output_type = $arg;
+ if ($arg eq 'screen'){
+ $output_file = 'print';
+ }
}
else {
main::error_handler('bad-arg', $opt, $arg);
}},
'output-file|export-file:s' => sub {
my ($opt,$arg) = @_;
- if ($arg =~ /^(json|screen|xml)$/){
- $output_type = $arg;
+ if ($arg){
+ if ($arg eq 'print' || main::check_output_path($arg)){
+ $output_file = $arg;
+ }
+ else {
+ main::error_handler('output-file-bad', $opt, $arg);
+ }
}
else {
main::error_handler('bad-arg', $opt, $arg);
@@ -5253,7 +5261,7 @@ sub check_modifiers {
main::error_handler('arg-modifier', '--limit', '-i');
}
if ($output_type && $output_type ne 'screen' && !$output_file){
- main::error_handler('arg-modifier', '--output', '--output-file [filename]');
+ main::error_handler('arg-modifier', '--output', '--output-file [file path+name]');
}
if ($use{'partition-sort'} && !$show{'partition'} && !$show{'partition-full'}){
main::error_handler('arg-modifier', '--partition-sort', '-p, -P');
@@ -5666,9 +5674,9 @@ sub show_options {
['1', '', '--max-wrap,--wrap-max', "[70-xxx] Set maximum width where
$self_name autowraps line starters. Current: $size{'max-wrap'}"],
['1', '', '--output', "[json|screen|xml] Change data output type. Requires
- --output-file if not screen."],
+ --output-file. 'screen' restores default output."],
['1', '', '--output-file', "[Full filepath|print] Output file to be used for
- --output."],
+ --output when types json/xml, or print to stdout."],
['1', '', '--separator, --sep', "[key:value separator character]. Change
separator character(s) for key: value pairs."],
['1', '-y', '--width', "[empty|-1|1|60-xxx] Output line width max. Overrides
@@ -12135,7 +12143,7 @@ sub cp_cpu_arch {
$process = 'TSMC n4 (4nm)'; # desktop, granite ridge, confirm 2024
$year = '2024+';}
# seen: 90,A0,C0
- elsif ($model =~ /^(9|[A-G]).$/){
+ elsif ($model =~ /^([89]|[A-G]).$/){
$arch = 'Zen 6';
$note = '6';
$process = 'TSMC n2/n3 (2,3nm)';
@@ -12735,11 +12743,13 @@ sub cp_cpu_arch {
}
elsif ($model =~ /^(6)$/){
$arch = 'Netburst Presler'; # 6:2,4,5:presler
+ # not positive ID'ed, known stepping 5 45nm, but cpuworld lists as 65nm
$process = 'Intel 65nm';
- $year = '2006';}
+ $year = '2006';
+ $note = $check;}
else {
$arch = 'Netburst';
- $process = 'Intel 90-180nm';
+ $process = 'Intel 65-180nm';
$year = '2000-06';}
}
# this is not going to e accurate, WhiskyL or Kaby L can ID as Skylake
@@ -20460,13 +20470,11 @@ sub machine_output {
}
$j++; # start new row
}
- if ($data->{'firmware'}){
- $firmware = $data->{'firmware'};
- }
$mobo_vendor = ($data->{'board_vendor'}) ? main::clean($data->{'board_vendor'}) : 'N/A';
$mobo_model = ($data->{'board_name'}) ? $data->{'board_name'}: 'N/A';
$mobo_version = ($data->{'board_version'})? $data->{'board_version'} : '';
$mobo_serial = main::filter($data->{'board_serial'});
+ $firmware = ($data->{'firmware'}) ? $data->{'firmware'} : 'N/A';
$bios_vendor = ($data->{'bios_vendor'}) ? main::clean($data->{'bios_vendor'}) : 'N/A';
if ($data->{'bios_version'}){
$bios_version = $data->{'bios_version'};
@@ -20501,7 +20509,8 @@ sub machine_output {
if ($extra > 1 && $data->{'board_mfg_date'}){
$rows->[$j]{main::key($num++,0,3,'mfg-date')} = $data->{'board_mfg_date'};
}
- $rows->[$j]{main::key($num++,1,1,$firmware)} = $bios_vendor;
+ $rows->[$j]{main::key($num++,1,1,'Firmware')} = $firmware;
+ $rows->[$j]{main::key($num++,0,2,'vendor')} = $bios_vendor;
$rows->[$j]{main::key($num++,0,2,'v')} = $bios_version;
if ($bios_rev){
$rows->[$j]{main::key($num++,0,2,'rev')} = $bios_rev;
diff --git a/inxi.1 b/inxi.1
index e759e6e..dc75d5b 100644
--- a/inxi.1
+++ b/inxi.1
@@ -15,7 +15,7 @@
.\" 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 "2025\-08\-29" "inxi 3.3.39" "inxi manual"
+.TH INXI 1 "2025\-11\-25" "inxi 3.3.40" "inxi manual"
.SH NAME
inxi \- Command line system information tool for console and IRC
@@ -1200,6 +1200,11 @@ Setting a specific color type removes the global color selection.
See \fB\-\-output\fR.
.TP
+.B \-\-export\-file [full path to output fil]\fR
+.br
+See \fB\-\-output\-file\fR.
+
+.TP
.B \-\-indent [11\-xx]\fR
Change primary wide indent width. Generally useless. Only applied if output
width is greater than max wrap width (see \fB\-\-max\-wrap\fR). Use
@@ -1225,7 +1230,8 @@ internal default value (110) and user configuration value \fBMAX_WRAP\fR.
.TP
.B \-\-output\fR, \fB \-\-export [json|screen|xml]\fR
-Change data output type. Requires \-\-output\-file if not \fBscreen\fR.
+Change data output type. Requires \fB\-\-output\-file\fR. \fBscreen\fR is the
+inxi default mode, and is useful only to override a configuration file value.
See this page \fIhttps://smxi.org/docs/inxi-json-xml-output.htm\fR BEFORE you
post an issue about not understanding, or being unable to use, the output
@@ -1236,9 +1242,9 @@ then this feature is not meant for you.
.TP
.B \-\-output\-file, \fB \-\-export\-file [full path to output file|print]\fR
-The given directory path must exist. The directory path given must exist,
-The \fBprint\fR options prints to stdout.
-Required for non\-screen \fB\-\-output\fR formats (json|xml).
+This is the file to write the output to. The given directory path must exist.
+
+To print the data type results to stdout, use \fBprint\fR.
.TP
.B \-\-separator\fR, \fB\-\-sep [character(s)]\fR
diff --git a/inxi.changelog b/inxi.changelog
index 23fea32..01f8e24 100644
--- a/inxi.changelog
+++ b/inxi.changelog
@@ -1,4 +1,92 @@
================================================================================
+Version: 3.3.40
+Patch: 00
+Date: 2025-11-25
+--------------------------------------------------------------------------------
+RELEASE NOTES:
+--------------------------------------------------------------------------------
+
+This is a quick release to get the bug fix out.
+
+--------------------------------------------------------------------------------
+SPECIAL THANKS:
+
+1. Codeberg user wonky issue #347 for reporting the break of --output-file
+option in 3.3.39.
+
+--------------------------------------------------------------------------------
+KNOWN ISSUES:
+
+1a. CPU: cpu_arch: impossible to determine with available data what pentium 4
+model 6, stepping 5 really is.
+
+1b. CPU: dmi table reports wrong socket for Intel pentium 4 cpu, but no way to
+correct that, oh well.
+
+--------------------------------------------------------------------------------
+BUGS:
+
+1. OPTIONS: Accidentally copied the --output handler to the --output-file
+handler, which breaks --output-file completely of course. Since this completely
+breaks functionality of --output this is an urgent bug fix.
+
+--------------------------------------------------------------------------------
+FIXES:
+
+1. MACHINE: Corrected use of a value for field name with BIOS/UEFI etc.
+Now correctly shows:
+ Firmware: BIOS
+ vendor: American Megatrends LLC.
+ v: F62d
+ date: 10/13/2021
+
+This has been wrong for a long time, the rule for inxi is that field names are
+not values, but that rule was violated in this case. Thanks mrmazda for noticing
+that.
+
+1. OPTIONS: Going along with Bug 1, there was a missing default for setting
+$output_file to 'print' automatically when type 'screen' was used. But that
+basically just completely restores default inxi output behaviors.
+
+--------------------------------------------------------------------------------
+UPDATES:
+
+1a. CPU: cpu_arch: new data, AMD family BF model 80 is Zen 6, that was not
+assigned so would fall back to default Zen 5.
+
+1b. CPU: cpu_arch: old data, thanks mrmazda, Pentium 4, family 15, model 6,
+stepping 5 is 45nm, and thus 2008 generation, not 65nm and 2006. However Intel
+very typically used the same model/stepping for 65nm, so no way to know. I
+didn't realize their absurd use of family/model/stepping reached back this far.
+
+Added comments to indicate this, but since we can't know which is which, can't
+really change anything.
+
+--------------------------------------------------------------------------------
+ENHANCEMENTS:
+
+None.
+
+--------------------------------------------------------------------------------
+CHANGES:
+
+None.
+
+--------------------------------------------------------------------------------
+DOCUMENTATION:
+
+1. OPTIONS/MAN: --output-file/--output: cleaned up docs, made it more clear what
+the screen and print options actually do.
+
+--------------------------------------------------------------------------------
+CODE:
+
+Nothing worth mentioning beyond the bad copy paste bug fix for bug 1..
+
+--------------------------------------------------------------------------------
+-- Harald Hope - Tue, 25 Nov 2025 11:54:13 -0700
+
+================================================================================
Version: 3.3.39
Patch: 00
Date: 2025-08-29