From: Peter Michael Green Date: Sun, 30 Jul 2017 09:48:17 +0000 (+0100) Subject: ceph (10.2.5-7.2+rpi1) buster-staging; urgency=medium X-Git-Tag: archive/raspbian/12.2.8+dfsg1-5+rpi1~19 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=22de5192fcb0ef2a98d9604352b5fc147cc85aba;p=ceph.git 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. [dgit import unpatched ceph 10.2.5-7.2+rpi1] --- 22de5192fcb0ef2a98d9604352b5fc147cc85aba diff --cc debian/README.Debian index 000000000,000000000..be21ad791 new file mode 100644 --- /dev/null +++ b/debian/README.Debian @@@ -1,0 -1,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 --cc debian/ceph-base.dirs index 000000000,000000000..9881b8391 new file mode 100644 --- /dev/null +++ b/debian/ceph-base.dirs @@@ -1,0 -1,0 +1,4 @@@ ++var/lib/ceph/bootstrap-mds ++var/lib/ceph/bootstrap-osd ++var/lib/ceph/bootstrap-rgw ++var/lib/ceph/tmp diff --cc debian/ceph-base.install index 000000000,000000000..93436f069 new file mode 100644 --- /dev/null +++ b/debian/ceph-base.install @@@ -1,0 -1,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 --cc debian/ceph-base.lintian-overrides index 000000000,000000000..d4041ca8e new file mode 100644 --- /dev/null +++ b/debian/ceph-base.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# False-positives: ++spelling-error-in-binary * tEH the diff --cc debian/ceph-base.postinst index 000000000,000000000..23712a8b4 new file mode 100644 --- /dev/null +++ b/debian/ceph-base.postinst @@@ -1,0 -1,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 ++# old-postinst abort-upgrade ++# conflictor's-postinst abort-remove in-favour ++# postinst abort-remove ++# deconfigured's-postinst abort-deconfigure in-favour [ ] ++# ++# 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 --cc debian/ceph-base.postrm index 000000000,000000000..48e4853c0 new file mode 100644 --- /dev/null +++ b/debian/ceph-base.postrm @@@ -1,0 -1,0 +1,47 @@@ ++#!/bin/sh ++# postrm script for ceph ++# ++# see: dh_installdeb(1) ++ ++set -e ++ ++# summary of how this script can be called: ++# * `remove' ++# * `purge' ++# * `upgrade' ++# * `failed-upgrade' ++# * `abort-install' ++# * `abort-install' ++# * `abort-upgrade' ++# * `disappear' ++# ++# 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 --cc debian/ceph-base.prerm index 000000000,000000000..e76715ee5 new file mode 100644 --- /dev/null +++ b/debian/ceph-base.prerm @@@ -1,0 -1,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 --cc debian/ceph-common.dirs index 000000000,000000000..ff05698c2 new file mode 100644 --- /dev/null +++ b/debian/ceph-common.dirs @@@ -1,0 -1,0 +1,3 @@@ ++etc/ceph ++var/lib/ceph ++var/log/ceph diff --cc debian/ceph-common.install index 000000000,000000000..86842f899 new file mode 100644 --- /dev/null +++ b/debian/ceph-common.install @@@ -1,0 -1,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 --cc debian/ceph-common.lintian-overrides index 000000000,000000000..c26dfbace new file mode 100644 --- /dev/null +++ b/debian/ceph-common.lintian-overrides @@@ -1,0 -1,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 --cc debian/ceph-common.logrotate index 000000000,000000000..df20846f0 new file mode 120000 --- /dev/null +++ b/debian/ceph-common.logrotate @@@ -1,0 -1,0 +1,1 @@@ ++../src/logrotate.conf diff --cc debian/ceph-common.maintscript index 000000000,000000000..dc7cf6263 new file mode 100644 --- /dev/null +++ b/debian/ceph-common.maintscript @@@ -1,0 -1,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 --cc debian/ceph-common.manpages index 000000000,000000000..643fa2a41 new file mode 100644 --- /dev/null +++ b/debian/ceph-common.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/man/ceph-crush-location.1 diff --cc debian/ceph-common.postinst index 000000000,000000000..020b89b29 new file mode 100644 --- /dev/null +++ b/debian/ceph-common.postinst @@@ -1,0 -1,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 ++# old-postinst abort-upgrade ++# conflictor's-postinst abort-remove in-favour ++# postinst abort-remove ++# deconfigured's-postinst abort-deconfigure in-favour [ ] ++# ++ ++# 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 --cc debian/ceph-common.postrm index 000000000,000000000..6d4fa5e59 new file mode 100644 --- /dev/null +++ b/debian/ceph-common.postrm @@@ -1,0 -1,0 +1,47 @@@ ++#!/bin/sh ++# postrm script for ceph-common ++# ++# see: dh_installdeb(1) ++ ++set -e ++ ++# summary of how this script can be called: ++# * `remove' ++# * `purge' ++# * `upgrade' ++# * `failed-upgrade' ++# * `abort-install' ++# * `abort-install' ++# * `abort-upgrade' ++# * `disappear' ++# ++# 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 --cc debian/ceph-common.rbdmap.init index 000000000,000000000..b2de0ce8b new file mode 120000 --- /dev/null +++ b/debian/ceph-common.rbdmap.init @@@ -1,0 -1,0 +1,1 @@@ ++../src/init-rbdmap diff --cc debian/ceph-fs-common.install index 000000000,000000000..70f6e949a new file mode 100644 --- /dev/null +++ b/debian/ceph-fs-common.install @@@ -1,0 -1,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 --cc debian/ceph-fuse.install index 000000000,000000000..364e86393 new file mode 100644 --- /dev/null +++ b/debian/ceph-fuse.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/sbin/mount.fuse.ceph sbin ++usr/bin/ceph-fuse ++usr/share/man/man8/ceph-fuse.8 diff --cc debian/ceph-fuse.lintian-overrides index 000000000,000000000..d4041ca8e new file mode 100644 --- /dev/null +++ b/debian/ceph-fuse.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# False-positives: ++spelling-error-in-binary * tEH the diff --cc debian/ceph-fuse.manpages index 000000000,000000000..e4c9c231e new file mode 100644 --- /dev/null +++ b/debian/ceph-fuse.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/man/mount.fuse.ceph.8 diff --cc debian/ceph-mds.dirs index 000000000,000000000..eb38f4400 new file mode 100644 --- /dev/null +++ b/debian/ceph-mds.dirs @@@ -1,0 -1,0 +1,1 @@@ ++/var/lib/ceph/mds diff --cc debian/ceph-mds.install index 000000000,000000000..ea3dae640 new file mode 100644 --- /dev/null +++ b/debian/ceph-mds.install @@@ -1,0 -1,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 --cc debian/ceph-mds.lintian-overrides index 000000000,000000000..d4041ca8e new file mode 100644 --- /dev/null +++ b/debian/ceph-mds.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# False-positives: ++spelling-error-in-binary * tEH the diff --cc debian/ceph-mds.maintscript index 000000000,000000000..4e9d147c6 new file mode 100644 --- /dev/null +++ b/debian/ceph-mds.maintscript @@@ -1,0 -1,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 --cc debian/ceph-mds.postinst index 000000000,000000000..f6c9f4ef8 new file mode 100644 --- /dev/null +++ b/debian/ceph-mds.postinst @@@ -1,0 -1,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 ++# old-postinst abort-upgrade ++# conflictor's-postinst abort-remove in-favour ++# postinst abort-remove ++# deconfigured's-postinst abort-deconfigure in-favour [ ] ++# ++ ++# 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 --cc debian/ceph-mds.prerm index 000000000,000000000..7a491aa5b new file mode 100644 --- /dev/null +++ b/debian/ceph-mds.prerm @@@ -1,0 -1,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 --cc debian/ceph-mon.dirs index 000000000,000000000..e2845f602 new file mode 100644 --- /dev/null +++ b/debian/ceph-mon.dirs @@@ -1,0 -1,0 +1,1 @@@ ++var/lib/ceph/mon diff --cc debian/ceph-mon.install index 000000000,000000000..a284d409c new file mode 100644 --- /dev/null +++ b/debian/ceph-mon.install @@@ -1,0 -1,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 --cc debian/ceph-mon.postinst index 000000000,000000000..d00461738 new file mode 100644 --- /dev/null +++ b/debian/ceph-mon.postinst @@@ -1,0 -1,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 ++# old-postinst abort-upgrade ++# conflictor's-postinst abort-remove in-favour ++# postinst abort-remove ++# deconfigured's-postinst abort-deconfigure in-favour [ ] ++# ++ ++# 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 --cc debian/ceph-mon.prerm index 000000000,000000000..a31fc3c21 new file mode 100644 --- /dev/null +++ b/debian/ceph-mon.prerm @@@ -1,0 -1,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 --cc debian/ceph-osd.dirs index 000000000,000000000..b7fc47618 new file mode 100644 --- /dev/null +++ b/debian/ceph-osd.dirs @@@ -1,0 -1,0 +1,1 @@@ ++var/lib/ceph/osd diff --cc debian/ceph-osd.install index 000000000,000000000..6a66d5baf new file mode 100644 --- /dev/null +++ b/debian/ceph-osd.install @@@ -1,0 -1,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 --cc debian/ceph-osd.postinst index 000000000,000000000..d61fe6141 new file mode 100644 --- /dev/null +++ b/debian/ceph-osd.postinst @@@ -1,0 -1,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 ++# old-postinst abort-upgrade ++# conflictor's-postinst abort-remove in-favour ++# postinst abort-remove ++# deconfigured's-postinst abort-deconfigure in-favour [ ] ++# ++ ++# 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 --cc debian/ceph-osd.prerm index 000000000,000000000..93c459614 new file mode 100644 --- /dev/null +++ b/debian/ceph-osd.prerm @@@ -1,0 -1,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 --cc debian/ceph-resource-agents.install index 000000000,000000000..47e751617 new file mode 100644 --- /dev/null +++ b/debian/ceph-resource-agents.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/ocf/resource.d/ceph diff --cc debian/ceph-test.install index 000000000,000000000..d4de5a601 new file mode 100644 --- /dev/null +++ b/debian/ceph-test.install @@@ -1,0 -1,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 --cc debian/ceph-test.jlibs index 000000000,000000000..ca3da00a6 new file mode 100644 --- /dev/null +++ b/debian/ceph-test.jlibs @@@ -1,0 -1,0 +1,1 @@@ ++debian/tmp/usr/share/java/libcephfs-test.jar diff --cc debian/ceph-test.lintian-overrides index 000000000,000000000..7a8b3cb60 new file mode 100644 --- /dev/null +++ b/debian/ceph-test.lintian-overrides @@@ -1,0 -1,0 +1,5 @@@ ++# False-positives: ++spelling-error-in-binary * tEH the ++ ++# Acknowledged: ++binary-without-manpage diff --cc debian/ceph.NEWS index 000000000,000000000..ee9db2f22 new file mode 100644 --- /dev/null +++ b/debian/ceph.NEWS @@@ -1,0 -1,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 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 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 Mon, 04 May 2015 22:49:48 +0200 diff --cc debian/ceph.init index 000000000,000000000..b538109d2 new file mode 120000 --- /dev/null +++ b/debian/ceph.init @@@ -1,0 -1,0 +1,1 @@@ ++../src/init-ceph diff --cc debian/ceph.maintscript index 000000000,000000000..ec2c87d6c new file mode 100644 --- /dev/null +++ b/debian/ceph.maintscript @@@ -1,0 -1,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 --cc debian/changelog index 000000000,000000000..4c0a7dd0a new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 08 Mar 2014 16:48:28 +0000 ++ ++ceph (0.72.2-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- James Page 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 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 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 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) 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) 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) Sun, 03 Jun 2012 13:37:52 +0200 ++ ++ceph (0.44.1-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Laszlo Boszormenyi (GCS) 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) Sun, 26 Feb 2012 04:07:02 +0100 ++ ++ceph (0.41-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Laszlo Boszormenyi (GCS) 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) 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) Sun, 27 Nov 2011 21:40:52 +0100 ++ ++ceph (0.35-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Laszlo Boszormenyi (GCS) 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) 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 Sat, 28 May 2011 22:28:48 +0200 ++ ++ceph (0.27-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Laszlo Boszormenyi (GCS) 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) 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) Fri, 25 Feb 2011 15:17:26 +0100 ++ ++ceph (0.24.3-1) unstable; urgency=low ++ ++ * New upstream bugfix release. ++ ++ -- Laszlo Boszormenyi (GCS) Sat, 19 Feb 2011 12:25:43 +0100 ++ ++ceph (0.24.2-1) unstable; urgency=low ++ ++ * New upstream bugfix release. ++ ++ -- Laszlo Boszormenyi (GCS) Sat, 29 Jan 2011 15:25:14 +0100 ++ ++ceph (0.24.1-1) unstable; urgency=low ++ ++ * New upstream bugfix release. ++ ++ -- Laszlo Boszormenyi (GCS) Tue, 11 Jan 2011 22:23:18 +0100 ++ ++ceph (0.24-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Laszlo Boszormenyi (GCS) Wed, 01 Dec 2010 09:26:25 -0800 ++ ++ceph (0.23.1-1) experimental; urgency=low ++ ++ * Initial release (Closes: #506040) ++ ++ -- Sage Weil Sun, 21 Nov 2010 15:22:21 -0800 diff --cc debian/clean index 000000000,000000000..d8fa09718 new file mode 100644 --- /dev/null +++ b/debian/clean @@@ -1,0 -1,0 +1,3 @@@ ++src/rocksdb/util/build_version.cc ++src/pybind/*.pyc ++src/test/pybind/*.pyc diff --cc debian/compat index 000000000,000000000..ec635144f new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++9 diff --cc debian/control index 000000000,000000000..16301c46b new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,503 @@@ ++Source: ceph ++Section: admin ++Priority: optional ++Maintainer: Ceph Maintainers ++Uploaders: James Page , ++ Gaudenz Steinlin ++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 --cc debian/copyright index 000000000,000000000..4be351d63 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,819 @@@ ++Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: ceph ++Upstream-Contact: Sage Weil ++Source: http://ceph.com/ ++ ++Files: * ++Copyright: 2004-2014 Sage Weil ++ 2004-2014 Inktank ++ Inktank, Inc ++ Inktank Storage, Inc. ++ 2012-2014 Red Hat ++ 2013-2014 Cloudwatt ++ 2013 CohortFS, LLC ++ 2004-2011 Dreamhost ++ 2013 eNovance SAS ++ 2014 Adam Crume ++ 2012 Florian Haas, hastexo ++ 2010 Greg Farnum ++ 2014 John Spray ++ 2011 Stanislav Sedov ++ 2013-2014 UnitedStack ++ 2011 Wido den Hollander ++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 ++ 2014 Red Hat ++ 2013 eNovance SAS ++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 ++ 2013 Inktank ++ 2013-2014 Cloudwatt ++License: LGPL-2+ ++ ++Files: src/os/btrfs_ioctl.h ++ src/test/mon/PGMap.cc ++Copyright: 2007 Oracle. All rights reserved. ++ 2014 Inktank ++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 ++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 . ++ . ++ 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 ++ 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 ++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 ++ 2010 Canonical, Ltd. ++ 2011-2013 László Böszörményi (GCS) ++ 2013-2014 James Page ++ 2014 Dmitry Smirnov ++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 . ++ . ++ 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 --cc debian/etc/default/ceph index 000000000,000000000..c32bdf409 new file mode 100644 --- /dev/null +++ b/debian/etc/default/ceph @@@ -1,0 -1,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 --cc debian/etc/pm/sleep.d/25-ceph index 000000000,000000000..09f684aa1 new file mode 100755 --- /dev/null +++ b/debian/etc/pm/sleep.d/25-ceph @@@ -1,0 -1,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 --cc debian/gbp.conf index 000000000,000000000..6a469d2b4 new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,6 @@@ ++[DEFAULT] ++debian-branch = jewel ++pristine-tar = True ++ ++[import-orig] ++filter = debian/* diff --cc debian/lib-systemd/system-sleep/ceph index 000000000,000000000..cf62f8321 new file mode 100755 --- /dev/null +++ b/debian/lib-systemd/system-sleep/ceph @@@ -1,0 -1,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 --cc debian/lib-systemd/system/ceph-create-keys.service index 000000000,000000000..4e29bc1e9 new file mode 100644 --- /dev/null +++ b/debian/lib-systemd/system/ceph-create-keys.service @@@ -1,0 -1,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 --cc debian/lib-systemd/system/ceph-mds.service index 000000000,000000000..86ff057f1 new file mode 100644 --- /dev/null +++ b/debian/lib-systemd/system/ceph-mds.service @@@ -1,0 -1,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 --cc debian/lib-systemd/system/ceph-mon.service index 000000000,000000000..02f5a35eb new file mode 100644 --- /dev/null +++ b/debian/lib-systemd/system/ceph-mon.service @@@ -1,0 -1,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 --cc debian/lib-systemd/system/ceph-osd@.service index 000000000,000000000..adfa6a02f new file mode 100644 --- /dev/null +++ b/debian/lib-systemd/system/ceph-osd@.service @@@ -1,0 -1,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 --cc debian/libcephfs-dev.install index 000000000,000000000..716d0035c new file mode 100644 --- /dev/null +++ b/debian/libcephfs-dev.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/include/cephfs/libcephfs.h ++usr/lib/*/libcephfs.a ++usr/lib/*/libcephfs.so diff --cc debian/libcephfs-java.jlibs index 000000000,000000000..1029fb53d new file mode 100644 --- /dev/null +++ b/debian/libcephfs-java.jlibs @@@ -1,0 -1,0 +1,1 @@@ ++debian/tmp/usr/share/java/libcephfs.jar diff --cc debian/libcephfs-jni.install index 000000000,000000000..15cb91d90 new file mode 100644 --- /dev/null +++ b/debian/libcephfs-jni.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libcephfs_jni.so* usr/lib/jni diff --cc debian/libcephfs1.install index 000000000,000000000..f09e93ca5 new file mode 100644 --- /dev/null +++ b/debian/libcephfs1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libcephfs.so.* diff --cc debian/libcephfs1.lintian-overrides index 000000000,000000000..d4041ca8e new file mode 100644 --- /dev/null +++ b/debian/libcephfs1.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# False-positives: ++spelling-error-in-binary * tEH the diff --cc debian/libcephfs1.symbols index 000000000,000000000..a1b223ff2 new file mode 100644 --- /dev/null +++ b/debian/libcephfs1.symbols @@@ -1,0 -1,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 --cc debian/librados-dev.install index 000000000,000000000..960a63553 new file mode 100644 --- /dev/null +++ b/debian/librados-dev.install @@@ -1,0 -1,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 --cc debian/librados2.install index 000000000,000000000..a96bdb292 new file mode 100644 --- /dev/null +++ b/debian/librados2.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/librados.so.* diff --cc debian/librados2.lintian-overrides index 000000000,000000000..d4041ca8e new file mode 100644 --- /dev/null +++ b/debian/librados2.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# False-positives: ++spelling-error-in-binary * tEH the diff --cc debian/librados2.symbols index 000000000,000000000..7f62e1a20 new file mode 100644 --- /dev/null +++ b/debian/librados2.symbols @@@ -1,0 -1,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 --cc debian/libradosstriper-dev.install index 000000000,000000000..6f410549e new file mode 100644 --- /dev/null +++ b/debian/libradosstriper-dev.install @@@ -1,0 -1,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 --cc debian/libradosstriper1.install index 000000000,000000000..742549ba9 new file mode 100644 --- /dev/null +++ b/debian/libradosstriper1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libradosstriper.so.* diff --cc debian/libradosstriper1.symbols index 000000000,000000000..df6d8dfda new file mode 100644 --- /dev/null +++ b/debian/libradosstriper1.symbols @@@ -1,0 -1,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 --cc debian/librbd-dev.install index 000000000,000000000..a7ee137d5 new file mode 100644 --- /dev/null +++ b/debian/librbd-dev.install @@@ -1,0 -1,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 --cc debian/librbd1.install index 000000000,000000000..decadbc19 new file mode 100644 --- /dev/null +++ b/debian/librbd1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/librbd.so.* diff --cc debian/librbd1.symbols index 000000000,000000000..587175c33 new file mode 100644 --- /dev/null +++ b/debian/librbd1.symbols @@@ -1,0 -1,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 --cc debian/librgw-dev.install index 000000000,000000000..c816e2112 new file mode 100644 --- /dev/null +++ b/debian/librgw-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/rados/librgw.h ++usr/include/rados/rgw_file.h ++usr/lib/*/librgw.a ++usr/lib/*/librgw.so diff --cc debian/librgw2.install index 000000000,000000000..267c56113 new file mode 100644 --- /dev/null +++ b/debian/librgw2.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/librgw.so.* diff --cc debian/man/ceph-crush-location.1 index 000000000,000000000..d05d85c7b new file mode 100644 --- /dev/null +++ b/debian/man/ceph-crush-location.1 @@@ -1,0 -1,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 ++name of the cluster (see /etc/ceph/$cluster.conf) ++.TP 4 ++\fB\-\-type\fR ++daemon/entity type ++.TP 4 ++\fB\-\-id\fR ++id (osd number, mds name, client name) ++ ++.SH SEE ALSO ++.TP ++\fBceph-conf\fP(8) diff --cc debian/man/mount.fuse.ceph.8 index 000000000,000000000..718936578 new file mode 100644 --- /dev/null +++ b/debian/man/mount.fuse.ceph.8 @@@ -1,0 -1,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 --cc debian/not-installed index 000000000,000000000..7d8c43066 new file mode 100644 --- /dev/null +++ b/debian/not-installed @@@ -1,0 -1,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 --cc debian/patches/arch.patch index 000000000,000000000..adf31d088 new file mode 100644 --- /dev/null +++ b/debian/patches/arch.patch @@@ -1,0 -1,0 +1,17 @@@ ++Last-Update: 2014-10-19 ++Forwarded: not-needed ++Author: Dmitry Smirnov ++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 --cc debian/patches/bug-10036.patch index 000000000,000000000..360e476c2 new file mode 100644 --- /dev/null +++ b/debian/patches/bug-10036.patch @@@ -1,0 -1,0 +1,32 @@@ ++Last-Update: 2014-12-25 ++Bug-Ceph: http://tracker.ceph.com/issues/10036 ++Author: Mykola Golub ++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 touched; ++ set roots; diff --cc debian/patches/cve-2016-9579_short_cors_request.patch index 000000000,000000000..6a654bacd new file mode 100644 --- /dev/null +++ b/debian/patches/cve-2016-9579_short_cors_request.patch @@@ -1,0 -1,0 +1,51 @@@ ++commit 67d4d9e64bc224e047cf333e673bb22cd6290789 ++Author: LiuYang ++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: *.verylongdomain.com). ++ 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 ++ ++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& 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 --cc debian/patches/detect-raspbian.diff index 000000000,000000000..2e07b53f4 new file mode 100644 --- /dev/null +++ b/debian/patches/detect-raspbian.diff @@@ -1,0 -1,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 ++ ++--- 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 --cc debian/patches/disable-openssl-linking.patch index 000000000,000000000..9fe7e31a1 new file mode 100644 --- /dev/null +++ b/debian/patches/disable-openssl-linking.patch @@@ -1,0 -1,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 ++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 --cc debian/patches/fix-cycles-arch.patch index 000000000,000000000..c2dfff597 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-cycles-arch.patch @@@ -1,0 -1,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 ++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 --cc debian/patches/fix-init-system-detection.patch index 000000000,000000000..2e250b3d5 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-init-system-detection.patch @@@ -1,0 -1,0 +1,144 @@@ ++Last-Update: 2017-05-11 ++Bug-Ceph: http://tracker.ceph.com/issues/19884 ++Author: Kefu Chai and Gaudenz Steinlin ++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 --cc debian/patches/mips_mipsel_libatomic.patch index 000000000,000000000..53e51f968 new file mode 100644 --- /dev/null +++ b/debian/patches/mips_mipsel_libatomic.patch @@@ -1,0 -1,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 --cc debian/patches/osd-limit-omap-data-in-push-op.patch index 000000000,000000000..918f15825 new file mode 100644 --- /dev/null +++ b/debian/patches/osd-limit-omap-data-in-push-op.patch @@@ -1,0 -1,0 +1,40 @@@ ++From 56064c5cb645254574dbad00e6c16b783115bb93 Mon Sep 17 00:00:00 2001 ++From: Wanlong Gao ++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 ++--- ++ 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 --cc debian/patches/rbdmap3-lazyumount.patch index 000000000,000000000..f41598284 new file mode 100644 --- /dev/null +++ b/debian/patches/rbdmap3-lazyumount.patch @@@ -1,0 -1,0 +1,51 @@@ ++Forwarded: yes ++Author: Dmitry Smirnov ++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 ++--- ++ 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 --cc debian/patches/rgw_rados-creation_time.patch index 000000000,000000000..c5e51fe41 new file mode 100644 --- /dev/null +++ b/debian/patches/rgw_rados-creation_time.patch @@@ -1,0 -1,0 +1,32 @@@ ++From: weiqiaomiao ++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 ++--- ++ 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 --cc debian/patches/sample.ceph.conf.patch index 000000000,000000000..98ae78631 new file mode 100644 --- /dev/null +++ b/debian/patches/sample.ceph.conf.patch @@@ -1,0 -1,0 +1,172 @@@ ++Last-Update: 2014-10-19 ++Forwarded: no ++Author: Dmitry Smirnov ++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 --cc debian/patches/series index 000000000,000000000..4d4452bbc new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,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 --cc debian/patches/skip-setup.py-makefiles.patch index 000000000,000000000..9e36e35ef new file mode 100644 --- /dev/null +++ b/debian/patches/skip-setup.py-makefiles.patch @@@ -1,0 -1,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 ++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 --cc debian/patches/sleep-recover.patch index 000000000,000000000..d7ee4100c new file mode 100644 --- /dev/null +++ b/debian/patches/sleep-recover.patch @@@ -1,0 -1,0 +1,16 @@@ ++Last-Update: 2014-05-12 ++Forwarded: not-needed ++Bug-Ceph: http://tracker.ceph.com/issues/8291 ++Author: Yan, Zheng ++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 --cc debian/patches/softfp-armel.patch index 000000000,000000000..ff2fc4bb4 new file mode 100644 --- /dev/null +++ b/debian/patches/softfp-armel.patch @@@ -1,0 -1,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 --cc debian/patches/tests-disable.patch index 000000000,000000000..0038b9654 new file mode 100644 --- /dev/null +++ b/debian/patches/tests-disable.patch @@@ -1,0 -1,0 +1,54 @@@ ++Last-Update: 2014-10-31 ++Forwarded: no ++Author: Dmitry Smirnov ++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 --cc debian/patches/use_system_jerasure.patch index 000000000,000000000..7c9858c9c new file mode 100644 --- /dev/null +++ b/debian/patches/use_system_jerasure.patch @@@ -1,0 -1,0 +1,182 @@@ ++Last-Update: 2014-12-09 ++Forwarded: not-needed ++Author: Dmitry Smirnov ++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 --cc debian/patches/virtualenv-never-download.patch index 000000000,000000000..23f151f23 new file mode 100644 --- /dev/null +++ b/debian/patches/virtualenv-never-download.patch @@@ -1,0 -1,0 +1,16 @@@ ++Last-Update: 2014-10-31 ++Forwarded: no ++Author: Bastian Blank ++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 --cc debian/python-cephfs.install index 000000000,000000000..7e81a4b4b new file mode 100644 --- /dev/null +++ b/debian/python-cephfs.install @@@ -1,0 -1,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 --cc debian/python-rados.install index 000000000,000000000..a5c5daed7 new file mode 100644 --- /dev/null +++ b/debian/python-rados.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/python*/dist-packages/rados.so ++usr/lib/python*/dist-packages/rados-*.egg-info diff --cc debian/python-rbd.install index 000000000,000000000..25584fbc6 new file mode 100644 --- /dev/null +++ b/debian/python-rbd.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/python*/dist-packages/rbd-*.egg-info ++usr/lib/python*/dist-packages/rbd.so diff --cc debian/radosgw.dirs index 000000000,000000000..a2f184912 new file mode 100644 --- /dev/null +++ b/debian/radosgw.dirs @@@ -1,0 -1,0 +1,1 @@@ ++var/lib/ceph/radosgw diff --cc debian/radosgw.init index 000000000,000000000..0bd5f06d8 new file mode 120000 --- /dev/null +++ b/debian/radosgw.init @@@ -1,0 -1,0 +1,1 @@@ ++../src/init-radosgw diff --cc debian/radosgw.install index 000000000,000000000..5179cef63 new file mode 100644 --- /dev/null +++ b/debian/radosgw.install @@@ -1,0 -1,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 --cc debian/radosgw.maintscript index 000000000,000000000..fd1bbd275 new file mode 100644 --- /dev/null +++ b/debian/radosgw.maintscript @@@ -1,0 -1,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 --cc debian/radosgw.postinst index 000000000,000000000..2e88a0750 new file mode 100644 --- /dev/null +++ b/debian/radosgw.postinst @@@ -1,0 -1,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 ++# old-postinst abort-upgrade ++# conflictor's-postinst abort-remove in-favour ++# postinst abort-remove ++# deconfigured's-postinst abort-deconfigure in-favour [ ] ++# ++# 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 --cc debian/radosgw.postrm index 000000000,000000000..3083c1471 new file mode 100644 --- /dev/null +++ b/debian/radosgw.postrm @@@ -1,0 -1,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 --cc debian/radosgw.preinst index 000000000,000000000..3083c1471 new file mode 100644 --- /dev/null +++ b/debian/radosgw.preinst @@@ -1,0 -1,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 --cc debian/radosgw.prerm index 000000000,000000000..0288ab77b new file mode 100644 --- /dev/null +++ b/debian/radosgw.prerm @@@ -1,0 -1,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 --cc debian/rbd-fuse.install index 000000000,000000000..7b6b96fe7 new file mode 100644 --- /dev/null +++ b/debian/rbd-fuse.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/rbd-fuse ++usr/share/man/man8/rbd-fuse.8 diff --cc debian/rbd-mirror.install index 000000000,000000000..80f821036 new file mode 100644 --- /dev/null +++ b/debian/rbd-mirror.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/rbd-mirror ++usr/share/man/man8/rbd-mirror.8 diff --cc debian/rbd-nbd.install index 000000000,000000000..385c4501f new file mode 100644 --- /dev/null +++ b/debian/rbd-nbd.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/rbd-nbd ++usr/share/man/man8/rbd-nbd.8 diff --cc debian/rest-bench.install index 000000000,000000000..8535f20d5 new file mode 100644 --- /dev/null +++ b/debian/rest-bench.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/bin/rest-bench diff --cc debian/rules index 000000000,000000000..7e1687ce1 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,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 --cc debian/source/format index 000000000,000000000..163aaf8d8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/tests/build-rados index 000000000,000000000..c62999251 new file mode 100755 --- /dev/null +++ b/debian/tests/build-rados @@@ -1,0 -1,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 < radostest.c ++#include ++ ++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 --cc debian/tests/build-rbd index 000000000,000000000..5ad6f8823 new file mode 100755 --- /dev/null +++ b/debian/tests/build-rbd @@@ -1,0 -1,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 < rbdtest.c ++#include ++ ++int ++main(void) ++{ ++ return(0); ++} ++EOF ++ ++gcc -o rbdtest rbdtest.c -lrbd ++echo "build: OK" ++[ -x rbdtest ] ++./rbdtest ++echo "run: OK" diff --cc debian/tests/ceph-client index 000000000,000000000..c693a5698 new file mode 100755 --- /dev/null +++ b/debian/tests/ceph-client @@@ -1,0 -1,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 --cc debian/tests/control index 000000000,000000000..9e6a190d5 new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,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 --cc debian/tests/python-ceph index 000000000,000000000..0af8f846c new file mode 100755 --- /dev/null +++ b/debian/tests/python-ceph @@@ -1,0 -1,0 +1,7 @@@ ++#!/usr/bin/python ++ ++# Test that rbd and rados can be imported OK ++import rbd ++import rados ++ ++print "python-ceph: OK" diff --cc debian/watch index 000000000,000000000..3f9763e12 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=3 ++opts="uversionmangle=s/-/~/" \ ++ http://ceph.com/download/ceph-(\d.*)\.tar\.gz