Giter Site home page Giter Site logo

irods_client_icommands's Introduction

iRODS Client - iCommands

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.

Build

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

Install

The packages produced by CMake will install the ~50 iCommands, by default, into /usr/bin.

Build without any Package Repositories

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:

  1. Download, build, and install packages from https://github.com/irods/externals
  2. Update your PATH to include the newly built CMake
  3. Download, build, and install irods-dev(el) and irods-runtime from https://github.com/irods/irods
  4. 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.

Userspace Packaging

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.

Build Dependencies

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.
  • 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.
  • Recommended: chrpath tool
    • Available as chrpath via yum/apt on Centos/Ubuntu.

If you've got pip, the following one-liner should get all the Python dependencies installed:

python3 -m pip install lief setuptools distro

irods_client_icommands's People

Contributors

adetorcy avatar alanking avatar d-w-moore avatar epsilon-phase avatar fifthpotato avatar justinkylejames avatar kellerb avatar korydraughn avatar martinflores751 avatar mcv21 avatar mstfdkmn avatar nishant2022 avatar rskarbez avatar stsnel avatar swooshycueb avatar tempoz avatar theferrit32 avatar trel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.