This repository hosts the client iCommands, the default command line interface to iRODS.
The client iCommands are released as a single package called irods-icommands
in the repository at https://packages.irods.org/
Once the repository is configured, the irods-icommands
package can be installed via the package manager on any supported OS.
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
PATH
to include the newly built CMake - Download, build, and install
irods-dev(el)
andirods-runtime
from https://github.com/irods/irods - Download, build, and install
irods-icommands
from 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:
setuptools
Python 3 package.- Available as
python3-setuptools
via yum/apt on Centos 7/Ubuntu. - Available as
setuptools
on PyPI.
- Available as
- Recommended:
distro
Python 3 module.- Required for Python 3.8+.
- Available as
python3-distro
via apt on Ubuntu 18.04+. - Available as
python36-distro
via yum on Centos 7. - Available as
distro
on PyPI.
- Recommended:
lief
Python 3 module, version 0.10.0+ (preferably 0.11.0+).- Available as
lief
on PyPI.
- Available as
- Recommended:
chrpath
tool- Available as
chrpath
via 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