From 6aace06af43e41cfe9a4af7b6d358a7b5ad328b9 Mon Sep 17 00:00:00 2001 From: Harald Hope Date: Tue, 20 Mar 2018 03:06:46 -0700 Subject: [PATCH] New inxi, new man, new tarball. It's here! Perl inxi, first official release. So many changes, really too many to list. But here's a few: 1. of course, full rewrite to Perl 5.x. Supports as old as 5.008, as new as current. 2. Better line length nandlers. Fully dynamic, robust, shrinks and expands to fit either taste or viewport. 3. Long options for all options now, plus of course the short options everyone is used to. 4. New options: --usb; --slots (pci slot report); --sleep (change cpu sleep time); and many more. Check --help or man page for details. 5. Vastly improved --recommends, now does per distro package recommends, and shows only Linux data to Linux systems, and BSD data to BSD systems. 6. Hugely improved debugger as well. 7. Far more accurate output, most output is now in key/value pairs, because: 8. inxi now exports to json and xml! See --output/--output-file for info. 9. Enhancedd repo output, added deb822 type, solus 10. Radically enhanced network data, now shows all IP / IF devices connected to each nic, not just one, both IP v4 and v6. 11. USB audio and network device actual drivers 12. better handling of compiler data. 13. Basic ARM machine data now, if present to inxi 14. Graphics: per card driver info alongside the original xorg drivers. 15. Better integration of partitions, RAID, unmounted partitions, and HDD data. 16. Better sensors handling of free video driver sensor data, well, not better, it's now there, along with fan speeds for gpus. 17. RAID is enhanced, and now can show > 1 RAID type on a system, and the RAID is improved. 18. Much improved disk/partition/memory sizing, inxi now always works internally with KB units, and changes them on output to the appropriate units. 19. Fully redone man page for all the new options and the long options. And so much more. Anyway, here it is, the first release. --- README.txt | 19 +- inxi | 31395 +++++++++++++++++++++++------------------------ inxi.1 | 486 +- inxi.changelog | 47 + 4 files changed, 15706 insertions(+), 16241 deletions(-) diff --git a/README.txt b/README.txt index 9eaf3a7..240ea43 100644 --- a/README.txt +++ b/README.txt @@ -1,22 +1,7 @@ README for inxi - a command line system information tool -NOTE: Maintainer alert: Perl inxi 2.9.01 will be released 2018-03-20 -barring unexpected huge bugs. All future issues will be handled via -github as normal inxi issues. I spent 2 weeks fielding issue reports, -on forums, and got great feedback from 'some', indeed, many distros. -Other distros failed to give any feedback, so your issues will take -last place in any issue queue because I gave you every opportuntity -to do this release right. - -I didn't try all the distros because my time is finite, so if you -find glitches in your particular distro, most likely to appear in -Repos if I didn't directly test your most current syntax, post -issues on github master branch of inxi with whatever debugger data -that is requested. Failure to provide debugger data except in very -obvious cases will result in putting the issue on hold until it's -provided, and closeed if not. No data means wasting my time, to be -clear, since you're asking me to try to get bits of information -over days rather than minutes. +The new Perl inxi is now here! File all issue reports with the master +branch. ===================================================================== BASIC GIT BRANCH: diff --git a/inxi b/inxi index 5799f2c..ef8aa8a 100755 --- a/inxi +++ b/inxi @@ -1,697 +1,140 @@ -#!/usr/bin/env bash -######################################################################## -SELF_NAME='inxi' -# don't quote the following, parsers grab these too -SELF_VERSION=2.3.56 -SELF_DATE=2018-02-26 -SELF_PATCH=00 -######################################################################## -#### SPECIAL THANKS -######################################################################## -#### Special thanks to all those in #lsc and #smxi for their tireless -#### dedication helping test inxi modules. -######################################################################## -#### ABOUT INXI -######################################################################## -#### inxi is a fork of infobash 3.02, the original bash sys info tool by locsmif -#### As time permits functionality improvements and recoding will occur. -#### -#### inxi, the universal, portable, system information tool for irc. -#### Tested with Irssi, Xchat, Konversation, BitchX, KSirc, ircII, -#### Gaim/Pidgin, Weechat, KVIrc and Kopete. -#### Original infobash author and copyright holder: -#### Copyright (C) 2005-2007 Michiel de Boer a.k.a. locsmif -#### inxi version: Copyright (C) 2008-2018 Harald Hope -#### Additional features (C) Scott Rogers - kde, cpu info -#### Further fixes (listed as known): Horst Tritremmel -#### Steven Barrett (aka: damentz) - usb audio patch; swap percent used patch -#### Jarett.Stevens - dmidecde -M patch for older systems with the /sys -#### -#### Current project home page/wiki/git: https://github.com/smxi/inxi -#### Documentation/wiki pages can be found at https://smxi.org/docs/inxi.htm -#### Project forums: http://techpatterns.com/forums/forum-33.html -#### IRC support: irc.oftc.net channel #smxi -#### Version control: -#### * https://github.com/smxi/inxi -#### * git: git pull https://github.com/smxi/inxi master -#### * For basic version, no gz files, much smaller, do: -#### git clone https://github.com/smxi/inxi --branch master-plain --single-branch -#### * source repository url: https://github.com/smxi/inxi -#### -#### 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, see . -#### -#### If you don't understand what Free Software is, please read (or reread) -#### this page: http://www.gnu.org/philosophy/free-sw.html -#### -#### But the main thing about Free Software is that its' about the freedom -#### of the individual user, not the corporations that try to coopt it. This -#### grows easy to forget when people confuse freedom with open source. -######################################################################## -#### -#### PACKAGE NAME NOTES -#### * Package names in (...) are the Debian Squeeze package name. Check your -#### distro for proper package name by doing this: which -#### then find what package owns that application file. Or run --recommends -#### which shows package names for Debian/Ubuntu, Arch, and Fedora/Redhat/Suse -#### -#### DEPENDENCIES -#### * bash >=3.0 (bash); df, readlink, stty, tr, uname, wc (coreutils); -#### gawk (gawk); grep (grep); lspci (pciutils); ps; find (findutils); -#### perl (Modules: [HTTP::Tiny IF NO wget/curl/fetch/ftp]; Net::FTP; File::Find); -#### * Also the proc filesystem should be present and mounted for Linux -#### * Some features, like -M and -d will not work, or will work incompletely, -#### if /sys is missing -#### -#### Apparently unpatched bash 3.0 has arrays broken; bug reports: -#### http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-008 -#### http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00144.html -#### Bash 3.1 for proper array use -#### -#### Arrays work in bash 2.05b, but "grep -Em" does not -#### -#### RECOMMENDS (Needed to run certain features, listed by option) -#### -A - for output of usb audio information: lsusb (usbutils) -#### -Ax -Nx - for audio/network module version: modinfo (module-init-tools) -#### -Dx - for hdd temp output (root only default): hddtemp (hddtemp) -#### For user level hdd temp output: sudo (sudo) -#### Note: requires user action for this feature to run as user (edit /etc/sudoers file) -#### -G - full graphics output requires: glxinfo (mesa-utils); xdpyinfo (X11-utils); -#### xrandr (x11-xserver-utils) -#### -i - IP information, local/wan - ip (iproute) legacy, not used if ip present: ifconfig (net-tools) -#### -I - uptime (procps, check Debian if changed) -#### -Ix - view current runlevel while not in X window system (or with -x): runlevel (sysvinit) -#### -m - all systems, dmidecode, unless someone can find a better way. -#### -M - for older systems whose kernel does not have /sys data for machine, dmidecode (dmidecode) -#### -o - for unmounted file system information in unmounted drives (root only default): file (file) -#### Note: requires user action for this feature to run as user (edit /etc/sudoers file) -#### For user level unmounted file system type output: sudo (sudo) -#### -s For any sensors output, fan, temp, etc: sensors (lm-sensors) -#### Note: requires setup of lm-sensors (sensors-detect and adding modules/modprobe/reboot, -#### and ideally, pwmconfig) prior to full output being available. -#### -S For desktop environment, user must be in X and have xprop installed (in X11-utils) -#### -xx@14 - it really helps to have 'tree' installed on Linux systems with /sys for -#### debugger data collection, that creates a very useful map of /sys. -######################################################################## -#### BSD Adjustments -#### * sed -i '' form supported by using SED_I="-i ''". -#### * Note: New BSD sed supports using -r instead of -E for compatibility with gnu sed -#### However, older, like FreeBSD 7.x, does not have -r so using SED_RX='-E' for this. -#### * Gnu grep options can be used if the function component is only run in linux -#### These are the options that bsd grep does not support that inxi uses: -m -o -#### so make sure if you use those to have them in gnu/linux only sections. -#### It appears that freebsd uses gnu grep but openbsd uses bsd grep, however. -#### * BSD ps does not support --without-headers option, and also does not support --sort