Skip to content
This repository has been archived by the owner on Nov 24, 2023. It is now read-only.

MaastrichtUniversity/irods-microservices

Repository files navigation

irods-microservices

iRODS microservices for DataHub

Dependencies

Dependencies have been installed in icat and ires docker containers.

Ubuntu 16.04
# Install via packet manager
apt-get install \
    libssl-dev \
    libcurl4-openssl-dev \
    g++ \
    make \
    irods-dev \
    irods-externals-clang-runtime3.8-0 \
    irods-externals-clang3.8-0 \
    cmake
CentOS 7
# Install via packet manager
yum install \
    openssl-devel \
    libcurl-devel \
    gcc-c++ \
    make \
    rpm-build \
    irods-devel \
    irods-externals-clang-runtime3.8-0 \
    irods-externals-clang3.8-0
    
# Then install a recent version of CMake
wget https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh && \
sudo sh cmake-3.12.0-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir

Building

mkdir build && cd build
cmake /microservices  # Generates all the make files
make                  # Compiles the project based on all the make files
make install          # Installs the .so files into the microservices plugin directory

Packaging

cd /microservices/build
make package
# Move resulting package back to /microservices
make rit-package

Find your .rpm or .deb package in the /microservices/build directory.

The name of the package is constructed like this: rit-irods-microservices-IRODS VERSION_MSI RELEASE VERSION-1.rpm|deb

Releasing

Tag a release, and upload the binary .deb and .rpm to GitHub.

Acknowledgements

  • Special thanks to the Donders Institute for sharing of msi_json_arrayops, msi_json_objops and msi_time_ts2str
  • Special thanks to irods-contrib for creating msiput_dataobj_or_coll which formed the base for our modified version.
  • Special thanks to Utrecht University for inspiration on CMake and ported iRODS 4.2.3 microservices