Menu

Tree [39cc4c] default tip /
 History

Read Only access


File Date Author Commit
 man 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 mkc_config 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 mkconfig 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 po 2025-01-26 Brad Lanam Brad Lanam [602ace] wip: localization
 tests 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 utils 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 web 2025-11-05 Brad Lanam Brad Lanam [2f5306] 6.1.0.1
 wiki 2025-11-10 Brad Lanam Brad Lanam [362e62] 6.2.0
 .hgignore 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 .hgtags 2025-11-10 Brad Lanam Brad Lanam [39cc4c] Added tag 6.2.0 for changeset 362e62d44ce6
 CMakeLists.txt 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 LICENSE.txt 2025-01-08 Brad Lanam Brad Lanam [8b830a] wip: re-work: cleanup
 Makefile 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 README.md 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 VERSION.txt 2025-11-10 Brad Lanam Brad Lanam [362e62] 6.2.0
 config.h.in 2025-10-28 Brad Lanam Brad Lanam [41c2ed] mpdecimal; re-arrange dimath.h draft a
 di.c 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 di.h 2025-03-10 Brad Lanam Brad Lanam [24af17] fix crash during processing, abi change
 di.pc.in 2025-02-23 Brad Lanam Brad Lanam [b29605] build: cleanup; build: netbsd
 didiskutil.c 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 digetentries.c 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 digetinfo.c 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 diinternal.h 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 dilib.c 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 dimath.c 2025-10-31 Brad Lanam Brad Lanam [0f32e8] doc
 dimath.h 2025-11-01 Brad Lanam Brad Lanam [6745ef] more fixes
 dimath_gmp.h 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 dimath_internal.h 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 dimath_mp.h 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 dimath_mpdec.h 2025-11-01 Brad Lanam Brad Lanam [6745ef] more fixes
 dimath_tommath.h 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 dimathtest.c 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 dimntopt.h 2025-01-16 Brad Lanam Brad Lanam [94867b] wip: more cleanup
 dioptions.c 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 dioptions.h 2025-11-10 Brad Lanam Brad Lanam [c4e958] fix di_args processing; fix mkc link
 diquota.c 2025-10-31 Brad Lanam Brad Lanam [1f6a1a] fix mpdec external reference
 diquota.h 2025-01-27 Brad Lanam Brad Lanam [abe96c] wip: various fixes; sco openserver
 distrutils.c 2025-03-04 Brad Lanam Brad Lanam [e973d5] di_strtok; fix parselist
 distrutils.h unknown
 disystem.h 2025-02-03 Brad Lanam Brad Lanam [3192c6] wip: more testing; solaris 10
 dizone.c 2025-01-28 Brad Lanam Brad Lanam [0432f9] wip: solaris gcc,clang working
 dizone.h 2025-10-29 Brad Lanam Brad Lanam [c978a5] fix memleak; adjust structs to turn off extra-p...
 getoptn.c 2025-10-29 Brad Lanam Brad Lanam [710edb] getoptn.c: no strdup, it is pointing at constan...
 getoptn.h 2025-10-29 Brad Lanam Brad Lanam [c978a5] fix memleak; adjust structs to turn off extra-p...

Read Me

di - disk information utility

SourceForge Project Page
Website
Change Log

CONTENTS

  • Important Notes: Version 5/6
  • Description
  • Documentation
  • Installation
  • Requirements
  • Porting Help
  • Acknowledgements
  • Copyright

IMPORTANT NOTES: VERSION 5/6 (2025-3-10)

Version 5's code base has changed. The build process has changed and
optionally uses cmake (3.18+). The display processing is entirely new code.
Version 6 had an ABI change to fix a crash.

Version 5/6 installs a shared library that can be used to get the disk
space or percentages.

DESCRIPTION

'di' is a disk information utility, displaying everything
(and more) that your 'df' command does. It features the
ability to display your disk usage in whatever format you
prefer. It is designed to be highly portable. Great for
heterogenous networks.

DOCUMENTATION

wiki


Change Log


Test Results

INSTALLATION

To build:

make -e PREFIX=$HOME/local
make -e PREFIX=$HOME/local test
make -e PREFIX=$HOME/local install

