iRODS microservices for DataHub
Dependencies have been installed in icat and ires docker containers.
# 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
# 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
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
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
Tag a release, and upload the binary .deb and .rpm to GitHub.
- Special thanks to the Donders Institute for sharing of
msi_json_arrayops
,msi_json_objops
andmsi_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