2011-09-07 17:23:39 +00:00
|
|
|
Ceph - a scalable distributed storage system
|
2012-04-11 19:33:57 +00:00
|
|
|
============================================
|
2007-03-15 23:23:52 +00:00
|
|
|
|
2008-05-07 21:32:55 +00:00
|
|
|
Please see http://ceph.newdream.net/ for current info.
|
2008-02-01 17:59:44 +00:00
|
|
|
|
2012-04-11 19:33:57 +00:00
|
|
|
|
|
|
|
Contributing Code
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
Most of Ceph is licensed under the LGPL version 2.1. Some
|
|
|
|
miscellaneous code is under BSD-style license or is public domain.
|
|
|
|
The documentation is licensed under Creative Commons
|
|
|
|
Attribution-ShareAlike (CC BY-SA). There are a handful of headers
|
|
|
|
included here that are licensed under the GPL. Please see the file
|
|
|
|
COPYING for a full inventory of licenses by file.
|
|
|
|
|
|
|
|
Code contributions must include a valid "Signed-off-by" acknowledging
|
|
|
|
the license for the modified or contributed file. Please see the file
|
|
|
|
SubmittingPatches for details on what that means and on how to
|
|
|
|
generate and submit patches.
|
|
|
|
|
|
|
|
We do not require assignment of copyright to contribute code; code is
|
|
|
|
contributed under the terms of the applicable license.
|
|
|
|
|
|
|
|
|
|
|
|
Building Ceph
|
|
|
|
-------------
|
2008-03-18 16:31:04 +00:00
|
|
|
|
2012-04-05 18:43:11 +00:00
|
|
|
To prepare the source tree for the first time in case it has been git cloned,
|
|
|
|
|
|
|
|
$ git submodule update --init
|
|
|
|
|
2008-05-07 21:32:55 +00:00
|
|
|
To build the server daemons, and FUSE client,
|
|
|
|
|
|
|
|
$ ./autogen.sh
|
|
|
|
$ ./configure
|
|
|
|
$ make
|
|
|
|
|
|
|
|
(Note that the FUSE client will only be built if libfuse is present.)
|
|
|
|
|
2008-03-18 16:31:04 +00:00
|
|
|
|
2012-04-11 19:33:57 +00:00
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
|
|
|
|
The configure script will complain about any missing dependencies as
|
|
|
|
it goes. You can also refer to debian/control or ceph.spec.in for the
|
|
|
|
package build dependencies on those platforms. In many cases,
|
|
|
|
dependencies can be avoided with --with-foo or --without-bar switches.
|
|
|
|
For example,
|
|
|
|
|
|
|
|
$ ./configure --with-nss # use libnss instead of libcrypto++
|
|
|
|
$ ./configure --without-radosgw # do not build radosgw and avoid libfcgi-dev
|
|
|
|
$ ./configure --without-tcmalloc # avoid google-perftools dependency
|
|
|
|
|
|
|
|
|
|
|
|
Building packages
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
You can build packages for Debian or Debian-derived (e.g., Ubuntu)
|
|
|
|
systems with
|
2008-03-18 16:31:04 +00:00
|
|
|
|
2012-04-11 19:33:57 +00:00
|
|
|
$ sudo apt-get dpkg-dev
|
|
|
|
$ dpkg-checkbuilddeps # make sure we have all dependencies
|
|
|
|
$ dpkg-buildpackage
|
2008-03-18 16:31:04 +00:00
|
|
|
|
2012-04-11 19:33:57 +00:00
|
|
|
For RPM-based systems (Redhat, Suse, etc.),
|
2008-05-13 15:45:13 +00:00
|
|
|
|
2012-04-11 19:33:57 +00:00
|
|
|
$ rpmbuild
|