/ori

Official Repository Ori Distributed File System

Primary LanguageC++OtherNOASSERTION

Overview
========

Ori is a decentralized file store.  It is designed to generically allow one or 
more users to store files in a repository and provide many sophisticate file 
system operations in a platform independent way.

Installation
============

Platforms:
 - Linux 3.0+ (Tested on Arch and Ubuntu)
 - MacOS X 10.6+
 - FreeBSD 8+
 - Some testing on NetBSD

Build Dependencies:
 - scons 2.0+
 - pkg-config

Dependences:
 - C++11 (Required)
 - openssl (tested with 1.0.1+) (Required)
 - libevent 2.0 (Required)
 - FUSE (API Version 26+)
 - liblzma (for LZMA compression)
 - mDNSResponder (for Multipull Support)
 - libexecinfo (FreeBSD only)
 - libedit (oridbg only)

Build flags can be added to 'Local.sc' in the root directory, or through the 
command line.  The available options can be displayed by typing 'scons --help'.  
To disable the fuse module, add WITH_FUSE="0" to the Local.sc file. You may 
disable the HTTPD and/or MDNS with by adding WITH_HTTPD and WITH_MDNS build 
options.

To build the binary run the follow:

# scons

The ori binary is located in build/ori/ori.

To clean the build directory run the following command:

# scons -c

To install the binary run the following:

# scons install

Optionally, an installation directory can be specified as follows:

# scons PREFIX=<install directory> install

There are multiple unit tests available inside the build directory.  The 
end-to-end tests are in ongoing development and only about half of them are 
expected to run reliably.  In a future release the tests will be improved to 
make it easier to run.