The build will use cmake if it is available and recent enough (3.18+),
otherwise the mkconfig configuration tool will be used.

To use cmake in a stand-alone fashion (as of version 5.0.4):

cmake -DCMAKE_INSTALL_PREFIX=$HOME/local -S . -B build
cmake --build build
cmake --build build --target test
cmake --install build

To select one of the multi-precision libraries when using cmake:

DI_USE_MATH=DI_MPDECIMAL \
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/local -S . -B build

Where DI_USE_MATH can be set to one of DI_GMP, DI_MPDECIMAL,
DI_TOMMATH or DI_INTERNAL.

If no multi-precision library is specified and the GMP, mpdecimal
(preferred) or libtommath library is found, it will be used, otherwise
the numerics will be handled using standard C data types (long double,
double, etc.).

To turn off the use of the multi-precision libraries;

make -e PREFIX=$HOME/local DI_USE_MATH=DI_INTERNAL

Long doubles are quite capable, there's nothing wrong with
building it this way (as of 2025).

To force GMP:

make -e PREFIX=$HOME/local DI_USE_MATH=DI_GMP

To force MPDecimal:

make -e PREFIX=$HOME/local DI_USE_MATH=DI_MPDECIMAL

To force libtommath:

make -e PREFIX=$HOME/local DI_USE_MATH=DI_TOMMATH

To force the use of mkconfig:

make -e PREFIX=$HOME/local mkc-all
make -e PREFIX=$HOME/local mkc-install

REQUIREMENTS

  • cmake build
    • make
    • cmake (3.18+)
    • pkg-config
    • msgfmt
    • C compiler
    • sed grep tr test /bin/sh
    • awk (gawk/nawk/awk)
  • mkconfig build

    • make
    • pkg-config
    • msgfmt
    • C compiler
    • bourne/ksh/bash shell
    • awk (gawk/nawk/awk)
    • cat chmod ln mkdir mv rm sed test expr grep sort
  • Required Libraries:

    • Linux: tirpc (nfs quotas)
    • MP Math (optional): gmp or libmpdec or libtommath

BUG REPORTS

I need to know what operating system and what version of
operating system you are on. Also which compiler, and the version
of the compiler.

For build issues, capture the output from make, and the files
listed below.

For runtime issues, I want to see the output from 'di -A -a -X 5'
and the output from your standard df command (as verbose as possible),

Files to include in your report:

  • cmake:
    • build/config.h
    • build/CMakeOutput.log
    • build/CMakeError.log
    • build/CMakeFiles/CMakeConfigureLog.yaml
  • mkconfig:
    • config.h
    • di.env
    • di.reqlibs
    • mkc_files/mkconfig.log
    • mkc_files/mkconfig_env.log
    • mkc_files/mkc_compile.log

Open a ticket at SourceForge
Or e-mail : brad.lanam.di / gmail.com

PORTING HELP

I use my own set of virtual machines, the gcc compile farm, and
polarhome (which is now limited, and will probably die at some
point).

If you have a computer on the internet with a less common or older
operating system, I could use access for portability testing.

I need access to HP-UX.

ACKNOWLEDGEMENTS

And for their comments/source/manual pages and/or bug fixes, thanks!

J.J.Bailey
Karl Vogel [pyramid]
Bryan Costales
Mark Neale
Pat Myrto [sunOS filesystem type stuff]
Henri Karrenbeld [sgi]
Peter Bray
George M. Sipe [manual page]
Jeffrey Mogul [ultrix, osf/1, manual page, new format options]
Th. Bullinger [help usage]
Seth Theriault [next, tru64]
Stephen J. Walick [SCO]
Gerald Rinske [sgi]
Mike Grupenhoff [linux]
R.K.Lloyd [hpux]
William Gibbs [xenix]
Randy Thompson [sequent]
Erik O'Shaughnessy [aix]
Bill Davidsen [linux, SCO, etc., new format options]
Fred Smith [coherent 4.2.05]
Andrey Blochintsev [bsdi]
Brian Ginsbach [netbsd, irix, unicos]

et. al.

Copyright 1994-2025 Brad Lanam, Pleasant Hill, CA, USA
brad.lanam.di / gmail.com