Import ceph_10.2.5-7.2+rpi1.debian.tar.xz
authorPeter Michael Green <plugwash@raspbian.org>
Sun, 30 Jul 2017 09:48:17 +0000 (10:48 +0100)
committerPeter Michael Green <plugwash@raspbian.org>
Sun, 30 Jul 2017 09:48:17 +0000 (10:48 +0100)
[dgit import tarball ceph 10.2.5-7.2+rpi1 ceph_10.2.5-7.2+rpi1.debian.tar.xz]

117 files changed:
README.Debian [new file with mode: 0644]
ceph-base.dirs [new file with mode: 0644]
ceph-base.install [new file with mode: 0644]
ceph-base.lintian-overrides [new file with mode: 0644]
ceph-base.postinst [new file with mode: 0644]
ceph-base.postrm [new file with mode: 0644]
ceph-base.prerm [new file with mode: 0644]
ceph-common.dirs [new file with mode: 0644]
ceph-common.install [new file with mode: 0644]
ceph-common.lintian-overrides [new file with mode: 0644]
ceph-common.logrotate [new symlink]
ceph-common.maintscript [new file with mode: 0644]
ceph-common.manpages [new file with mode: 0644]
ceph-common.postinst [new file with mode: 0644]
ceph-common.postrm [new file with mode: 0644]
ceph-common.rbdmap.init [new symlink]
ceph-fs-common.install [new file with mode: 0644]
ceph-fuse.install [new file with mode: 0644]
ceph-fuse.lintian-overrides [new file with mode: 0644]
ceph-fuse.manpages [new file with mode: 0644]
ceph-mds.dirs [new file with mode: 0644]
ceph-mds.install [new file with mode: 0644]
ceph-mds.lintian-overrides [new file with mode: 0644]
ceph-mds.maintscript [new file with mode: 0644]
ceph-mds.postinst [new file with mode: 0644]
ceph-mds.prerm [new file with mode: 0644]
ceph-mon.dirs [new file with mode: 0644]
ceph-mon.install [new file with mode: 0644]
ceph-mon.postinst [new file with mode: 0644]
ceph-mon.prerm [new file with mode: 0644]
ceph-osd.dirs [new file with mode: 0644]
ceph-osd.install [new file with mode: 0644]
ceph-osd.postinst [new file with mode: 0644]
ceph-osd.prerm [new file with mode: 0644]
ceph-resource-agents.install [new file with mode: 0644]
ceph-test.install [new file with mode: 0644]
ceph-test.jlibs [new file with mode: 0644]
ceph-test.lintian-overrides [new file with mode: 0644]
ceph.NEWS [new file with mode: 0644]
ceph.init [new symlink]
ceph.maintscript [new file with mode: 0644]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
etc/default/ceph [new file with mode: 0644]
etc/pm/sleep.d/25-ceph [new file with mode: 0755]
gbp.conf [new file with mode: 0644]
lib-systemd/system-sleep/ceph [new file with mode: 0755]
lib-systemd/system/ceph-create-keys.service [new file with mode: 0644]
lib-systemd/system/ceph-mds.service [new file with mode: 0644]
lib-systemd/system/ceph-mon.service [new file with mode: 0644]
lib-systemd/system/ceph-osd@.service [new file with mode: 0644]
libcephfs-dev.install [new file with mode: 0644]
libcephfs-java.jlibs [new file with mode: 0644]
libcephfs-jni.install [new file with mode: 0644]
libcephfs1.install [new file with mode: 0644]
libcephfs1.lintian-overrides [new file with mode: 0644]
libcephfs1.symbols [new file with mode: 0644]
librados-dev.install [new file with mode: 0644]
librados2.install [new file with mode: 0644]
librados2.lintian-overrides [new file with mode: 0644]
librados2.symbols [new file with mode: 0644]
libradosstriper-dev.install [new file with mode: 0644]
libradosstriper1.install [new file with mode: 0644]
libradosstriper1.symbols [new file with mode: 0644]
librbd-dev.install [new file with mode: 0644]
librbd1.install [new file with mode: 0644]
librbd1.symbols [new file with mode: 0644]
librgw-dev.install [new file with mode: 0644]
librgw2.install [new file with mode: 0644]
man/ceph-crush-location.1 [new file with mode: 0644]
man/mount.fuse.ceph.8 [new file with mode: 0644]
not-installed [new file with mode: 0644]
patches/arch.patch [new file with mode: 0644]
patches/bug-10036.patch [new file with mode: 0644]
patches/cve-2016-9579_short_cors_request.patch [new file with mode: 0644]
patches/detect-raspbian.diff [new file with mode: 0644]
patches/disable-openssl-linking.patch [new file with mode: 0644]
patches/fix-cycles-arch.patch [new file with mode: 0644]
patches/fix-init-system-detection.patch [new file with mode: 0644]
patches/mips_mipsel_libatomic.patch [new file with mode: 0644]
patches/osd-limit-omap-data-in-push-op.patch [new file with mode: 0644]
patches/rbdmap3-lazyumount.patch [new file with mode: 0644]
patches/rgw_rados-creation_time.patch [new file with mode: 0644]
patches/sample.ceph.conf.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/skip-setup.py-makefiles.patch [new file with mode: 0644]
patches/sleep-recover.patch [new file with mode: 0644]
patches/softfp-armel.patch [new file with mode: 0644]
patches/tests-disable.patch [new file with mode: 0644]
patches/use_system_jerasure.patch [new file with mode: 0644]
patches/virtualenv-never-download.patch [new file with mode: 0644]
python-cephfs.install [new file with mode: 0644]
python-rados.install [new file with mode: 0644]
python-rbd.install [new file with mode: 0644]
radosgw.dirs [new file with mode: 0644]
radosgw.init [new symlink]
radosgw.install [new file with mode: 0644]
radosgw.maintscript [new file with mode: 0644]
radosgw.postinst [new file with mode: 0644]
radosgw.postrm [new file with mode: 0644]
radosgw.preinst [new file with mode: 0644]
radosgw.prerm [new file with mode: 0644]
rbd-fuse.install [new file with mode: 0644]
rbd-mirror.install [new file with mode: 0644]
rbd-nbd.install [new file with mode: 0644]
rest-bench.install [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/build-rados [new file with mode: 0755]
tests/build-rbd [new file with mode: 0755]
tests/ceph-client [new file with mode: 0755]
tests/control [new file with mode: 0644]
tests/python-ceph [new file with mode: 0755]
watch [new file with mode: 0644]

diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..be21ad7
--- /dev/null
@@ -0,0 +1,120 @@
+## See online installation and setup documentation at
+
+    http://ceph.com/docs/master/install/manual-deployment/
+
+-------- -------- --------
+
+## "systemd" requires manual activation of services:
+
+    ## MON
+    # systemctl start ceph-mon
+    # systemctl enable ceph-mon
+
+    ## OSD.0 (set other OSDs like this)
+    # systemctl start ceph-osd@0
+    # systemctl enable ceph-osd@0
+
+    ## MDS
+    # systemctl start ceph-mds
+    # systemctl enable ceph-mds
+
+    ## "ceph" meta-service (starts/stops all the above like old init script)
+    # systemctl start ceph
+    # systemctl enable ceph
+
+ The ceph cluster can be set in the "/etc/default/ceph" file
+ by setting the CLUSTER environment variable.
+
+-------- -------- --------
+
+## Upgrade procedure (0.72.2 to 0.80):
+
+ * Read "Upgrade Sequencing" in release notes:
+
+    http://ceph.com/docs/firefly/release-notes/
+
+ * Upgrade packages.
+
+ * Restart MONs.
+
+ * Restart all OSDs.
+
+ * Run `ceph osd crush tunables default`.
+
+ * (Restart MDSes).
+
+ * Consider setting the 'hashpspool' flag on your pools (new default):
+
+    ceph osd pool set {pool} hashpspool true
+
+    This changes the pool to use a new hashing algorithm for the distribution of
+    Placement Groups (PGs) to OSDs. This new algorithm ensures a better distribution
+    to all OSDs. Be aware that this change will temporarly put some of your PGs into
+    "misplaced" state and cause additional I/O until all PGs are moved to their new
+    location. See http://tracker.ceph.com/issues/4128 for the details about the new
+    algorithm.
+
+ Read more about tunables in
+
+    http://ceph.com/docs/master/rados/operations/crush-map/#tunables
+
+ Upgrading all OSDs and setting correct tunables is necessary to avoid the errors like:
+
+    ## rbdmap errors:
+    libceph: mon2 192.168.0.222:6789 socket error on read
+
+ Wrong tunables may produce the following error:
+
+    libceph: mon0 192.168.0.222:6789 socket error on read
+    libceph: mon2 192.168.0.250:6789 feature set mismatch, my 4a042a42 < server's 2004a042a42, missing 20000000000
+
+    ## MDS errors:
+    one or more OSDs do not support TMAP2OMAP; upgrade OSDs before starting MDS (or downgrade MDS)
+
+ See also:
+
+    http://ceph.com/docs/firefly/install/upgrading-ceph/
+
+-------- -------- --------
+
+ Jerasure pool(s) will bump requirements to Linux_3.15 (not yet released) for
+ kernel CephFS and RBD clients.
+
+-------- -------- --------
+
+ RBD kernel driver do not support authentication so the following setting
+ in "/etc/ceph/ceph.conf" may be used to relax client auth. requirements:
+
+    cephx cluster require signatures = true
+    cephx service require signatures = false
+
+-------- -------- --------
+
+> How to mount CephFS using fuse client from "/etc/fstab"?
+
+ Add (and modify) the following sample to "/etc/fstab":
+
+    mount.fuse.ceph#conf=/etc/ceph/ceph.conf,id=admin    /mnt/ceph     fuse     _netdev,noatime,allow_other     0    0
+
+ This is equivalent of running
+
+    ceph-fuse /mnt/ceph --id=admin -o noatime,allow_other
+
+ as root.
+
+-------- -------- --------
+
+ To avoid known issue with kernel FS client it is recommended to use
+ 'readdir_max_entries' mount option, for example:
+
+    mount -t ceph 1.2.3.4:/ /mnt/ceph -o readdir_max_entries=64
+
+-------- -------- --------
+
+ Beware of "mlocate" scanning of OSD file systems. To avoid problems add
+ "/var/lib/ceph" to PRUNEPATHS in the "/etc/updatedb.conf" like in the
+ following example:
+
+    PRUNEPATHS="/tmp /var/spool /media /mnt /var/lib/ceph"
+
+-------- -------- --------
diff --git a/ceph-base.dirs b/ceph-base.dirs
new file mode 100644 (file)
index 0000000..9881b83
--- /dev/null
@@ -0,0 +1,4 @@
+var/lib/ceph/bootstrap-mds
+var/lib/ceph/bootstrap-osd
+var/lib/ceph/bootstrap-rgw
+var/lib/ceph/tmp
diff --git a/ceph-base.install b/ceph-base.install
new file mode 100644 (file)
index 0000000..93436f0
--- /dev/null
@@ -0,0 +1,23 @@
+## install from source tree
+debian/etc/pm/sleep.d/*    /etc/pm/sleep.d/
+etc/bash_completion.d/ceph /usr/share/bash-completion/completions/
+usr/bin/ceph-debugpack
+usr/bin/ceph-run
+usr/bin/crushtool
+usr/bin/monmaptool
+usr/bin/osdmaptool
+usr/lib/*/ceph/ceph_common.sh
+usr/lib/*/ceph/erasure-code/libec_*.so
+usr/lib/*/rados-classes/*.so
+usr/lib/python*/dist-packages/ceph_detect_init*
+usr/sbin/ceph-create-keys
+usr/sbin/ceph-detect-init
+usr/share/doc/ceph/sample.ceph.conf
+usr/share/doc/ceph/sample.fetch_config
+usr/share/man/man8/ceph-create-keys.8
+usr/share/man/man8/ceph-debugpack.8
+usr/share/man/man8/ceph-detect-init.8
+usr/share/man/man8/ceph-run.8
+usr/share/man/man8/crushtool.8
+usr/share/man/man8/monmaptool.8
+usr/share/man/man8/osdmaptool.8
diff --git a/ceph-base.lintian-overrides b/ceph-base.lintian-overrides
new file mode 100644 (file)
index 0000000..d4041ca
--- /dev/null
@@ -0,0 +1,2 @@
+# False-positives:
+spelling-error-in-binary * tEH the
diff --git a/ceph-base.postinst b/ceph-base.postinst
new file mode 100644 (file)
index 0000000..23712a8
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+# vim: set noet ts=8:
+# postinst script for ceph
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+# The current action is to simply remove the mistakenly-added
+# /etc/init/ceph.conf file; this could be done in any of these cases,
+# although technically it will leave the system in a different state
+# than the original install that included that file.  So instead we
+# only remove on "configure", since that's the only time we know we're
+# successful in installing a newer package than the erroneous version.
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+
+case "$1" in
+       configure)
+               rm -f /etc/init/ceph.conf
+               for DIR in `ls -1 /var/lib/ceph` ; do
+                   if ! dpkg-statoverride --list /var/lib/ceph/$DIR >/dev/null; then
+                       if [ -d /run/systemd/system ] && [ $DIR = 'mon' ]; then
+                           # NOTE: upgrade file permissions for mon filesystem on
+                           #       systemd based installs only due to automatic
+                           #       restarting of ceph-mon daemon
+                           chown -R $SERVER_USER:$SERVER_GROUP /var/lib/ceph/$DIR
+                       else
+                            chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/$DIR
+                       fi
+                   fi
+               done
+       ;;
+       abort-upgrade|abort-remove|abort-deconfigure)
+               :
+       ;;
+       *)
+               echo "postinst called with unknown argument \`$1'" >&2
+               exit 1
+       ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-base.postrm b/ceph-base.postrm
new file mode 100644 (file)
index 0000000..48e4853
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+# postrm script for ceph
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove)
+    ;;
+
+    purge)
+       rm -rf /var/log/ceph 
+       rm -rf /etc/ceph
+    ;;
+
+    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ceph-base.prerm b/ceph-base.prerm
new file mode 100644 (file)
index 0000000..e76715e
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+# vim: set noet ts=8:
+
+set -e
+
+case "$1" in
+       remove)
+               invoke-rc.d ceph stop || {
+                       RESULT=$?
+                       if [ $RESULT != 100 ]; then
+                               exit $RESULT
+                       fi
+               }
+       ;;
+       *)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-common.dirs b/ceph-common.dirs
new file mode 100644 (file)
index 0000000..ff05698
--- /dev/null
@@ -0,0 +1,3 @@
+etc/ceph
+var/lib/ceph
+var/log/ceph
diff --git a/ceph-common.install b/ceph-common.install
new file mode 100644 (file)
index 0000000..86842f8
--- /dev/null
@@ -0,0 +1,34 @@
+etc/bash_completion.d/rados /usr/share/bash-completion/completions/
+etc/bash_completion.d/rbd   /usr/share/bash-completion/completions/
+etc/ceph/rbdmap
+etc/default/ceph
+udev/50-rbd.rules /lib/udev/rules.d
+usr/bin/ceph
+usr/bin/ceph-authtool
+usr/bin/ceph-brag
+usr/bin/ceph-conf
+usr/bin/ceph-crush-location
+usr/bin/ceph-dencoder
+usr/bin/ceph-post-file
+usr/bin/ceph-rbdnamer
+usr/bin/ceph-syn
+usr/bin/rados
+usr/bin/rbd
+usr/bin/rbd-replay*
+usr/bin/rbdmap
+usr/lib/python*/dist-packages/ceph_argparse.py
+usr/lib/python*/dist-packages/ceph_daemon.py
+usr/share/ceph/id_rsa_drop.ceph.com
+usr/share/ceph/id_rsa_drop.ceph.com.pub
+usr/share/ceph/known_hosts_drop.ceph.com
+usr/share/man/man8/ceph-authtool.8
+usr/share/man/man8/ceph-conf.8
+usr/share/man/man8/ceph-dencoder.8
+usr/share/man/man8/ceph-post-file.8
+usr/share/man/man8/ceph-rbdnamer.8
+usr/share/man/man8/ceph-syn.8
+usr/share/man/man8/ceph.8
+usr/share/man/man8/rados.8
+usr/share/man/man8/rbd-replay*.8
+usr/share/man/man8/rbd.8
+usr/share/man/man8/rbdmap.8
diff --git a/ceph-common.lintian-overrides b/ceph-common.lintian-overrides
new file mode 100644 (file)
index 0000000..c26dfba
--- /dev/null
@@ -0,0 +1,5 @@
+# False-positives:
+spelling-error-in-binary * tEH the
+# this is fixed just a few lines below in the configure script
+# it ensures that also existing user get the correct home directory
+maintainer-script-should-not-use-adduser-system-without-home
diff --git a/ceph-common.logrotate b/ceph-common.logrotate
new file mode 120000 (symlink)
index 0000000..df20846
--- /dev/null
@@ -0,0 +1 @@
+../src/logrotate.conf
\ No newline at end of file
diff --git a/ceph-common.maintscript b/ceph-common.maintscript
new file mode 100644 (file)
index 0000000..dc7cf62
--- /dev/null
@@ -0,0 +1,2 @@
+rm_conffile /etc/bash_completion.d/rados 10.2.5-1~
+rm_conffile /etc/bash_completion.d/rbd 10.2.5-1~
diff --git a/ceph-common.manpages b/ceph-common.manpages
new file mode 100644 (file)
index 0000000..643fa2a
--- /dev/null
@@ -0,0 +1 @@
+debian/man/ceph-crush-location.1
diff --git a/ceph-common.postinst b/ceph-common.postinst
new file mode 100644 (file)
index 0000000..020b89b
--- /dev/null
@@ -0,0 +1,99 @@
+#!/bin/sh
+# vim: set noet ts=8:
+# postinst script for ceph-common
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+# Let the admin override these distro-specified defaults.  This is NOT
+# recommended!
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+
+[ -z "$SERVER_HOME" ] && SERVER_HOME=/var/lib/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_NAME" ] && SERVER_NAME="Ceph storage service"
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+[ -z "$SERVER_UID" ] && SERVER_UID=64045  # alloc by Debian base-passwd maintainer
+[ -z "$SERVER_GID" ] && SERVER_GID=$SERVER_UID
+
+
+# Groups that the user will be added to, if undefined, then none.
+[ -z "$SERVER_ADDGROUP" ] && SERVER_ADDGROUP=
+
+case "$1" in
+    configure)
+       # create user to avoid running server as root
+       # 1. create group if not existing
+       if ! getent group | grep -q "^$SERVER_GROUP:" ; then
+          addgroup --quiet --system --gid $SERVER_GID \
+             $SERVER_GROUP 2>/dev/null ||true
+       fi
+       # 2. create user if not existing
+       if ! getent passwd | grep -q "^$SERVER_USER:"; then
+         adduser --quiet \
+                 --system \
+                 --no-create-home \
+                 --disabled-password \
+                --uid $SERVER_UID \
+                --gid $SERVER_GID \
+                 $SERVER_USER 2>/dev/null || true
+       fi
+       # 3. adjust passwd entry
+       usermod -c "$SERVER_NAME" \
+               -d $SERVER_HOME   \
+               -g $SERVER_GROUP  \
+               $SERVER_USER 2>/dev/null
+
+       # 5. adjust file and directory permissions
+       if ! dpkg-statoverride --list $SERVER_HOME >/dev/null
+       then
+           chown $SERVER_USER:$SERVER_GROUP $SERVER_HOME
+           chmod u=rwx,g=rx,o= $SERVER_HOME
+       fi
+       if ! dpkg-statoverride --list /var/log/ceph >/dev/null
+       then
+           chown -R $SERVER_USER:$SERVER_GROUP /var/log/ceph
+          # members of group ceph can log here, but cannot remove
+          # others' files.  non-members cannot read any logs.
+           chmod u=rwx,g=rwxs,o=t /var/log/ceph
+       fi
+
+       # 6. fix /var/run/ceph
+       if [ -d /var/run/ceph ]; then
+          chown $SERVER_USER:$SERVER_GROUP /var/run/ceph
+       fi
+
+       # create /run/ceph.  fail softly if systemd isn't present or
+       # something.
+       [ -x /bin/systemd-tmpfiles ] && systemd-tmpfiles --create || true
+    ;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+       :
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-common.postrm b/ceph-common.postrm
new file mode 100644 (file)
index 0000000..6d4fa5e
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+# postrm script for ceph-common
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove)
+    ;;
+
+    purge)
+       rm -rf /var/log/ceph
+       rm -rf /etc/ceph
+    ;;
+
+    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ceph-common.rbdmap.init b/ceph-common.rbdmap.init
new file mode 120000 (symlink)
index 0000000..b2de0ce
--- /dev/null
@@ -0,0 +1 @@
+../src/init-rbdmap
\ No newline at end of file
diff --git a/ceph-fs-common.install b/ceph-fs-common.install
new file mode 100644 (file)
index 0000000..70f6e94
--- /dev/null
@@ -0,0 +1,4 @@
+usr/sbin/mount.ceph sbin
+usr/bin/cephfs
+usr/share/man/man8/cephfs.8
+usr/share/man/man8/mount.ceph.8
diff --git a/ceph-fuse.install b/ceph-fuse.install
new file mode 100644 (file)
index 0000000..364e863
--- /dev/null
@@ -0,0 +1,3 @@
+usr/sbin/mount.fuse.ceph sbin
+usr/bin/ceph-fuse
+usr/share/man/man8/ceph-fuse.8
diff --git a/ceph-fuse.lintian-overrides b/ceph-fuse.lintian-overrides
new file mode 100644 (file)
index 0000000..d4041ca
--- /dev/null
@@ -0,0 +1,2 @@
+# False-positives:
+spelling-error-in-binary * tEH the
diff --git a/ceph-fuse.manpages b/ceph-fuse.manpages
new file mode 100644 (file)
index 0000000..e4c9c23
--- /dev/null
@@ -0,0 +1 @@
+debian/man/mount.fuse.ceph.8
diff --git a/ceph-mds.dirs b/ceph-mds.dirs
new file mode 100644 (file)
index 0000000..eb38f44
--- /dev/null
@@ -0,0 +1 @@
+/var/lib/ceph/mds
diff --git a/ceph-mds.install b/ceph-mds.install
new file mode 100644 (file)
index 0000000..ea3dae6
--- /dev/null
@@ -0,0 +1,5 @@
+usr/bin/ceph-mds
+usr/bin/cephfs-data-scan
+usr/bin/cephfs-journal-tool
+usr/bin/cephfs-table-tool
+usr/share/man/man8/ceph-mds.8
diff --git a/ceph-mds.lintian-overrides b/ceph-mds.lintian-overrides
new file mode 100644 (file)
index 0000000..d4041ca
--- /dev/null
@@ -0,0 +1,2 @@
+# False-positives:
+spelling-error-in-binary * tEH the
diff --git a/ceph-mds.maintscript b/ceph-mds.maintscript
new file mode 100644 (file)
index 0000000..4e9d147
--- /dev/null
@@ -0,0 +1,3 @@
+rm_conffile /etc/init/ceph-mds-all-starter.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-mds.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-mds-all.conf 10.2.5-1~
diff --git a/ceph-mds.postinst b/ceph-mds.postinst
new file mode 100644 (file)
index 0000000..f6c9f4e
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+# vim: set noet ts=8:
+# postinst script for ceph-mds
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+
+case "$1" in
+       configure)
+               if ! dpkg-statoverride --list /var/lib/ceph/mds >/dev/null; then
+                       chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/mds
+               fi
+       ;;
+       abort-upgrade|abort-remove|abort-deconfigure)
+               :
+       ;;
+       *)
+               echo "postinst called with unknown argument \`$1'" >&2
+               exit 1
+       ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-mds.prerm b/ceph-mds.prerm
new file mode 100644 (file)
index 0000000..7a491aa
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+# vim: set noet ts=8:
+
+set -e
+
+case "$1" in
+       remove)
+               invoke-rc.d ceph stop mds || {
+                       RESULT=$?
+                       if [ $RESULT != 100 ]; then
+                               exit $RESULT
+                       fi
+               }
+       ;;
+       *)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-mon.dirs b/ceph-mon.dirs
new file mode 100644 (file)
index 0000000..e2845f6
--- /dev/null
@@ -0,0 +1 @@
+var/lib/ceph/mon
diff --git a/ceph-mon.install b/ceph-mon.install
new file mode 100644 (file)
index 0000000..a284d40
--- /dev/null
@@ -0,0 +1,5 @@
+usr/bin/ceph-mon
+usr/bin/ceph-rest-api
+usr/share/man/man8/ceph-mon.8
+usr/share/man/man8/ceph-rest-api.8
+usr/lib/python*/dist-packages/ceph_rest_api.py
diff --git a/ceph-mon.postinst b/ceph-mon.postinst
new file mode 100644 (file)
index 0000000..d004617
--- /dev/null
@@ -0,0 +1,42 @@
+# vim: set noet ts=8:
+# postinst script for ceph-mon
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+
+case "$1" in
+    configure|abort-upgrade|abort-remove|abort-deconfigure)
+       :
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ceph-mon.prerm b/ceph-mon.prerm
new file mode 100644 (file)
index 0000000..a31fc3c
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+# vim: set noet ts=8:
+
+set -e
+
+case "$1" in
+    remove)
+       invoke-rc.d ceph stop mon || {
+           RESULT=$?
+           if [ $RESULT != 100 ]; then
+               exit $RESULT
+           fi
+       }
+       ;;
+
+    *)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-osd.dirs b/ceph-osd.dirs
new file mode 100644 (file)
index 0000000..b7fc476
--- /dev/null
@@ -0,0 +1 @@
+var/lib/ceph/osd
diff --git a/ceph-osd.install b/ceph-osd.install
new file mode 100644 (file)
index 0000000..6a66d5b
--- /dev/null
@@ -0,0 +1,13 @@
+udev/95-ceph-osd.rules lib/udev/rules.d
+usr/sbin/ceph-disk
+usr/sbin/ceph-disk-udev
+usr/bin/ceph-clsinfo
+usr/bin/ceph-objectstore-tool
+usr/bin/ceph-bluefs-tool
+usr/bin/ceph_objectstore_bench
+usr/bin/ceph-osd
+usr/lib/*/ceph/ceph-osd-prestart.sh /usr/lib/ceph/
+usr/share/man/man8/ceph-clsinfo.8
+usr/share/man/man8/ceph-disk.8
+usr/share/man/man8/ceph-osd.8
+usr/lib/python*/dist-packages/ceph_disk*
diff --git a/ceph-osd.postinst b/ceph-osd.postinst
new file mode 100644 (file)
index 0000000..d61fe61
--- /dev/null
@@ -0,0 +1,42 @@
+# vim: set noet ts=8:
+# postinst script for ceph-osd
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+
+case "$1" in
+    configure|abort-upgrade|abort-remove|abort-deconfigure)
+       :
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ceph-osd.prerm b/ceph-osd.prerm
new file mode 100644 (file)
index 0000000..93c4596
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+# vim: set noet ts=8:
+
+set -e
+
+case "$1" in
+    remove)
+       invoke-rc.d ceph stop osd || {
+           RESULT=$?
+           if [ $RESULT != 100 ]; then
+               exit $RESULT
+           fi
+       }
+       ;;
+
+    *)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/ceph-resource-agents.install b/ceph-resource-agents.install
new file mode 100644 (file)
index 0000000..47e7516
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/ocf/resource.d/ceph
diff --git a/ceph-test.install b/ceph-test.install
new file mode 100644 (file)
index 0000000..d4de5a6
--- /dev/null
@@ -0,0 +1,27 @@
+usr/bin/ceph-client-debug /usr/lib/ceph/bin
+usr/bin/ceph-coverage /usr/lib/ceph/bin
+usr/bin/ceph-kvstore-tool /usr/lib/ceph/bin
+usr/bin/ceph-monstore-tool /usr/lib/ceph/bin
+usr/bin/ceph-osdomap-tool /usr/lib/ceph/bin
+usr/bin/ceph_bench_log /usr/lib/ceph/bin
+usr/bin/ceph_erasure_code /usr/lib/ceph/bin
+usr/bin/ceph_erasure_code_benchmark /usr/lib/ceph/bin
+usr/bin/ceph_kvstorebench /usr/lib/ceph/bin
+usr/bin/ceph_multi_stress_watch /usr/lib/ceph/bin
+usr/bin/ceph_omapbench /usr/lib/ceph/bin
+usr/bin/ceph_perf_* /usr/lib/ceph/bin
+usr/bin/ceph_psim /usr/lib/ceph/bin
+usr/bin/ceph_radosacl /usr/lib/ceph/bin
+usr/bin/ceph_rgw_jsonparser /usr/lib/ceph/bin
+usr/bin/ceph_rgw_multiparser /usr/lib/ceph/bin
+usr/bin/ceph_scratchtool /usr/lib/ceph/bin
+usr/bin/ceph_scratchtoolpp /usr/lib/ceph/bin
+usr/bin/ceph_smalliobench /usr/lib/ceph/bin
+usr/bin/ceph_smalliobenchdumb /usr/lib/ceph/bin
+usr/bin/ceph_smalliobenchfs /usr/lib/ceph/bin
+usr/bin/ceph_smalliobenchrbd /usr/lib/ceph/bin
+usr/bin/ceph_test_* /usr/lib/ceph/bin
+usr/bin/ceph_tpbench /usr/lib/ceph/bin
+usr/bin/ceph_xattr_bench /usr/lib/ceph/bin
+usr/bin/librgw_file* /usr/lib/ceph/bin
+usr/lib/*/ceph/ceph-monstore-update-crush.sh /usr/lib/ceph
diff --git a/ceph-test.jlibs b/ceph-test.jlibs
new file mode 100644 (file)
index 0000000..ca3da00
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/share/java/libcephfs-test.jar
\ No newline at end of file
diff --git a/ceph-test.lintian-overrides b/ceph-test.lintian-overrides
new file mode 100644 (file)
index 0000000..7a8b3cb
--- /dev/null
@@ -0,0 +1,5 @@
+# False-positives:
+spelling-error-in-binary * tEH the
+
+# Acknowledged:
+binary-without-manpage
diff --git a/ceph.NEWS b/ceph.NEWS
new file mode 100644 (file)
index 0000000..ee9db2f
--- /dev/null
+++ b/ceph.NEWS
@@ -0,0 +1,180 @@
+ceph (10.2.5-1) unstable; urgency=medium
+
+  ## Upgrades from Debian Jessie
+
+  Online upgrades from Ceph versions prior to Hammer (0.94.x) are not
+  supported by upstream. As Debian Jessie has Ceph Firefly (0.80.x) an
+  online upgrade from Jessie to Stretch is not possible. You have to first
+  shutdown all Ceph daemons on all nodes, upgrade everything to the new
+  version and start all daemons again.
+
+  Ceph daemons are not automatically restarted on upgrade to minimize
+  disruption. You have to manually restart them after the upgrade.
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Sun, 08 Jan 2017 14:57:35 +0100
+
+ceph (9.2.0-1) experimental; urgency=medium
+
+  ## systemd Enablement
+
+  For all distributions that support systemd (Debian Jessie 8.x,
+  Ubuntu >= 16.04), Ceph daemons are now managed using upstream provided
+  systemd files instead of the legacy sysvinit scripts or distro provided
+  systemd files.  For example:
+
+    systemctl start ceph.target       # start all daemons
+    systemctl status ceph-osd@12      # check status of osd.12
+
+  To upgrade existing deployments that use the older systemd service
+  configurations (Ubuntu >= 15.04, Debian >= Jessie), you need to switch
+  to using the new ceph-mon@ service:
+
+    systemctl stop ceph-mon
+    systemctl disable ceph-mon
+
+    systemctl start ceph-mon@`hostname`
+    systemctl enable ceph-mon@`hostname`
+
+  and also enable the ceph target post upgrade:
+
+    systemctl enable ceph.target
+
+  The main notable distro that is *not* using systemd is Ubuntu 14.04
+  (The next Ubuntu LTS, 16.04, will use systemd instead of upstart).
+
+  ## Ceph daemons no longer run as root
+
+  Ceph daemons now run as user and group 'ceph' by default.  The
+  ceph user has a static UID assigned by Debian to ensure consistency
+  across servers within a Ceph deployment.
+
+  If your systems already have a ceph user, upgrading the package will cause
+  problems.  We suggest you first remove or rename the existing 'ceph' user
+  and 'ceph' group before upgrading.
+
+  When upgrading, administrators have two options:
+
+  1. Add the following line to 'ceph.conf' on all hosts:
+
+       setuser match path = /var/lib/ceph/$type/$cluster-$id
+
+     This will make the Ceph daemons run as root (i.e., not drop
+     privileges and switch to user ceph) if the daemon's data
+     directory is still owned by root.  Newly deployed daemons will
+     be created with data owned by user ceph and will run with
+     reduced privileges, but upgraded daemons will continue to run as
+     root.
+
+  2. Fix the data ownership during the upgrade.  This is the
+     preferred option, but it is more work and can be very time
+     consuming.  The process for each host is to:
+
+     1. Upgrade the ceph package.  This creates the ceph user and group.  For
+        example:
+
+          apt-get install ceph
+
+        NOTE: the permissions on /var/lib/ceph/mon will be set to ceph:ceph
+              as part of the package upgrade process on existing *systemd*
+              based installations; the ceph-mon systemd service will be
+              automatically restarted as part of the upgrade.  All other
+              filesystem permissions on systemd based installs will
+              remain unmodified by the upgrade.
+
+     2. Stop the daemon(s):
+
+          systemctl stop ceph-osd@*   # debian, ubuntu >= 15.04
+          stop ceph-all               # ubuntu 14.04
+
+     3. Fix the ownership:
+
+          chown -R ceph:ceph /var/lib/ceph
+
+     4. Restart the daemon(s):
+
+          start ceph-all                # ubuntu 14.04
+          systemctl start ceph.target   # debian, ubuntu >= 15.04
+
+     Alternatively, the same process can be done with a single daemon
+     type, for example by stopping only monitors and chowning only
+     '/var/lib/ceph/osd'.
+
+  ## KeyValueStore OSD on-disk format changes
+
+  The on-disk format for the experimental KeyValueStore OSD backend has
+  changed.  You will need to remove any OSDs using that backend before you
+  upgrade any test clusters that use it.
+
+  ## Deprecated commands
+
+  'ceph scrub', 'ceph compact' and 'ceph sync force' are now DEPRECATED.
+  Users should instead use 'ceph mon scrub', 'ceph mon compact' and
+  'ceph mon sync force'.
+
+  ## Full pool behaviour
+
+  When a pool quota is reached, librados operations now block indefinitely,
+  the same way they do when the cluster fills up.  (Previously they would
+  return -ENOSPC).  By default, a full cluster or pool will now block.  If
+  your librados application can handle ENOSPC or EDQUOT errors gracefully,
+  you can get error returns instead by using the new librados
+  OPERATION_FULL_TRY flag.
+
+ -- James Page <james.page@ubuntu.com>  Mon, 30 Nov 2015 09:23:09 +0000
+
+ceph (0.80.9-2) unstable; urgency=medium
+
+  ## CRUSH fixes in 0.80.9
+
+  The 0.80.9 point release fixes several issues with CRUSH that trigger excessive
+  data migration when adjusting OSD weights. These are most obvious when a very
+  small weight change (e.g., a change from 0 to .01) triggers a large amount of
+  movement, but the same set of bugs can also lead to excessive (though less
+  noticeable) movement in other cases.
+
+  However, because the bug may already have affected your cluster, fixing it
+  may trigger movement back to the more correct location. For this reason, you
+  must manually opt-in to the fixed behavior.
+
+  In order to set the new tunable to correct the behavior:
+
+      ceph osd crush set-tunable straw_calc_version 1
+
+  Note that this change will have no immediate effect. However, from this
+  point forward, any ‘straw’ bucket in your CRUSH map that is adjusted will get
+  non-buggy internal weights, and that transition may trigger some rebalancing.
+
+  You can estimate how much rebalancing will eventually be necessary on your
+  cluster with:
+
+      ceph osd getcrushmap -o /tmp/cm
+      crushtool -i /tmp/cm --num-rep 3 --test --show-mappings > /tmp/a 2>&1
+      crushtool -i /tmp/cm --set-straw-calc-version 1 -o /tmp/cm2
+      crushtool -i /tmp/cm2 --reweight -o /tmp/cm2
+      crushtool -i /tmp/cm2 --num-rep 3 --test --show-mappings > /tmp/b 2>&1
+      wc -l /tmp/a                          # num total mappings
+      diff -u /tmp/a /tmp/b | grep -c ^+    # num changed mappings
+
+  Divide the total number of lines in /tmp/a with the number of lines
+  changed.  We've found that most clusters are under 10%.
+
+  You can force all of this rebalancing to happen at once with:
+
+      ceph osd crush reweight-all
+
+  Otherwise, it will happen at some unknown point in the future when
+  CRUSH weights are next adjusted.
+
+  ## Mapping rbd devices with rbdmap on systemd systems
+
+  If you have setup rbd mappings in /etc/ceph/rbdmap and corresponding mounts
+  in /etc/fstab things might break with systemd because systemd waits for the
+  rbd device to appear before the legacy rbdmap init file has a chance to run
+  and drops into emergency mode if it times out.
+
+  This can be fixed by adding the nofail option in /etc/fstab to all rbd
+  backed mount points. With this systemd does not wait for the device and
+  proceeds with the boot process. After rbdmap mapped the device, systemd
+  detects the new device and mounts the file system.
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Mon, 04 May 2015 22:49:48 +0200
diff --git a/ceph.init b/ceph.init
new file mode 120000 (symlink)
index 0000000..b538109
--- /dev/null
+++ b/ceph.init
@@ -0,0 +1 @@
+../src/init-ceph
\ No newline at end of file
diff --git a/ceph.maintscript b/ceph.maintscript
new file mode 100644 (file)
index 0000000..ec2c87d
--- /dev/null
@@ -0,0 +1,11 @@
+rm_conffile /etc/logrotate.d/ceph 10.2.3-0ubuntu5~
+rm_conffile /etc/init/ceph-osd.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-osd-all-starter.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-create-keys.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-osd-all.conf 10.2.5-1~
+rm_conffile /etc/init/rbdmap.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-mon-all-starter.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-all.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-mon.conf 10.2.5-1~
+rm_conffile /etc/init/ceph-mon-all.conf 10.2.5-1~
+rm_conffile /etc/bash_completion.d/ceph 10.2.5-1~
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..4c0a7dd
--- /dev/null
+++ b/changelog
@@ -0,0 +1,788 @@
+ceph (10.2.5-7.2+rpi1) buster-staging; urgency=medium
+
+  * Add Raspbian to lists of "debian-like" distros.
+    + Hopefully this will fix site-packages vs dist-packages
+      build failure in Raspbian.
+
+ -- Peter Michael Green <plugwash@raspbian.org>  Sun, 30 Jul 2017 09:48:17 +0000
+
+ceph (10.2.5-7.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Build with -g1 instead of -g on 32bit architectures to fix
+    FTBFS due to the 2GB/3GB address space limits.
+
+ -- Adrian Bunk <bunk@debian.org>  Wed, 07 Jun 2017 11:39:39 +0300
+
+ceph (10.2.5-7.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * ceph-mon: Add Breaks+Replaces: ceph-common (<< 10) for taking over
+    /usr/bin/ceph-rest-api.  (Closes: #864161)
+
+ -- Andreas Beckmann <anbe@debian.org>  Tue, 06 Jun 2017 09:08:30 +0200
+
+ceph (10.2.5-7) unstable; urgency=medium
+
+  * [a12798] Add fix-init-system-detection.patch.
+    This replaces the static init system detection by more appropriate
+    runtime detection which also works if a Debian system is running with
+    sysvinit. (Closes: #862075)
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Fri, 12 May 2017 12:12:00 +0200
+
+ceph (10.2.5-6) unstable; urgency=medium
+
+  * [e44a30] Disable running dh_auto_install with parallel jobs
+    (Closes: #850906)
+  * [b7e926] Link with libatomic and --as-needed on all archs (Closes: #850831)
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Wed, 11 Jan 2017 12:02:24 +0100
+
+ceph (10.2.5-5) unstable; urgency=medium
+
+  * [f4675d] Set _FILE_OFFSET_BITS=64 via DEB_CPPFLAGS_MAINT_APPEND
+  * [f60392] Install systemd targets for ceph services (Closes: #850509)
+  * [d3baba] Link with -latomic on mips/mipsel
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Tue, 10 Jan 2017 09:04:48 +0100
+
+ceph (10.2.5-4) unstable; urgency=medium
+
+  * [88034c] Build with ggc-min-expand=5 on mips/el (Closes: #849657)
+  * [c31e79] Add patch to build rocksdb with -latomic on mips/el
+  * [182dd8] NEWS entry about upgrades from Debian Jessie
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Sun, 08 Jan 2017 21:34:21 +0100
+
+ceph (10.2.5-3) unstable; urgency=medium
+
+  * [eeff8d] Use -mfloat-abi=softfp on armel for NEON plugin (Closes: #849660)
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Thu, 05 Jan 2017 09:18:41 +0100
+
+ceph (10.2.5-2) unstable; urgency=medium
+
+  * [3859ca] Only list missing files instead of failing (Closes: #849031)
+  * [47aef7] Remove chrony from recommends (provides time-daemon)
+    (Closes: #827673)
+  * [3e96e6] Upstream fix for CVE-2016-9579 (short CORS request)
+    (Closes: #849048)
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Sat, 24 Dec 2016 13:14:28 +0100
+
+ceph (10.2.5-1) unstable; urgency=medium
+
+  [ James Page ]
+  * [754935] Imported Upstream version 9.2.0
+    - [df85c3] Resync relevant packaging changes with upstream.
+    - [be5f82] Refresh patches.
+    - [d1f3fe] Add python-setuptools to BD's for ceph-detect-init.
+    - [b2f926] Add lsb-release to BD's to ensure that python modules are
+               installed to correct locations.
+    - [e4d702] Add python-sphinx to BD's to ensure man pages get generated
+               and installed.
+    - [3ead6e] Correct install location for ceph-monstore-update tool.
+    - [269754] [177b7a] Update symbols for new release.
+  * [4c45629] Update NEWS file for infernalis changes.
+  * [940491e] Limit number of parallel builds to 2 to reduce memory footprint
+              on builders.
+  * [a2bed4] New upstream version 10.2.5
+  * [cbfb6b] Sync upstream changes around rbdmap install and conf files.
+  * [5c52b2] Drop patches include upstream, refresh remaining patches
+  * [8f9820] Resync further packaging changes from upstream.
+  * [27d010] Re-add bz2-dev BD.
+  * [e94aa2] Add python-dev to BD's.
+  * [e201c1] d/p/pybind-flags.patch: Ensure that cython *FLAGS are correctly
+             set.
+  * [14cd12] d/p/fix-systemd-escaping.patch: Ensure that leading '/' is stripped
+             from block device paths when escaping for use in systemd unit
+             names.
+  * [33b3aa] Add pull request for systemd fixes
+  * [d781a2] d/ceph-mds.postinst: Fix syntax error.
+  * [ce55ec] Ensure that python flags are correct set for cython rbd build.
+  * [f9e35b] Switch rbd python binding to cython
+  * [8ccae0] Drop ceph_volume_client until its actually in the codebase.
+  * [0a11cc] Install to relative, not absolute /etc/ceph.
+  * [e2415a] Drop ceph-bluefs-tool from ceph package.
+  * [b16966] d/ceph-mds.dirs: Actually create /var/lib/ceph/mds prior to
+             changing permissions (LP: #1544647).
+  * [0c1201] d/ceph.init: Restore link to init-ceph, resolving un-install
+             failures due to missing init script (LP: #1546112).
+
+  [ Gaudenz Steinlin ]
+  * [e3cb86] Remove no longer needed check for dh-autoreconf>=6
+  * [9157b3] Install ceph-brag tool into ceph-common
+  * [74e9f3] Install ceph-client-debug into ceph-test
+  * [476449] Use jh_installlib to install Java libraries
+  * [643f6e] Don't remove configure script on dh_clean
+  * [4bb203] Remove *.la files to binary packages
+  * [b76c6a] Add build dependency on libboost-iostreams-dev
+  * [b0506f] Add build dependency on libldap2-dev
+  * [526ce1] Refresh patches for upstream version 10.2.2
+  * [cf539b] Remove patches applied upstream in 10.2.2
+
+  [ James Page ]
+  * [646b48] Add librgw2 binary packages.
+  * [ae3cda] Drop virtualenv from BD's.
+  * [7ebd7c] Re-enable rocksdb build for bluestore support
+  * [e393e5] Add rbd-mirror package
+  * [00d06d] Add patch to set g++ flags correctly for rocksdb
+  * [3b029a] Enable gperftools on arm64 architecture.
+  * [e88620] Add ceph-bluefs-tool to install.
+  * [4f40a1] Add s390x to list of rocksdb flags
+  * [858334] d/p/skip-setup.py-makefiles.patch,rules: Avoid use of virtualenv to
+             install ceph-disk and ceph-detect-init python modules.
+  * [40c3b7] Update watch file to scan for gz files.
+  * [49b716] Install librgw_file* as part of ceph-test package.
+
+  [ Gaudenz Steinlin ]
+  * [2e156d] d/rules: Install upstart and systemd configurations for rbd-mirror.
+
+  [ James Page ]
+  * [ca0b07] d/copyright: Ensure that jerasure and gf-complete are not stripped
+             from the upstream release tarball.
+  * [eee861] d/p/disable-openssl-linking.patch: Disable build time linking with
+             OpenSSL due to licensing incompatibilities.
+  * [07d7a6] d/*.symbols: Add new symbols for RC.
+  * [2416f1] Fix multiarch paths for librgw
+  * [2da01d] d/rules: Ensure that dh_systemd_start does not insert maintainer
+             script snippets for ceph-mon and ceph-create-keys - service restart
+             should be handled outside of the packaging as it is under upstart
+             and for all other systemd unit files installed (LP: #1563330).
+  * [76ec3b] d/ceph-common.postinst: Silence output of usermod call
+             (LP: #1569249).
+  * [63d60f] d/rules,ceph-common.install: Ensure that /etc/default/ceph is a
+             file and not a directory (LP: #1587516).
+  * [a866ca] d/control: Bumped Standards-Version to 3.9.8, no changes.
+  * [e0811e] d/ceph.install: Drop install of 60-ceph-partuuid-workaround.rules
+             as no longer part of upstream codebase.
+  * [25954f] * d/*: Split ceph-osd and ceph-mon into separate binary packages
+             and add new ceph-base binary package inline with upstream packaging
+             changes (LP: #1596063).
+  * [f1287b] Add missing misc depends
+  * [afeb18] d/rules,control: Drop -dbg packages and let Ubuntu builds take care
+             of ddeb generation instead.
+
+  [ Gaudenz Steinlin ]
+  * [e133b2] Install rbdmap manpage into ceph-common
+  * [b5ed64] Install radosgw-token command into radosgw package
+  * [0a27e1] Adapt installation of Python files to latest Jewel release
+  * [ef2544] Drop rocksdb-flags patch applied upstream
+  * [07aef4] Add patch osd-limit-omap-data-in-push-op
+  * [32f14d] Refresh patches
+
+  [ James Page ]
+  * [f4e95c] Fix install location for mount.ceph
+  * [6a9efc] Update install location for mount.ceph.fuse
+  * [7624f0] d/control: Add Pre-Depends on ceph-common to ceph-osd to ensure
+             that ceph user and group are created prior to unpacking of udev
+             rules (LP: #1631328).
+
+  [ Frode Nordahl ]
+  * [022ee3] Add rgw_rados-creation_time patch
+
+  [ Gaudenz Steinlin ]
+  * [05225f] Remove old ceph logrotate configuration
+
+  [ James Page ]
+  * [cfa82f] Refresh patches
+
+  [ Gaudenz Steinlin ]
+  * [fdec5d] Remove upstart support
+  * [5966f0] Use new RSA key for ceph-post-file
+  * [3748b6] Only install ChangeLog as upstream changelog
+  * [aa1393] Install bash-completions to /usr
+  * [ab0a88] Dependency on lsb-base for initscripts
+  * [4d78b0] Disable radosgw SysV init script on systemd
+  * [ff4c87] Don't install python bytecode
+  * [3cbf5e] Add missing dependencies on python (ceph-osd, ceph-mon)
+  * [8c70df] Update symbols files (librados2 and librbd1)
+  * [e4f0c5] Add ${shlibs:Depends} on Python C extensions
+  * [936838] Allow setting the number of parallel jobs
+  * [e5aa0f] Remove Laszlo and add myself to uploaders
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Sat, 17 Dec 2016 22:40:22 +0100
+
+ceph (0.94.5-1) experimental; urgency=medium
+
+  * [2d330d6] New upstream release:
+    - [1e93090] Drop patch for CVE-2015-5245, included upstream.
+    - [20adc7d] Refresh all other patches.
+  * [9255e5d] Ensure any erasure coding test libraries and dangling symlinks
+              are not included in the ceph package.
+
+ -- James Page <james.page@ubuntu.com>  Mon, 09 Nov 2015 12:09:51 +0000
+
+ceph (0.94.3-1) experimental; urgency=medium
+
+  * [580fef] Imported Upstream version 0.94.3 (Closes:  #777814, #795178)
+  * [536935] Add upstream patch to fix CVE-2015-5245 (Closes: #798567)
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Fri, 18 Sep 2015 16:55:23 +0200
+
+ceph (0.94.2-2) experimental; urgency=medium
+
+  * Revert "Drop virtualenv BD, disable unit tests."
+  * Restore patches for test enablement.
+  * Display test-suite log output in the event of failures.
+
+ -- James Page <james.page@ubuntu.com>  Mon, 20 Jul 2015 13:37:06 +0100
+
+ceph (0.94.2-1) experimental; urgency=medium
+
+  * Resync with Ubuntu, introducing Ceph Hammer stable release:
+    - d/*.symbols: Update inline with upstream additions, use regex
+      for ceph version symbol.
+    - d/lib-systemd/system/ceph-create-keys.service: Automatically create
+      admin and bootstrap keys after ceph mon startup.
+    - d/p/vivid-does-systemd.patch: Ensure that disks prepared on vivid
+      or later use systemd for init.
+    - d/lib-systemd/system/*.service: Align nofile limits and restart config
+      with equivalent upstart configurations.
+    - d/p/fix-cycles-arch.patch: Skip initialization of cycles_per_sec
+      if rtdsc (or equivalent) is not supported.
+    - d/ceph{-common}.install,control: Move ceph_argparse.py down into
+      ceph-common package to fixup ceph cli usage/autopkgtest failure.
+    - d/control,ceph-common.install,librbd1.install: Move rbdnamer and
+      associated udev rules into ceph-common package.
+    - d/control,python-*: Split out rbd, rados and cephfs bindings into
+      separate python packages, move some bits into ceph/ceph-common.
+    - d/control: Move python-flask dependency to ceph package, only required
+      for REST API.
+    - d/control: Use google-perftools on arm64.
+    - d/control: Re-order Recommends to prefer ntp over chrony for Ubuntu.
+    - d/p/ceph-osd-prestart-path.patch: Fixup path for ceph-osd upstart
+      configuration pre-start script.
+    - d/p/fix-argparse-defaults.patch: Workaround behavioural change in
+      argparse set_defaults in python 2.7.9
+  * New upstream point release:
+    - d/p/*: Refresh.
+  * d/p/use_system_jerasure.patch,d/control: Drop use of libjerasure
+    as the patch is intrusive and expensive to maintain; will revisit if
+    adopted upstream.
+
+ -- James Page <james.page@ubuntu.com>  Tue, 16 Jun 2015 11:31:05 +0100
+
+ceph (0.87-2) experimental; urgency=low
+
+  * Team upload.
+
+  [ Gaudenz Steinlin ]
+  * README.Debian: added clarification about setting the hashpspool flag.
+    (Closes: #769596).
+
+  [ James Page ]
+  * Added new "modules.patch" to mark new erasure coding libraries as
+    modules, wildcard install.
+
+  [ Dmitry Smirnov ]
+  * Recommends: added "ntp" to list of time-daemon alternatives
+    (Closes: #767511).
+  * Introduced native systemd services (except "rbdmap"), (Closes: #769593).
+  * ceph-test: install forgotten files.
+  * Run post-build tests:
+    + updated "virtualenv-never-download.patch" to pass
+      "--system-site-packages" to virtualenv to prevent downloads.
+    + added new patches to disable network-dependent and failing tests.
+  * Patchworks:
+    - bug-9341.patch
+    + bug-10036.patch (to show OSD affinity in "ceph osd tree").
+      Thanks, Mykola Golub.
+    + bug-10059.patch
+    + 0latest-giant.patch (Last-Update: 2014-11-15).
+    + sleep-recover.patch
+    + tests-disable.patch (to disable tests that need cluster).
+    + tests-disable-ceph-disk.patch
+    + use_system_gtest.patch (commented)
+      as first attempt to build with system "libgtest-dev".
+    + use_system_jerasure.patch
+  * Build-Depends:
+    + libjerasure-dev (>= 2.0.0-2~)
+    + virtualenv
+    + valgrind [amd64 armhf i386 powerpc]
+  * rules: pass "--without-lttng" to explicitly disable "lttng" to avoid
+    auto-enable if found.
+  * rules: disabled bundled RocksDB:
+    RocksDB suppose to improve performance of keyvaluestore OSDs but the
+    latter slow down to nearly unusable state when filled over 1 TiB even with
+    RocksDB. Moreover KV backend is experimental and super dangerous -- I lost
+    cluster due to OSD poisoning caused by KV OSD which was plugged only
+    during limited time. LevelDB is good enough, for now I see no reason to
+    use RocksDB especially considering that it is not packaged separately.
+  * Removed myself from Uploaders.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Wed, 01 Apr 2015 11:47:38 +1100
+
+ceph (0.87-1) experimental; urgency=medium
+
+  * New major upstream release [October 2014].
+    + new "libradosstriper*" binary packages.
+  * Patchworks (removed old patches, refreshed remaining ones).
+    + "bug-9814.patch" to prevent OSD crash. Thanks, Haomai Wang.
+  * Install systemd sleep handler.
+  * Exclude erasure-code plugins from `dh_makeshlibs` processing to avoid
+    useless calls to `ldconfig` in maintainer scripts.
+  * Build-Depends:
+    + libbabeltrace-dev
+    + libbabeltrace-ctf-dev
+    + libbz2-dev
+    + libudev-dev
+    + zlib1g-dev
+  * Build with "--with-babeltrace".
+  * Build and statically link bundled RocksDB.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 30 Oct 2014 12:43:49 +1100
+
+ceph (0.80.9-2) unstable; urgency=medium
+
+  * [70fc1d] Add NEWS entry about CRUSH issues fixed in 0.80.9
+  * [f41bb6] Add NEWS entry about rbd backed filesystems and systemd
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Tue, 05 May 2015 21:29:15 +0200
+
+ceph (0.80.9-1) unstable; urgency=medium
+
+  * [4b4e] Imported Upstream version 0.80.9
+  * [7102] Remove patches firefly-latest and p2139 applied upstream
+  * [5869] Add myself to uploaders
+
+ -- Gaudenz Steinlin <gaudenz@debian.org>  Mon, 04 May 2015 08:49:37 +0200
+
+ceph (0.80.7-2) unstable; urgency=medium
+
+  * Team upload.
+  * Build-Depends: +libjerasure-dev (>= 2.0.0-2~)
+  * New patch to use system "jerasure" library instead of its bundled copy.
+  * Removed myself from Uploaders.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 11 Dec 2014 12:55:38 +1100
+
+ceph (0.80.7-1) unstable; urgency=medium
+
+  * New upstream release [October 2014].
+  * Minor update to long description of "rbd-fuse" (Closes: #765462).
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 16 Oct 2014 04:36:23 +1100
+
+ceph (0.80.6-1) unstable; urgency=medium
+
+  * New upstream release [October 2014].
+  * Standards-Version: 3.9.6.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 02 Oct 2014 23:07:04 +1000
+
+ceph (0.80.5-2) unstable; urgency=low
+
+  * Patchworks:
+    + new patch for Ceph#9341 to dramatically (e.g seconds instead of
+      hours) reduce rejoin (i.e. MDS restart) time (fuse clients).
+    + new "p2139.patch".
+    + new patch with fixes from Firefly HEAD;
+      includes patch to fix FTBFS on alpha (Closes: #756892).
+      updated "librbd1.symbols";
+  * Build-Depends: mark "yasm" as [amd64] (Closes: #760383).
+  * Recommends: + "time-daemon | chrony".
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Tue, 16 Sep 2014 03:54:15 +1000
+
+ceph (0.80.5-1) unstable; urgency=medium
+
+  * New upstream stable release:
+    - d/p/firefly-post-release.patch: Dropped, no longer required.
+    - d/lib{rados2,cephfs1}.symbols: Update with new symbols.
+
+ -- James Page <jamespage@debian.org>  Wed, 30 Jul 2014 10:15:40 +0100
+
+ceph (0.80.4-1) unstable; urgency=medium
+
+  * New upstream release [July 2014].
+  * New patches:
+    + rbdmap1-mount.patch
+    + rbdmap2-hooks.patch
+    + rbdmap3-lazyumount.patch
+    + bug-8821.patch
+  * radosgw: removed unused lintian overrides.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Fri, 18 Jul 2014 02:33:39 +1000
+
+ceph (0.80.1-2) unstable; urgency=low
+
+  * Megapatch from "firefly" branch with post-0.80.1 fixes.
+  * Patches for upstream bugs 8342, 8624 and some cherry-picks.
+  * New "bash-completion.patch" with Bash completion improvements.
+  * New patch to fix FTBFS on 'hppa' (Closes: #748571).
+  * "sample.ceph.conf.patch": minor update.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Sat, 05 Jul 2014 20:29:44 +1000
+
+ceph (0.80.1-1) unstable; urgency=low
+
+  * New upstream release [May 2014].
+  * Dropped all backported patches.
+  * New "sleep-recover" and "client-sleep[1,2,3]" patches to fix
+    fuse-client hang after resume from suspend [#8291]; thanks, Zheng Yan.
+  * New "gcj_search_path.patch" to find "jni.h" with gcj-jdk v4.9.0.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Wed, 14 May 2014 09:24:15 +1000
+
+ceph (0.80-1) unstable; urgency=low
+
+  * New upstream release [May 2014].
+    + upload to unstable.
+  * Updated "README.Debian".
+  * Updated "debian/copyright"; Thanks, László Böszörményi.
+  * Added backported patches:
+      [8113, 8175, 8282, 8291, bp0001, sample.ceph.conf].
+  * "gbp.conf": don't merge to experimental.
+  * lintian-overrides: spelling-error-in-binary * tEH the.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Wed, 07 May 2014 16:43:07 +1000
+
+ceph (0.80~rc1-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * Minor re-factoring of udev rules installation.
+  * ceph-common: added ceph-crush-location.1 man page.
+  * ceph-test-dbg: fixed Depends.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 24 Apr 2014 02:52:12 +1000
+
+ceph (0.79-3) experimental; urgency=low
+
+  * New "arch.patch" to detect build architecture using dpkg-architecture.
+  * Mark amd64-only symbols as such.
+  * Minor rules cleanup.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Sat, 19 Apr 2014 15:56:37 +1000
+
+ceph (0.79-2) experimental; urgency=low
+
+  [ James Page ]
+  * d/p/modules.patch,d/ceph.install: Mark all jerasure plugins as modules
+    and ensure they are all installed.
+
+  [ Dmitry Smirnov ]
+  * Patchworks:
+    - removed unused "defaults-leveldb-osd.patch".
+    + improved description of "modules.patch". Thanks, James Page.
+    + added new backported patches [#5469, #8008, _1606, spelling].
+  * Added .symbols and "dh_makeshlibs -V" shlibs tightening (Closes: #744382).
+  * README.Debian: added note regarding kernel client mount option.
+  * copyright: added license for man files.
+  * control: "Suggests: logrotate".
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Fri, 18 Apr 2014 18:27:01 +1000
+
+ceph (0.79-1) experimental; urgency=low
+
+  * New upstream release [April 2014].
+  * Tighten dependency on ceph-common.
+  * Install pm-suspend handler to stop/start ceph services on suspend/resume.
+  * New (inactive) patch to bump OSD's leveldb defaults.
+  * Patches dropped (applied-upstream):
+    - init.patch
+    - logrotate.patch
+    - fix-defaultweight.patch
+  * Refreshed "modules.patch".
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Tue, 08 Apr 2014 16:52:04 +1000
+
+ceph (0.78-2) experimental; urgency=low
+
+  * Standards to 3.9.5.
+  * debian/copyright: reviewed and updated.
+  * ceph-test: added lintian-override for "binary-without-manpage".
+  * Patchworks:
+    + refreshed/renamed/reordered "virtualenv-never-download.patch".
+    + new "init.patch" for init.d scripts lintianisation.
+    + new "logrotate.patch" to avoid rotating empty logs.
+    + new "fix-defaultweight.patch" to fix weight calculation on OSD start.
+    + new "gcj.patch" with partial fix to FTBFS with gcj-jdk.
+  * Use symlinks to simplify installation of init.d and logrotate scripts.
+  * Added retrospective changelog entry to mention new B-D "libblkid-dev".
+  * Added "debian/clean file".
+  * Added "README.Debian" file with some hopefully useful notes.
+  * Added "mount.fuse.ceph.8" man page.
+  * rules:
+    + "dh --with" optimised.
+    + set JAVAC to prevent FTBFS due to incorrect use of 'gcj', when detected.
+    + verbose mode for 'cp' and 'rm' commands.
+    + build with "--as-needed" to minimise needless linking.
+  * control:
+    + lintian/duplicate-short-description + consistent capitalisation.
+    + removed needless versioned dependencies from Build-Depends.
+    + added myself to Uploaders.
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Tue, 25 Mar 2014 07:17:40 +1100
+
+ceph (0.78-1) experimental; urgency=medium
+
+  * New upstream release:
+    - d/control: Add "xfslib-dev" and "libblkid-dev" to BD's.
+    - d/*: Sync relevant packaging changes from upstream.
+    - d/p/*: Drop upstreamed patches.
+    - d/p/modules.patch: Mark libcls_user.so and libec_jerasure.so as modules.
+    - d/ceph.install: Only install libec_jerasure.so.
+  * d/ceph-test.install: Install test binaries to /usr/lib/ceph/bin; they
+    really don't need to be installed on the default path.
+  * d/{ceph|radosgw|ceph-mds}.lintian-overrides: Add overrides for intentional
+    difference in naming and structure between upstart configurations and
+    init.d scripts.
+
+ -- James Page <james.page@ubuntu.com>  Sat, 22 Mar 2014 18:27:40 +0000
+
+ceph (0.72.2-3) unstable; urgency=medium
+
+  * Team upload.
+
+  [ James Page ]
+  * d/ceph-test.install: Install test binaries to /usr/lib/ceph/bin; they
+    really don't need to be installed on the default path.
+
+  [ Dmitry Smirnov ]
+  * Tightened shlibs with "dh_makeshlibs -V" (Closes: #679686).
+
+ -- Dmitry Smirnov <onlyjob@debian.org>  Mon, 14 Apr 2014 17:28:20 +1000
+
+ceph (0.72.2-2) unstable; urgency=medium
+
+  * d/radosgw.{postinst,postrm,preinst}: Handle renaming of radosgw
+    upstart configuration on upgrade@0.72.1-3.
+  * d/{ceph|ceph-mds|radosgw}.{postinst|prerm}: Check to ensure that system
+    is running upstart before trying to start/stop upstart configurations
+    (Closes: #734241, #738845, #738845).
+
+ -- James Page <jamespage@debian.org>  Sat, 08 Mar 2014 16:48:28 +0000
+
+ceph (0.72.2-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- James Page <james.page@ubuntu.com>  Wed, 01 Jan 2014 09:32:03 +0000
+
+ceph (0.72.1-3) unstable; urgency=low
+
+  * d/rules,ceph.install: Correct install paths for ceph-* helpers. 
+  * d/p/modules: Mark libcls_kvs.so as module.
+  * d/rules: Rename radosgw upstart configuration to radosgw-instance to
+    avoid namespace conflict with init script which breaks backwards
+    compatibility (LP: #1255464).
+
+ -- James Page <james.page@ubuntu.com>  Wed, 27 Nov 2013 10:52:48 +0000
+
+ceph (0.72.1-2) unstable; urgency=low
+
+  * Fix upgrade failures from ceph < 0.67.3-1 (Closes: #728164):
+    - d/control: ceph-mds Breaks/Replaces ceph (<< 0.67.3-1).
+    - d/control: ceph-fs-common Breaks/Replaces ceph-common (<< 0.67.3-1).
+  * d/rules,control: Use google-perftools on armhf and powerpc archs.
+
+ -- James Page <james.page@ubuntu.com>  Mon, 25 Nov 2013 10:13:19 +0000
+
+ceph (0.72.1-1) unstable; urgency=low
+
+  * New upstream stable release:
+    - d/ceph-test.install: Add new ceph_filestore_tool, ceph-kvstore-tool
+      and ceph_test_cls_hello binaries, drop ceph_test_store_tool.
+    - d/ceph-common.install: Add new ceph-post-file binary and manpage.
+    - d/ceph.install: Tweaked install path /usr/sbin -> /sbin.
+    - d/control: Add new BD's on python-nose and yasm.
+    - d/copyright: Updates inline with changes in codebase.
+    - d/ceph.install,rules: Install rbdmap init file using dh_installinit.
+    - Refresh patches.
+  * d/control,rules: Disable unit testing; it requires a forked version of
+    cram and is still trying to download dependencies using virtualenv.
+
+ -- James Page <james.page@ubuntu.com>  Fri, 22 Nov 2013 13:02:29 +0000
+
+ceph (0.67.3-1) unstable; urgency=low
+
+  [ Laszlo Boszormenyi ]
+  * New upstream release (Closes: #693866, #705262).
+  * Update debian/copyright.
+  * Sync with Ubuntu.
+
+  [ James Page ]
+  * d/control,rules,libcephfs-{java,jni}: Enable Java CephFS library,
+    add new BD's on javahelper and default-jdk, add dbg package.
+  * d/control: Add new BD on libboost-thread-dev for RADOS Gateway
+    keystone integration.
+  * d/{control,obsync.install}: Drop obsync package inline with
+    upstream.
+  * d/librbd-dev.install: Pickup new features.h file.
+  * Remove manual calls to ldconfig:
+    - d/lib{rados2|rbd1|cephfs1}.post*: Dropped - all these do is call
+      ldconfig which will automatically be done. 
+    - d/rules: Let dh_makeshlibs do its magic with postinst/postrm.
+  * d/tests/*: Added autopkgtests for librbd, librados, python-ceph
+    and the ceph CLI.
+  * d/control: Fix versions of librbd1, librados2 and libcephfs1 for
+    python-ceph as it requires an exact version match.
+  * d/ceph.docs: Drop - README from upstream is only useful for developers
+    (Closes: #722957).
+  * d/rules: Drop --upstart-only from dh_installinit calls for upstart
+    configurations; this is deprecated in Ubuntu and not support in Debian.
+  * d/rules: Exclude jni package from shlibs generation to avoid pointless
+    ldconfig calls in maintainer scripts.
+
+  [ Bastian Blank ]
+  * Use debhelper 9.
+  * Use dh-autoreconf.
+  * Install files from source tree if possible.
+  * Run test-suite:
+    - Build-depend on python-virtualenv.
+    - Ask virtualenv to never download anything.
+  * Fix clean target.
+  * Properly mark library modules:
+    - Don't longer exclude them from stripping.
+  * Drop all libtool .la files.
+  * Generate python dependencies.
+  * Don't exclude stuff from shlibs generation.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 01 Oct 2013 02:29:08 +0200
+
+ceph (0.48-1) unstable; urgency=low
+
+  * New upstream release, the first with long-term support.
+  * As gceph dropped by upstream, remove it from packaging.
+  * Build with hardening enabled and build-conflict with libcryptopp not to
+    mix up with libnss.
+  * Use symbol versioning (closes: #679686).
+  * Update debian/watch to GitHub tags.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 07 Jul 2012 07:53:40 +0200
+
+ceph (0.47.2-1) unstable; urgency=low
+
+  * New upstream release.
+  * Use system leveldb (closes: #667907).
+  * Remove librgw1 , librgw-dev and librgw1-dbg and add rest-bench and
+    rest-bench-dbg packages.
+  * Backport leveldb build fixes from upstream git as
+    fix_leveldb_dep_for_system_library_case.patch and
+    fix_leveldb_includes_for_system_library_case.patch .
+  * Update packaging.
+  * Sync with Ubuntu: switch build-dependency from libcryptopp to libnss as
+    libcryptopp is not seeded.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 03 Jun 2012 13:37:52 +0200
+
+ceph (0.44.1-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Fri, 06 Apr 2012 01:10:15 +0200
+
+ceph (0.43-1) unstable; urgency=low
+
+  * New upstream release, now creates /var/run/ceph on each start
+    (closes: #660238).
+  * Update debian/copyright .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 26 Feb 2012 04:07:02 +0100
+
+ceph (0.41-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 05 Feb 2012 10:07:38 +0100
+
+ceph (0.40-1) unstable; urgency=low
+
+  * New upstream release (closes: #652037).
+  * Adjust copyright to match upstream source changes.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 14 Jan 2012 12:01:30 +0100
+
+ceph (0.38-1) unstable; urgency=low
+
+  * New upstream release (closes: #647764), missingok is now part of logrotate
+    directives (closes: #645651).
+  * Rename ceph-client-tools package to ceph-common , libceph-dev to
+    libcephfs-dev and libceph1{,-dbg} ones to libcephfs1{,-dbg} respectively.
+  * Update upstream VCS locations.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 27 Nov 2011 21:40:52 +0100
+
+ceph (0.35-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 24 Sep 2011 16:51:57 +0200
+
+ceph (0.34-1) unstable; urgency=low
+
+  * New upstream release (closes: #638714).
+  * Make librbd-dev depends on librados-dev as it uses headers from the latter
+    (closes: #636845).
+  * Add new binary packages, gceph, gceph-dbg and obsync . The libcrush ones
+    removed.
+  * Change to quilt source format and tune packaging.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 28 Aug 2011 15:56:16 +0200
+
+ceph (0.27-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Remove references to other libraries from dependency_libs field
+    (closes: #621208). 
+
+ -- Luk Claes <luk@debian.org>  Sat, 28 May 2011 22:28:48 +0200
+
+ceph (0.27-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Mon, 25 Apr 2011 10:09:05 +0200
+
+ceph (0.25.2-1) unstable; urgency=low
+
+  * New upstream release.
+  * Make Ceph cross buildable (closes: #618939), thanks to Hector Oron.
+  * Disable libatomic-ops on ARMv4t (armel) archs to prevent FTBFS
+    (closes: #615235), thanks go to Hector Oron again.
+  * Rename librados1{,-dbg,-dev} packages to librados2{,-dbg,-dev} ones;
+    conflict with and replace the former ones.
+  * Add librbd1 and librbd-dev packages.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 27 Mar 2011 15:51:23 +0200
+
+ceph (0.24.3-2) unstable; urgency=low
+
+  * Make Ceph Linux only and build on all Linux archs (closes: #614890).
+  * Support parallel building via DEB_BUILD_OPTIONS .
+  * Add watch file, thanks to Clint Byrum (closes: #615021).
+  * Tune packaging.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Fri, 25 Feb 2011 15:17:26 +0100
+
+ceph (0.24.3-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 19 Feb 2011 12:25:43 +0100
+
+ceph (0.24.2-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 29 Jan 2011 15:25:14 +0100
+
+ceph (0.24.1-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Tue, 11 Jan 2011 22:23:18 +0100
+
+ceph (0.24-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Wed, 01 Dec 2010 09:26:25 -0800
+
+ceph (0.23.1-1) experimental; urgency=low
+
+  * Initial release (Closes: #506040)
+
+ -- Sage Weil <sage@newdream.net>  Sun, 21 Nov 2010 15:22:21 -0800
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..d8fa097
--- /dev/null
+++ b/clean
@@ -0,0 +1,3 @@
+src/rocksdb/util/build_version.cc
+src/pybind/*.pyc
+src/test/pybind/*.pyc
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..16301c4
--- /dev/null
+++ b/control
@@ -0,0 +1,503 @@
+Source: ceph
+Section: admin
+Priority: optional
+Maintainer: Ceph Maintainers <ceph-maintainers@lists.ceph.com>
+Uploaders: James Page <jamespage@debian.org>,
+           Gaudenz Steinlin <gaudenz@debian.org>
+Homepage: http://ceph.com/
+Vcs-Git: git://anonscm.debian.org/pkg-ceph/ceph.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ceph/ceph.git
+Build-Depends: cython,
+               debhelper (>= 9~),
+               default-jdk,
+               dh-autoreconf,
+               dh-python,
+               dh-systemd (>= 1.5),
+               dpkg-dev (>= 1.16.1~),
+               javahelper,
+               junit4,
+               libaio-dev,
+               libatomic-ops-dev,
+               libbabeltrace-ctf-dev,
+               libbabeltrace-dev,
+               libblkid-dev,
+               libboost-dev (>= 1.42),
+               libboost-iostreams-dev,
+               libboost-program-options-dev (>= 1.42),
+               libboost-random-dev,
+               libboost-regex-dev,
+               libboost-system-dev (>= 1.42),
+               libboost-thread-dev (>= 1.42),
+               libbz2-dev,
+               libcurl4-gnutls-dev,
+               libedit-dev,
+               libexpat1-dev,
+               libfcgi-dev,
+               libfuse-dev,
+               libgoogle-perftools-dev [i386 amd64 powerpc armhf arm64 ppc64el],
+               libkeyutils-dev,
+               libldap2-dev,
+               libleveldb-dev,
+               libnss3-dev,
+               libsnappy-dev,
+               libtool,
+               libudev-dev,
+               libxml2-dev,
+               lsb-release,
+               pkg-config,
+               python-all (>= 2.6.6-3~),
+               python-dev,
+               python-nose,
+               python-setuptools,
+               python-sphinx,
+               uuid-dev,
+               uuid-runtime,
+               valgrind [amd64 armhf i386 powerpc],
+               xfslibs-dev,
+               xfsprogs,
+               yasm [amd64],
+               zlib1g-dev
+Build-Conflicts: libcrypto++-dev
+Standards-Version: 3.9.8
+X-Python-Version: >= 2.6
+XS-Testsuite: autopkgtest
+
+Package: ceph
+Architecture: linux-any
+Depends: ceph-mon (= ${binary:Version}),
+         ceph-osd (= ${binary:Version}),
+         lsb-base (>= 3.0-6),
+         ${misc:Depends}
+Suggests: ceph-mds (= ${binary:Version})
+Description: distributed storage and file system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+
+Package: ceph-base
+Architecture: linux-any
+Depends: binutils,
+         ceph-common (= ${binary:Version}),
+         cryptsetup-bin | cryptsetup,
+         gdisk,
+         hdparm | sdparm,
+         parted,
+         uuid-runtime,
+         xfsprogs,
+         ${misc:Depends},
+         ${python:Depends},
+         ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ceph (<< 10.2.2-0ubuntu2~),
+        ceph-common (<< 9.2.0-0ubuntu1~),
+        ceph-test (<< 9.2.0-0ubuntu1~),
+        python-ceph (<< 0.94.1-1~)
+Replaces: ceph (<< 10.2.2-0ubuntu2~),
+          ceph-common (<< 9.2.0-0ubuntu1~),
+          ceph-test (<< 9.2.0-0ubuntu1~),
+          python-ceph (<< 0.94.1-1~)
+Recommends: libcephfs1,
+            librados2,
+            libradosstriper1,
+            librbd1,
+            ntp | time-daemon
+Suggests: logrotate
+Description: common ceph daemon libraries and management tools
+ Ceph is a distributed storage system designed to provide excellent
+ performance, reliability, and scalability.
+ .
+ This package contains the libraries and management tools that are common among
+ the three Ceph server daemons (ceph-mon, ceph-osd, ceph-mds). These tools are
+ necessary for creating, running, and administering a Ceph storage cluster.
+
+Package: rbd-mirror
+Architecture: linux-any
+Depends: ceph-common (= ${binary:Version}),
+         librados2 (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Description: Ceph daemon for mirroring RBD images
+ Ceph is a distributed storage system designed to provide excellent
+ performance, reliability, and scalability.
+ .
+ This package provides a daemon for mirroring RBD images between
+ Ceph clusters, streaming changes asynchronously.
+
+Package: rbd-nbd
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: NBD-based rbd client for the Ceph distributed file system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.  This is a
+ NBD-based client that allows one to map Ceph rbd images as local
+ block device.
+ .
+ NBD base client that allows one to map Ceph rbd images as local
+ block device.
+
+Package: ceph-common
+Architecture: linux-any
+Depends: librbd1 (= ${binary:Version}),
+         lsb-base (>= 3.0-6),
+         python-cephfs (= ${binary:Version}),
+         python-rados (= ${binary:Version}),
+         python-rbd (= ${binary:Version}),
+         python-requests,
+         ${misc:Depends},
+         ${python:Depends},
+         ${shlibs:Depends}
+Conflicts: ceph-client-tools
+Breaks: ceph (<< 9.2.0-1~),
+        ceph-test (<< 9.2.0-1~),
+        librbd1 (<< 0.94.1-1~),
+        python-ceph (<< 0.94.1-1~)
+Replaces: ceph (<< 9.2.0-1~),
+          ceph-client-tools,
+          ceph-test (<< 9.2.0-1~),
+          librbd1 (<< 0.94.1-1~),
+          python-ceph (<< 0.94.1-1~)
+Suggests: ceph, ceph-mds
+Description: common utilities to mount and interact with a ceph storage cluster
+ Ceph is a distributed storage and file system designed to provide
+ excellent performance, reliability, and scalability.  This is a collection
+ of common tools that allow one to interact with and administer a Ceph cluster.
+
+Package: ceph-mds
+Architecture: linux-any
+Depends: ceph, ${misc:Depends}, ${shlibs:Depends}
+Recommends: ceph-fs-common, ceph-fuse, libcephfs1
+Breaks: ceph (<< 0.67.3-1)
+Replaces: ceph (<< 0.67.3-1)
+Description: metadata server for the ceph distributed file system
+ Ceph is a distributed storage and network file system designed to
+ provide excellent performance, reliability, and scalability.
+ .
+ This package contains the metadata server daemon, which is used to
+ create a distributed file system on top of the ceph storage cluster.
+
+Package: ceph-mon
+Architecture: linux-any
+Depends: ceph-base (= ${binary:Version}),
+         python-flask,
+         ${misc:Depends},
+         ${python:Depends},
+         ${shlibs:Depends}
+Replaces: ceph (<< 10.2.2-0ubuntu2~),
+          ceph-common (<< 10),
+Breaks: ceph (<< 10.2.2-0ubuntu2~),
+        ceph-common (<< 10),
+Description: monitor server for the ceph storage system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains the cluster monitor daemon for the Ceph storage
+ system. One or more instances of ceph-mon form a Paxos part-time parliament
+ cluster that provides extremely reliable and durable storage of cluster
+ membership, configuration, and state.
+
+Package: ceph-osd
+Architecture: linux-any
+Depends: ceph-base (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
+Pre-Depends: ceph-common (= ${binary:Version})
+Replaces: ceph (<< 10.2.2-0ubuntu2~)
+Breaks: ceph (<< 10.2.2-0ubuntu2~)
+Description: OSD server for the ceph storage system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains the Object Storage Daemon for the Ceph storage system.
+ It is responsible for storing objects on a local file system
+ and providing access to them over the network.
+
+Package: ceph-fuse
+Architecture: amd64
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Recommends: fuse
+Description: FUSE-based client for the Ceph distributed file system
+ Ceph is a distributed network file system designed to provide
+ excellent performance, reliability, and scalability.  This is a
+ FUSE-based client that allows one to mount a Ceph file system without
+ root privileges.
+ .
+ Because the FUSE-based client has certain inherent performance
+ limitations, it is recommended that the native Linux kernel client
+ be used if possible.  If it is not practical to load a kernel module
+ (insufficient privileges, older kernel, etc.), then the FUSE client will
+ do.
+
+Package: rbd-fuse
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Recommends: fuse
+Description: FUSE-based rbd client for the Ceph distributed file system
+ Ceph is a distributed network file system designed to provide
+ excellent performance, reliability, and scalability.  This is a
+ FUSE-based client that allows one to map Ceph rbd images as files.
+
+Package: ceph-fs-common
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Breaks: ceph-common (<< 0.67.3-1)
+Conflicts: ceph-client-tools
+Replaces: ceph-client-tools, ceph-common (<< 0.67.3-1)
+Suggests: ceph-mds
+Description: common utilities to mount and interact with a ceph file system
+ Ceph is a distributed network file system designed to provide
+ excellent performance, reliability, and scalability.  This is a collection
+ of common tools, including the mount utility, that allows one to mount the
+ Ceph file system with the kernel client.
+
+Package: ceph-resource-agents
+Architecture: all
+Priority: extra
+Recommends: pacemaker
+Depends: ceph (>= ${binary:Version}), resource-agents, ${misc:Depends}
+Description: OCF-compliant resource agents for Ceph
+ Ceph is a distributed storage and network file system designed to provide
+ excellent performance, reliability, and scalability.
+ .
+ This package contains the resource agents (RAs) which integrate
+ Ceph with OCF-compliant cluster resource managers,
+ such as Pacemaker.
+
+Package: librados2
+Architecture: linux-any
+Section: libs
+Conflicts: librados, librados1
+Replaces: librados, librados1
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: RADOS distributed object store client library
+ RADOS is a reliable, autonomic distributed object storage cluster
+ developed as part of the Ceph distributed storage system.  This is a
+ shared library allowing applications to access the distributed object
+ store using a simple file-like interface.
+
+Package: librados-dev
+Architecture: linux-any
+Section: libdevel
+Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Conflicts: librados1-dev, librados2-dev
+Replaces: librados1-dev, librados2-dev
+Description: RADOS distributed object store client library (development files)
+ RADOS is a reliable, autonomic distributed object storage cluster
+ developed as part of the Ceph distributed storage system.  This is a
+ shared library allowing applications to access the distributed object
+ store using a simple file-like interface.
+ .
+ This package contains development files needed for building applications that
+ link against librados2.
+
+Package: libradosstriper1
+Architecture: linux-any
+Section: libs
+Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Description: RADOS striping interface
+ Striping interface built on top of the rados library, allowing
+ to stripe bigger objects onto several standard rados objects using
+ an interface very similar to the rados one.
+
+Package: libradosstriper-dev
+Architecture: linux-any
+Section: libdevel
+Depends: libradosstriper1 (= ${binary:Version}), ${misc:Depends}
+Description: RADOS striping interface (development files)
+ libradosstriper is a striping interface built on top of the rados
+ library, allowing to stripe bigger objects onto several standard
+ rados objects using an interface very similar to the rados one.
+ .
+ This package contains development files needed for building applications that
+ link against libradosstriper.
+
+Package: librbd1
+Architecture: linux-any
+Section: libs
+Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: RADOS block device client library
+ RBD is a block device striped across multiple distributed objects
+ in RADOS, a reliable, autonomic distributed object storage cluster
+ developed as part of the Ceph distributed storage system.  This is a
+ shared library allowing applications to manage these block devices.
+
+Package: librbd-dev
+Architecture: linux-any
+Section: libdevel
+Depends: librados-dev, librbd1 (= ${binary:Version}), ${misc:Depends}
+Conflicts: librbd1-dev
+Replaces: librbd1-dev
+Description: RADOS block device client library (development files)
+ RBD is a block device striped across multiple distributed objects
+ in RADOS, a reliable, autonomic distributed object storage cluster
+ developed as part of the Ceph distributed storage system.  This is a
+ shared library allowing applications to manage these block devices.
+ .
+ This package contains development files needed for building applications that
+ link against librbd1.
+
+Package: libcephfs1
+Architecture: linux-any
+Section: libs
+Conflicts: libceph, libceph1, libcephfs
+Replaces: libceph, libceph1, libcephfs
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: Ceph distributed file system client library
+ Ceph is a distributed network file system designed to provide
+ excellent performance, reliability, and scalability.  This is a
+ shared library allowing applications to access a Ceph distributed
+ file system via a POSIX-like interface.
+
+Package: libcephfs-dev
+Architecture: linux-any
+Section: libdevel
+Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}
+Conflicts: libceph-dev, libceph1-dev, libcephfs1-dev
+Replaces: libceph-dev, libceph1-dev, libcephfs1-dev
+Description: Ceph distributed file system client library (development files)
+ Ceph is a distributed network file system designed to provide
+ excellent performance, reliability, and scalability.  This is a
+ shared library allowing applications to access a Ceph distributed
+ file system via a POSIX-like interface.
+ .
+ This package contains development files needed for building applications that
+ link against libcephfs1.
+
+Package: librgw2
+Architecture: linux-any
+Section: libs
+Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Description: RADOS Gateway client library
+ RADOS is a distributed object store used by the Ceph distributed
+ storage system.  This package provides a REST gateway to the
+ object store that aims to implement a superset of Amazon's S3
+ service.
+ .
+ This package contains the library interface and headers only.
+
+Package: librgw-dev
+Architecture: linux-any
+Section: libdevel
+Depends: librados-dev (= ${binary:Version}),
+         librgw2 (= ${binary:Version}),
+         ${misc:Depends}
+Description: RADOS client library (development files)
+ RADOS is a distributed object store used by the Ceph distributed
+ storage system.  This package provides a REST gateway to the
+ object store that aims to implement a superset of Amazon's S3
+ service.
+ .
+ This package contains development files needed for building applications
+ that link against librgw2.
+
+Package: radosgw
+Architecture: linux-any
+Depends: ceph-common (= ${binary:Version}),
+         librgw2 (= ${binary:Version}),
+         lsb-base (>= 3.0-6),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: logrotate
+Description: REST gateway for RADOS distributed object store
+ RADOS is a distributed object store used by the Ceph distributed
+ storage system.  This package provides a REST gateway to the
+ object store that aims to implement a superset of Amazon's S3
+ service as well as the OpenStack Object Storage ("Swift") API.
+ .
+ This package contains the proxy daemon and related tools only.
+
+Package: ceph-test
+Architecture: linux-any
+Depends: ceph-common,
+         curl,
+         xml2,
+         xmlstarlet,
+         ${misc:Depends},
+         ${shlibs:Depends}
+Description: Ceph test and benchmarking tools
+ Ceph is a distributed storage system designed to provide excellent
+ performance, reliability, and scalability.
+ .
+ This package contains tools for testing and benchmarking Ceph.
+
+Package: python-ceph
+Architecture: all
+Section: python
+Depends: python-cephfs (>= ${binary:Version}),
+         python-rados (>= ${binary:Version}),
+         python-rbd (>= ${binary:Version}),
+         ${misc:Depends},
+         ${python:Depends}
+Description: Meta-package for python libraries for the Ceph libraries
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package is a metapackage for all python bindings.
+
+Package: python-rados
+Architecture: linux-any
+Section: python
+Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
+Replaces: python-ceph (<< 0.94.1-1~)
+Breaks: python-ceph (<< 0.94.1-1~)
+Description: Python libraries for the Ceph librados library
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains Python libraries for interacting with Ceph's
+ RADOS object storage.
+
+Package: python-rbd
+Architecture: linux-any
+Section: python
+Depends: librbd1 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
+Replaces: python-ceph (<< 0.94.1-1~)
+Breaks: python-ceph (<< 0.94.1-1~)
+Description: Python libraries for the Ceph librbd library
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains Python libraries for interacting with Ceph's
+ RBD block device library.
+
+Package: python-cephfs
+Architecture: linux-any
+Section: python
+Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
+Replaces: python-ceph (<< 0.94.1-1~)
+Breaks: python-ceph (<< 0.94.1-1~)
+Description: Python libraries for the Ceph libcephfs library
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains Python libraries for interacting with Ceph's
+ CephFS file system client library.
+
+Package: libcephfs-java
+Architecture: all
+Section: java
+Depends: libcephfs-jni (>= ${binary:Version}), ${java:Depends}, ${misc:Depends}
+Description: Java library for the Ceph File System
+ Ceph is a distributed storage system designed to provide excellent
+ performance, reliability, and scalability.
+ .
+ This package contains the Java library for interacting with the Ceph
+ File System.
+
+Package: libcephfs-jni
+Architecture: linux-any
+Section: libs
+Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Description: Java Native Interface library for CephFS Java bindings
+ Ceph is a distributed storage system designed to provide excellent
+ performance, reliability, and scalability.
+ .
+ This package contains the Java Native Interface library for interacting
+ with the Ceph File System.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..4be351d
--- /dev/null
+++ b/copyright
@@ -0,0 +1,819 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: ceph
+Upstream-Contact: Sage Weil <sage@newdream.net>
+Source: http://ceph.com/
+
+Files: *
+Copyright: 2004-2014 Sage Weil <sage@newdream.net>
+           2004-2014 Inktank <info@inktank.com>
+                     Inktank, Inc
+                     Inktank Storage, Inc.
+           2012-2014 Red Hat <contact@redhat.com>
+           2013-2014 Cloudwatt <libre.licensing@cloudwatt.com>
+           2013      CohortFS, LLC
+           2004-2011 Dreamhost
+           2013      eNovance SAS <licensing@enovance.com>
+           2014      Adam Crume <adamcrume@gmail.com>
+           2012      Florian Haas, hastexo
+           2010      Greg Farnum <gregf@hq.newdream.net>
+           2014      John Spray <john.spray@inktank.com
+           2004-2012 New Dream Network
+           2014      Sebastien Ponce <sebastien.ponce@cern.ch>
+           2011      Stanislav Sedov <stas@FreeBSD.org>
+           2013-2014 UnitedStack <haomai@unitedstack.com>
+           2011      Wido den Hollander <wido@widodh.nl>
+License: LGPL-2.1
+
+Files: src/erasure-code/jerasure/ErasureCode*
+       src/erasure-code/ErasureCode*
+       src/erasure-code/isa/*
+       src/include/str_map.h
+       src/test/common/test_str_map.cc
+       src/test/erasure-code/*
+       src/test/rgw/test_rgw_manifest.cc
+Copyright: 2014      CERN/Switzerland
+           2013-2014 Cloudwatt <libre.licensing@cloudwatt.com>
+           2014      Red Hat <contact@redhat.com>
+           2013      eNovance SAS <licensing@enovance.com>
+License: LGPL-2.1+
+
+Files: src/erasure-code/isa/isa-l/erasure_code/*
+Copyright: 2011-2014 Intel Corporation
+License: BSD-3-clause
+
+Files: src/rocksdb/*
+Copyright: 2004-2013 Facebook, Inc.
+           2011      The LevelDB Authors
+           2009      Google Inc.
+License: BSD-3-clause
+Comment:
+ Additional Grant of Patent Rights
+ .
+ “Software” means the rocksdb software distributed by Facebook, Inc.
+ .
+ Facebook hereby grants you a perpetual, worldwide, royalty-free,
+ non-exclusive, irrevocable (subject to the termination provision below)
+ license under any rights in any patent claims owned by Facebook, to make,
+ have made, use, sell, offer to sell, import, and otherwise transfer the
+ Software. For avoidance of doubt, no license is granted under Facebook’s
+ rights in any patent claims that are infringed by (i) modifications to the
+ Software made by you or a third party, or (ii) the Software in combination
+ with any software or other technology provided by you or a third party.
+ .
+ The license granted hereunder will terminate, automatically and without
+ notice, for anyone that makes any claim (including by filing any lawsuit,
+ assertion or other action) alleging (a) direct, indirect, or contributory
+ infringement or inducement to infringe any patent: (i) by Facebook or any
+ of its subsidiaries or affiliates, whether or not such claim is related
+ to the Software, (ii) by any party if such claim arises in whole or in
+ part from any software, product or service of Facebook or any of its
+ subsidiaries or affiliates, whether or not such claim is related to the
+ Software, or (iii) by any party relating to the Software; or (b) that
+ any right in any patent claim of Facebook is invalid or unenforceable.
+
+Files: src/rocksdb/util/xxhash.*
+Copyright: 2012-2014, Yann Collet.
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: src/mount/canonicalize.c
+       src/test/common/test_config.cc
+       src/test/crush/TestCrushWrapper.cc
+       src/test/common/Throttle.cc
+       src/test/objectstore/chain_xattr.cc
+       src/test/mon/mon-test-helpers.sh
+       src/test/objectstore/chain_xattr.cc
+       src/test/osd/osd-test-helpers.sh
+       src/ceph-disk
+       src/stop.sh
+Copyright: 1993      Rick Sladkey <jrs@world.std.com>
+           2013      Inktank <info@inktank.com>
+           2013-2014 Cloudwatt <libre.licensing@cloudwatt.com>
+License: LGPL-2+
+
+Files: src/os/btrfs_ioctl.h
+       src/test/mon/PGMap.cc
+Copyright: 2007 Oracle.  All rights reserved.
+           2014 Inktank <info@inktank.com>
+License: GPL-2
+
+Files: src/common/ceph_hash.cc
+Copyright: 1995-1997 Robert J. Jenkins Jr.
+License: public-domain
+  This file uses Robert Jenkin's hash function as detailed at:
+  .
+    http://burtleburtle.net/bob/hash/evahash.html
+  .
+  This is in the public domain.
+
+Files: src/common/bloom_filter.hpp
+Copyright: 2000 Arash Partow
+License: Boost-Software-License-1.0
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+   The copyright notices in the Software and this entire statement,
+   including the above license grant, this restriction and the following
+   disclaimer, must be included in all copies of the Software, in whole or
+   in part, and all derivative works of the Software, unless such copies
+   or derivative works are solely in the form of machine-executable object
+   code generated by a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+Files: m4/acx_pthread.m4
+Copyright: Steven G. Johnson <stevenj@alum.mit.edu>
+License: GPLWithACException
+ This program is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ As a special exception, the respective Autoconf Macro’s copyright owner gives
+ unlimited permission to copy, distribute and modify the configure scripts that
+ are the output of Autoconf when processing the Macro. You need not follow the
+ terms of the GNU General Public License when using or distributing such
+ scripts, even though portions of the text of the Macro appear in them. The
+ GNU General Public License (GPL) does govern all other use of the material
+ that constitutes the Autoconf Macro.
+ .
+ This special exception to the GPL applies to versions of the Autoconf Macro
+ released by the Autoconf Archive. When you make and distribute a modified
+ version of the Autoconf Macro, you may extend this special exception to the
+ GPL to apply to your modified version as well.
+
+Files: src/common/crc32c_intel*
+Copyright: 2012-2013 Intel Corporation All Rights Reserved.
+License: BSD-3-clause
+
+Files: src/common/sctp_crc32.c
+Copyright: 2001-2007, by Cisco Systems, Inc. All rights reserved,
+           2004-2006 Intel Corporation - All Rights Reserved
+License: BSD-3-clause
+
+Files: src/erasure-code/jerasure/gf-complete/*/*
+Copyright: 2013 James S. Plank
+                Ethan L. Miller
+                Kevin M. Greenan
+                Benjamin A. Arnold
+                John A. Burnum
+                Adam W. Disney
+                Allen C. McBride
+License: BSD-3-clause
+Comment:
+ https://bitbucket.org/jimplank/gf-complete
+
+Files: src/erasure-code/jerasure/jerasure/*/*
+Copyright: 2011-2013 James S. Plank <plank@cs.utk.edu>
+           2013      Kevin Greenan
+License: BSD-3-clause
+
+Files: src/gtest/*
+Copyright: 2008, Google Inc.
+License: BSD-3-clause
+
+Files: src/civetweb/*
+Copyright: 2004-2013 Sergey Lyubka
+           2013-2014 the Civetweb developers
+License: Expat
+
+Files: src/json_spirit/*
+Copyright: 2007-2011, John W. Wilkinson
+License: Expat
+
+Files: src/java/native/ScopedLocalRef.h
+       src/java/native/JniConstants.*
+Copyright: 2010 The Android Open Source Project
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+      http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ The complete text of the Apache License, Version 2.0
+ can be found in "/usr/share/common-licenses/Apache-2.0".
+
+Files: src/libs3/*
+Copyright: 2008 Bryan Ischo <bryan@ischo.com>
+License: GPL-3/OpenSSL
+ libs3 is free software: you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation, version 3 of the License.
+ .
+ In addition, as a special exception, the copyright holders give
+ permission to link the code of this library and its programs with the
+ OpenSSL library, and distribute linked combinations including the two.
+ .
+ libs3 is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ details.
+ .
+ The complete text of the GNU General Public License version 3
+ can be found in "/usr/share/common-licenses/GPL-3' file.
+
+Files: src/mount/mtab.c
+Copyright: util-linux-ng AUTHORS
+License: GPL-2+
+Comment:
+ "mount/fstab.c" from line 559:
+ https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/mount-deprecated/fstab.c?h=v2.22#n559
+ https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/README.licensing
+
+Files: src/test/librbd/fsx.c
+Copyright: 1991, NeXT Computer, Inc.
+License: APSL-2.0
+ The contents of this file constitute Original Code as defined in and
+ are subject to the Apple Public Source License Version 2.0 (the
+ "License"). You may not use this file except in compliance with the
+ License. Please obtain a copy of the License at
+ http://www.opensource.apple.com/apsl/ and read it before using this file.
+ .
+ This Original Code and all software distributed under the License are
+ distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ License for the specific language governing rights and limitations
+ under the License.
+Comment:
+ http://codemonkey.org.uk/projects/fsx/
+ http://codemonkey.org.uk/projects/fsx/fsx-macosforge/fsx.c
+
+Files: man/*
+       debian/man/*
+Copyright: 2010-2014, Inktank Storage, Inc. and contributors.
+License: CC-BY-SA-3.0
+
+Files: debian/*
+Copyright: 2010      Sage Weil <sage@newdream.net>
+           2010      Canonical, Ltd.
+           2011-2013 László Böszörményi (GCS) <gcs@debian.org>
+           2013-2014 James Page <james.page@ubuntu.com>
+           2014      Dmitry Smirnov <onlyjob@debian.org>
+License: LGPL-2.1
+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ version 2 can be found in `/usr/share/common-licenses/GPL-2' file.
+
+License: GPL-2+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+License: LGPL-2.1
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License version 2.1 as published by the Free Software Foundation.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: LGPL-2.1+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: LGPL-2+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License version 2 (or later) as published by the Free Software Foundation.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License 2 can be found in `/usr/share/common-licenses/LGPL-2'.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+Comment:
+ This license also known as "MIT" however FSF consider "MIT" labelling
+ ambiguous and copyright-format specification recommend to label such license
+ as "Expat".
+
+License: CC-BY-SA-3.0
+ Creative Commons Attribution-ShareAlike 3.0 Unported
+ ․
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
+ ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE
+ INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ ITS USE.
+ ․
+ License
+ ․
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+ COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+ AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+ ․
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
+ TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
+ BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
+ CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
+ CONDITIONS.
+ ․
+ 1. Definitions
+ ․
+ a. "Adaptation" means a work based upon the Work, or upon the Work and
+ other pre-existing works, such as a translation, adaptation, derivative
+ work, arrangement of music or other alterations of a literary or
+ artistic work, or phonogram or performance and includes cinematographic
+ adaptations or any other form in which the Work may be recast,
+ transformed, or adapted including in any form recognizably derived from
+ the original, except that a work that constitutes a Collection will not
+ be considered an Adaptation for the purpose of this License. For the
+ avoidance of doubt, where the Work is a musical work, performance or
+ phonogram, the synchronization of the Work in timed-relation with a
+ moving image ("synching") will be considered an Adaptation for the
+ purpose of this License.
+ ․
+ b. "Collection" means a collection of literary or artistic works, such
+ as encyclopedias and anthologies, or performances, phonograms or
+ broadcasts, or other works or subject matter other than works listed in
+ Section 1(f) below, which, by reason of the selection and arrangement of
+ their contents, constitute intellectual creations, in which the Work is
+ included in its entirety in unmodified form along with one or more other
+ contributions, each constituting separate and independent works in
+ themselves, which together are assembled into a collective whole. A work
+ that constitutes a Collection will not be considered an Adaptation (as
+ defined below) for the purposes of this License.
+ ․
+ c. "Creative Commons Compatible License" means a license that is listed
+ at http://creativecommons.org/compatiblelicenses that has been approved
+ by Creative Commons as being essentially equivalent to this License,
+ including, at a minimum, because that license: (i) contains terms that
+ have the same purpose, meaning and effect as the License Elements of
+ this License; and, (ii) explicitly permits the relicensing of
+ adaptations of works made available under that license under this
+ License or a Creative Commons jurisdiction license with the same License
+ Elements as this License.
+ ․
+ d. "Distribute" means to make available to the public the original and
+ copies of the Work or Adaptation, as appropriate, through sale or other
+ transfer of ownership.
+ ․
+ e. "License Elements" means the following high-level license attributes
+ as selected by Licensor and indicated in the title of this License:
+ Attribution, ShareAlike.
+ ․
+ f. "Licensor" means the individual, individuals, entity or entities that
+ offer(s) the Work under the terms of this License.
+ ․
+ g. "Original Author" means, in the case of a literary or artistic work,
+ the individual, individuals, entity or entities who created the Work or
+ if no individual or entity can be identified, the publisher; and in
+ addition (i) in the case of a performance the actors, singers,
+ musicians, dancers, and other persons who act, sing, deliver, declaim,
+ play in, interpret or otherwise perform literary or artistic works or
+ expressions of folklore; (ii) in the case of a phonogram the producer
+ being the person or legal entity who first fixes the sounds of a
+ performance or other sounds; and, (iii) in the case of broadcasts, the
+ organization that transmits the broadcast.
+ ․
+ h. "Work" means the literary and/or artistic work offered under the
+ terms of this License including without limitation any production in the
+ literary, scientific and artistic domain, whatever may be the mode or
+ form of its expression including digital form, such as a book, pamphlet
+ and other writing; a lecture, address, sermon or other work of the same
+ nature; a dramatic or dramatico-musical work; a choreographic work or
+ entertainment in dumb show; a musical composition with or without words;
+ a cinematographic work to which are assimilated works expressed by a
+ process analogous to cinematography; a work of drawing, painting,
+ architecture, sculpture, engraving or lithography; a photographic work
+ to which are assimilated works expressed by a process analogous to
+ photography; a work of applied art; an illustration, map, plan, sketch
+ or three-dimensional work relative to geography, topography,
+ architecture or science; a performance; a broadcast; a phonogram; a
+ compilation of data to the extent it is protected as a copyrightable
+ work; or a work performed by a variety or circus performer to the extent
+ it is not otherwise considered a literary or artistic work.
+ ․
+ i. "You" means an individual or entity exercising rights under this
+ License who has not previously violated the terms of this License with
+ respect to the Work, or who has received express permission from the
+ Licensor to exercise rights under this License despite a previous
+ violation.
+ ․
+ j. "Publicly Perform" means to perform public recitations of the Work
+ and to communicate to the public those public recitations, by any means
+ or process, including by wire or wireless means or public digital
+ performances; to make available to the public Works in such a way that
+ members of the public may access these Works from a place and at a place
+ individually chosen by them; to perform the Work to the public by any
+ means or process and the communication to the public of the performances
+ of the Work, including by public digital performance; to broadcast and
+ rebroadcast the Work by any means including signs, sounds or images.
+ ․
+ k. "Reproduce" means to make copies of the Work by any means including
+ without limitation by sound or visual recordings and the right of
+ fixation and reproducing fixations of the Work, including storage of a
+ protected performance or phonogram in digital form or other electronic
+ medium.
+ ․
+ 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
+ limit, or restrict any uses free from copyright or rights arising from
+ limitations or exceptions that are provided for in connection with the
+ copyright protection under copyright law or other applicable laws.
+ ․
+ 3. License Grant. Subject to the terms and conditions of this License,
+ Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+ perpetual (for the duration of the applicable copyright) license to
+ exercise the rights in the Work as stated below:
+ ․
+ a. to Reproduce the Work, to incorporate the Work into one or more
+ Collections, and to Reproduce the Work as incorporated in the
+ Collections;
+ ․
+ b. to create and Reproduce Adaptations provided that any such
+ Adaptation, including any translation in any medium, takes reasonable
+ steps to clearly label, demarcate or otherwise identify that changes
+ were made to the original Work. For example, a translation could be
+ marked "The original work was translated from English to Spanish," or a
+ modification could indicate "The original work has been modified.";
+ ․
+ c. to Distribute and Publicly Perform the Work including as incorporated
+ in Collections; and,
+ ․
+ d. to Distribute and Publicly Perform Adaptations.
+ ․
+ e. For the avoidance of doubt:
+ ․
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in
+ which the right to collect royalties through any statutory or compulsory
+ licensing scheme cannot be waived, the Licensor reserves the exclusive
+ right to collect such royalties for any exercise by You of the rights
+ granted under this License;
+ ․
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which
+ the right to collect royalties through any statutory or compulsory
+ licensing scheme can be waived, the Licensor waives the exclusive right
+ to collect such royalties for any exercise by You of the rights granted
+ under this License; and,
+ ․
+ iii. Voluntary License Schemes. The Licensor waives the right to collect
+ royalties, whether individually or, in the event that the Licensor is a
+ member of a collecting society that administers voluntary licensing
+ schemes, via that society, from any exercise by You of the rights
+ granted under this License.
+ ․
+ The above rights may be exercised in all media and formats whether now
+ known or hereafter devised. The above rights include the right to make
+ such modifications as are technically necessary to exercise the rights
+ in other media and formats. Subject to Section 8(f), all rights not
+ expressly granted by Licensor are hereby reserved.
+ ․
+ 4. Restrictions. The license granted in Section 3 above is expressly
+ made subject to and limited by the following restrictions:
+ ․
+ a. You may Distribute or Publicly Perform the Work only under the terms
+ of this License. You must include a copy of, or the Uniform Resource
+ Identifier (URI) for, this License with every copy of the Work You
+ Distribute or Publicly Perform. You may not offer or impose any terms on
+ the Work that restrict the terms of this License or the ability of the
+ recipient of the Work to exercise the rights granted to that recipient
+ under the terms of the License. You may not sublicense the Work. You
+ must keep intact all notices that refer to this License and to the
+ disclaimer of warranties with every copy of the Work You Distribute or
+ Publicly Perform. When You Distribute or Publicly Perform the Work, You
+ may not impose any effective technological measures on the Work that
+ restrict the ability of a recipient of the Work from You to exercise the
+ rights granted to that recipient under the terms of the License. This
+ Section 4(a) applies to the Work as incorporated in a Collection, but
+ this does not require the Collection apart from the Work itself to be
+ made subject to the terms of this License. If You create a Collection,
+ upon notice from any Licensor You must, to the extent practicable,
+ remove from the Collection any credit as required by Section 4(c), as
+ requested. If You create an Adaptation, upon notice from any Licensor
+ You must, to the extent practicable, remove from the Adaptation any
+ credit as required by Section 4(c), as requested.
+ ․
+ b. You may Distribute or Publicly Perform an Adaptation only under the
+ terms of: (i) this License; (ii) a later version of this License with
+ the same License Elements as this License; (iii) a Creative Commons
+ jurisdiction license (either this or a later license version) that
+ contains the same License Elements as this License (e.g.,
+ Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
+ License. If you license the Adaptation under one of the licenses
+ mentioned in (iv), you must comply with the terms of that license. If
+ you license the Adaptation under the terms of any of the licenses
+ mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
+ comply with the terms of the Applicable License generally and the
+ following provisions: (I) You must include a copy of, or the URI for,
+ the Applicable License with every copy of each Adaptation You Distribute
+ or Publicly Perform; (II) You may not offer or impose any terms on the
+ Adaptation that restrict the terms of the Applicable License or the
+ ability of the recipient of the Adaptation to exercise the rights
+ granted to that recipient under the terms of the Applicable License;
+ (III) You must keep intact all notices that refer to the Applicable
+ License and to the disclaimer of warranties with every copy of the Work
+ as included in the Adaptation You Distribute or Publicly Perform; (IV)
+ when You Distribute or Publicly Perform the Adaptation, You may not
+ impose any effective technological measures on the Adaptation that
+ restrict the ability of a recipient of the Adaptation from You to
+ exercise the rights granted to that recipient under the terms of the
+ Applicable License. This Section 4(b) applies to the Adaptation as
+ incorporated in a Collection, but this does not require the Collection
+ apart from the Adaptation itself to be made subject to the terms of the
+ Applicable License.
+ ․
+ c. If You Distribute, or Publicly Perform the Work or any Adaptations or
+ Collections, You must, unless a request has been made pursuant to
+ Section 4(a), keep intact all copyright notices for the Work and
+ provide, reasonable to the medium or means You are utilizing: (i) the
+ name of the Original Author (or pseudonym, if applicable) if supplied,
+ and/or if the Original Author and/or Licensor designate another party or
+ parties (e.g., a sponsor institute, publishing entity, journal) for
+ attribution ("Attribution Parties") in Licensor's copyright notice,
+ terms of service or by other reasonable means, the name of such party or
+ parties; (ii) the title of the Work if supplied; (iii) to the extent
+ reasonably practicable, the URI, if any, that Licensor specifies to be
+ associated with the Work, unless such URI does not refer to the
+ copyright notice or licensing information for the Work; and (iv) ,
+ consistent with Ssection 3(b), in the case of an Adaptation, a credit
+ identifying the use of the Work in the Adaptation (e.g., "French
+ translation of the Work by Original Author," or "Screenplay based on
+ original Work by Original Author"). The credit required by this Section
+ 4(c) may be implemented in any reasonable manner; provided, however,
+ that in the case of a Adaptation or Collection, at a minimum such credit
+ will appear, if a credit for all contributing authors of the Adaptation
+ or Collection appears, then as part of these credits and in a manner at
+ least as prominent as the credits for the other contributing authors.
+ For the avoidance of doubt, You may only use the credit required by this
+ Section for the purpose of attribution in the manner set out above and,
+ by exercising Your rights under this License, You may not implicitly or
+ explicitly assert or imply any connection with, sponsorship or
+ endorsement by the Original Author, Licensor and/or Attribution Parties,
+ as appropriate, of You or Your use of the Work, without the separate,
+ express prior written permission of the Original Author, Licensor and/or
+ Attribution Parties.
+ ․
+ d. Except as otherwise agreed in writing by the Licensor or as may be
+ otherwise permitted by applicable law, if You Reproduce, Distribute or
+ Publicly Perform the Work either by itself or as part of any Adaptations
+ or Collections, You must not distort, mutilate, modify or take other
+ derogatory action in relation to the Work which would be prejudicial to
+ the Original Author's honor or reputation. Licensor agrees that in those
+ jurisdictions (e.g. Japan), in which any exercise of the right granted
+ in Section 3(b) of this License (the right to make Adaptations) would be
+ deemed to be a distortion, mutilation, modification or other derogatory
+ action prejudicial to the Original Author's honor and reputation, the
+ Licensor will waive or not assert, as appropriate, this Section, to the
+ fullest extent permitted by the applicable national law, to enable You
+ to reasonably exercise Your right under Section 3(b) of this License
+ (right to make Adaptations) but not otherwise.
+ ․
+ 5. Representations, Warranties and Disclaimer
+ ․
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+ OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+ KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
+ LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
+ WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
+ EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ ․
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
+ LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
+ ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
+ ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
+ BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ ․
+ 7. Termination
+ ․
+ a. This License and the rights granted hereunder will terminate
+ automatically upon any breach by You of the terms of this License.
+ Individuals or entities who have received Adaptations or Collections
+ from You under this License, however, will not have their licenses
+ terminated provided such individuals or entities remain in full
+ compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
+ survive any termination of this License.
+ ․
+ b. Subject to the above terms and conditions, the license granted here
+ is perpetual (for the duration of the applicable copyright in the Work).
+ Notwithstanding the above, Licensor reserves the right to release the
+ Work under different license terms or to stop distributing the Work at
+ any time; provided, however that any such election will not serve to
+ withdraw this License (or any other license that has been, or is
+ required to be, granted under the terms of this License), and this
+ License will continue in full force and effect unless terminated as
+ stated above.
+ ․
+ 8. Miscellaneous
+ ․
+ a. Each time You Distribute or Publicly Perform the Work or a
+ Collection, the Licensor offers to the recipient a license to the Work
+ on the same terms and conditions as the license granted to You under
+ this License.
+ ․
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
+ offers to the recipient a license to the original Work on the same terms
+ and conditions as the license granted to You under this License.
+ ․
+ c. If any provision of this License is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of
+ the remainder of the terms of this License, and without further action
+ by the parties to this agreement, such provision shall be reformed to
+ the minimum extent necessary to make such provision valid and
+ enforceable.
+ ․
+ d. No term or provision of this License shall be deemed waived and no
+ breach consented to unless such waiver or consent shall be in writing
+ and signed by the party to be charged with such waiver or consent.
+ ․
+ e. This License constitutes the entire agreement between the parties
+ with respect to the Work licensed here. There are no understandings,
+ agreements or representations with respect to the Work not specified
+ here. Licensor shall not be bound by any additional provisions that may
+ appear in any communication from You. This License may not be modified
+ without the mutual written agreement of the Licensor and You.
+ ․
+ f. The rights granted under, and the subject matter referenced, in this
+ License were drafted utilizing the terminology of the Berne Convention
+ for the Protection of Literary and Artistic Works (as amended on
+ September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
+ Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and
+ the Universal Copyright Convention (as revised on July 24, 1971). These
+ rights and subject matter take effect in the relevant jurisdiction in
+ which the License terms are sought to be enforced according to the
+ corresponding provisions of the implementation of those treaty
+ provisions in the applicable national law. If the standard suite of
+ rights granted under applicable copyright law includes additional rights
+ not granted under this License, such additional rights are deemed to be
+ included in the License; this License is not intended to restrict the
+ license of any rights under applicable law.
+ ․
+ ․
+ Creative Commons Notice
+ ․
+ Creative Commons is not a party to this License, and makes no warranty
+ whatsoever in connection with the Work. Creative Commons will not be
+ liable to You or any party on any legal theory for any damages
+ whatsoever, including without limitation any general, special,
+ incidental or consequential damages arising in connection to this
+ license. Notwithstanding the foregoing two (2) sentences, if Creative
+ Commons has expressly identified itself as the Licensor hereunder, it
+ shall have all rights and obligations of Licensor.
+ ․
+ Except for the limited purpose of indicating to the public that the Work
+ is licensed under the CCPL, Creative Commons does not authorize the use
+ by either party of the trademark "Creative Commons" or any related
+ trademark or logo of Creative Commons without the prior written consent
+ of Creative Commons. Any permitted use will be in compliance with
+ Creative Commons' then-current trademark usage guidelines, as may be
+ published on its website or otherwise made available upon request from
+ time to time. For the avoidance of doubt, this trademark restriction
+ does not form part of the License.
+ ․
+ Creative Commons may be contacted at http://creativecommons.org/.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+   1. Redistributions of source code must retain the above
+      copyright notice, this list of conditions and the following
+      disclaimer.
+ .
+   2. Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials
+      provided with the distribution.
+ .
+   3. Neither the name of the copyright holder nor the names of
+      its contributors may be used to endorse or promote products
+      derived from this software without specific prior written
+      permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/etc/default/ceph b/etc/default/ceph
new file mode 100644 (file)
index 0000000..c32bdf4
--- /dev/null
@@ -0,0 +1,9 @@
+## /etc/default/ceph -- sourced by ceph-osd@.service (systemd)
+
+#CLUSTER=ceph
+#CONFIG=/etc/ceph/ceph.conf
+
+## create journal (if not exist) on OSD start; flush journal after OSD stop.
+## (useful for journals on tmpfs).
+#osd_prestart_sh="[ -r \"/var/lib/ceph/osd/${CLUSTER}-$1/journal\" ] || /usr/bin/ceph-osd --id $1 --mkjournal"
+#osd_poststop_sh="/usr/bin/ceph-osd --id $1 --flush-journal"
diff --git a/etc/pm/sleep.d/25-ceph b/etc/pm/sleep.d/25-ceph
new file mode 100755 (executable)
index 0000000..09f684a
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+##/etc/pm/sleep.d/25-ceph
+
+case $1 in
+suspend|hibernate)
+    service ceph stop
+;;
+resume|thaw)
+    service ceph start
+;;
+esac
diff --git a/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..6a469d2
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,6 @@
+[DEFAULT]
+debian-branch = jewel
+pristine-tar = True
+
+[import-orig]
+filter = debian/*
diff --git a/lib-systemd/system-sleep/ceph b/lib-systemd/system-sleep/ceph
new file mode 100755 (executable)
index 0000000..cf62f83
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+#/lib/systemd/system-sleep/ceph
+
+case $1 in
+pre)
+    /bin/systemctl stop ceph
+;;
+post)
+    /bin/systemctl start ceph
+;;
+esac
diff --git a/lib-systemd/system/ceph-create-keys.service b/lib-systemd/system/ceph-create-keys.service
new file mode 100644 (file)
index 0000000..4e29bc1
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=Create Ceph client.admin key when possible
+PartOf=ceph-mon.service
+
+[Service]
+Environment=CLUSTER=ceph
+Environment=CONFIG=/etc/ceph/ceph.conf
+EnvironmentFile=-/etc/default/ceph
+ExecStart=/usr/sbin/ceph-create-keys --cluster ${CLUSTER} --id %H
diff --git a/lib-systemd/system/ceph-mds.service b/lib-systemd/system/ceph-mds.service
new file mode 100644 (file)
index 0000000..86ff057
--- /dev/null
@@ -0,0 +1,16 @@
+[Unit]
+Description=Ceph metadata server daemon (MDS)
+Documentation=man:ceph-mds
+After=network-online.target nss-lookup.target
+Wants=network-online.target nss-lookup.target
+PartOf=ceph.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-/etc/default/ceph
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %H --setuser ceph --setgroup ceph
+
+[Install]
+WantedBy=multi-user.target
diff --git a/lib-systemd/system/ceph-mon.service b/lib-systemd/system/ceph-mon.service
new file mode 100644 (file)
index 0000000..02f5a35
--- /dev/null
@@ -0,0 +1,21 @@
+[Unit]
+Description=Ceph cluster monitor daemon
+Documentation=man:ceph-mon
+
+After=network-online.target local-fs.target ceph-create-keys.service
+Wants=network-online.target local-fs.target ceph-create-keys.service
+
+PartOf=ceph.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-/etc/default/ceph
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %H --setuser ceph --setgroup ceph
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+RestartSec=30
+
+[Install]
+WantedBy=multi-user.target
diff --git a/lib-systemd/system/ceph-osd@.service b/lib-systemd/system/ceph-osd@.service
new file mode 100644 (file)
index 0000000..adfa6a0
--- /dev/null
@@ -0,0 +1,22 @@
+[Unit]
+Description=Ceph object storage daemon (OSD)
+Documentation=man:ceph-osd
+After=network-online.target
+Wants=network-online.target
+PartOf=ceph.service
+RequiresMountsFor=/var/lib/ceph/osd/ceph-%i
+
+[Service]
+Environment=CLUSTER=ceph
+Environment=CONFIG=/etc/ceph/ceph.conf
+EnvironmentFile=-/etc/default/ceph
+ExecStartPre=-/bin/sh -c '${osd_prestart_sh}' -- %i
+ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --id %i --cluster ${CLUSTER}
+ExecStart=/usr/bin/ceph-osd --id %i --foreground --cluster ${CLUSTER} -c ${CONFIG}
+ExecStopPost=-/bin/sh -c '${osd_poststop_sh}' -- %i
+LimitNOFILE=327680
+Restart=on-failure
+RestartSec=30
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libcephfs-dev.install b/libcephfs-dev.install
new file mode 100644 (file)
index 0000000..716d003
--- /dev/null
@@ -0,0 +1,3 @@
+usr/include/cephfs/libcephfs.h
+usr/lib/*/libcephfs.a
+usr/lib/*/libcephfs.so
diff --git a/libcephfs-java.jlibs b/libcephfs-java.jlibs
new file mode 100644 (file)
index 0000000..1029fb5
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/share/java/libcephfs.jar
diff --git a/libcephfs-jni.install b/libcephfs-jni.install
new file mode 100644 (file)
index 0000000..15cb91d
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libcephfs_jni.so* usr/lib/jni
diff --git a/libcephfs1.install b/libcephfs1.install
new file mode 100644 (file)
index 0000000..f09e93c
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libcephfs.so.*
diff --git a/libcephfs1.lintian-overrides b/libcephfs1.lintian-overrides
new file mode 100644 (file)
index 0000000..d4041ca
--- /dev/null
@@ -0,0 +1,2 @@
+# False-positives:
+spelling-error-in-binary * tEH the
diff --git a/libcephfs1.symbols b/libcephfs1.symbols
new file mode 100644 (file)
index 0000000..a1b223f
--- /dev/null
@@ -0,0 +1,152 @@
+libcephfs.so.1 libcephfs1 #MINVER#
+ (regex|c++)"^_.*" 0.87
+ ceph_buffer_free@Base 0.93
+ ceph_chdir@Base 0.72.2
+ ceph_chmod@Base 0.72.2
+ ceph_chown@Base 0.72.2
+ ceph_close@Base 0.72.2
+ ceph_closedir@Base 0.72.2
+ ceph_conf_get@Base 0.72.2
+ ceph_conf_parse_argv@Base 0.72.2
+ ceph_conf_parse_env@Base 0.72.2
+ ceph_conf_read_file@Base 0.72.2
+ ceph_conf_set@Base 0.72.2
+ ceph_create@Base 0.72.2
+ ceph_create_with_context@Base 0.72.2
+ ceph_create_from_rados@Base 10.1.0
+ ceph_debug_get_fd_caps@Base 0.72.2
+ ceph_debug_get_file_caps@Base 0.72.2
+ ceph_fallocate@Base 0.72.2
+ ceph_fchmod@Base 0.72.2
+ ceph_fchown@Base 0.72.2
+ ceph_fgetxattr@Base 9.2.0
+ ceph_flistxattr@Base 9.2.0
+ ceph_flock@Base 9.2.0
+ ceph_fremovexattr@Base 9.2.0
+ ceph_fsetxattr@Base 9.2.0
+ ceph_fstat@Base 0.72.2
+ ceph_fsync@Base 0.72.2
+ ceph_ftruncate@Base 0.72.2
+ ceph_get_file_extent_osds@Base 0.72.2
+ ceph_get_file_layout@Base 0.72.2
+ ceph_get_file_object_size@Base 0.72.2
+ ceph_get_file_pool@Base 0.72.2
+ ceph_get_file_pool_name@Base 0.72.2
+ ceph_get_file_replication@Base 0.72.2
+ ceph_get_file_stripe_address@Base 0.72.2
+ ceph_get_file_stripe_count@Base 0.72.2
+ ceph_get_file_stripe_unit@Base 0.72.2
+ ceph_get_local_osd@Base 0.72.2
+ ceph_get_mount_context@Base 0.72.2
+ ceph_get_osd_addr@Base 0.72.2
+ ceph_get_osd_crush_location@Base 0.72.2
+ ceph_get_path_layout@Base 0.72.2
+ ceph_get_path_object_size@Base 0.72.2
+ ceph_get_path_pool@Base 0.72.2
+ ceph_get_path_pool_name@Base 0.72.2
+ ceph_get_path_replication@Base 0.72.2
+ ceph_get_path_stripe_count@Base 0.72.2
+ ceph_get_path_stripe_unit@Base 0.72.2
+ ceph_get_pool_id@Base 0.72.2
+ ceph_get_pool_name@Base 0.72.2
+ ceph_get_pool_replication@Base 0.72.2
+ ceph_get_stripe_unit_granularity@Base 0.72.2
+ ceph_getcwd@Base 0.72.2
+ ceph_getdents@Base 0.72.2
+ ceph_getdnames@Base 0.72.2
+ ceph_getxattr@Base 0.72.2
+ ceph_init@Base 0.93
+ ceph_is_mounted@Base 0.72.2
+ ceph_lchown@Base 0.72.2
+ ceph_lgetxattr@Base 0.72.2
+ ceph_link@Base 0.72.2
+ ceph_listxattr@Base 0.72.2
+ ceph_ll_close@Base 0.79
+ ceph_ll_commit_blocks@Base 0.79
+ ceph_ll_create@Base 0.79
+ ceph_ll_file_layout@Base 0.79
+ ceph_ll_forget@Base 0.79
+ ceph_ll_fsync@Base 0.79
+ ceph_ll_get_inode@Base 0.79
+ ceph_ll_get_internal_offset@Base 0.79
+ ceph_ll_get_stripe_osd@Base 0.79
+ ceph_ll_getattr@Base 0.79
+ ceph_ll_getxattr@Base 0.79
+ ceph_ll_link@Base 0.79
+ ceph_ll_listxattr@Base 0.79
+ ceph_ll_lookup@Base 0.79
+ ceph_ll_lookup_inode@Base 0.79
+ ceph_ll_lookup_root@Base 0.79
+ ceph_ll_lseek@Base 0.79
+ ceph_ll_mkdir@Base 0.79
+ ceph_ll_num_osds@Base 0.79
+ ceph_ll_open@Base 0.79
+ ceph_ll_opendir@Base 0.79
+ ceph_ll_osdaddr@Base 0.79
+ ceph_ll_put@Base 0.79
+ ceph_ll_read@Base 0.79
+ ceph_ll_read_block@Base 0.79
+ ceph_ll_readlink@Base 0.79
+ ceph_ll_readv@Base 0.79
+ ceph_ll_releasedir@Base 0.79
+ ceph_ll_removexattr@Base 0.79
+ ceph_ll_rename@Base 0.79
+ ceph_ll_rmdir@Base 0.79
+ ceph_ll_setattr@Base 0.79
+ ceph_ll_setxattr@Base 0.79
+ ceph_ll_snap_seq@Base 0.79
+ ceph_ll_statfs@Base 0.79
+ ceph_ll_stripe_unit@Base 0.79
+ ceph_ll_symlink@Base 0.79
+ ceph_ll_truncate@Base 0.79
+ ceph_ll_unlink@Base 0.79
+ ceph_ll_walk@Base 0.79
+ ceph_ll_write@Base 0.79
+ ceph_ll_write_block@Base 0.79
+ ceph_ll_writev@Base 0.79
+ ceph_llistxattr@Base 0.72.2
+ ceph_localize_reads@Base 0.72.2
+ ceph_lremovexattr@Base 0.72.2
+ ceph_lseek@Base 0.72.2
+ ceph_lsetxattr@Base 0.72.2
+ ceph_lstat@Base 0.72.2
+ ceph_mds_command@Base 0.93
+ ceph_mkdir@Base 0.72.2
+ ceph_mkdirs@Base 0.72.2
+ ceph_mknod@Base 0.72.2
+ ceph_mount@Base 0.72.2
+ ceph_open@Base 0.72.2
+ ceph_open_layout@Base 0.72.2
+ ceph_opendir@Base 0.72.2
+ ceph_preadv@Base 9.2.0
+ ceph_pwritev@Base 9.2.0
+ ceph_read@Base 0.72.2
+ ceph_readdir@Base 0.72.2
+ ceph_readdir_r@Base 0.72.2
+ ceph_readdirplus_r@Base 0.72.2
+ ceph_readlink@Base 0.72.2
+ ceph_release@Base 0.72.2
+ ceph_removexattr@Base 0.72.2
+ ceph_rename@Base 0.72.2
+ ceph_rewinddir@Base 0.72.2
+ ceph_rmdir@Base 0.72.2
+ ceph_seekdir@Base 0.72.2
+ ceph_set_default_file_replication@Base 0.72.2
+ ceph_set_default_file_stripe_count@Base 0.72.2
+ ceph_set_default_file_stripe_unit@Base 0.72.2
+ ceph_set_default_object_size@Base 0.72.2
+ ceph_set_default_preferred_pg@Base 0.72.2
+ ceph_setattr@Base 0.72.2
+ ceph_setxattr@Base 0.72.2
+ ceph_shutdown@Base 0.72.2
+ ceph_stat@Base 0.72.2
+ ceph_statfs@Base 0.72.2
+ ceph_symlink@Base 0.72.2
+ ceph_sync_fs@Base 0.72.2
+ ceph_telldir@Base 0.72.2
+ ceph_truncate@Base 0.72.2
+ ceph_unlink@Base 0.72.2
+ ceph_unmount@Base 0.72.2
+ ceph_utime@Base 0.72.2
+ ceph_version@Base 0.72.2
+ ceph_write@Base 0.72.2
diff --git a/librados-dev.install b/librados-dev.install
new file mode 100644 (file)
index 0000000..960a635
--- /dev/null
@@ -0,0 +1,13 @@
+usr/bin/librados-config
+usr/include/rados/buffer.h
+usr/include/rados/buffer_fwd.h
+usr/include/rados/crc32c.h
+usr/include/rados/librados.h
+usr/include/rados/librados.hpp
+usr/include/rados/memory.h
+usr/include/rados/page.h
+usr/include/rados/rados_types.h
+usr/include/rados/rados_types.hpp
+usr/lib/*/librados.a
+usr/lib/*/librados.so
+usr/share/man/man8/librados-config.8
diff --git a/librados2.install b/librados2.install
new file mode 100644 (file)
index 0000000..a96bdb2
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/librados.so.*
diff --git a/librados2.lintian-overrides b/librados2.lintian-overrides
new file mode 100644 (file)
index 0000000..d4041ca
--- /dev/null
@@ -0,0 +1,2 @@
+# False-positives:
+spelling-error-in-binary * tEH the
diff --git a/librados2.symbols b/librados2.symbols
new file mode 100644 (file)
index 0000000..7f62e1a
--- /dev/null
@@ -0,0 +1,188 @@
+librados.so.2 librados2 #MINVER#
+ (regex|c++)"^_.*" 0.87
+ rados_aio_append@Base 0.72.2
+ rados_aio_cancel@Base 0.87
+ rados_aio_create_completion@Base 0.72.2
+ rados_aio_flush@Base 0.72.2
+ rados_aio_flush_async@Base 0.72.2
+ rados_aio_get_return_value@Base 0.72.2
+ rados_aio_get_version@Base 10.2.5
+ rados_aio_is_complete@Base 0.72.2
+ rados_aio_is_complete_and_cb@Base 0.72.2
+ rados_aio_is_safe@Base 0.72.2
+ rados_aio_is_safe_and_cb@Base 0.72.2
+ rados_aio_notify@Base 10.1.0
+ rados_aio_read@Base 0.72.2
+ rados_aio_read_op_operate@Base 0.79
+ rados_aio_release@Base 0.72.2
+ rados_aio_remove@Base 0.72.2
+ rados_aio_stat@Base 0.72.2
+ rados_aio_unwatch@Base 10.1.0
+ rados_aio_wait_for_complete@Base 0.72.2
+ rados_aio_wait_for_complete_and_cb@Base 0.72.2
+ rados_aio_wait_for_safe@Base 0.72.2
+ rados_aio_wait_for_safe_and_cb@Base 0.72.2
+ rados_aio_watch@Base 10.1.0
+ rados_aio_watch_flush@Base 10.1.0
+ rados_aio_write@Base 0.72.2
+ rados_aio_write_full@Base 0.72.2
+ rados_aio_write_op_operate@Base 0.79
+ rados_append@Base 0.72.2
+ rados_blacklist_add@Base 0.93
+ rados_break_lock@Base 0.72.2
+ rados_buffer_free@Base 0.72.2
+ rados_cache_pin@Base 10.1.0
+ rados_cache_unpin@Base 10.1.0
+ rados_cct@Base 0.72.2
+ rados_clone_range@Base 0.72.2
+ rados_cluster_fsid@Base 0.72.2
+ rados_cluster_stat@Base 0.72.2
+ rados_conf_get@Base 0.72.2
+ rados_conf_parse_argv@Base 0.72.2
+ rados_conf_parse_argv_remainder@Base 0.72.2
+ rados_conf_parse_env@Base 0.72.2
+ rados_conf_read_file@Base 0.72.2
+ rados_conf_set@Base 0.72.2
+ rados_connect@Base 0.72.2
+ rados_create2@Base 0.72.2
+ rados_create@Base 0.72.2
+ rados_create_read_op@Base 0.79
+ rados_create_with_context@Base 0.72.2
+ rados_create_write_op@Base 0.79
+ rados_exec@Base 0.72.2
+ rados_get_instance_id@Base 0.72.2
+ rados_get_last_version@Base 0.72.2
+ rados_getxattr@Base 0.72.2
+ rados_getxattrs@Base 0.72.2
+ rados_getxattrs_end@Base 0.72.2
+ rados_getxattrs_next@Base 0.72.2
+ rados_inconsistent_pg_list@Base 10.1.0
+ rados_ioctx_cct@Base 0.72.2
+ rados_ioctx_create2@Base 0.93
+ rados_ioctx_create@Base 0.72.2
+ rados_ioctx_destroy@Base 0.72.2
+ rados_ioctx_get_cluster@Base 0.72.2
+ rados_ioctx_get_id@Base 0.72.2
+ rados_ioctx_get_pool_name@Base 0.72.2
+ rados_ioctx_locator_set_key@Base 0.72.2
+ rados_ioctx_pool_get_auid@Base 0.72.2
+ rados_ioctx_pool_required_alignment2@Base 10.1.0
+ rados_ioctx_pool_required_alignment@Base 0.79
+ rados_ioctx_pool_requires_alignment2@Base 10.1.0
+ rados_ioctx_pool_requires_alignment@Base 0.79
+ rados_ioctx_pool_set_auid@Base 0.72.2
+ rados_ioctx_pool_stat@Base 0.72.2
+ rados_ioctx_selfmanaged_snap_create@Base 0.72.2
+ rados_ioctx_selfmanaged_snap_remove@Base 0.72.2
+ rados_ioctx_selfmanaged_snap_rollback@Base 0.72.2
+ rados_ioctx_selfmanaged_snap_set_write_ctx@Base 0.72.2
+ rados_ioctx_set_namespace@Base 0.72.2
+ rados_ioctx_snap_create@Base 0.72.2
+ rados_ioctx_snap_get_name@Base 0.72.2
+ rados_ioctx_snap_get_stamp@Base 0.72.2
+ rados_ioctx_snap_list@Base 0.72.2
+ rados_ioctx_snap_lookup@Base 0.72.2
+ rados_ioctx_snap_remove@Base 0.72.2
+ rados_ioctx_snap_rollback@Base 0.80~rc1
+ rados_ioctx_snap_set_read@Base 0.72.2
+ rados_list_lockers@Base 0.72.2
+ rados_lock_exclusive@Base 0.72.2
+ rados_lock_shared@Base 0.72.2
+ rados_mon_command@Base 0.72.2
+ rados_mon_command_target@Base 0.72.2
+ rados_monitor_log@Base 0.72.2
+ rados_nobjects_list_close@Base 0.93
+ rados_nobjects_list_get_pg_hash_position@Base 0.93
+ rados_nobjects_list_next@Base 0.93
+ rados_nobjects_list_open@Base 0.93
+ rados_nobjects_list_seek@Base 0.93
+ rados_notify2@Base 0.93
+ rados_notify@Base 0.72.2
+ rados_notify_ack@Base 0.93
+ rados_object_list@Base 10.1.0
+ rados_object_list_begin@Base 10.1.0
+ rados_object_list_cursor_cmp@Base 10.1.0
+ rados_object_list_cursor_free@Base 10.1.0
+ rados_object_list_end@Base 10.1.0
+ rados_object_list_free@Base 10.1.0
+ rados_object_list_is_end@Base 10.1.0
+ rados_object_list_slice@Base 10.1.0
+ rados_objects_list_close@Base 0.72.2
+ rados_objects_list_get_pg_hash_position@Base 0.79
+ rados_objects_list_next@Base 0.72.2
+ rados_objects_list_open@Base 0.72.2
+ rados_objects_list_seek@Base 0.79
+ rados_omap_get_end@Base 0.79
+ rados_omap_get_next@Base 0.79
+ rados_osd_command@Base 0.72.2
+ rados_pg_command@Base 0.72.2
+ rados_ping_monitor@Base 0.72.2
+ rados_pool_create@Base 0.72.2
+ rados_pool_create_with_all@Base 0.72.2
+ rados_pool_create_with_auid@Base 0.72.2
+ rados_pool_create_with_crush_rule@Base 0.72.2
+ rados_pool_delete@Base 0.72.2
+ rados_pool_get_base_tier@Base 0.93
+ rados_pool_list@Base 0.72.2
+ rados_pool_lookup@Base 0.72.2
+ rados_pool_reverse_lookup@Base 0.72.2
+ rados_read@Base 0.72.2
+ rados_read_op_assert_exists@Base 0.79
+ rados_read_op_assert_version@Base 0.93
+ rados_read_op_cmpxattr@Base 0.79
+ rados_read_op_exec@Base 0.79
+ rados_read_op_exec_user_buf@Base 0.79
+ rados_read_op_getxattrs@Base 0.79
+ rados_read_op_omap_cmp@Base 0.79
+ rados_read_op_omap_get_keys@Base 0.79
+ rados_read_op_omap_get_vals@Base 0.79
+ rados_read_op_omap_get_vals_by_keys@Base 0.79
+ rados_read_op_operate@Base 0.79
+ rados_read_op_read@Base 0.79
+ rados_read_op_set_flags@Base 0.79
+ rados_read_op_stat@Base 0.79
+ rados_release_read_op@Base 0.79
+ rados_release_write_op@Base 0.79
+ rados_remove@Base 0.72.2
+ rados_rmxattr@Base 0.72.2
+ rados_rollback@Base 0.72.2
+ rados_set_alloc_hint@Base 0.79
+ rados_setxattr@Base 0.72.2
+ rados_shutdown@Base 0.72.2
+ rados_stat@Base 0.72.2
+ rados_tmap_get@Base 0.72.2
+ rados_tmap_put@Base 0.72.2
+ rados_tmap_update@Base 0.72.2
+ rados_trunc@Base 0.72.2
+ rados_unlock@Base 0.72.2
+ rados_unwatch2@Base 0.93
+ rados_unwatch@Base 0.72.2
+ rados_version@Base 0.72.2
+ rados_wait_for_latest_osdmap@Base 0.79
+ rados_watch2@Base 0.93
+ rados_watch@Base 0.72.2
+ rados_watch_check@Base 0.93
+ rados_watch_flush@Base 0.93
+ rados_write@Base 0.72.2
+ rados_write_full@Base 0.72.2
+ rados_write_op_append@Base 0.79
+ rados_write_op_assert_exists@Base 0.79
+ rados_write_op_assert_version@Base 0.93
+ rados_write_op_cmpxattr@Base 0.79
+ rados_write_op_create@Base 0.79
+ rados_write_op_exec@Base 0.79
+ rados_write_op_omap_clear@Base 0.79
+ rados_write_op_omap_cmp@Base 0.79
+ rados_write_op_omap_rm_keys@Base 0.79
+ rados_write_op_omap_set@Base 0.79
+ rados_write_op_operate2@Base 10.1.0
+ rados_write_op_operate@Base 0.79
+ rados_write_op_remove@Base 0.79
+ rados_write_op_rmxattr@Base 0.79
+ rados_write_op_set_alloc_hint@Base 0.79
+ rados_write_op_set_flags@Base 0.79
+ rados_write_op_setxattr@Base 0.79
+ rados_write_op_truncate@Base 0.79
+ rados_write_op_write@Base 0.79
+ rados_write_op_write_full@Base 0.79
+ rados_write_op_zero@Base 0.79
diff --git a/libradosstriper-dev.install b/libradosstriper-dev.install
new file mode 100644 (file)
index 0000000..6f41054
--- /dev/null
@@ -0,0 +1,5 @@
+#usr/lib/*/libradosstriper.la
+usr/include/radosstriper/libradosstriper.h
+usr/include/radosstriper/libradosstriper.hpp
+usr/lib/*/libradosstriper.a
+usr/lib/*/libradosstriper.so
diff --git a/libradosstriper1.install b/libradosstriper1.install
new file mode 100644 (file)
index 0000000..742549b
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libradosstriper.so.*
diff --git a/libradosstriper1.symbols b/libradosstriper1.symbols
new file mode 100644 (file)
index 0000000..df6d8df
--- /dev/null
@@ -0,0 +1,192 @@
+libradosstriper.so.1 libradosstriper1 #MINVER#
+ CEPH_CONF_FILE_DEFAULT@Base 0.93
+ MDS_GID_NONE@Base 0.93
+ MDS_RANK_NONE@Base 0.93
+ XXH32@Base 10.1.0
+ XXH32_canonicalFromHash@Base 10.1.0
+ XXH32_createState@Base 10.1.0
+ XXH32_digest@Base 10.1.0
+ XXH32_freeState@Base 10.1.0
+ XXH32_hashFromCanonical@Base 10.1.0
+ XXH32_reset@Base 10.1.0
+ XXH32_update@Base 10.1.0
+ XXH64@Base 10.1.0
+ XXH64_canonicalFromHash@Base 10.1.0
+ XXH64_createState@Base 10.1.0
+ XXH64_digest@Base 10.1.0
+ XXH64_freeState@Base 10.1.0
+ XXH64_hashFromCanonical@Base 10.1.0
+ XXH64_reset@Base 10.1.0
+ XXH64_update@Base 10.1.0
+ XXH_versionNumber@Base 10.1.0
+ (regex|c++)"^_.*" 0.87
+ (regex)"^ceph_ver__[0-9a-f]{40}@Base$" 0.87
+ boost_asio_detail_posix_thread_function@Base 10.1.0
+ ceph_arch_aarch64_crc32@Base 9.2.0
+ ceph_arch_arm_probe@Base 0.93
+ ceph_arch_intel_pclmul@Base 0.93
+ ceph_arch_intel_probe@Base 0.93
+ ceph_arch_intel_sse2@Base 0.93
+ ceph_arch_intel_sse3@Base 0.93
+ ceph_arch_intel_sse41@Base 0.93
+ ceph_arch_intel_sse42@Base 0.93
+ ceph_arch_intel_ssse3@Base 0.93
+ ceph_arch_neon@Base 0.93
+ ceph_arch_probe@Base 0.93
+ ceph_arch_probed@Base 0.93
+ ceph_armor@Base 0.93
+ ceph_armor_line_break@Base 0.93
+ ceph_crc32c_func@Base 0.93
+ ceph_crc32c_intel_baseline@Base 0.93
+ ceph_crc32c_intel_fast@Base 0.93
+ ceph_crc32c_intel_fast_exists@Base 0.93
+ ceph_crc32c_sctp@Base 0.93
+ ceph_os_fgetxattr@Base 0.93
+ ceph_os_flistxattr@Base 0.93
+ ceph_os_fremovexattr@Base 0.93
+ ceph_os_fsetxattr@Base 0.93
+ ceph_os_getxattr@Base 0.93
+ ceph_os_listxattr@Base 0.93
+ ceph_os_removexattr@Base 0.93
+ ceph_os_setxattr@Base 0.93
+ ceph_unarmor@Base 0.93
+ check_for_control_characters@Base 0.93
+ check_for_control_characters_cstr@Base 0.93
+ check_utf8@Base 0.93
+ check_utf8_cstr@Base 0.93
+ code_environment_to_str@Base 0.93
+ config_optionsp@Base 0.93
+ (arch=amd64)crc32_iscsi_00@Base 0.93
+ (arch=amd64)crc32_iscsi_00_slver@Base 0.93
+ (arch=amd64)crc32_iscsi_00_slver_00020014@Base 0.93
+ (arch=amd64)crc32_iscsi_zero_00@Base 0.93
+ (arch=amd64)crc32_iscsi_zero_00_slver@Base 0.93
+ (arch=amd64)crc32_iscsi_zero_00_slver_00020014@Base 0.93
+ crc32_table_iscsi_base@Base 0.93
+ crush_add_bucket@Base 0.93
+ crush_add_list_bucket_item@Base 0.93
+ crush_add_rule@Base 0.93
+ crush_add_straw2_bucket_item@Base 0.93
+ crush_add_straw_bucket_item@Base 0.93
+ crush_add_tree_bucket_item@Base 0.93
+ crush_add_uniform_bucket_item@Base 0.93
+ crush_addition_is_unsafe@Base 0.93
+ crush_adjust_list_bucket_item_weight@Base 0.93
+ crush_adjust_straw2_bucket_item_weight@Base 0.93
+ crush_adjust_straw_bucket_item_weight@Base 0.93
+ crush_adjust_tree_bucket_item_weight@Base 0.93
+ crush_adjust_uniform_bucket_item_weight@Base 0.93
+ crush_bucket_add_item@Base 0.93
+ crush_bucket_adjust_item_weight@Base 0.93
+ crush_bucket_alg_name@Base 0.93
+ crush_bucket_remove_item@Base 0.93
+ crush_calc_straw@Base 0.93
+ crush_create@Base 0.93
+ crush_destroy@Base 0.93
+ crush_destroy_bucket@Base 0.93
+ crush_destroy_bucket_list@Base 0.93
+ crush_destroy_bucket_straw@Base 0.93
+ crush_destroy_bucket_straw2@Base 0.94
+ crush_destroy_bucket_tree@Base 0.93
+ crush_destroy_bucket_uniform@Base 0.93
+ crush_destroy_rule@Base 0.93
+ crush_do_rule@Base 0.93
+ crush_finalize@Base 0.93
+ crush_find_rule@Base 0.93
+ crush_get_bucket_item_weight@Base 0.93
+ crush_get_next_bucket_id@Base 0.93
+ crush_hash32@Base 0.93
+ crush_hash32_2@Base 0.93
+ crush_hash32_3@Base 0.93
+ crush_hash32_4@Base 0.93
+ crush_hash32_5@Base 0.93
+ crush_hash_name@Base 0.93
+ crush_make_bucket@Base 0.93
+ crush_make_list_bucket@Base 0.93
+ crush_make_rule@Base 0.93
+ crush_make_straw2_bucket@Base 0.93
+ crush_make_straw_bucket@Base 0.93
+ crush_make_tree_bucket@Base 0.93
+ crush_make_uniform_bucket@Base 0.93
+ crush_multiplication_is_unsafe@Base 0.93
+ crush_remove_bucket@Base 0.93
+ crush_remove_list_bucket_item@Base 0.93
+ crush_remove_straw2_bucket_item@Base 0.93
+ crush_remove_straw_bucket_item@Base 0.93
+ crush_remove_tree_bucket_item@Base 0.93
+ crush_remove_uniform_bucket_item@Base 0.93
+ crush_reweight_bucket@Base 0.93
+ crush_rule_set_step@Base 0.93
+ decode_utf8@Base 0.93
+ default_file_layout@Base 10.1.0
+ encode_utf8@Base 0.93
+ escape_json_attr@Base 0.93
+ escape_json_attr_len@Base 0.93
+ escape_xml_attr@Base 0.93
+ escape_xml_attr_len@Base 0.93
+ g_code_env@Base 0.93
+ g_lockdep@Base 0.93
+ get_linux_version@Base 0.93
+ get_process_name@Base 0.93
+ is_control_character@Base 0.93
+ mime_decode_from_qp@Base 0.93
+ mime_encode_as_qp@Base 0.93
+ module_has_param@Base 0.93
+ module_load@Base 0.93
+ pem_key@Base 0.93
+ pipe_cloexec@Base 0.93
+ rados_striper_aio_append@Base 0.87
+ rados_striper_aio_flush@Base 0.87
+ rados_striper_aio_read@Base 0.87
+ rados_striper_aio_write@Base 0.87
+ rados_striper_aio_write_full@Base 0.87
+ rados_striper_append@Base 0.87
+ rados_striper_create@Base 0.87
+ rados_striper_destroy@Base 0.87
+ rados_striper_getxattr@Base 0.87
+ rados_striper_getxattrs@Base 0.87
+ rados_striper_getxattrs_end@Base 0.87
+ rados_striper_getxattrs_next@Base 0.87
+ rados_striper_multi_aio_create_completion@Base 0.87
+ rados_striper_multi_aio_get_return_value@Base 0.87
+ rados_striper_multi_aio_is_complete@Base 0.87
+ rados_striper_multi_aio_is_complete_and_cb@Base 0.87
+ rados_striper_multi_aio_is_safe@Base 0.87
+ rados_striper_multi_aio_is_safe_and_cb@Base 0.87
+ rados_striper_multi_aio_release@Base 0.87
+ rados_striper_multi_aio_wait_for_complete@Base 0.87
+ rados_striper_multi_aio_wait_for_complete_and_cb@Base 0.87
+ rados_striper_multi_aio_wait_for_safe@Base 0.87
+ rados_striper_multi_aio_wait_for_safe_and_cb@Base 0.87
+ rados_striper_read@Base 0.87
+ rados_striper_remove@Base 0.87
+ rados_striper_rmxattr@Base 0.87
+ rados_striper_set_object_layout_object_size@Base 0.87
+ rados_striper_set_object_layout_stripe_count@Base 0.87
+ rados_striper_set_object_layout_stripe_unit@Base 0.87
+ rados_striper_setxattr@Base 0.87
+ rados_striper_stat@Base 0.87
+ rados_striper_trunc@Base 0.87
+ rados_striper_write@Base 0.87
+ rados_striper_write_full@Base 0.87
+ resolve_addrs@Base 0.93
+ safe_cat@Base 0.93
+ safe_pread@Base 0.93
+ safe_pread_exact@Base 0.93
+ safe_pwrite@Base 0.93
+ safe_read@Base 0.93
+ safe_read_exact@Base 0.93
+ safe_read_file@Base 0.93
+ safe_splice@Base 0.93
+ safe_splice_exact@Base 0.93
+ safe_write@Base 0.93
+ safe_write_file@Base 0.93
+ sctp_crc_c@Base 0.93
+ sctp_crc_tableil8_o32@Base 0.93
+ sctp_crc_tableil8_o40@Base 0.93
+ sctp_crc_tableil8_o48@Base 0.93
+ sctp_crc_tableil8_o56@Base 0.93
+ sctp_crc_tableil8_o64@Base 0.93
+ sctp_crc_tableil8_o72@Base 0.93
+ sctp_crc_tableil8_o80@Base 0.93
+ sctp_crc_tableil8_o88@Base 0.93
diff --git a/librbd-dev.install b/librbd-dev.install
new file mode 100644 (file)
index 0000000..a7ee137
--- /dev/null
@@ -0,0 +1,5 @@
+usr/include/rbd/features.h
+usr/include/rbd/librbd.h
+usr/include/rbd/librbd.hpp
+usr/lib/*/librbd.a
+usr/lib/*/librbd.so
diff --git a/librbd1.install b/librbd1.install
new file mode 100644 (file)
index 0000000..decadbc
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/librbd.so.*
diff --git a/librbd1.symbols b/librbd1.symbols
new file mode 100644 (file)
index 0000000..587175c
--- /dev/null
@@ -0,0 +1,117 @@
+librbd.so.1 librbd1 #MINVER#
+ (regex|c++)"^_.*" 0.87
+ rbd_aio_close@Base 10.1.0
+ rbd_aio_create_completion@Base 0.72.2
+ rbd_aio_discard@Base 0.72.2
+ rbd_aio_flush@Base 0.72.2
+ rbd_aio_get_arg@Base 10.1.0
+ rbd_aio_get_return_value@Base 0.72.2
+ rbd_aio_is_complete@Base 0.72.2
+ rbd_aio_open@Base 10.1.0
+ rbd_aio_open_read_only@Base 10.1.0
+ rbd_aio_read2@Base 0.93
+ rbd_aio_read@Base 0.72.2
+ rbd_aio_release@Base 0.72.2
+ rbd_aio_wait_for_complete@Base 0.72.2
+ rbd_aio_write2@Base 0.93
+ rbd_aio_write@Base 0.72.2
+ rbd_break_lock@Base 0.72.2
+ rbd_clone2@Base 0.72.2
+ rbd_clone3@Base 10.1.0
+ rbd_clone@Base 0.72.2
+ rbd_close@Base 0.72.2
+ rbd_copy2@Base 0.72.2
+ rbd_copy3@Base 10.1.0
+ rbd_copy@Base 0.72.2
+ rbd_copy_with_progress2@Base 0.72.2
+ rbd_copy_with_progress3@Base 10.2.5
+ rbd_copy_with_progress@Base 0.72.2
+ rbd_create2@Base 0.72.2
+ rbd_create3@Base 0.72.2
+ rbd_create4@Base 10.1.0
+ rbd_create@Base 0.72.2
+ rbd_diff_iterate2@Base 9.2.0
+ rbd_diff_iterate@Base 0.72.2
+ rbd_discard@Base 0.72.2
+ rbd_flatten@Base 0.72.2
+ rbd_flush@Base 0.72.2
+ rbd_get_features@Base 0.72.2
+ rbd_get_flags@Base 0.93
+ rbd_get_old_format@Base 0.72.2
+ rbd_get_overlap@Base 0.72.2
+ rbd_get_parent_info@Base 0.72.2
+ rbd_get_size@Base 0.72.2
+ rbd_get_stripe_count@Base 0.72.2
+ rbd_get_stripe_unit@Base 0.72.2
+ rbd_image_options_clear@Base 10.1.0
+ rbd_image_options_create@Base 10.1.0
+ rbd_image_options_destroy@Base 10.1.0
+ rbd_image_options_get_string@Base 10.1.0
+ rbd_image_options_get_uint64@Base 10.1.0
+ rbd_image_options_is_empty@Base 10.1.0
+ rbd_image_options_is_set@Base 10.2.5
+ rbd_image_options_set_string@Base 10.1.0
+ rbd_image_options_set_uint64@Base 10.1.0
+ rbd_image_options_unset@Base 10.1.0
+ rbd_invalidate_cache@Base 0.80.5-2~
+ rbd_is_exclusive_lock_owner@Base 0.93
+ rbd_list@Base 0.72.2
+ rbd_list_children@Base 0.72.2
+ rbd_list_lockers@Base 0.72.2
+ rbd_lock_exclusive@Base 0.72.2
+ rbd_lock_shared@Base 0.72.2
+ rbd_metadata_get@Base 9.2.0
+ rbd_metadata_list@Base 9.2.0
+ rbd_metadata_remove@Base 9.2.0
+ rbd_metadata_set@Base 9.2.0
+ rbd_mirror_image_demote@Base 10.1.0
+ rbd_mirror_image_disable@Base 10.1.0
+ rbd_mirror_image_enable@Base 10.1.0
+ rbd_mirror_image_get_info@Base 10.1.0
+ rbd_mirror_image_get_status@Base 10.2.5
+ rbd_mirror_image_promote@Base 10.1.0
+ rbd_mirror_image_resync@Base 10.1.0
+ rbd_mirror_image_status_list@Base 10.2.5
+ rbd_mirror_image_status_list_cleanup@Base 10.2.5
+ rbd_mirror_image_status_summary@Base 10.2.5
+ rbd_mirror_mode_get@Base 10.1.0
+ rbd_mirror_mode_set@Base 10.1.0
+ rbd_mirror_peer_add@Base 10.1.0
+ rbd_mirror_peer_list@Base 10.1.0
+ rbd_mirror_peer_list_cleanup@Base 10.1.0
+ rbd_mirror_peer_remove@Base 10.1.0
+ rbd_mirror_peer_set_client@Base 10.1.0
+ rbd_mirror_peer_set_cluster@Base 10.1.0
+ rbd_open@Base 0.72.2
+ rbd_open_read_only@Base 0.72.2
+ rbd_poll_io_events@Base 10.1.0
+ rbd_read2@Base 0.93
+ rbd_read@Base 0.72.2
+ rbd_read_iterate2@Base 0.72.2
+ rbd_read_iterate@Base 0.72.2
+ rbd_rebuild_object_map@Base 9.2.0
+ rbd_remove@Base 0.72.2
+ rbd_remove_with_progress@Base 0.72.2
+ rbd_rename@Base 0.72.2
+ rbd_resize@Base 0.72.2
+ rbd_resize_with_progress@Base 0.72.2
+ rbd_set_image_notification@Base 10.1.0
+ rbd_snap_create@Base 0.72.2
+ rbd_snap_is_protected@Base 0.72.2
+ rbd_snap_list@Base 0.72.2
+ rbd_snap_list_end@Base 0.72.2
+ rbd_snap_protect@Base 0.72.2
+ rbd_snap_remove@Base 0.72.2
+ rbd_snap_rename@Base 10.1.0
+ rbd_snap_rollback@Base 0.72.2
+ rbd_snap_rollback_with_progress@Base 0.72.2
+ rbd_snap_set@Base 0.72.2
+ rbd_snap_unprotect@Base 0.72.2
+ rbd_stat@Base 0.72.2
+ rbd_unlock@Base 0.72.2
+ rbd_update_features@Base 9.2.0
+ rbd_update_unwatch@Base 10.2.5
+ rbd_update_watch@Base 10.2.5
+ rbd_version@Base 0.72.2
+ rbd_write2@Base 0.93
+ rbd_write@Base 0.72.2
diff --git a/librgw-dev.install b/librgw-dev.install
new file mode 100644 (file)
index 0000000..c816e21
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/rados/librgw.h
+usr/include/rados/rgw_file.h
+usr/lib/*/librgw.a
+usr/lib/*/librgw.so
diff --git a/librgw2.install b/librgw2.install
new file mode 100644 (file)
index 0000000..267c561
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/librgw.so.*
diff --git a/man/ceph-crush-location.1 b/man/ceph-crush-location.1
new file mode 100644 (file)
index 0000000..d05d85c
--- /dev/null
@@ -0,0 +1,24 @@
+.TH ceph-crush-location "1" "April 2014" "ceph-crush-location" "User Commands"
+.SH NAME
+ceph-crush-location \- get CRUSH location
+.SH DESCRIPTION
+Generate a CRUSH location for the given entity
+
+The CRUSH location consists of a list of key=value pairs, separated
+by spaces, all on a single line.  This describes where in CRUSH
+hierarhcy this entity should be placed.
+
+.SH OPTIONS
+.TP 4
+\fB\-\-cluster\fR <clustername>
+name of the cluster (see /etc/ceph/$cluster.conf)
+.TP 4
+\fB\-\-type\fR <osd|mds|client>
+daemon/entity type
+.TP 4
+\fB\-\-id\fR <id>
+id (osd number, mds name, client name)
+
+.SH SEE ALSO
+.TP
+\fBceph-conf\fP(8)
diff --git a/man/mount.fuse.ceph.8 b/man/mount.fuse.ceph.8
new file mode 100644 (file)
index 0000000..7189365
--- /dev/null
@@ -0,0 +1,30 @@
+.TH mount.fuse.ceph "8" "March 2014" "ceph-fuse" "User Commands"
+.SH NAME
+mount.fuse.ceph \- wrapper around ceph-fuse
+.SH DESCRIPTION
+Helper to mount ceph-fuse from /etc/fstab. To use, add an entry like:
+
+.nf
+#  DEVICE                                              PATH         TYPE      OPTIONS
+  mount.fuse.ceph#conf=/etc/ceph/ceph.conf,id=admin   /mnt/ceph     fuse     _netdev,noatime,allow_other     0    0
+  mount.fuse.ceph#conf=/etc/ceph/foo.conf,id=myuser   /mnt/ceph2    fuse     _netdev,noatime,allow_other     0    0
+.fi
+
+where the device field is a comma-separated list of options to pass on
+the command line.  The examples above, for example, specify that
+ceph-fuse will authenticated as client.admin and client.myuser
+(respectively), and the second example also sets the "conf" option to
+"/etc/ceph/foo.conf" via the ceph-fuse command line. Any valid
+ceph-fuse option can be passed in this way.
+
+.SH OPTIONS
+.TP 4
+\fB\-\-conf\fR
+path to ceph cponfiguration file, usually "/etc/ceph/ceph.conf"
+.TP 4
+\fB\-\-id\fR
+user name
+
+.SH SEE ALSO
+.TP
+\fBceph-fuse\fP(8)
diff --git a/not-installed b/not-installed
new file mode 100644 (file)
index 0000000..7d8c430
--- /dev/null
@@ -0,0 +1,38 @@
+# files installed by jh_installlib
+debian/tmp/usr/share/java/libcephfs.jar
+debian/tmp/usr/share/java/libcephfs-test.jar
+# There is currently no -dev package for libcephfs-jni,
+# so the static library is not needed
+debian/tmp/usr/lib/x86_64-linux-gnu/libcephfs_jni.a
+# this is not needed by the newer udev rules
+# it's only relevant to udev/95-ceph-osd-alt.rules
+# which is not installed on Debian
+debian/tmp/usr/sbin/ceph-disk-udev
+# These plugins are also not installed by the ceph.com
+# Debian package and there is no documentation about
+# what they are used for
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_zlib.a
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_zlib.so.2.0.0
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_zlib.so
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_zlib.so.2
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_example.so.0.0.0
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_example.so.0
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_snappy.so
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_snappy.so.2.0.0
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_snappy.so.2
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_example.a
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_example.so
+debian/tmp/usr/lib/x86_64-linux-gnu/ceph/compressor/libceph_snappy.a
+# ceph-deploy is another source package, not much point
+# in installing this manpage
+debian/tmp/usr/share/man/man8/ceph-deploy.8
+# Don't install python bytecode. This will be generated on installation
+# by dh-python
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_argparse.pyo
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_rest_api.pyc
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_rest_api.pyo
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_daemon.pyc
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_volume_client.pyc
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_daemon.pyo
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_argparse.pyc
+debian/tmp/usr/lib/python2.7/dist-packages/ceph_volume_client.pyo
diff --git a/patches/arch.patch b/patches/arch.patch
new file mode 100644 (file)
index 0000000..adf31d0
--- /dev/null
@@ -0,0 +1,17 @@
+Last-Update: 2014-10-19
+Forwarded: not-needed
+Author: Dmitry Smirnov <onlyjob@member.fsf.org>
+Description: use `dpkg-architecture` instead of `arch` to get build architecture
+ Fixes build in `pbuilder` on amd64 for i386.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -244,7 +244,7 @@
+ if test x"$YASM_CHECK" = x"yes"; then
+   if yasm -f elf64 src/common/crc32c_intel_fast_asm.S -o /dev/null; then
+      echo 'we have a modern and working yasm'
+-     if test `arch` = "x86_64" ; then
++     if test `dpkg-architecture -qDEB_BUILD_GNU_CPU` = "x86_64" ; then
+         echo 'we are x86_64'
+         arch_x32=0
+         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
diff --git a/patches/bug-10036.patch b/patches/bug-10036.patch
new file mode 100644 (file)
index 0000000..360e476
--- /dev/null
@@ -0,0 +1,32 @@
+Last-Update: 2014-12-25
+Bug-Ceph: http://tracker.ceph.com/issues/10036
+Author: Mykola Golub <mgolub@mirantis.com>
+Description: show primary-affinity in OSD tree
+
+--- a/src/osd/OSDMap.cc
++++ b/src/osd/OSDMap.cc
+@@ -2349,19 +2349,23 @@
+       *out << std::setprecision(4)
+          << (exists(cur) ? get_weightf(cur) : 0)
+          << std::setprecision(p)
+          << "\t";
++      *out << std::setprecision(4)
++           << (exists(cur) ? get_primary_affinityf(cur) : 0)
++           << std::setprecision(p);
+     }
+     if (f) {
+       f->dump_float("reweight", get_weightf(cur));
++      f->dump_float("primary_affinity", get_primary_affinityf(cur));
+     }
+   }
+ }
+ void OSDMap::print_tree(ostream *out, Formatter *f) const
+ {
+   if (out)
+-    *out << "# id\tweight\ttype name\tup/down\treweight\n";
++    *out << "# id\tweight\ttype name\tup/down\treweight\tprimary-affinity\n";
+   if (f)
+     f->open_array_section("nodes");
+   set<int> touched;
+   set<int> roots;
diff --git a/patches/cve-2016-9579_short_cors_request.patch b/patches/cve-2016-9579_short_cors_request.patch
new file mode 100644 (file)
index 0000000..6a654ba
--- /dev/null
@@ -0,0 +1,51 @@
+commit 67d4d9e64bc224e047cf333e673bb22cd6290789
+Author: LiuYang <yippeetry@gmail.com>
+Date:   Thu Dec 8 14:21:43 2016 +0800
+
+    rgw: do not abort when accept a CORS request with short origin
+    
+    Fixed: #18187
+    
+    when accept a CROS request, the request http origin shorter than the bucket's corsrule
+    (eg. origin: http://s.com corsrule: <AllowedOrigin>*.verylongdomain.com</AllowedOrigin>).
+    the rgw_cors.cc::is_string_in_set() will have a wrong index, the radosrgw server will
+    abort.
+    
+    $ curl http://test.localhost:8000/app.data -H "Origin:http://s.com"
+    
+     0> 2016-12-05 03:22:29.548138 7f6add05d700 -1 *** Caught signal (Aborted) **
+     in thread 7f6add05d700 thread_name:civetweb-worker
+    
+     ceph version 11.0.2-2168-gd2f8fb4 (d2f8fb4a6ba75af7e6da0f5a7f1b49ec998b1631)
+     1: (()+0x50720a) [0x7f6b147c420a]
+     2: (()+0xf370) [0x7f6b09a33370]
+     3: (gsignal()+0x37) [0x7f6b081ca1d7]
+     4: (abort()+0x148) [0x7f6b081cb8c8]
+     5: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f6b08ace9d5]
+     6: (()+0x5e946) [0x7f6b08acc946]
+     7: (()+0x5e973) [0x7f6b08acc973]
+     8: (()+0x5eb93) [0x7f6b08accb93]
+     9: (std::__throw_out_of_range(char const*)+0x77) 0x7f6b08b21a17]
+     10: (()+0xbd97a) [0x7f6b08b2b97a]
+     11: (()+0x449c1e) [0x7f6b14706c1e]
+     12: (RGWCORSRule::is_origin_present(char const*)+0x48) [0x7f6b147073b8]
+     13: (RGWCORSConfiguration::host_name_rule(char const*)+0x37) [0x7f6b147074e7]
+     14: (RGWOp::generate_cors_headers(std::string&, std::string&, std::string&, std::string&, unsigned int*)+0xa3) [0x7f6b14593e63]
+     15: (dump_access_control(req_state*, RGWOp*)+0x61) [0x7f6b14653f91]
+    
+    Signed-off-by: LiuYang <yippeetry@gmail.com>
+
+diff --git a/src/rgw/rgw_cors.cc b/src/rgw/rgw_cors.cc
+index 1ad5b43136..f2c7f3ac64 100644
+--- a/src/rgw/rgw_cors.cc
++++ b/src/rgw/rgw_cors.cc
+@@ -104,7 +104,8 @@ static bool is_string_in_set(set<string>& s, string h) {
+         string sl = ssplit.front();
+         dout(10) << "Finding " << sl << ", in " << h 
+           << ", at offset not less than " << flen << dendl;
+-        if (h.compare((h.size() - sl.size()), sl.size(), sl) != 0)
++        if (h.size() < sl.size() ||
++          h.compare((h.size() - sl.size()), sl.size(), sl) != 0)
+           continue;
+         ssplit.pop_front();
+       }
diff --git a/patches/detect-raspbian.diff b/patches/detect-raspbian.diff
new file mode 100644 (file)
index 0000000..2e07b53
--- /dev/null
@@ -0,0 +1,206 @@
+Description:  Add Raspbian to lists of "debian-like" distros.
+ Hopefully this will fix site-packages vs dist-packages
+ build failure in Raspbian.
+Author: Peter Michael Green <plugwash@raspbian.org>
+
+--- ceph-10.2.5.orig/install-deps.sh
++++ ceph-10.2.5/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/qa/workunits/ceph-helpers-root.sh
++++ ceph-10.2.5/qa/workunits/ceph-helpers-root.sh
+@@ -26,7 +26,7 @@ function install() {
+ function install_one() {
+     case $(lsb_release -si) in
+-        Ubuntu|Debian|Devuan)
++        Ubuntu|Debian|Devuan|Raspbian)
+             sudo apt-get install -y "$@"
+             ;;
+         CentOS|Fedora|RedHatEnterpriseServer)
+--- ceph-10.2.5.orig/src/Makefile.in
++++ ceph-10.2.5/src/Makefile.in
+@@ -32721,7 +32721,7 @@ ceph-detect-init-clean:
+ ceph-detect-init-install-data:
+       cd $(srcdir)/ceph-detect-init ; \
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+@@ -32743,7 +32743,7 @@ ceph-disk-clean:
+ ceph-disk-install-data:
+       cd $(srcdir)/ceph-disk ; \
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+@@ -32835,7 +32835,7 @@ unittests:: $(check_PROGRAMS)
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@rados-pybind-install-exec: ${srcdir}/ceph_ver.h
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@       if test "$(DESTDIR)" ; then \
+-@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@               if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@               if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                       options=--install-layout=deb ; \
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@               else \
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                       options=--prefix=/usr ; \
+@@ -32864,7 +32864,7 @@ unittests:: $(check_PROGRAMS)
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@        if test "$(DESTDIR)" ; then \
+-@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                        options=--install-layout=deb ; \
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                else \
+ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                        options=--prefix=/usr ; \
+@@ -32893,7 +32893,7 @@ unittests:: $(check_PROGRAMS)
+ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
+ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@     if test "$(DESTDIR)" ; then \
+-@ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++@ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                     options=--install-layout=deb ; \
+ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@             else \
+ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                     options=--prefix=/usr ; \
+--- ceph-10.2.5.orig/src/ceph-detect-init/Makefile.am
++++ ceph-10.2.5/src/ceph-detect-init/Makefile.am
+@@ -67,7 +67,7 @@ ceph-detect-init-clean:
+ ceph-detect-init-install-data:
+       cd $(srcdir)/ceph-detect-init ; \
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+--- ceph-10.2.5.orig/src/ceph-disk/Makefile.am
++++ ceph-10.2.5/src/ceph-disk/Makefile.am
+@@ -43,7 +43,7 @@ ceph-disk-clean:
+ ceph-disk-install-data:
+       cd $(srcdir)/ceph-disk ; \
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+--- ceph-10.2.5.orig/src/pybind/cephfs/Makefile.am
++++ ceph-10.2.5/src/pybind/cephfs/Makefile.am
+@@ -15,7 +15,7 @@ cephfs-pybind-clean: ${srcdir}/ceph_ver.
+ cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+--- ceph-10.2.5.orig/src/pybind/rados/Makefile.am
++++ ceph-10.2.5/src/pybind/rados/Makefile.am
+@@ -15,7 +15,7 @@ rados-pybind-clean: ${srcdir}/ceph_ver.h
+ rados-pybind-install-exec: ${srcdir}/ceph_ver.h
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+--- ceph-10.2.5.orig/src/pybind/rbd/Makefile.am
++++ ceph-10.2.5/src/pybind/rbd/Makefile.am
+@@ -15,7 +15,7 @@ rbd-pybind-clean: ${srcdir}/ceph_ver.h
+ rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
+       if test "$(DESTDIR)" ; then \
+-              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
+                       options=--install-layout=deb ; \
+               else \
+                       options=--prefix=/usr ; \
+--- ceph-10.2.5.orig/src/test/centos-6/install-deps.sh
++++ ceph-10.2.5/src/test/centos-6/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/src/test/centos-7/install-deps.sh
++++ ceph-10.2.5/src/test/centos-7/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/src/test/debian-jessie/install-deps.sh
++++ ceph-10.2.5/src/test/debian-jessie/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/src/test/fedora-21/install-deps.sh
++++ ceph-10.2.5/src/test/fedora-21/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/src/test/opensuse-13.2/install-deps.sh
++++ ceph-10.2.5/src/test/opensuse-13.2/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/src/test/ubuntu-12.04/install-deps.sh
++++ ceph-10.2.5/src/test/ubuntu-12.04/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
+--- ceph-10.2.5.orig/src/test/ubuntu-14.04/install-deps.sh
++++ ceph-10.2.5/src/test/ubuntu-14.04/install-deps.sh
+@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
+ fi
+ case $(lsb_release -si) in
+-Ubuntu|Debian|Devuan)
++Ubuntu|Debian|Devuan|Raspbian)
+         $SUDO apt-get install -y dpkg-dev
+         if ! test -r debian/control ; then
+             echo debian/control is not a readable file
diff --git a/patches/disable-openssl-linking.patch b/patches/disable-openssl-linking.patch
new file mode 100644 (file)
index 0000000..9fe7e31
--- /dev/null
@@ -0,0 +1,19 @@
+Description: Disable build time linking with openssl
+ OpenSSL is not DFSG compatible with the rest of the Ceph
+ codebase; disable build time linking and switch back to
+ runtime use if end-users decide they want to use OpenSSL.
+Author: James Page <james.page@ubuntu.com>
+Forwarded: not-needed
+
+--- a/src/rgw/Makefile.am
++++ b/src/rgw/Makefile.am
+@@ -133,8 +133,7 @@ libcivetweb_la_SOURCES =  \
+ libcivetweb_la_CXXFLAGS = ${CIVETWEB_INCLUDE} -fPIC -Woverloaded-virtual \
+       ${AM_CXXFLAGS}
+-libcivetweb_la_CFLAGS = -I$(srcdir)/civetweb/include ${CIVETWEB_INCLUDE} -fPIC -DNO_SSL_DL
+-LIBCIVETWEB_DEPS += -lssl -lcrypto
++libcivetweb_la_CFLAGS = -I$(srcdir)/civetweb/include ${CIVETWEB_INCLUDE} -fPIC
+ noinst_LTLIBRARIES += libcivetweb.la
diff --git a/patches/fix-cycles-arch.patch b/patches/fix-cycles-arch.patch
new file mode 100644 (file)
index 0000000..c2dfff5
--- /dev/null
@@ -0,0 +1,19 @@
+Description: Enable high precision clock for PPC + fallback
+ This code is only used for benchmarking so warning and
+ fallback if architecture does not have support.
+Author: James Page <james.page@ubuntu.com>
+Forwarded: no
+
+--- a/src/common/Cycles.cc
++++ b/src/common/Cycles.cc
+@@ -57,6 +57,10 @@
+   if (rdtsc() == 0)
+     return;
++  // Skip initialization if rtdsc is not implemented
++  if (rdtsc() == 0)
++    return;
++
+   // Compute the frequency of the fine-grained CPU timer: to do this,
+   // take parallel time readings using both rdtsc and gettimeofday.
+   // After 10ms have elapsed, take the ratio between these readings.
diff --git a/patches/fix-init-system-detection.patch b/patches/fix-init-system-detection.patch
new file mode 100644 (file)
index 0000000..2e250b3
--- /dev/null
@@ -0,0 +1,144 @@
+Last-Update: 2017-05-11
+Bug-Ceph: http://tracker.ceph.com/issues/19884
+Author: Kefu Chai <kchai@redhat.com> and Gaudenz Steinlin <gaudenz@debian.org>
+Description: Replace static init system detection by runtime detection. Modified
+  version of the patch proposed by Kefu Chai upstream.
+
+--- a/src/ceph-detect-init/ceph_detect_init/debian/__init__.py
++++ b/src/ceph-detect-init/ceph_detect_init/debian/__init__.py
+@@ -1,3 +1,6 @@
++import os
++import subprocess
++
+ distro = None
+ release = None
+ codename = None
+@@ -8,14 +11,11 @@
+     Returns the name of a init system (upstart, sysvinit ...).
+     """
+-    assert(distro and codename)
+-    if distro.lower() in ('ubuntu', 'linuxmint'):
+-        if codename >= 'vivid':
+-            return 'systemd'
+-        else:
+-            return 'upstart'
+-    if distro.lower() == 'debian':
+-        if codename in ('squeeze', 'wheezy'):
+-            return 'sysvinit'
+-        else:
+-            return 'systemd'
++    # yes, this is heuristics
++    if os.path.isdir('/run/systemd/system'):
++        return 'systemd'
++    if not subprocess.call('. /lib/lsb/init-functions ; init_is_upstart',
++                           shell=True):
++        return 'upstart'
++    elif os.path.isfile('/sbin/init') and not os.path.islink('/sbin/init'):
++        return 'sysvinit'
+--- a/src/ceph-detect-init/tests/test_all.py
++++ b/src/ceph-detect-init/tests/test_all.py
+@@ -44,30 +44,35 @@
+         self.assertEqual('sysvinit', centos.choose_init())
+     def test_debian(self):
+-        with mock.patch.multiple('ceph_detect_init.debian',
+-                                 distro='debian',
+-                                 codename='wheezy'):
+-            self.assertEqual('sysvinit', debian.choose_init())
+-        with mock.patch.multiple('ceph_detect_init.debian',
+-                                 distro='debian',
+-                                 codename='squeeze'):
+-            self.assertEqual('sysvinit', debian.choose_init())
+-        with mock.patch.multiple('ceph_detect_init.debian',
+-                                 distro='debian',
+-                                 codename='jessie'):
++        with mock.patch.multiple('os.path',
++                                 isdir=lambda x: x == '/run/systemd/system'):
+             self.assertEqual('systemd', debian.choose_init())
+-        with mock.patch.multiple('ceph_detect_init.debian',
+-                                 distro='ubuntu',
+-                                 codename='trusty'):
+-            self.assertEqual('upstart', debian.choose_init())
+-        with mock.patch.multiple('ceph_detect_init.debian',
+-                                 distro='ubuntu',
+-                                 codename='vivid'):
+-            self.assertEqual('systemd', debian.choose_init())
+-        with mock.patch.multiple('ceph_detect_init.debian',
+-                                 distro='not-debian',
+-                                 codename='andy'):
+-            self.assertIs(None, debian.choose_init())
++
++        def mock_call_with_upstart(*args, **kwargs):
++            if args[0] == '. /lib/lsb/init-functions ; init_is_upstart' and \
++               kwargs['shell']:
++                return 0
++            else:
++                return 1
++        with mock.patch.multiple('os.path',
++                                 isdir=lambda x: False,
++                                 isfile=lambda x: False):
++            with mock.patch.multiple('subprocess',
++                                     call=mock_call_with_upstart):
++                self.assertEqual('upstart', debian.choose_init())
++        with mock.patch.multiple('os.path',
++                                 isdir=lambda x: False,
++                                 isfile=lambda x: x == '/sbin/init',
++                                 islink=lambda x: x != '/sbin/init'):
++            with mock.patch.multiple('subprocess',
++                                     call=lambda *args, **kwargs: 1):
++                self.assertEqual('sysvinit', debian.choose_init())
++        with mock.patch.multiple('os.path',
++                                 isdir=lambda x: False,
++                                 isfile=lambda x: False):
++            with mock.patch.multiple('subprocess',
++                                     call=lambda *args, **kwargs: 1):
++                self.assertIs(None, debian.choose_init())
+     def test_fedora(self):
+         with mock.patch('ceph_detect_init.fedora.release',
+@@ -115,7 +120,6 @@
+             self.assertEqual(False, distro.is_el)
+             self.assertEqual('6.0', distro.release)
+             self.assertEqual('squeeze', distro.codename)
+-            self.assertEqual('sysvinit', distro.init)
+     def test_get_distro(self):
+         g = ceph_detect_init._get_distro
+--- a/src/ceph-detect-init/ceph_detect_init/__init__.py
++++ b/src/ceph-detect-init/ceph_detect_init/__init__.py
+@@ -25,7 +25,7 @@
+ def get(use_rhceph=False):
+     distro_name, release, codename = platform_information()
+-    if not codename or not _get_distro(distro_name):
++    if not _get_distro(distro_name):
+         raise exc.UnsupportedPlatform(
+             distro=distro_name,
+             codename=codename,
+@@ -83,25 +83,6 @@
+     logging.debug('platform_information: linux_distribution = ' +
+                   str(platform.linux_distribution()))
+     distro, release, codename = platform.linux_distribution()
+-    # this could be an empty string in Debian
+-    if not codename and 'debian' in distro.lower():
+-        debian_codenames = {
+-            '8': 'jessie',
+-            '7': 'wheezy',
+-            '6': 'squeeze',
+-        }
+-        major_version = release.split('.')[0]
+-        codename = debian_codenames.get(major_version, '')
+-
+-        # In order to support newer jessie/sid or wheezy/sid strings
+-        # we test this if sid is buried in the minor, we should use
+-        # sid anyway.
+-        if not codename and '/' in release:
+-            major, minor = release.split('/')
+-            if minor == 'sid':
+-                codename = minor
+-            else:
+-                codename = major
+     return (
+         str(distro).rstrip(),
diff --git a/patches/mips_mipsel_libatomic.patch b/patches/mips_mipsel_libatomic.patch
new file mode 100644 (file)
index 0000000..53e51f9
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/src/rocksdb/build_tools/build_detect_platform
++++ b/src/rocksdb/build_tools/build_detect_platform
+@@ -362,6 +362,10 @@
+   COMMON_FLAGS="$COMMON_FLAGS -march=native "
+ fi
++if [ "$TARGET_ARCHITECTURE" = "mips" ] ; then
++  PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -latomic"
++fi
++
+ PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS"
+ PLATFORM_CXXFLAGS="$PLATFORM_CXXFLAGS $COMMON_FLAGS"
diff --git a/patches/osd-limit-omap-data-in-push-op.patch b/patches/osd-limit-omap-data-in-push-op.patch
new file mode 100644 (file)
index 0000000..918f158
--- /dev/null
@@ -0,0 +1,40 @@
+From 56064c5cb645254574dbad00e6c16b783115bb93 Mon Sep 17 00:00:00 2001
+From: Wanlong Gao <wanlong.gao@easystack.cn>
+Date: Thu, 23 Jun 2016 20:04:25 +0800
+Subject: [PATCH] osd: limit omap data in push op
+
+We already have the config osd_recovery_max_chunk to limit the total
+size of omap entries and omap data. But we need an individual config
+to limit the number of omap entries independently. We call this config
+osd_recovery_max_omap_entries_per_chunk here with the default number
+of 64000.
+
+Signed-off-by: Wanlong Gao <wanlong.gao@easystack.cn>
+---
+ src/common/config_opts.h     | 1 +
+ src/osd/ReplicatedBackend.cc | 4 +++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+--- a/src/common/config_opts.h
++++ b/src/common/config_opts.h
+@@ -748,6 +748,7 @@ OPTION(osd_recovery_delay_start, OPT_FLO
+ OPTION(osd_recovery_max_active, OPT_INT, 3)
+ OPTION(osd_recovery_max_single_start, OPT_INT, 1)
+ OPTION(osd_recovery_max_chunk, OPT_U64, 8<<20)  // max size of push chunk
++OPTION(osd_recovery_max_omap_entries_per_chunk, OPT_U64, 64000) // max number of omap entries per chunk; 0 to disable limit
+ OPTION(osd_copyfrom_max_chunk, OPT_U64, 8<<20)   // max size of a COPYFROM chunk
+ OPTION(osd_push_per_object_cost, OPT_U64, 1000)  // push cost per object
+ OPTION(osd_max_push_cost, OPT_U64, 8<<20)  // max size of push message
+--- a/src/osd/ReplicatedBackend.cc
++++ b/src/osd/ReplicatedBackend.cc
+@@ -1985,7 +1985,9 @@ int ReplicatedBackend::build_push_op(con
+        iter->valid();
+        iter->next(false)) {
+       if (!out_op->omap_entries.empty() &&
+-        available <= (iter->key().size() + iter->value().length()))
++        ((cct->_conf->osd_recovery_max_omap_entries_per_chunk > 0 &&
++          out_op->omap_entries.size() >= cct->_conf->osd_recovery_max_omap_entries_per_chunk) ||
++         available <= iter->key().size() + iter->value().length()))
+       break;
+       out_op->omap_entries.insert(make_pair(iter->key(), iter->value()));
diff --git a/patches/rbdmap3-lazyumount.patch b/patches/rbdmap3-lazyumount.patch
new file mode 100644 (file)
index 0000000..f415982
--- /dev/null
@@ -0,0 +1,51 @@
+Forwarded: yes
+Author: Dmitry Smirnov <onlyjob@member.fsf.org>
+Description: rbdmap: lazy umount on shutdown and reboot (runlevel 0 and 6)
+
+Do lazy unmount in runlevel 0 and 6. This is necessary to avoid unclean
+shutdown due to "umount" hangs on reboot.
+
+"rbdmap" fail to umount and unmap RBD device when some applications are
+still using file system on RBD. If RBD device not released on
+shutdown/reboot system deconfigures network interfaces, terminates
+remaining processes then tries to umount remaining file systems where it
+hangs forever in endless libceph attempt to reach MONs. This scenario was
+observed when /home is located on RBD device (users start processes in
+screen/tmux etc.). Even worse, `umount` stuck on RBD mount point so
+remaining local file systems are never un-mounted making unclean shutdown
+almost inevitable.
+
+Lazy umount is effective because it allows to release RBD device and
+unmount file system when applications are terminated.
+
+Also before umount (if `fuser` utility is available) TERM signal will be
+sent to all processes still using mount point so applications that haven't
+been asked to terminate yet will have some time to finish before final cut.
+
+Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
+---
+ src/init-rbdmap | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+--- a/src/init-rbdmap
++++ b/src/init-rbdmap
+@@ -104,7 +104,18 @@ do_unmap() {
+                       MNT=$(findmnt --mtab --source ${DEV} --noheadings | awk '{print $1'})
+                       if [ -n "${MNT}" ]; then
+                           log_action_cont_msg "un-mounting '${MNT}'"
+-                          UMNT_RV=$(umount "${MNT}" 2>&1)
++                          local ULAZY=""
++                          local RUNLEVEL=$(runlevel | awk '{print $2}')
++                          if [ $? -eq 0 ]; then
++                              if [ "${RUNLEVEL}" -eq 0 ] \
++                              || [ "${RUNLEVEL}" -eq 6 ] ; then
++                                  ULAZY="-l"
++                                  if [ -x "$(which fuser)" ]; then
++                                      fuser -M -m "${MNT}" --kill -TERM
++                                  fi
++                              fi
++                          fi
++                          UMNT_RV=$(umount ${ULAZY} "${MNT}" 2>&1)
+                       fi
+                       if mountpoint -q "${MNT}"; then
+                           ## Un-mounting failed.
diff --git a/patches/rgw_rados-creation_time.patch b/patches/rgw_rados-creation_time.patch
new file mode 100644 (file)
index 0000000..c5e51fe
--- /dev/null
@@ -0,0 +1,32 @@
+From: weiqiaomiao <wei.qiaomiao@zte.com.cn>
+Subject: [PATCH] rgw: for the create_bucket api, if the input creation_time is
+ zero, we should set it to 'now"
+Forwarded: yes
+Origin: upstream, https://github.com/ceph/ceph/commit/16c1a7d03abc8042f92b9f62ae7e228d19f74b2e
+Bug: http://tracker.ceph.com/issues/16597
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1587261
+
+Fixes: http://tracker.ceph.com/issues/16597
+
+Signed-off-by: weiqiaomiao <wei.qiaomiao@zte.com.cn>
+---
+ src/rgw/rgw_rados.cc | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/src/rgw/rgw_rados.cc
++++ b/src/rgw/rgw_rados.cc
+@@ -5153,10 +5153,11 @@ int RGWRados::create_bucket(RGWUserInfo&
+     info.num_shards = bucket_index_max_shards;
+     info.bucket_index_shard_hash_type = RGWBucketInfo::MOD;
+     info.requester_pays = false;
+-    if (real_clock::is_zero(creation_time))
+-      creation_time = ceph::real_clock::now(cct);
+-    else
++    if (real_clock::is_zero(creation_time)) {
++      info.creation_time = ceph::real_clock::now(cct);
++    } else {
+       info.creation_time = creation_time;
++    }
+     ret = put_linked_bucket_info(info, exclusive, ceph::real_time(), pep_objv, &attrs, true);
+     if (ret == -EEXIST) {
+        /* we need to reread the info and return it, caller will have a use for it */
diff --git a/patches/sample.ceph.conf.patch b/patches/sample.ceph.conf.patch
new file mode 100644 (file)
index 0000000..98ae786
--- /dev/null
@@ -0,0 +1,172 @@
+Last-Update: 2014-10-19
+Forwarded: no
+Author: Dmitry Smirnov <onlyjob@member.fsf.org>
+Description: sample.ceph.conf updates:
+
+ * corrected URLs.
+ * more options and descriptions.
+
+--- a/src/sample.ceph.conf
++++ b/src/sample.ceph.conf
+@@ -31,7 +31,7 @@
+ #             ; Example: /var/run/ceph/$cluster-$name.asok
+ [global]
+-### http://ceph.com/docs/master/rados/configuration/general-config-ref/
++### http://ceph.com/docs/giant/rados/configuration/general-config-ref/
+     ;fsid                       = {UUID}    # use `uuidgen` to generate your own UUID
+     ;public network             = 192.168.0.0/24
+@@ -51,8 +51,8 @@
+     ;max open files             = 131072
+-### http://ceph.com/docs/master/rados/operations/authentication
+-### http://ceph.com/docs/master/rados/configuration/auth-config-ref/
++### http://ceph.com/docs/giant/rados/operations/authentication
++### http://ceph.com/docs/giant/rados/configuration/auth-config-ref/
+     # If enabled, the Ceph Storage Cluster daemons (i.e., ceph-mon, ceph-osd,
+     # and ceph-mds) must authenticate with each other.
+@@ -90,7 +90,7 @@
+     ;keyring                  = /etc/ceph/$cluster.$name.keyring
+-### http://ceph.com/docs/master/rados/configuration/pool-pg-config-ref/
++### http://ceph.com/docs/giant/rados/configuration/pool-pg-config-ref/
+     ## Replication level, number of data copies.
+@@ -139,7 +139,7 @@
+     ;osd crush chooseleaf type = 1
+-### http://ceph.com/docs/master/rados/troubleshooting/log-and-debug/
++### http://ceph.com/docs/giant/rados/troubleshooting/log-and-debug/
+     # The location of the logging file for your cluster.
+     # Type: String
+@@ -154,7 +154,7 @@
+     ;log to syslog              = true
+-### http://ceph.com/docs/master/rados/configuration/ms-ref/
++### http://ceph.com/docs/giant/rados/configuration/ms-ref/
+     # Enable if you want your daemons to bind to IPv6 address instead of
+     # IPv4 ones. (Not required if you specify a daemon or cluster IP.)
+@@ -167,8 +167,8 @@
+ ## You need at least one. You need at least three if you want to
+ ## tolerate any node failures. Always create an odd number.
+ [mon]
+-### http://ceph.com/docs/master/rados/configuration/mon-config-ref/
+-### http://ceph.com/docs/master/rados/configuration/mon-osd-interaction/
++### http://ceph.com/docs/giant/rados/configuration/mon-config-ref/
++### http://ceph.com/docs/giant/rados/configuration/mon-osd-interaction/
+     # The IDs of initial monitors in a cluster during startup.
+     # If specified, Ceph requires an odd number of monitors to form an
+@@ -216,7 +216,7 @@
+     # (Default: 900)
+     ;mon osd report timeout          = 300
+-### http://ceph.com/docs/master/rados/troubleshooting/log-and-debug/
++### http://ceph.com/docs/giant/rados/troubleshooting/log-and-debug/
+     # logging, for debugging monitor crashes, in order of
+     # their likelihood of being helpful :)
+@@ -238,6 +238,10 @@
+ ;    host                       = gamma
+ ;    mon addr                   = 192.168.0.12:6789
++    # The maximum number of simultaneous scrub operations for a Ceph OSD Daemon.
++    # Type: 32-bit Int
++    # (Default: 1)
++    ;osd max scrubs               = 2
+ ##################
+ ## Metadata servers
+@@ -245,7 +249,7 @@
+ # experimental support for running multiple metadata servers. Do not run
+ # multiple metadata servers in production.
+ [mds]
+-### http://ceph.com/docs/master/cephfs/mds-config-ref/
++### http://ceph.com/docs/giant/cephfs/mds-config-ref/
+     # where the mds keeps it's secret encryption keys
+     ;keyring                    = /var/lib/ceph/mds/$name/keyring
+@@ -277,7 +281,7 @@
+ # You need at least one.  Two or more if you want data to be replicated.
+ # Define as many as you like.
+ [osd]
+-### http://ceph.com/docs/master/rados/configuration/osd-config-ref/
++### http://ceph.com/docs/giant/rados/configuration/osd-config-ref/
+     # The path to the OSDs data.
+     # You must create the directory when deploying Ceph.
+@@ -337,7 +341,7 @@
+     # (Default: false)
+     ;osd check for log corruption = true
+-### http://ceph.com/docs/master/rados/configuration/journal-ref/
++### http://ceph.com/docs/giant/rados/configuration/journal-ref/
+     # The size of the journal in megabytes. If this is 0,
+     # and the journal is a block device, the entire block device is used.
+@@ -363,7 +367,7 @@
+     ;debug filestore              = 20
+     ;debug journal                = 20
+-### http://ceph.com/docs/master/rados/configuration/filestore-config-ref/
++### http://ceph.com/docs/giant/rados/configuration/filestore-config-ref/
+     # The maximum interval in seconds for synchronizing the filestore.
+     # Type: Double (optional)
+@@ -376,12 +380,6 @@
+     # (Default: true)
+     ;filestore btrfs snap        = false
+-    # Enables the filestore flusher.
+-    # Type: Boolean
+-    # Required: No
+-    # (Default: false)
+-    ;filestore flusher            = true
+-
+     # Defines the maximum number of in progress operations the file store
+     # accepts before blocking on queuing new operations.
+     # Type: Integer
+@@ -391,7 +389,7 @@
+     ## Filestore and OSD settings can be tweak to achieve better performance
+-### http://ceph.com/docs/master/rados/configuration/filestore-config-ref/#misc
++### http://ceph.com/docs/giant/rados/configuration/filestore-config-ref/#misc
+     # Min number of files in a subdir before merging into parent NOTE: A negative value means to disable subdir merging
+     # Type: Integer
+@@ -424,6 +422,7 @@
+     # (Default: true)
+     ;osd crush update on start    = false
++
+ ;[osd.0]
+ ;    host                         = delta
+@@ -441,7 +440,7 @@
+ ## client settings
+ [client]
+-### http://ceph.com/docs/master/rbd/rbd-config-ref/
++### http://ceph.com/docs/giant/rbd/rbd-config-ref/
+     # Enable caching for RADOS Block Device (RBD).
+     # Type: Boolean
+@@ -497,7 +496,7 @@
+ ## radosgw client settings
+ [client.radosgw.gateway]
+-### http://ceph.com/docs/master/radosgw/config-ref/
++### http://ceph.com/docs/giant/radosgw/config-ref/
+     # Sets the location of the data files for Ceph Object Gateway.
+     # You must create the directory when deploying Ceph.
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..4d4452b
--- /dev/null
@@ -0,0 +1,27 @@
+## Backported / Upstream
+sleep-recover.patch
+
+## Security
+cve-2016-9579_short_cors_request.patch
+
+## Debian
+#rbdmap3-lazyumount.patch
+arch.patch
+sample.ceph.conf.patch
+# Disabled until adopted upstream
+# use_system_jerasure.patch
+virtualenv-never-download.patch
+# Testing patches
+tests-disable.patch
+# Use correct compiler flags on armel
+softfp-armel.patch
+mips_mipsel_libatomic.patch
+fix-init-system-detection.patch
+
+## From Ubuntu
+fix-cycles-arch.patch
+skip-setup.py-makefiles.patch
+disable-openssl-linking.patch
+osd-limit-omap-data-in-push-op.patch
+rgw_rados-creation_time.patch
+detect-raspbian.diff
diff --git a/patches/skip-setup.py-makefiles.patch b/patches/skip-setup.py-makefiles.patch
new file mode 100644 (file)
index 0000000..9e36e35
--- /dev/null
@@ -0,0 +1,20 @@
+Description: Skip Makefile base install of python modules
+ ceph-disk and ceph-detect-init are python modules; the Makefile
+ based build uses tox and virtualenv, which we really don't want
+ to use in the package build process.
+ .
+ Skip this part of the build, and use d/rules to install.
+Author: James Page <james.page@ubuntu.com>
+Forwarded: not-needed
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -32,8 +32,6 @@ endif
+ include arch/Makefile.am
+ include auth/Makefile.am
+ include brag/Makefile.am
+-include ceph-detect-init/Makefile.am
+-include ceph-disk/Makefile.am
+ include crush/Makefile.am
+ include kv/Makefile.am
+ include mon/Makefile.am
diff --git a/patches/sleep-recover.patch b/patches/sleep-recover.patch
new file mode 100644 (file)
index 0000000..d7ee410
--- /dev/null
@@ -0,0 +1,16 @@
+Last-Update: 2014-05-12
+Forwarded: not-needed
+Bug-Ceph: http://tracker.ceph.com/issues/8291
+Author: Yan, Zheng <ukernel@gmail.com>
+Description: fix fuse-client hang after wake-up from suspend.
+
+--- a/src/client/Client.cc
++++ b/src/client/Client.cc
+@@ -12020,6 +12020,7 @@ void Client::ms_handle_remote_reset(Conn
+       case MetaSession::STATE_OPEN:
+         ldout(cct, 1) << "reset from mds we were open; mark session as stale" << dendl;
+         s->state = MetaSession::STATE_STALE;
++        _closed_mds_session(s);
+         break;
+       case MetaSession::STATE_NEW:
diff --git a/patches/softfp-armel.patch b/patches/softfp-armel.patch
new file mode 100644 (file)
index 0000000..ff2fc4b
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/m4/ax_arm.m4
++++ b/m4/ax_arm.m4
+@@ -7,6 +7,9 @@
+       AX_CHECK_COMPILE_FLAG(-mfpu=neon, ax_cv_support_neon_ext=yes, [])
+       if test x"$ax_cv_support_neon_ext" = x"yes"; then
+         ARM_NEON_FLAGS="-mfpu=neon -DARM_NEON"
++        if test x"$target_os" = x"linux-gnueabi"; then
++          ARM_NEON_FLAGS="$ARM_NEON_FLAGS -mfloat-abi=softfp"
++        fi
+         AC_SUBST(ARM_NEON_FLAGS)
+         ARM_FLAGS="$ARM_FLAGS $ARM_NEON_FLAGS"
+         AC_DEFINE(HAVE_NEON,,[Support NEON instructions])
diff --git a/patches/tests-disable.patch b/patches/tests-disable.patch
new file mode 100644 (file)
index 0000000..0038b96
--- /dev/null
@@ -0,0 +1,54 @@
+Last-Update: 2014-10-31
+Forwarded: no
+Author: Dmitry Smirnov <onlyjob@member.fsf.org>
+Description: disable tests that depend on network...
+
+--- a/src/test/Makefile.am
++++ b/src/test/Makefile.am
+@@ -100,6 +100,7 @@ bin_DEBUGPROGRAMS += ceph_bench_log
+ ## Unit tests
++if WITH_CLUSTER_TESTS
+ check_SCRIPTS += \
+       test/ceph_objectstore_tool.py \
+       test/test-ceph-helpers.sh \
+@@ -133,6 +134,8 @@ check_SCRIPTS += \
+         test/test_pidfile.sh \
+       test/test_subman.sh
++endif
++
+ EXTRA_DIST += \
+       $(srcdir)/test/python/brag-client/setup.py \
+       $(srcdir)/test/python/brag-client/tox.ini \
+--- a/configure.ac
++++ b/configure.ac
+@@ -1349,6 +1349,13 @@
+ AM_CONDITIONAL(WITH_BUILD_TESTS, test "$WITH_BUILD_TESTS" = "1")
++AC_ARG_WITH([cluster-tests],
++    [AS_HELP_STRING([--with-cluster-tests], [enables cluster tests])],
++    [],
++    [with_cluster_tests=no]
++)
++AM_CONDITIONAL(WITH_CLUSTER_TESTS, [ test "$with_cluster_tests" = "yes" ])
++
+ AM_PATH_PYTHON([2.4],
+       [], [AC_MSG_FAILURE([Failed to find Python 2.4 or newer])])
+--- a/src/test/erasure-code/Makefile.am
++++ b/src/test/erasure-code/Makefile.am
+@@ -1,9 +1,11 @@
+ if ENABLE_SERVER
+ if WITH_OSD
++if WITH_CLUSTER_TESTS
+ check_SCRIPTS += \
+       test/erasure-code/test-erasure-code.sh \
+       test/erasure-code/test-erasure-eio.sh
++endif
+ noinst_HEADERS += \
+       test/erasure-code/ceph_erasure_code_benchmark.h
diff --git a/patches/use_system_jerasure.patch b/patches/use_system_jerasure.patch
new file mode 100644 (file)
index 0000000..7c9858c
--- /dev/null
@@ -0,0 +1,182 @@
+Last-Update: 2014-12-09
+Forwarded: not-needed
+Author: Dmitry Smirnov <onlyjob@member.fsf.org>
+Description: use system "libjerasure" instead of bundled one.
+
+--- a/src/erasure-code/jerasure/Makefile.am
++++ b/src/erasure-code/jerasure/Makefile.am
+@@ -1,40 +1,8 @@
+ # jerasure plugin
+ noinst_HEADERS += \
+-  erasure-code/jerasure/gf-complete/include/gf_complete.h \
+-  erasure-code/jerasure/gf-complete/include/gf_general.h \
+-  erasure-code/jerasure/gf-complete/include/gf_int.h \
+-  erasure-code/jerasure/gf-complete/include/gf_method.h \
+-  erasure-code/jerasure/gf-complete/include/gf_rand.h \
+-  erasure-code/jerasure/gf-complete/include/gf_w16.h \
+-  erasure-code/jerasure/gf-complete/include/gf_w32.h \
+-  erasure-code/jerasure/gf-complete/include/gf_w4.h \
+-  erasure-code/jerasure/gf-complete/include/gf_w64.h \
+-  erasure-code/jerasure/gf-complete/include/gf_w8.h \
+-  erasure-code/jerasure/jerasure/include/cauchy.h \
+-  erasure-code/jerasure/jerasure/include/galois.h \
+-  erasure-code/jerasure/jerasure/include/jerasure.h \
+-  erasure-code/jerasure/jerasure/include/liberation.h \
+-  erasure-code/jerasure/jerasure/include/reed_sol.h \
+   erasure-code/jerasure/ErasureCodeJerasure.h
+ jerasure_sources = \
+-  erasure-code/ErasureCode.cc \
+-  erasure-code/jerasure/jerasure/src/cauchy.c \
+-  erasure-code/jerasure/jerasure/src/galois.c \
+-  erasure-code/jerasure/jerasure/src/jerasure.c \
+-  erasure-code/jerasure/jerasure/src/liberation.c \
+-  erasure-code/jerasure/jerasure/src/reed_sol.c \
+-  erasure-code/jerasure/gf-complete/src/gf_wgen.c \
+-  erasure-code/jerasure/gf-complete/src/gf_method.c \
+-  erasure-code/jerasure/gf-complete/src/gf_w16.c \
+-  erasure-code/jerasure/gf-complete/src/gf.c \
+-  erasure-code/jerasure/gf-complete/src/gf_w32.c \
+-  erasure-code/jerasure/gf-complete/src/gf_w64.c \
+-  erasure-code/jerasure/gf-complete/src/gf_w128.c \
+-  erasure-code/jerasure/gf-complete/src/gf_general.c \
+-  erasure-code/jerasure/gf-complete/src/gf_w4.c \
+-  erasure-code/jerasure/gf-complete/src/gf_rand.c \
+-  erasure-code/jerasure/gf-complete/src/gf_w8.c \
+   erasure-code/jerasure/ErasureCodePluginJerasure.cc \
+   erasure-code/jerasure/ErasureCodeJerasure.cc
+@@ -42,13 +10,11 @@ erasure-code/jerasure/ErasureCodePluginJ
+ libec_jerasure_generic_la_SOURCES = ${jerasure_sources}
+ libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS}  \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include
++    -I$(includedir)/jerasure
+ libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include
++    -I$(includedir)/jerasure
+ libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+-libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
++libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
+ if LINUX
+ libec_jerasure_generic_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
+ endif
+@@ -85,17 +51,15 @@ libec_jerasure_sse3_la_CFLAGS = ${AM_CFL
+       ${INTEL_SSE2_FLAGS} \
+       ${INTEL_SSE3_FLAGS} \
+       ${INTEL_SSSE3_FLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include
++    -I$(includedir)/jerasure
+ libec_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+       ${INTEL_SSE_FLAGS} \
+       ${INTEL_SSE2_FLAGS} \
+       ${INTEL_SSE3_FLAGS} \
+       ${INTEL_SSSE3_FLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include
++    -I$(includedir)/jerasure
+ libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+-libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
++libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
+ if LINUX
+ libec_jerasure_sse3_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
+ endif
+@@ -112,8 +76,7 @@ libec_jerasure_sse4_la_CFLAGS = ${AM_CFL
+       ${INTEL_SSSE3_FLAGS} \
+       ${INTEL_SSE4_1_FLAGS} \
+       ${INTEL_SSE4_2_FLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include
++    -I$(includedir)/jerasure
+ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+       ${INTEL_SSE_FLAGS} \
+       ${INTEL_SSE2_FLAGS} \
+@@ -121,10 +84,9 @@ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CX
+       ${INTEL_SSSE3_FLAGS} \
+       ${INTEL_SSE4_1_FLAGS} \
+       ${INTEL_SSE4_2_FLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include
++    -I$(includedir)/jerasure
+ libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+-libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
++libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
+ if LINUX
+ libec_jerasure_sse4_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
+ endif
+@@ -138,7 +100,7 @@ libec_jerasure_la_SOURCES = \
+ libec_jerasure_la_CFLAGS = ${AM_CFLAGS}
+ libec_jerasure_la_CXXFLAGS= ${AM_CXXFLAGS}
+ libec_jerasure_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+-libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
++libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
+ if LINUX
+ libec_jerasure_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
+ endif
+--- a/src/erasure-code/shec/Makefile.am
++++ b/src/erasure-code/shec/Makefile.am
+@@ -6,54 +6,24 @@ libec_shec_la_SOURCES = \
+       erasure-code/shec/ErasureCodeShec.cc \
+       erasure-code/shec/ErasureCodeShecTableCache.cc \
+       erasure-code/shec/shec.cc \
+-      erasure-code/shec/determinant.c \
+-      erasure-code/jerasure/jerasure/src/cauchy.c \
+-      erasure-code/jerasure/jerasure/src/galois.c \
+-      erasure-code/jerasure/jerasure/src/jerasure.c \
+-      erasure-code/jerasure/jerasure/src/liberation.c \
+-      erasure-code/jerasure/jerasure/src/reed_sol.c \
+-      erasure-code/jerasure/gf-complete/src/gf_wgen.c \
+-      erasure-code/jerasure/gf-complete/src/gf_method.c \
+-      erasure-code/jerasure/gf-complete/src/gf_w16.c \
+-      erasure-code/jerasure/gf-complete/src/gf.c \
+-      erasure-code/jerasure/gf-complete/src/gf_w32.c \
+-      erasure-code/jerasure/gf-complete/src/gf_w64.c \
+-      erasure-code/jerasure/gf-complete/src/gf_w128.c \
+-      erasure-code/jerasure/gf-complete/src/gf_general.c \
+-      erasure-code/jerasure/gf-complete/src/gf_w4.c \
+-      erasure-code/jerasure/gf-complete/src/gf_rand.c \
+-      erasure-code/jerasure/gf-complete/src/gf_w8.c
++      erasure-code/shec/determinant.c
+ noinst_HEADERS += \
+       erasure-code/shec/ErasureCodeShec.h \
+       erasure-code/shec/ErasureCodeShecTableCache.h \
+-      erasure-code/shec/shec.h \
+-      erasure-code/jerasure/jerasure/include/cauchy.h \
+-      erasure-code/jerasure/jerasure/include/galois.h \
+-      erasure-code/jerasure/jerasure/include/jerasure.h \
+-      erasure-code/jerasure/jerasure/include/liberation.h \
+-      erasure-code/jerasure/jerasure/include/reed_sol.h \
+-      erasure-code/jerasure/gf-complete/include/gf_int.h \
+-      erasure-code/jerasure/gf-complete/include/gf_complete.h \
+-      erasure-code/jerasure/gf-complete/include/gf_rand.h \
+-      erasure-code/jerasure/gf-complete/include/gf_method.h \
+-      erasure-code/jerasure/gf-complete/include/gf_general.h
++      erasure-code/shec/shec.h
+ erasure-code/shec/ErasureCodePluginShec.cc: ./ceph_ver.h
+ libec_shec_la_CFLAGS = ${AM_CFLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure \
+-      -I$(srcdir)/erasure-code/shec
++      -I$(srcdir)/erasure-code/shec \
++    -I$(includedir)/jerasure
+ libec_shec_la_CXXFLAGS= ${AM_CXXFLAGS} \
+-      -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+-      -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+-      -I$(srcdir)/erasure-code/jerasure \
+-      -I$(srcdir)/erasure-code/shec
++      -I$(srcdir)/erasure-code/shec \
++    -I$(includedir)/jerasure
+ libec_shec_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ #libec_shec_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
+ #libec_shec_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__erasure_code_.*'
+-libec_shec_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
++libec_shec_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
+ if LINUX
+ libec_shec_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
+ endif
diff --git a/patches/virtualenv-never-download.patch b/patches/virtualenv-never-download.patch
new file mode 100644 (file)
index 0000000..23f151f
--- /dev/null
@@ -0,0 +1,16 @@
+Last-Update: 2014-10-31
+Forwarded: no
+Author: Bastian Blank <waldi@debian.org>
+Description: Ask virtualenv to never download anything
+
+--- a/src/test/run-cli-tests
++++ b/src/test/run-cli-tests
+@@ -30,7 +30,7 @@ if [ ! -e "$CRAM_BIN" ]; then
+     # patched cram to support that. See upstream ticket at
+     # https://bitbucket.org/brodie/cram/issue/9/allow-read-only-directories-for-t
+     # -- tv@inktank.com
+-    virtualenv "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz"
++    virtualenv --system-site-packages "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz"
+ fi
+ SRCDIR_ABS="$(readlink -f "$SRCDIR")"
diff --git a/python-cephfs.install b/python-cephfs.install
new file mode 100644 (file)
index 0000000..7e81a4b
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/python*/dist-packages/ceph_volume_client.py
+usr/lib/python*/dist-packages/cephfs.so
+usr/lib/python*/dist-packages/cephfs-*.egg-info
diff --git a/python-rados.install b/python-rados.install
new file mode 100644 (file)
index 0000000..a5c5dae
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/python*/dist-packages/rados.so
+usr/lib/python*/dist-packages/rados-*.egg-info
diff --git a/python-rbd.install b/python-rbd.install
new file mode 100644 (file)
index 0000000..25584fb
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/python*/dist-packages/rbd-*.egg-info
+usr/lib/python*/dist-packages/rbd.so
diff --git a/radosgw.dirs b/radosgw.dirs
new file mode 100644 (file)
index 0000000..a2f1849
--- /dev/null
@@ -0,0 +1 @@
+var/lib/ceph/radosgw
diff --git a/radosgw.init b/radosgw.init
new file mode 120000 (symlink)
index 0000000..0bd5f06
--- /dev/null
@@ -0,0 +1 @@
+../src/init-radosgw
\ No newline at end of file
diff --git a/radosgw.install b/radosgw.install
new file mode 100644 (file)
index 0000000..5179cef
--- /dev/null
@@ -0,0 +1,7 @@
+etc/bash_completion.d/radosgw-admin /usr/share/bash-completion/completions/
+usr/bin/radosgw
+usr/bin/radosgw-admin
+usr/bin/radosgw-object-expirer
+usr/bin/radosgw-token
+usr/share/man/man8/radosgw-admin.8
+usr/share/man/man8/radosgw.8
diff --git a/radosgw.maintscript b/radosgw.maintscript
new file mode 100644 (file)
index 0000000..fd1bbd2
--- /dev/null
@@ -0,0 +1,4 @@
+rm_conffile /etc/init/radosgw-all-starter.conf 10.2.5-1~
+rm_conffile /etc/init/radosgw-instance.conf 10.2.5-1~
+rm_conffile /etc/init/radosgw-all.conf 10.2.5-1~
+rm_conffile /etc/bash_completion.d/radosgw-admin 10.2.5-1~
diff --git a/radosgw.postinst b/radosgw.postinst
new file mode 100644 (file)
index 0000000..2e88a07
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/sh
+# vim: set noet ts=8:
+# postinst script for radosgw
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+# The current action is to simply remove the mistakenly-added
+# /etc/init/ceph.conf file; this could be done in any of these cases,
+# although technically it will leave the system in a different state
+# than the original install that included that file.  So instead we
+# only remove on "configure", since that's the only time we know we're
+# successful in installing a newer package than the erroneous version.
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+
+case "$1" in
+    configure)
+       if ! dpkg-statoverride --list /var/lib/ceph/radosgw >/dev/null; then
+           chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/radosgw
+       fi
+    ;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+       :
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then
+    dpkg-maintscript-helper mv_conffile \
+        /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \
+        0.72.1-3~ radosgw -- "$@"
+fi
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/radosgw.postrm b/radosgw.postrm
new file mode 100644 (file)
index 0000000..3083c14
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then
+    dpkg-maintscript-helper mv_conffile \
+        /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \
+        0.72.1-3~ radosgw -- "$@"
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/radosgw.preinst b/radosgw.preinst
new file mode 100644 (file)
index 0000000..3083c14
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then
+    dpkg-maintscript-helper mv_conffile \
+        /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \
+        0.72.1-3~ radosgw -- "$@"
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/radosgw.prerm b/radosgw.prerm
new file mode 100644 (file)
index 0000000..0288ab7
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+# vim: set noet ts=8:
+
+set -e
+
+case "$1" in
+    remove)
+       invoke-rc.d radosgw stop || {
+           RESULT=$?
+           if [ $RESULT != 100 ]; then
+               exit $RESULT
+           fi
+       }
+       ;;
+
+    *)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/rbd-fuse.install b/rbd-fuse.install
new file mode 100644 (file)
index 0000000..7b6b96f
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/rbd-fuse
+usr/share/man/man8/rbd-fuse.8
diff --git a/rbd-mirror.install b/rbd-mirror.install
new file mode 100644 (file)
index 0000000..80f8210
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/rbd-mirror
+usr/share/man/man8/rbd-mirror.8
diff --git a/rbd-nbd.install b/rbd-nbd.install
new file mode 100644 (file)
index 0000000..385c450
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/rbd-nbd
+usr/share/man/man8/rbd-nbd.8
diff --git a/rest-bench.install b/rest-bench.install
new file mode 100644 (file)
index 0000000..8535f20
--- /dev/null
@@ -0,0 +1 @@
+usr/bin/rest-bench
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..7e1687c
--- /dev/null
+++ b/rules
@@ -0,0 +1,180 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+#export DH_VERBOSE=1
+
+# Reduce size of debug symbols to fix FTBFS due to the
+# 2GB/3GB address space limits on 32bit
+DEB_HOST_ARCH_BITS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS)
+ifeq (32,$(DEB_HOST_ARCH_BITS))
+       export DEB_CFLAGS_MAINT_APPEND = -g1
+       export DEB_CXXFLAGS_MAINT_APPEND = -g1
+endif
+
+# Limit parallel builds to 2 for now
+
+# minimise needless linking and link to libatomic
+# The last is needed because long long atomic operations are not directly
+# supported by all processor architectures
+export DEB_LDFLAGS_MAINT_APPEND= -Wl,--as-needed -latomic
+
+# Enable hardening
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+export DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+export JAVA_HOME=/usr/lib/jvm/default-java
+## Set JAVAC to prevent FTBFS due to incorrect use of 'gcj' if found (see "m4/ac_prog_javac.m4").
+export JAVAC=javac
+
+extraopts += --disable-silent-rules
+extraopts += --with-ocf --with-nss
+extraopts += --with-debug
+extraopts += --enable-cephfs-java
+extraopts += --with-babeltrace
+## do not build with lttng just yet, see #765842.
+extraopts += --without-lttng
+
+# rocksdb is not packaged by anyone.  build it if we can.
+extraopts += --with-librocksdb-static=check
+
+ifeq ($(DEB_HOST_ARCH), armel)
+  # armel supports ARMv4t or above instructions sets.
+  # libatomic-ops is only usable with Ceph for ARMv6 or above.
+  extraopts += --without-libatomic-ops
+endif
+
+# Only selected architectures support gperftools
+gperftools_archs = i386 amd64 powerpc armhf ppc64el arm64
+ifneq (,$(filter $(DEB_HOST_ARCH), $(gperftools_archs)))
+  extraopts += --with-tcmalloc
+else
+  extraopts += --without-tcmalloc
+endif
+
+# Setup max parallel builds based on architecture
+ifeq ($(DEB_HOST_ARCH), arm64)
+  maxparallel=1
+else ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  maxparallel=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+else
+  maxparallel=2
+endif
+
+# Use system provided libs3
+extraopts += --with-system-libs3
+
+# Set _FILE_OFFSET_BITS=64 globally. While this is set by the build system
+# through an automake variable, configure does not know about this and thus
+# fails when testing xfs.h on 32bit systems.
+export DEB_CPPFLAGS_MAINT_APPEND=-D_FILE_OFFSET_BITS=64
+
+# Build fix for mips/mipsel
+# The first two variables work around a compiler bug which leads to virtual
+# memory exhaustion while compiling the testsuite. See Debian bug #849657 and
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79030
+ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel))
+  export DEB_CFLAGS_MAINT_APPEND= --param ggc-min-expand=5
+  export DEB_CXXFLAGS_MAINT_APPEND= --param ggc-min-expand=5
+endif
+
+%:
+       dh $@ --with javahelper,python2,autoreconf,systemd --parallel --max-parallel=$(maxparallel)
+
+override_dh_autoreconf:
+       dh_autoreconf --as-needed
+
+override_dh_auto_configure:
+       dh_auto_configure -- $(extraopts)
+
+override_dh_auto_install:
+       # At least on armel installation of the Python modules fails in weird ways
+       # when run in parallel. As this is probably not specific to armel but just only
+       # triggered there because the architecture is too slow, run without parallelism
+       # everywhere.
+       dh_auto_install --no-parallel
+
+override_dh_install:
+       # remove .la files, we don't want to install these in Debian,
+       # see Policy 10.2
+       find debian/tmp -name '*.la' -delete
+       # NOTE: manually install python modules to avoid virtualenvs
+       #       during the package build process.
+       set -e; for comp in ceph-detect-init ceph-disk; do \
+               (set -e; cd src/$$comp; python setup.py install --root=$(CURDIR)/debian/tmp \
+                       --install-script=/usr/sbin --install-layout=deb); \
+       done
+       # NOTE: ensure that any versioned erasure coding test code is dropped
+       #       from the package install - package ships unversioned modules.
+       rm -f $(CURDIR)/debian/tmp/usr/lib/*/ceph/erasure-code/libec_*.so.*
+       find $(CURDIR)/debian/tmp/usr/lib/*/ceph/erasure-code -type l -delete || :
+       install -D -m 644 src/etc-rbdmap $(CURDIR)/debian/tmp/etc/ceph/rbdmap
+       dh_install --list-missing
+
+override_dh_installchangelogs:
+       dh_installchangelogs ChangeLog
+
+override_dh_installinit:
+       dh_installinit --no-start
+       dh_installinit -pceph-common --no-start --name=rbdmap
+       # install the systemd stuff manually since we have funny service names
+       # and need to update the paths in all of the files post install
+       # systemd:ceph-common
+       install -d -m0755 debian/ceph-common/lib/systemd/system
+       install -m0644 systemd/ceph.target debian/ceph-common/lib/systemd/system
+       install -d -m0755 debian/ceph-common/usr/lib/tmpfiles.d
+       install -m 0644 -D systemd/ceph.tmpfiles.d debian/ceph-common/usr/lib/tmpfiles.d/ceph.conf
+       # systemd:ceph-base
+       install -d -m0755 debian/ceph-base/lib/systemd/system
+       install -m0644 systemd/ceph-create-keys@.service debian/ceph-base/lib/systemd/system
+       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-base/lib/systemd/system/ceph-create-keys@.service
+       # systemd:ceph-mon
+       install -d -m0755 debian/ceph-mon/lib/systemd/system
+       install -m0644 systemd/ceph-mon@.service debian/ceph-mon/lib/systemd/system
+       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mon/lib/systemd/system/ceph-mon@.service
+       install -m0644 systemd/ceph-mon.target debian/ceph-mon/lib/systemd/system
+       # systemd:ceph-osd
+       install -d -m0755 debian/ceph-osd/lib/systemd/system
+       install -m0644 systemd/ceph-osd@.service debian/ceph-osd/lib/systemd/system
+       install -m0644 systemd/ceph-disk@.service debian/ceph-osd/lib/systemd/system
+       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-osd@.service
+       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-disk@.service
+       install -m0644 systemd/ceph-osd.target debian/ceph-osd/lib/systemd/system
+       # systemd:ceph-mds
+       install -d -m0755 debian/ceph-mds/lib/systemd/system
+       install -m0644 systemd/ceph-mds@.service debian/ceph-mds/lib/systemd/system
+       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mds/lib/systemd/system/ceph-mds@.service
+       install -m0644 systemd/ceph-mds.target debian/ceph-mds/lib/systemd/system
+       # systemd:radosgw
+       install -d -m0755 debian/radosgw/lib/systemd/system
+       install -m0644 systemd/ceph-radosgw@.service debian/radosgw/lib/systemd/system
+       sed -i s./etc/sysconfig/./etc/default/.g debian/radosgw/lib/systemd/system/ceph-radosgw@.service
+       install -m0644 systemd/ceph-radosgw.target debian/radosgw/lib/systemd/system
+       # disable SysV init file for systemd
+       ln -s /dev/null debian/radosgw/lib/systemd/system/radosgw.service
+       # systemd:rbd-mirror
+       install -d -m0755 debian/rbd-mirror/lib/systemd/system
+       install -m0644 systemd/ceph-rbd-mirror@.service debian/rbd-mirror/lib/systemd/system
+       sed -i s./etc/sysconfig/./etc/default/.g debian/rbd-mirror/lib/systemd/system/ceph-rbd-mirror@.service
+       install -m0644 systemd/ceph-rbd-mirror.target debian/rbd-mirror/lib/systemd/system
+
+override_dh_systemd_enable:
+       ## Do not enable services to match `dh_installinit --no-start`
+       ## behaviour.
+       ## Users are expected to "systemctl enable" services once their
+       ## configuration is correct.
+
+override_dh_systemd_start:
+       ## Do not start services to match `dh_installinit --no-start`
+       ## behaviour.
+       ## Users are expected to "systemctl start" services once their
+       ## configuration is correct or after package updates.
+
+override_dh_makeshlibs:
+       # exclude jni libraries in libcephfs-jni to avoid pointless ldconfig
+       # calls in maintainer scripts; exclude private erasure-code plugins.
+       dh_makeshlibs -V -X/usr/lib/jni -X/usr/lib/$(DEB_HOST_MULTIARCH)/ceph/erasure-code
+
+override_dh_auto_test:
+       -dh_auto_test -v || cat src/test-suite.log
+
+.PHONY: override_dh_auto_configure override_dh_installinit override_dh_makeshlibs override_dh_auto_test
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/build-rados b/tests/build-rados
new file mode 100755 (executable)
index 0000000..c629992
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+# autopkgtest check: Build and run a program against librados2 to 
+# validate that headers are installed and libraries exists
+
+set -e
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > radostest.c
+#include <rados/librados.h>
+
+int
+main(void)
+{
+    int err;
+    rados_t cluster;
+
+    err = rados_create(&cluster, NULL);
+    if (err < 0) {
+       return (1);
+    }
+    return(0);
+}
+EOF
+
+gcc -o radostest radostest.c -lrados
+echo "build: OK"
+[ -x radostest ]
+./radostest
+echo "run: OK"
diff --git a/tests/build-rbd b/tests/build-rbd
new file mode 100755 (executable)
index 0000000..5ad6f88
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+# autopkgtest check: Build and run a program against librbd1 to 
+# validate that headers are installed and libraries exists
+
+set -e
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > rbdtest.c
+#include <rbd/librbd.h>
+
+int
+main(void)
+{
+    return(0);
+}
+EOF
+
+gcc -o rbdtest rbdtest.c -lrbd
+echo "build: OK"
+[ -x rbdtest ]
+./rbdtest
+echo "run: OK"
diff --git a/tests/ceph-client b/tests/ceph-client
new file mode 100755 (executable)
index 0000000..c693a56
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -e
+
+CLIENTS=('ceph')
+
+for client in "${CLIENTS[@]}"; do
+    echo -n "Testing client $client: "
+    $client -v 2>&1 > /dev/null
+    echo "OK"
+done
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..9e6a190
--- /dev/null
@@ -0,0 +1,3 @@
+Tests: ceph-client build-rados build-rbd python-ceph
+Depends: ceph-common, librbd-dev, librados-dev, python-ceph, build-essential
+Restrictions: needs-root
diff --git a/tests/python-ceph b/tests/python-ceph
new file mode 100755 (executable)
index 0000000..0af8f84
--- /dev/null
@@ -0,0 +1,7 @@
+#!/usr/bin/python
+
+# Test that rbd and rados can be imported OK
+import rbd
+import rados
+
+print "python-ceph: OK"
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..3f9763e
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+opts="uversionmangle=s/-/~/" \
+ http://ceph.com/download/ceph-(\d.*)\.tar\.gz