ncdu 1.12-dovetail1
===================
DESCRIPTION
z/OS port of ncdu (NCurses Disk Usage). See README for non-z/OS details
All questions or comments should posted to the Dovetailed Technologies "z/OS Community Tools"
forum. See: "Community Forum" at http://coztoolkit.com/support.html for registration info.
REQUIREMENTS
A z/OS binary has been included in the distribution at dist/bin/ncdu for convenience.
However, in order to compile from source, you'll need:
- z/OS 1.13 or later
- xlc C compiler
- make
- z/OS C Curses libraries and header files. See SA22-7820 for more information
INSTALL
The .zip archive includes both a z/OS binary and text files (source code, licenses, etc).
On a non z/OS system, extract the archive to a desired directory.
To use the pre-built binary on your z/OS system, transfer the file "bin/ncdu"
in binary mode to z/OS.
BUILD
Building from source is very easy if you have Co:Z SFTP installed on your z/OS system
and our Ant-SSH package available on your local system. See:
http://coztoolkit.com/downloads/coz/
http://coztoolkit.com/downloads/antssh/
With these tools available you can either:
1.) Use the supplied Ant build.xml file to upload and build on your z/OS system.
> cd {NCDU-ZOS}
> cp build.properties.template build.properties # Then customize for your z/OS connection
> ant -lib {ANT-SSH}/lib
The last command will run the default Ant target in the supplied build.xml file which
uploads the source files to z/OS and issues a "make"
2.) Import the archive into Eclipse (a .project file is included in the archive). In
Eclipse you will need to add the Ant-SSH jars to your Ant->Runtime->Global Entries
(see the Ant-SSH README for details).
Run build.xml
NOTES AND LIMITATIONS
ncdu runs in an ssh or telnet session, but does not work under TSO.
IBM z/OS C Curses does not support dynamic window sizing. Therefore, once ncdu is started,
if the terminal window is resized (e.g xterm), the application will not properly adjust to
the new terminal size.
IBM limits paths to PATH_MAX (1024) characters. base ncdu has special code for
handling paths > PATH_MAX, including custom versions of realpath and chdir. However,
these custom functions rely on readlink(), which fails to work correctly in some cases
where symbolic links contain system symbols (this occurs on many z/OS systems).
Therefore this port abandons the custom code in favor of the z/OS POSIX versions of realpath()
and chdir()