size, derived mod size 2gb, listed cap 8, but 2 slots, ie, 2gb x 2 == 4. Made this
retain the listed size, but adds (check) to it because either max mod size is wrong
or cap is wrong.
types, in at least one case, it is last, so can't use that as trigger to start loop.
Now using: Table at .. which is always at start of dmi output.
Also, changed size output per module to be in MB GB TB instead of all mB, since modules
are sold by GB or MB, the data should show that as well. Also shortens output.
type 17 in front of type 16), now each array is created as a multidimenstional, 2x array,
and each device is a 3 dimensional array. This seems to clean up the problems with bad
ordering of dmidecode data.
at least making good guesses when the data is bad for ram, and hopefully will not break
too many cases where it was actually right but seemed wrong.
Unfortunately, dmidecode data simply cannot be relied on, and is FAR inferior to the type
of data inxi tries in general to present users, ie, taken directly from the system, and,
ideally, more accurate than most other tools. But in this case, there is just no way to get
the data truly accurate no matter how many hacks I add.
But if you have bad data, then submit: inxi -xx@ 14 so I can take a look at the system,
and see if I can modify the hacks to improve that data.
it is too big, and sometimes too small. Changed data gathering to use arrays, then print/process
the arrays once they are assembled.
Now it will get rid of any max module size if it's greater than the calculated capacity, and it
will generate an estimated capacity/max module size if they are clearly wrong because actual
module sizes are greater than listed max size, or capacity is less than greatest module sizes times
number of devices.
Not perfect, but it never is, this covers more cases now correctly than before.
maximum supported module size, and module voltage. Most systems do not have this data,
but some do. It's Type 5 item in dmidecode.
Getting the type 6 data however is too hard, and even using type 5 assumes that the
system only has one physical memory array, but that's fine given how few systems
probably will have this information in the first place.
features. Changed output syntax to be more consistent, now each main array line starts with:
Array-X capacity: (where X is an integer, counting from 1)
and each device line starts with:
Device-X: (where X is an integer incremented by 1 for each device, and starting at 1
for each array. I have no data sets that contain > 1 physical memory array, if one appears,
I may need to patch the output to link the array handles with the device handles explicitly.
Made memory bus width output more clear, and added in a hack to correct dmidecode output errors,
sometimes total width > data width, and sometimes data width is > total width, so using always
greatest value for total if not equal to other width.
I think this will be close to it barring any user feedback or bugs, if nothing comes to
mind within a few days, I'll move the number to the new major version, 2.2.0
items and am now just generating one: Locator item, usually from Slot/DIMM locator info,
but sometimes from Bank Locator info when it is more reliable based on my data samples.
Updated help menu, updated man page, now shows working -x -xx -xxx extra data. This may
change slightly over time.
Also removed speed output when No Module Installed is returned for device size. This
also wills switch off width if both total/data are empty.
This is much closer now to live 2.2.0, but I'll leave a few more tests before putting
it at 2.2.0.
working, but help/man does not have that yet, until I finalize the order.
Fixed dmidecode issues, showing extra data types for -m, added line length handling
so -m is properly integrated with rest of inxi re max line lengths.
support. This feature requires dmidecode, and usually that needs to be run as root.
Significantly improved dmidecode error handling and output, and have as 2.1.90 testing/initial
release basic ram data.
In subsequent releases, extra info for -x and -xx and -xxx will be added as well to the output.
For those who want to jump on board early for ram data, update your repos, for those who want to
wait for the full featured version, with -x type data, wait for 2.2.0
And that's that.
have the odd feature in our test data of having > 1 IF id, like ib0 ib1 per pcibusid.
Added support for virtual nics as well. This required refactoring the networking functions
significantly, so hopefully nothing breaks for existing systems. It should in theory be more
robust now than it was before, with more accurate output, particularly with multiple port
devices, like two port nics etc.
that this method will be super long lived, I expect LXDE to change how it shows itself
to the system when the gtk variant goes away. Good for lxde by the way in dumping gtk.
added in an abstracted kernel_compiler method, not just gcc, that may work on freebsd,
and in the future, it may also work if distros or kernel people start using either
clang or LLVM-GCC or LLVM for compiling linux kernels. I'd need some data sets to
show that however before adding that full linux kernel support, but the framework
is now there.
That continues the abstraction of certain features, like kernel compiler, init system,
display server. Display server still needs full data sets from mir/wayland, at least
wayland, and the bsd display servers as well, I have no idea how to get that data
at this point, but the starting framework is present anyway for that time I get
those datasets.
Almost all these changes are for darwin osx, and that is about all I will do for that
junky broken platform, they have no tools, they have no discipline when it comes to
following unix like conventions, they even use spaces in program names, like windows.
Given it has no native lspci or pciconf tool that I am aware of, or dmesg.boot,
there's little point in putting more time into it. dmidecode does not run on darwin,
so there's nothing to learn there either, you can get a silly 3rd party program to
generate a dmidecode.bin data file that dmidecode can then read, but since that
requires not one, but two third party programs be installed, that's not going to
happen.
Next time an osx user calls this system 'unix' I will laugh.
experiment, just to get it running, so you can all ignore this release.
Added in darwin cpu, init, distro version support, and updated inxi to support
darwin/osx without exiting.
No linux changes.
used percentage, there are too many possible remote file systems to safely exclude, so
sticking with using the test that partition is /dev mounted.
Howeve, did add excludes of nfs/smbfs types, as well as future bsd excludes of those.
particularly with fringe or broken sensors outputs. See inxi issue 58 for details.
http://code.google.com/p/inxi/issues/detail?id=58
Added temp3, and an override to capture cases where temp3 is the actual cpu temp.
Added PECI overrides for cases like msi/asus mobos have defective CPUTIN return data.
Added core0 overrides as well, for cases where the temp returned is too low.
It is absolutely 100% guaranteed that these changes will break some outputs that were
working, but it's also certain that I believe that more wrong outputs will be corrected.
With sensors, really the only way you can get reliable sensors is to use the lm-sensors
config files for your motherboard, then set: CPU: temp and MB: temp explicitly.
inxi will always use CPU: or MB: to override anything found.
It turns out I'd neglected to include /dev/disk partitions, oops, in the df data.
Since this is a long time bug, it warrants a new release even though I just did
2.1.22.
disk used percentage as well. Since swap space is not available as disk space, it
makes sense to me to count it as used. -P/-p show the percent of swap used as well.
to identify a partition, but rather the basic /dev/sdc for example.
This made -D show wrong disk used percentage.
Also, I added --total for df that have that supported, there is however an oddity which you
can see here:
df --total -P -T --exclude-type=aufs --exclude-type=devfs --exclude-type=devtmpfs \
--exclude-type=fdescfs --exclude-type=iso9660 --exclude-type=linprocfs --exclude-type=procfs \
--exclude-type=squashfs --exclude-type=sysfs --exclude-type=tmpfs --exclude-type=unionfs | \
awk 'BEGIN {total=0} !/total/ {total = total + $4 }END {print total}'
result:
614562236
df --total -P -T --exclude-type=aufs --exclude-type=devfs --exclude-type=devtmpfs \
--exclude-type=fdescfs --exclude-type=iso9660 --exclude-type=linprocfs --exclude-type=procfs \
--exclude-type=squashfs --exclude-type=sysfs --exclude-type=tmpfs --exclude-type=unionfs | \
awk 'BEGIN {total=0} /^total/ {total = total + $4 }END {print total}'
result:
614562228
df -P -T --exclude-type=aufs --exclude-type=devfs --exclude-type=devtmpfs \
--exclude-type=fdescfs --exclude-type=iso9660 --exclude-type=linprocfs --exclude-type=procfs \
--exclude-type=squashfs --exclude-type=sysfs --exclude-type=tmpfs --exclude-type=unionfs | \
awk 'BEGIN {total=0} {total = total + $4 }END {print total}'
result:
614562236
In my tests, using --total gives a greater disk user percentage than adding the results
up manually, as inxi did before, and still does for systems without --total for df.
df --total -P -T --exclude-type=aufs --exclude-type=devfs --exclude-type=devtmpfs \
--exclude-type=fdescfs --exclude-type=iso9660 --exclude-type=linprocfs \
--exclude-type=procfs --exclude-type=squashfs --exclude-type=sysfs --exclude-type=tmpfs \
--exclude-type=unionfs
Filesystem Type 1024-blocks Used Available Capacity Mounted on
/dev/disk/by-label/root-data ext3 12479556 12015624 335816 98% /
/dev/sdc9 ext3 20410156 18013360 1979432 91% /home
/dev/sdc7 ext3 4904448 3785460 1016672 79% /media/sdb2
/dev/sdc5 ext3 30382896 27467220 2295720 93% /var/www/m
/dev/sdc8 ext3 61294356 41849300 18196972 70% /home/me/1
/dev/sdb1 ext3 307532728 285159432 20810456 94% /home/me/2
/dev/sdd1 ext3 26789720 18153076 7542620 71% /home/me/3
/dev/sdd2 ext3 213310776 206932912 2040960 100% /home/me/4
/dev/sda7 ext3 10138204 1185772 8434348 13% /home/me/5
total - 687242840 614562156 62652996 91% -
Strange, no? the data is in blocks, and it should of course in theory add up to exactly the
same thing. However, because --total lets df do the math, I'm going to use that for now,
unless someone can show it's not good.
inxi still falls back for bsds and older df to the standard method.
of disk drive lists. Was showing USB ID-1: /dev/sde now shows: ID-1: USB /dev/sde
that is more intuitive and keeps the columns in alignment more or less, easier
to read.
Second, fixes a bug with some file systems / usb drives
where they do not use usb- in the /dev/disk/by-id line but only wwn-
https://access.redhat.com/site/documentation/en
-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/persistent_naming.html
explains it somewhat.
the fix is adding a second if null test of the device /dev/sdx in by-path, that seems
to fix the issue. by-path does have the usb- item, though it does not have the name
so it's not as reliable in absolute terms, but it's fine as a second step fallback
option.
for the next major feature, -m / memory, so there is no particular reason to package
this release. There is a new development option, -! 33, which lets me override /sys
data use for -M, which is useful to debug dmidecode output for -m and other features.
No new version, new man. There may be a few more of these releases, but functionally
there is no particular reason to make a new package if you are a maintainer, so there
is no new version number. This release is a preparation for some branches/one/inxi
tests that will be run in the future.
The man/help document -! 33 just to have it there, but it should make no difference
to anyone but me at this stage.
way to handle bad ARM data, when bogomips are too low, < 50, we try to get the data
from /sys, but now this runs on all the cores, so it may work as well on the multicore
arm if the /proc/cpuinfo has bogomip that is too low and no cpu frequency.
unmounted drives.
IMPORTANT: some distros use inxi for detecting partitions, the syntax on the following
have changed slightly:
HDD: per drive changes from: 1: id: to ID-1:
Partitions: per partition changes from ID: to ID-1:
Unmounted partitions: per unmounted changes from ID: to ID-1
You see the pattern, they are all the same now, and they are all numbered. I think this
is easier to read when scanning long lines of drives/partitions, or even short ones.
Also fixed a long standing oddity, not a bug, but for some weird reason, -p did not
include the location, like /dev/sda1, unless -l or -u were used. That makes no sense
so I have moved the dev/remote location output to standard -p/-P
Except for bug fixes, this completes the overally line wrap update, all lines wrap,
you can set widths with -y now, and the old issue of not fitting nicely into 80 column
wide widths is solved. Note that in some areas, p/P for example, at times if the mount
point or remote location is very long the line may still wrap, but making this perfect
is too convoluted so I'm calling it good enough now, all lines are handled reasonably well,
certainly radically better than before 2.1.0.
of width settings. This overrides any dynamically detected widths, as well as the globals:
COLS_MAX_CONSOLE='115'
COLS_MAX_IRC='105'
Now that inxi widths are largely dynamic in terminal, with a few lingering exceptions, it made sense
to also allow for overrides of this. This is useful in cases where for example you want to output
inxi to text file or for other purposes, or if you just want to test the widths, as in my case.
-y cannot be used with --recommends, but otherwise it works fine, with --help/-c 94-99 you have to
put -y first in the list of options.
Example: inxi -v7 -y150 > inxi.txt will ignore the terminal settings and output the lines at basically
max length.
Audio -A - now wrap is fully dynamic down to 80 characters, and also the expansion of ALSA
to Advanced Linux Sound System only happens if that fits in the display width.
-N/-n/-i - Most networking/ip address stuff wraps now.
-d - optical drive data wraps better now too.
This more or less completes the line wrap redo.
strings --version used in the debugger results in a hang, which you can duplicate with:
strings
alone, without any argument or info, that will hang too, so I assume if the system doesn't
have the --version parameter, strings ignores that, and basically just does what it would do
with no option, hang.
Thanks for user ypharis persistence in tracking down this issue. So far only appeared on slackware
based distros, but since the debugger should 'just work', removing the version test.
methods:
something <<< $variable is signficantly slower than: echo $variable | something
so I replaced almost all instances of <<< with echo ...|
I've seen speed differences of up to 10% but it's not consistent, so this is just
something to boost performance slightly on older systems I'd guess.
when the supybot
'SHELL' command is used, 'CALL' gives the user irc client data, and
supybot etc are
not detectable.
Fine tuned some error message lengths so they fit into 80 columns or so.
for systems with a lot of them, that will clean up the output.
Added dynamic wrapping to --recommends and -c 94-99.
These are the main things, there's a few smaller issues with -xx output on -N/-n/-i but
those will noly really show with full output and it takes a while to get this stuff stable
so maybe some other time, but it's ok for now.
the bus id itself to determine if the
VGA compatible controller
3D controller
Display Controller
refer to separate chips or the same one.
Bus id gives the data needed, because the video chip, the real card, that is,
is on for example 00:05.0 the trailing .0 is the key, that's the actual card.
The audio or display controller for the same card would be for example: 00:05.1
I don't know if this is fully reliable, but it will have to do, either some cards
as is get missed, or some cards get double id'ed, unless I use a hack like this.
There's nothing else I can find but the bus id to determine that it's the same
physical device or not.
to graphics card detection, that's a new one on me. Dual card systems might use this.
00:02.0 Display controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02)
01:00.0 VGA compatible controller: NVIDIA Corporation NV44A [GeForce 6200] (rev a1)
Some more switches to bash native methods as well.
${var} to $var where appropriate to avoid extra overhead of ${..}; removed 'basename'
and replaced with ${path##*/} which avoids unnessary subshells.
Fixed dynamic line wraps on -I and -S lines, now those in most cases will work well
down to 80 cols.
Fixed bug in optical drives, at some point in the last few years, the kernel in /sys
changed the path to the optical drive data, added in /ata8/ (example) so both methods
are now handled. This should fix a lot of failures to show optical drive brand name etc.
Added weechat detection, trying also supybot/limnoria detection in irc client version.
There was weechat-curses, but I guess they finally dropped the -curses. Limnoria is
a fork of supybot but still uses the supybot program name, but added in limnoria too
if they get around to changing that.
More dynamic sizing tweaks, more optimization of code. Discovered that dipping into gawk
is almost 250x more expensive in terms of execution time than using bash variable.
Will change to use bash directly as time goes along where it's safe and accurate.
Added handling to support /run paths using directories, like /run/gdm/gdm.pid for dm data.
time to make it easier to test stuff one by one.
Full refactoring/reordering of top global variables, moved user/maintainer set variables
to top, and clearly identify all globals.
Changed LINE_MAX to COL_MAX but all user configuration files will stay working since
inxi now will check for that and translate them to the new variable names.
New lines fixed, -C cpu and -f cpu plus full flags. Flags output is now fully dynamic to
display screen in terminal/console. Moved cpu short flags to -x because it's not that
important in general and just clutters things up in my opinion.
Print flags/bogomips on separate line if line greater than display width.
The rest of the lines will get a similar treatment, but it takes a bit of trial and error
for each line to get it working right.
Note that IRC line lengths are NOT dyanamic unless I can find a way to determine the column
width of irc clients, but that won't be accurate since fonts vary in widths for each character.
CPU was the worst offender in my opinion in terms of regular output wrapping to new line messily,
next will be the things with ports/chip id/card id.
Tightened up a bit more the dyanamic help / version output handler.
window column width help/version outputs. There is a significant slowdown to achieve this,
but I've optimized it as much as I could so it should be acceptable for most users now.
type if openrc). -xx shows init / rc version number. Change runlevel to target if
systemd and if non numeric runlevel given. Should support systemd/upstart/epoch/runit
sysvinit. Supports openrc as extra data if it's present. Rearranged -I line a bit but
really just exchanged Runlevel: for Init: v: Runlevel: default:
This is the first step, some of the init system ID methods are weak and non robust
and this may need to be revised, but it should for now identify systemd/upstart quite
accurately, and in most cases sysvinit. Note that to get sysvinit version number requires
tool: strings which in debian/ubuntu is in package binutils. I don't know the package names
for arch/fedora/etc for the recommends check tool in inxi yet.
I believe this will be good enough for a first draft version, but over time we'll get it
more fine tuned, but as it is now, it should cover at least 99% of users, which isn't bad.
for adding alternate display servers, like Wayland or Mir. Rather than release all the
stuff at once I'm going to do it bit by bit. Currently I have not found a wayland iso
test cd that boots in virtual box so I will have to wait to really add support there.
to show default runlevel, using systemd/upstart/sysvinit type default tests.
Fixed gtk library version detections, now will support dpkg/pacman version tests, which
should give more data to more people than previously, where the old tests usually would
return null unless gtk dev packages were installed on the system.
and so version numbers failed. Now first trying gnome-session to get version number.
Also, there's a bug in at least gtk detection in opensuse, not sure what it is, they could
be using a different syntax for the test:
pkg-config --modversion gtk+-3.0
returns no such package on gnome 3.10 installs, but I have no idea what package name to
test for there in this case.
So leaving gtk version bugs unhandled due to no user information or feedback, if you want
it fixed or if it works for your distro, let me know and also if it does not work, tell
me the correct commmand, with its output, to get gtk version.
That's for inxi -Sx output that is.
repo type output, the initial listing was not complete of possible syntaxes. Now handles:
Nonfree Updates (Local19) /mnt/data/mirrors/mageia/distrib/cauldron/x86_64/media/nonfree/updates
as well, apparently that is a possible output format in certain cases with urpmq.
Non urpmq distros ignore this update, there are no other actual changes.
Other distros than Mandriva, Mageia, no other changes so no need to update unless you want to.
This adds support for Mandriva, Mageia. urpmq parsing is similar but not identical to pisi.
are actually loaded. Since we can't fix xorg, inxi will try to work around this bug by validating
one step further in the Xorg.0.log data, to confirm that drivers noted as loaded/unloaded/failed are
actually running the display(s) of the system.
There is a possible case of error that might happen due to this change in the case of a system with
a complex xorg that uses two drivers/modules to run two different displays, ie, nvidia on one, and amd
on the other, for example, or intel/nvidia, etc. However, if that bug appears, we'll get that data set
of debugging output and fix it at that point.
This fix repairs an existing xorg bug that is unlikely to get fixed any time soon (the call to load the
detected drivers, eg, vesa, intel, is repeated, causing a failure of driver already loaded on the second
occurance.
so I've updated that. -f for ARM now shows features instead of flags, and the -C regular cpu output does not
show cache/flags for arm cpus becuase they don't have those features.
Added some flags passed to various cpu functions and better detections of ARM cpu to handle dual core and other
issues that were not handled before as well, or at all.
cases. This required fixing some core logic assumptions that are not currently correct, particularly
on two cases, some xeon cpus fail to show core id for each core, showing 0 for all of them, second,
vm cpus do not show physical ids at all for at least intel, nor do they show core id.
While we can't get HT totally reliable, particularly for vm xeon, since inxi has no way to know in
that case if a core is attached to a physical core or a virtual one, all of them being virtual in that
case, but still inxi is now reporting the correct number of cores, or threads in vm xeons, and is not
showing multicore cpus as single core, which was the main issue.
This required redoing the counter logic for the cpu/core/physical arrays, now they are set independently,
and can handle any of the others not being set, without creating an error or failure condition.
Also added in last check for a certain intel case where core id is 0 but > 1 physical cores exist, that
now also shows the correct cpu / core count.
While this is tested on many data sets of proc cpuinfo, it's still possible there is a fringe case I have
not seen that will trigger yet another unexpected behavior.
zypp or yum it will work. If it's both then it will show only one I believe, if that's a possible scenario, no idea.
Added one more fix for those pesky intel vm cpu core errors, now if /proc/cpuinfo shows no siblings at all,
and no core_id, but does have physical id, it will use the count for physical id as a default for core count.
Not perfect, but better than calling a dual core cpu a single core.
There's still a lot of mysteries with vm versions of kvm cpus, for example, if you see a dual core xeon, is
that actually one core with ht, or two cores? There is no way to find that information out that I can see that is
reliable.
/proc/partitions of 253, which made the disk totals fail to show up at all. Added that in.
Moved sourcing of configuration files to right after initialize_data so that some variables
can be forced to different values before the next set of system/app checks.
This is to allow specifically turning off, for some headless servers where $DISPLAY is not
null due to a bash configuration bug, these:
B_SHOW_X_DATA='false'
B_RUNNING_IN_X='false'
Setting those two to false in inxi.conf will turn off all the X checks etc even if the $DISPLAY
is set to non null.
Added in support for ksplice kernel version, requires installed uptrack-uname, if that is
present and if uptrack-name kernel version is different from uname then it will add (ksplice)
to kernel version string, and use ksplice kernel version. Also created a single function
get_kernel_version for use by short form/long form inxi output.
For intel xeon cpus, trying a work around for a bug in /proc/cpuinfo which fails to show core_id
or physical_id for cpus, using siblings / 2 for xeons with no actual core counts.
Fixed a bug that made fixes for multimounted partitions fail for disk used. Added in support
for also excluding single partitions mounted to different places.
That was too hard to type and too hard to remember. Also do more dyanamic reordering of weather
output, depending on how much data is present, and how many x options are used.
Added error handling for generic deprecated options, and for options that do not have the correct
syntax for OPTARG, like with -W.
This should about do it for the weather option for now unless I missed something somewhere.
-! location= option, to indicate that users must replace space with + themselves.
Because of how bash handles these options, inxi cannot add in + signs itself automatically.
This should be closer to cleanup of this new feature.
a global that can be set in user / system configs to make a longer wget time out. Default
is 8 seconds.
This should take care of the failure from slow load issue reported.
weather -w option. With -x, -xx-, -xxx, shows more information. Basic line is just weather
and system time there. -x adds time zone, which is useful for servers, particurly web servers.
-x also adds wind speed. -xx adds humidity and barometric pressure. -xxx adds a possible new line,
if data is available, heat index, wind chill, and dew point.
-xxx also adds a line for location (blocked by irc/-z) / weather observation time.
-z filter applies as usual to location data, removes it in irc by default. -Z overrides override.
The api this uses is probably going to be dropped at some point, so this is just going to work
while it works, then it will need to be updated at some point, so don't get very attached to it.
Also adds option to, with -w: -! location=<location string>
This lets users send an alternate location using either <city,state> or <postal code>
or <latitude,longitude> (commas for city,state and latitude,longitude are not optional, and the order
must be as listed.
If There is a developer flag if distro maintainers do not want this enabled, simply set:
B_ALLOW_WEATHER='false'
before packaging and the weather feature will be disabled.
useage if bind mounts are used, ie, multiple binds to a single mount. Now inxi will
check a list of the previously used partitions before adding the size of the used space
to the total used, if the partition has already been used it will skip it. This was/is
a quick and dirty fix, but it's totally fine I believe and should resolve two separate
issues:
1. use of bind mount method, where multiple partition names are bound to the same partition
2. accidental dual mounting to the same partition.
partitions section will still show the same data, ie, if bind is used, it will show all
the bind mounts even when they are attached/bound to a partition that is already listed.
This seems useful information, though maybe we can get the key word 'bind' in there somehow,
but for now I won't worry about that issue, that's just a nice to have, not a bug.
linux driver version handling, now only trimming off number from bsd drivers.
Some linux drivers, like tg3 for broadcom ethernet, have numbers ending them. So this is
a bug fix for 1.8.44 release mainly.
Also includes openbsd initial fixes for some issues related to sysctl parsing for cpu and ram.
to bsd. Using a pciconf parser to do most of the heavy lifting in this one.
Two functions do the main pci card processing for audio, graphics, and networking.
All seems to be shipshape and working, tested on freebsd 7.3, 9.0, and 9.1 and
the output is consistent.
turns off all -h and -H menu options for updating. Also triggers an error message
if you use -U or -! <10-16/http://>.
Distro maintainers, take note, if you used the B_ALLOW_UPDATES flag, you no longer
need to change the code anywhere, the error messages and blocking the -h output for
update features is automatic as soon as the flag is set to 'false'.
I needed to change the -! handling because -! is now also being used for extra features
like -! 31 and -! 32 and probably more stuff in the future, plus the -! 30 used by
things like the inxi gui tool being worked on by trash80.
Also included in this version are more bsd changes, including initial function for pciconf
data parsing, this will be used for -A, -G, and -N options for card data.
Further bsd improvements are better error/no data available messages for -D and -o.
The hdd used still fails to properly calculate the actual raid sizes but that's a bit too tricky
to do easily so will leave that for some other time.
Also added in more hdd used partition types for bsds, wd and ad type drivers for disks.
partitions) would show components of the md raid array as unmounted partitions.
This is of course incorrect, and is now fixed.
Small update of man page as well to note that -o will not show components of mdraid arrays.
output for mdraid. Certain conditions would trigger a false return for raid components, now
it shows more explicitly the online/spare/failed data so it's clear. Also shows 'none' for
online if none are detected.
status as with mdraid, will show offline/failed devices as well in standard output.
Updated help and man page to reflect the difference between -R, -Rx, and -Rxx output for
zfs / mdraid.
No linux inxi changes, this should not alter any behaviors in -R for mdraid, if it does, it's
a bug, please report it.
Fixed partition bug that could falsely identify a remote filesystem like nfs as /dev fs
Added two options:
-! 31 - Turns off Host section of System line. This is useful if you want to post output
from server without posting its name.
-! 32 - Turns on Host section if it has been disabled by user configuration file
B_SHOW_HOST='false'
Added missing CPU data message, fixed missing cpu cache/bogomips output, turned off
bogomips if null for bsd systems because bogomips is a linux kernel feature.
Added N/A for no memory report, this would mainly hit bsd systems where user has no
permissions to use sysctl or has no read rights for /var/run/dmesg.boot.
Many fixes for partitions, now for bsd, if available, uses gpart list to get uuid/label
Added support for raid file system syntax in bsd, now excludes main raid device name,
and adds a flag to raiddevice/partitionname type so output can identify it as a raid
slice/partition.
In man page, added -! 31 / -! 32 sections, and some other small edits.
Added bsd raid line error message, added bsd sensors line error message.
Many other small bug fixes that should make linux more robust in terms of missing
data, and better/cleaner output for bsd.
In some cases, dmidecode returns the grammatically wrong message:
'No smbios nor dmi data' instead of 'No smbios or dmi data', corrected the search
to look for simpler: 'no smbios ' to avoid that random error.
properly support the -s option. Now -M uses only one method for dmidecode, manual construction of the Machine
data from the raw dmidecode file. The file output is also parsed a bit to make it more consistently reliable
for inxi purposes.
This update also includes all recent bsd branch updates, including the new #!/usr/bin/env bash on top which
lets inxi run in any environment without changes. Also for bsd, sets sed -i/sed -i '' global value, which
means that now all the branches are the same, except the bsd branches will contain the most recent tests
and bsd handling.
As each step is reached, I'll release a new inxi that should be stable, this is the first one however that
can be used as is, no changes, for bsd, debian kfreebsd, and linux systems.
Pleasen note that most bsd features are either incomplete or missing completely at this point, but it's a
start.
Some initial changes as well to help options to show more correct linux or bsd terms. These will be updated
as time permits, it is a long process.
kfreebsd from Debian.
Cleaned up all sed and grep that will be used by bsds, added more granular flag for bsd types.
Cleaned up and corrected issues between bsd/linux, more escapes and tests added to drop error
counts in bsds.
Please note that you must use the inxi from branches/bsd for true bsds because sed has extra -i ''
added, and has the proper #!/usr/local/bin/bash
Added -! 16 for gnubsd download/update, that's for gnu bsd systems like gnu/kfreebsd from debian.
That retains the top #!/bin/bash path, and also uses gnu sed so no -i '' syntax.
Moved some grep -o to gawk or sed to avoid using gnu grep unnecessarily, leaving gnu grep where
it will be linux only, for example parsing a /proc file.
Fixed tty irc bugs for bsds and linux, now should show the right console size for both, ideally.
support built in, although inxi will not run in bsd unless the top: #!/bin/bash is changed
to #!/usr/local/bin/bash
The actual bsd branch can be grabbed from:
http://inxi.googlecode.com/svn/branches/bsd/inxi
then you can keep that version updated using: inxi -! 15
which will grab the latest bsd version from the svn server.
This release also fixes a lot of small bugs that testing for bsd support exposed, but functionally
most people should see no difference, I just want to get this version up because there are
so many small changes that it's worth having a release.
I was going to have the fixed dmidecode for old systems in 1.8.35 but that will have to wait til
1.8.36
Linux users should see no real changes, except maybe a thing or two will work in certain circumstances
when it didn't before, like showing MHz on ARM cpus on short inxi.
small change -Ixx will show running in tty if it's not in X, with tty number.
sort of redundant to System: console: data, but that's ok, we'll live for now.
an ssh command sometimes it will not show any client information, just the debugger
PPID output. Now it will test as a final check to see if it can detect any parent to
the process. Actually grandparent I believe. Seems to work, it's a fringe case but
why not handle it?
New -xx feature, for -I it will show, if inxi is not running in IRC client and if
is running in X, and if the grandparent is not 'login', will show the application
the shell is running in.
Example:
Info: Processes: 271 Uptime: 5:36 Memory: 3255.8/4048.5MB Runlevel: 3
Gcc sys: 4.7.2 alt: 4.0/4.2/4.4/4.5/4.6
Client: Shell (bash 4.2.37 - started in konsole) inxi: 1.8.33
and made cleaner the version data in verbose mode, non irc.
Fixed instance where program location would only show a dot . or relative path to inxi. Now
in version full will show the full path, or should.
Basic version line now show: inxi 1.8.30-00 (January 22 2013)
The verbose information/version shows the license information, website/irc support info, and
a few other changes.
Also fixed a small bug where the copyright shows current year, not the actual year of the inxi
copyright contained in the top comment header.
Continuing fixes for ARM cpus, it was noted that short form inxi failed to show cpu speed
derived from bogomips. That's because of the old min/max output that short form used.
Updated that section to now use N/A as flag, and if N/A for min/max speed, use the speed
given from first cpu array index, the one derived from bogomips for ARM/razberry pi.
Note that there is still no other ARM /proc/cpuinfo available to see if the razberry pi
fixes work for all ARM cpus, but the fixes will stop hangs and endless loops at worst,
and may also show some type of cpu speeds for ARM cpus that are not in razpi devices.