iRODS shared unixfilesystem plugin.
This iRODS plugin is a unix filesystem driver that creates files and directories with world readable permissions. This permits directly sharing iRODS vault data with system processes.
It is derived from the libunixfilesystem plug included with iRODS.
Compilation requires CMake >= 3.5 and libquadmath
library as well as
iRODS development libraries. For EL7, the required packages can be found
in base
, epel
and renci-irods
YUM repos.
sudo yum install -y \
cmake3 \
libquadmath \
openssl-devel \
rpm-build \
irods-devel \
irods-externals-avro1.7.7-0 \
irods-externals-boost1.60.0-0 \
irods-externals-clang-runtime3.8-0 \
irods-externals-clang3.8-0 \
irods-externals-cppzmq4.1-0 \
irods-externals-jansson2.7-0 \
irods-externals-libarchive3.1.2-0 \
irods-externals-zeromq4-14.1.3-0 \
irods-icommands \
irods-runtime \
irods-server
RENCI's boost package includes feature patches to stock boost. It's
probably ok to have the standard boost
package installed along with
RENCI's but I remove any stock packages for good measure.
To install this plugin:
$ git clone https://github.com/EuPathDB/irods-libshareuf.git
$ cd irods-libshareuf
$ mkdir build
$ cd build
$ cmake3 -DCMAKE_INSTALL_PREFIX=/ ..
$ make clean
$ make
$ sudo make install
To make RPM
Confirm correct values in CMakeLists.txt
for
IRODS_PLUGIN_VERSION_MAJOR
, IRODS_PLUGIN_VERSION_MINOR
,
IRODS_PLUGIN_VERSION_PATCH
, CPACK_RPM_PACKAGE_RELEASE
Use CMake packaging routines to build binary package.
$ make package
$ rpm --addsign irods-resource-plugin-shareuf-*.rpm
$ cd irods-libshareuf
$ ./makeAndRunTests
$ iadmin mkresc shareufResc shareuf host.irods.vm:/var/lib/shareufResc