-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
118 lines (82 loc) · 3.72 KB
/
README
File metadata and controls
118 lines (82 loc) · 3.72 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
=== DAVIX ===
Davix provides a share library and tools for advanced file I/O
with HTTP based protocols. It is compatible WebDav, S3, HTTP
Davix is composed of a shared library, libdavix and of a set of utility tools for data management
Libdavix offers a high level C++ File API allowing resource manipulation with abstraction of the protocol.
Libdavix has been design with the following objectives in mind :
- Simplicity
- High performances
- Reliability
- Portability
* Davix and libdavix Website and documentation link :
http://dmc.web.cern.ch/projects/davix/home
* Is Davix is an other HTTP Library ?
No, Davix targets file and resources interactions.
It provides a high level abstraction of the underlying HTTP protocol mechanisms
* What does Davix support ?
Davix supports :
- all common file manipulation operations ( Stat, read, write, copy, delete, rename )
- all common posix operation ( stat/opendir/readdir/open/read/write/close/mkdir )
- Webdav and XML parsing
- remote random I/O
- client side credential in PEM, P12 format, VOMS proxy, RFC proxy with support of VOMS extensions
- transparent redirection caching
- third party copy Server to Server
- Session reuse for both SSL and HTTP
- Basic authentication scheme
- S3 authentication
- bulk operations
- metalinks
Davix is going to support soon :
- transparent meta-link support with failover
- kerberos auth
* How to compile :
- Davix Dependencies :
- openssl
- libxml-2.0
- boost (available as submodule)
- doxygen ( optional, for doc generation )
- gtest ( optional, unit tests only )
- Compile :
$ # For Mac OSX and grid usage, see Compile Davix in embedded mode
$ git clone http://git.cern.ch/pub/davix davix
$ cd davix
$ mkdir build; cd build
$ cmake ../
$ make
- Generate doc :
- * run cmake
- make doc
- Compile Davix in embedded mode ( no dependencies ) :
$ git clone http://git.cern.ch/pub/davix davix
$ cd davix
$ git submodule update --recursive --init
$ mkdir build; cd build
$ cmake -D BOOST_EXTERNAL=NO ../
$ make
- Compile and run unit tests :
- cmake -DUNIT_TESTS=TRUE ../
- make
- make test
- Compile & execute func tests :
* warning : functionals test needs davserver and a valid credential
- " 4. cmake -DFUNCTIONAL_TESTS=TRUE ../ "
- " 5. . ../test/setup_test_env.sh
- " 5. make; make test"
- create SRPM :
- ./packaging/bin/packager_rpm.sh ./packaging/rpm/specs/ ./
- mock -r [mycfg] RPMS/davix-[...].src.rpm
* How to use
* Libdavix, please follow the comments in the doxygen generated documentation
* Command line tools
davix-ls: listing and meta-data
davix-del: delete existing resource or collection
davix-get: download and display the content of a resource
davix-put: upload the content of a resource
davix-cp: copy, support 3rd party copy
davix-mk: create collection or resource.
* Davix Support or information :
Any suggestion is welcome.
please contact us on davix-devel@cern.ch ( CERN e-group & mailing list ) or personnaly on adrien.devresse@cern.ch
Davix is an open source and free project and will stay like this.
Any contribution is welcome