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

MaastrichtUniversity/irods-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

These instructions assume that this microservice git-repository has been cloned into /microservices

mkdir /build && cd /build
cmake /microservices  # Generates all the make files
                      # NOTE: in CentOS, use `cmake3 /microservices`
make                  # Compiles the project based on all the make files
make install          # Installs the .so files into the microservices plugin directory

Packaging

  1. Open the CMakeLists.txt file and update the value of set(MSI_RELEASE_VERSION "2.0.0") to the version tag you are releasing.
  2. Execute the build steps above (excluding make install)
  3. Execute the commands below to create the package
cd /build
make package
# Move resulting package back to /microservices/packages/
make rit-package

Find your .rpm or .deb package in the /microservices/packages 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