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) - libxml2 (S3 Backup) - 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.