This repository hosts the client iCommands, the default command line interface to iRODS.
To build the iCommands, you will need the irods-dev and irods-runtime packages.
This is a CMake project and can be built with:
cd irods_client_icommands
mkdir build
cd build
cmake -GNinja ../
ninja package
The packages produced by CMake will install the ~50 iCommands, by default, into /usr/bin.
If you need to build the iRODS iCommands without the use of any APT/YUM repositories, it will be necessary to build all the dependencies yourself. The steps include:
- Download, build, and install packages from https://github.com/irods/externals
 - Update your 
PATHto include the newly built CMake - Download, build, and install 
irods-dev(el)andirods-runtimefrom https://github.com/irods/irods - Download, build, and install 
irods-icommandsfrom https://github.com/irods/irods_client_icommands 
Our dependency chain will shorten as older distributions age out.
The current setup supports new C++ features on those older distributions.
A userspace-tarball buildsystem target is provided to generate a userspace tarball package. This package
will contain the iCommands and all required library dependencies.
See packaging/userspace/build_and_package.example.sh for an example of how to build and package the
iCommands for userspace deployment.
The userspace packager needs a few extra packages to work properly:
- Required: Python 3.6+.
 - Required: 
setuptoolsPython 3 package.- Available as 
python3-setuptoolsvia yum/apt on Centos 7/Ubuntu. - Available as 
setuptoolson PyPI. 
 - Available as 
 - Recommended: 
distroPython 3 module.- Required for Python 3.8+.
 - Available as 
python3-distrovia apt on Ubuntu 18.04+. - Available as 
python36-distrovia yum on Centos 7. - Available as 
distroon PyPI. 
 - Recommended: 
liefPython 3 module, version 0.10.0+ (preferably 0.11.0+).- Available as 
liefon PyPI. 
 - Available as 
 - Recommended: 
chrpathtool- Available as 
chrpathvia yum/apt on Centos/Ubuntu. 
 - Available as 
 
If you've got pip, the following one-liner should get all the Python dependencies installed:
python3 -m pip install lief setuptools distro