forked from wtsi-npg/baton
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
125 lines (73 loc) · 3.32 KB
/
README
File metadata and controls
125 lines (73 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
baton |bəˈtän|
noun, A short stick or staff or something resembling one.
Client programs and API for use with iRODS (Integrated Rule-Oriented
Data System).
baton is intended as a supplement to the command line client programs
(ils, imeta etc.) provided with a standard iRODS installation. Its
focus is metadata operations for iRODS collections and data objects.
baton is spelled with a lower case letter 'b'.
The features it provides are:
- A single JSON format for listing results, composing queries and
performing updates.
- Listing of data objects and collections as JSON, including their
metadata (AVUs), file size, access control lists (ACLs) and creation
and modification timestamps.
- Queries on metadata, on access control lists (ACLs), creation and
modification timestamps and timestamp ranges. The full range of
iRODS query operators is supported.
- Optional unbuffered IO for IPC via pipes, with fine-grained error
reporting for batch operations.
- Simplified API over the iRODS general query API to ease construction
of new custom queries.
- Downloading data objects as files or embedded in JSON (if data
object content is UTF-8).
For further details see the man pages or manual, which is available
online at http://wtsi-npg.github.io/baton/
iRODS compatibility:
- Compatible with iRODS 3.2, 3.3, 3.3.1 and 4.1.x
- Not compatible with iRODS 4.0.1 and 4.0.2 (which lack required API
functions with C linkage).
Installation:
1. Install iRODS 3.3.x or 4.x and the baton dependencies (Jansson) as
described in their documentation.
2. If you have cloned the baton git repository, run autoconf to
generate the configure script:
autoreconf -i
If you have downloaded a release tarball, the configure script is
included, so proceed to step 3.
3. For a run-in-place installation of iRODS 3.3.x or iRODS 4.x, run the
configure script using a --with-irods argument to indicate the root
directory of the iRODS source tree.
./configure --with-irods=/path/to/irods
You may set the location of your preferred Boost installation by
using a --with-boost argument.
For a packaged (.deb) installation of iRODS 4.x, run the configure
script with a bare --with-irods argument.
./configure --with-irods
(The iRODS configuration options are implemented by a
macro 'ax_with_irods' which is included in the m4 subdirectory).
4. Compile
make
5. Optionally, run the test suite
make check
6. If you have run configure with the optional --enable-coverage flag
you can generate test coverage statistics with lcov.
make check-coverage
7. Install, including HTML manual and manpage.
make clean install
Synopsis:
For full details of the JSON accepted and returned by the programs in
baton, see the manual in the doc directory.
Dependencies:
iRODS https://github.com/irods/irods-legacy
Versions 3.2, 3.3, 3.3.1
https://github.com/irods/irods
Versions 4.1.x
Jansson https://github.com/akheron/jansson.git
Versions >= 2.6
Optional dependencies:
Sphinx http://sphinx-doc.org/ (for the manual and manpages).
check http://check.sourceforge.net/ (for unit tests).
Versions >= 0.9.10
lcov http://ltp.sourceforge.net/coverage/ (for test coverage analysis)
jq http://stedolan.github.io/jq/ (for processing input and output)