ceph (10.2.5-7.2+rpi1) buster-staging; urgency=medium
authorPeter Michael Green <plugwash@raspbian.org>
Sun, 30 Jul 2017 09:48:17 +0000 (10:48 +0100)
committerPeter Michael Green <plugwash@raspbian.org>
Sun, 30 Jul 2017 09:48:17 +0000 (10:48 +0100)
  * 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]

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

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..be21ad791cffaee761b5992d6c8b7ba774f6da66
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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"
++
++-------- -------- --------
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9881b839144cf9d65db0b35045ee37addb71a375
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..93436f0690de1767e373c8693d25f2ba0b47cc59
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4041ca8e38f6d6b87374fdde45dd17d17748cba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# False-positives:
++spelling-error-in-binary * tEH the
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..23712a8b4e49262d522c0df0e96013d1d5c8c124
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <most-recently-configured-version>
++#     old-postinst abort-upgrade <new-version>
++#     conflictor's-postinst abort-remove in-favour <package> <new-version>
++#     postinst abort-remove
++#     deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
++#
++# The current action is to simply remove the mistakenly-added
++# /etc/init/ceph.conf file; this could be done in any of these cases,
++# although technically it will leave the system in a different state
++# than the original install that included that file.  So instead we
++# only remove on "configure", since that's the only time we know we're
++# successful in installing a newer package than the erroneous version.
++
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++[ -f "/etc/default/ceph" ] && . /etc/default/ceph
++[ -z "$SERVER_USER" ] && SERVER_USER=ceph
++[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
++
++case "$1" in
++      configure)
++              rm -f /etc/init/ceph.conf
++              for DIR in `ls -1 /var/lib/ceph` ; do
++                  if ! dpkg-statoverride --list /var/lib/ceph/$DIR >/dev/null; then
++                      if [ -d /run/systemd/system ] && [ $DIR = 'mon' ]; then
++                          # NOTE: upgrade file permissions for mon filesystem on
++                          #       systemd based installs only due to automatic
++                          #       restarting of ceph-mon daemon
++                          chown -R $SERVER_USER:$SERVER_GROUP /var/lib/ceph/$DIR
++                      else
++                            chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/$DIR
++                      fi
++                  fi
++              done
++      ;;
++      abort-upgrade|abort-remove|abort-deconfigure)
++              :
++      ;;
++      *)
++              echo "postinst called with unknown argument \`$1'" >&2
++              exit 1
++      ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..48e4853c0847920352f5399a4e60fb1006237cf6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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:
++#        * <postrm> `remove'
++#        * <postrm> `purge'
++#        * <old-postrm> `upgrade' <new-version>
++#        * <new-postrm> `failed-upgrade' <old-version>
++#        * <new-postrm> `abort-install'
++#        * <new-postrm> `abort-install' <old-version>
++#        * <new-postrm> `abort-upgrade' <old-version>
++#        * <disappearer's-postrm> `disappear' <overwriter>
++#          <overwriter-version>
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++
++case "$1" in
++    remove)
++    ;;
++
++    purge)
++      rm -rf /var/log/ceph 
++      rm -rf /etc/ceph
++    ;;
++
++    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++    ;;
++
++    *)
++        echo "postrm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e76715ee516970f7fc1899e2758cb86791ef584d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ff05698c236975ae8f1498f898dd09a3b721feeb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++etc/ceph
++var/lib/ceph
++var/log/ceph
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..86842f899b749227afaf94f9e44bd590de84278b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c26dfbace798d167935191af8f72c767a139dad9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..df20846f002fe8e15fcb7721a7eaa3f4a178b1e2
new file mode 120000 (symlink)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++../src/logrotate.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dc7cf626315f3b7458dae084ddd9729bd396ea55
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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~
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..643fa2a415a4695c934616b909707a7169074fab
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/man/ceph-crush-location.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..020b89b2977bd82a5afc0e83da24171c72254d98
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <most-recently-configured-version>
++#     old-postinst abort-upgrade <new-version>
++#     conflictor's-postinst abort-remove in-favour <package> <new-version>
++#     postinst abort-remove
++#     deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
++#
++
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++
++# Let the admin override these distro-specified defaults.  This is NOT
++# recommended!
++[ -f "/etc/default/ceph" ] && . /etc/default/ceph
++
++[ -z "$SERVER_HOME" ] && SERVER_HOME=/var/lib/ceph
++[ -z "$SERVER_USER" ] && SERVER_USER=ceph
++[ -z "$SERVER_NAME" ] && SERVER_NAME="Ceph storage service"
++[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
++[ -z "$SERVER_UID" ] && SERVER_UID=64045  # alloc by Debian base-passwd maintainer
++[ -z "$SERVER_GID" ] && SERVER_GID=$SERVER_UID
++
++
++# Groups that the user will be added to, if undefined, then none.
++[ -z "$SERVER_ADDGROUP" ] && SERVER_ADDGROUP=
++
++case "$1" in
++    configure)
++       # create user to avoid running server as root
++       # 1. create group if not existing
++       if ! getent group | grep -q "^$SERVER_GROUP:" ; then
++          addgroup --quiet --system --gid $SERVER_GID \
++            $SERVER_GROUP 2>/dev/null ||true
++       fi
++       # 2. create user if not existing
++       if ! getent passwd | grep -q "^$SERVER_USER:"; then
++         adduser --quiet \
++                 --system \
++                 --no-create-home \
++                 --disabled-password \
++               --uid $SERVER_UID \
++               --gid $SERVER_GID \
++                 $SERVER_USER 2>/dev/null || true
++       fi
++       # 3. adjust passwd entry
++       usermod -c "$SERVER_NAME" \
++               -d $SERVER_HOME   \
++               -g $SERVER_GROUP  \
++               $SERVER_USER 2>/dev/null
++
++       # 5. adjust file and directory permissions
++       if ! dpkg-statoverride --list $SERVER_HOME >/dev/null
++       then
++           chown $SERVER_USER:$SERVER_GROUP $SERVER_HOME
++           chmod u=rwx,g=rx,o= $SERVER_HOME
++       fi
++       if ! dpkg-statoverride --list /var/log/ceph >/dev/null
++       then
++           chown -R $SERVER_USER:$SERVER_GROUP /var/log/ceph
++         # members of group ceph can log here, but cannot remove
++         # others' files.  non-members cannot read any logs.
++           chmod u=rwx,g=rwxs,o=t /var/log/ceph
++       fi
++
++       # 6. fix /var/run/ceph
++       if [ -d /var/run/ceph ]; then
++         chown $SERVER_USER:$SERVER_GROUP /var/run/ceph
++       fi
++
++       # create /run/ceph.  fail softly if systemd isn't present or
++       # something.
++       [ -x /bin/systemd-tmpfiles ] && systemd-tmpfiles --create || true
++    ;;
++    abort-upgrade|abort-remove|abort-deconfigure)
++      :
++    ;;
++
++    *)
++        echo "postinst called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6d4fa5e5976bb1d671754d59e28c18e8ff2d8c9b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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:
++#        * <postrm> `remove'
++#        * <postrm> `purge'
++#        * <old-postrm> `upgrade' <new-version>
++#        * <new-postrm> `failed-upgrade' <old-version>
++#        * <new-postrm> `abort-install'
++#        * <new-postrm> `abort-install' <old-version>
++#        * <new-postrm> `abort-upgrade' <old-version>
++#        * <disappearer's-postrm> `disappear' <overwriter>
++#          <overwriter-version>
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++
++case "$1" in
++    remove)
++    ;;
++
++    purge)
++      rm -rf /var/log/ceph
++      rm -rf /etc/ceph
++    ;;
++
++    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++    ;;
++
++    *)
++        echo "postrm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b2de0ce8b029ff5db726be822f15a327e62a7f67
new file mode 120000 (symlink)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++../src/init-rbdmap
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..70f6e949ab1ebb65a3503cc174f1fa96bdcffe9e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..364e86393226efefd6ebffcbb5e292251958337f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/sbin/mount.fuse.ceph sbin
++usr/bin/ceph-fuse
++usr/share/man/man8/ceph-fuse.8
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4041ca8e38f6d6b87374fdde45dd17d17748cba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# False-positives:
++spelling-error-in-binary * tEH the
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e4c9c231e0c10951722478cd723064bc5aaecadd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/man/mount.fuse.ceph.8
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eb38f440089a489cc7ad4a05758bc3027a9ca71f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++/var/lib/ceph/mds
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ea3dae6402274fddae11cc3342dc22fc292a8a78
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4041ca8e38f6d6b87374fdde45dd17d17748cba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# False-positives:
++spelling-error-in-binary * tEH the
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4e9d147c6484b0a6823e27b472bc96caf794a2e8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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~
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f6c9f4ef85db538755b346ebef0c45aa649fdac7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <most-recently-configured-version>
++#     old-postinst abort-upgrade <new-version>
++#     conflictor's-postinst abort-remove in-favour <package> <new-version>
++#     postinst abort-remove
++#     deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
++#
++
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++[ -f "/etc/default/ceph" ] && . /etc/default/ceph
++[ -z "$SERVER_USER" ] && SERVER_USER=ceph
++[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
++
++case "$1" in
++      configure)
++              if ! dpkg-statoverride --list /var/lib/ceph/mds >/dev/null; then
++                      chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/mds
++              fi
++      ;;
++      abort-upgrade|abort-remove|abort-deconfigure)
++              :
++      ;;
++      *)
++              echo "postinst called with unknown argument \`$1'" >&2
++              exit 1
++      ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7a491aa5b4bcda64d4924998207f6d5b2947d0b8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e2845f60229d0111626790dcb1f790f77831fe4a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++var/lib/ceph/mon
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a284d409c436f6dfa813c4c1cb12e7d7e24a3623
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d00461738a80f8fbb2e4d37e8dfc178e30e17496
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <most-recently-configured-version>
++#     old-postinst abort-upgrade <new-version>
++#     conflictor's-postinst abort-remove in-favour <package> <new-version>
++#     postinst abort-remove
++#     deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
++#
++
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++[ -f "/etc/default/ceph" ] && . /etc/default/ceph
++[ -z "$SERVER_USER" ] && SERVER_USER=ceph
++[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
++
++case "$1" in
++    configure|abort-upgrade|abort-remove|abort-deconfigure)
++      :
++    ;;
++
++    *)
++        echo "postinst called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a31fc3c218429500169c4850cc9a3443a55eb280
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b7fc476185f7372cd042b7753dea66272ac45e73
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++var/lib/ceph/osd
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a66d5bafa8b182d4f7b7e7a088fcef37f272123
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d61fe6141999914845f30020a1fa456cb2e82440
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <most-recently-configured-version>
++#     old-postinst abort-upgrade <new-version>
++#     conflictor's-postinst abort-remove in-favour <package> <new-version>
++#     postinst abort-remove
++#     deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
++#
++
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++[ -f "/etc/default/ceph" ] && . /etc/default/ceph
++[ -z "$SERVER_USER" ] && SERVER_USER=ceph
++[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
++
++case "$1" in
++    configure|abort-upgrade|abort-remove|abort-deconfigure)
++      :
++    ;;
++
++    *)
++        echo "postinst called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..93c459614e44dcde0eaec88625c613dbb780725c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..47e751617eb61c3ee5b4e9dc45a7f894abe2b2b5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/ocf/resource.d/ceph
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4de5a6018d8c9cac6bae8997eb1d3538c2d27d2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ca3da00a6cbb657356f648f873b4a3522442f5f5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/share/java/libcephfs-test.jar
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7a8b3cb601e6fe0430d45e083e8cd29f61bf8441
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++# False-positives:
++spelling-error-in-binary * tEH the
++
++# Acknowledged:
++binary-without-manpage
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee9db2f2237950463f9026f029e44ad4db5effe8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <gaudenz@debian.org>  Sun, 08 Jan 2017 14:57:35 +0100
++
++ceph (9.2.0-1) experimental; urgency=medium
++
++  ## systemd Enablement
++
++  For all distributions that support systemd (Debian Jessie 8.x,
++  Ubuntu >= 16.04), Ceph daemons are now managed using upstream provided
++  systemd files instead of the legacy sysvinit scripts or distro provided
++  systemd files.  For example:
++
++    systemctl start ceph.target       # start all daemons
++    systemctl status ceph-osd@12      # check status of osd.12
++
++  To upgrade existing deployments that use the older systemd service
++  configurations (Ubuntu >= 15.04, Debian >= Jessie), you need to switch
++  to using the new ceph-mon@ service:
++
++    systemctl stop ceph-mon
++    systemctl disable ceph-mon
++
++    systemctl start ceph-mon@`hostname`
++    systemctl enable ceph-mon@`hostname`
++
++  and also enable the ceph target post upgrade:
++
++    systemctl enable ceph.target
++
++  The main notable distro that is *not* using systemd is Ubuntu 14.04
++  (The next Ubuntu LTS, 16.04, will use systemd instead of upstart).
++
++  ## Ceph daemons no longer run as root
++
++  Ceph daemons now run as user and group 'ceph' by default.  The
++  ceph user has a static UID assigned by Debian to ensure consistency
++  across servers within a Ceph deployment.
++
++  If your systems already have a ceph user, upgrading the package will cause
++  problems.  We suggest you first remove or rename the existing 'ceph' user
++  and 'ceph' group before upgrading.
++
++  When upgrading, administrators have two options:
++
++  1. Add the following line to 'ceph.conf' on all hosts:
++
++       setuser match path = /var/lib/ceph/$type/$cluster-$id
++
++     This will make the Ceph daemons run as root (i.e., not drop
++     privileges and switch to user ceph) if the daemon's data
++     directory is still owned by root.  Newly deployed daemons will
++     be created with data owned by user ceph and will run with
++     reduced privileges, but upgraded daemons will continue to run as
++     root.
++
++  2. Fix the data ownership during the upgrade.  This is the
++     preferred option, but it is more work and can be very time
++     consuming.  The process for each host is to:
++
++     1. Upgrade the ceph package.  This creates the ceph user and group.  For
++        example:
++
++          apt-get install ceph
++
++        NOTE: the permissions on /var/lib/ceph/mon will be set to ceph:ceph
++              as part of the package upgrade process on existing *systemd*
++              based installations; the ceph-mon systemd service will be
++              automatically restarted as part of the upgrade.  All other
++              filesystem permissions on systemd based installs will
++              remain unmodified by the upgrade.
++
++     2. Stop the daemon(s):
++
++          systemctl stop ceph-osd@*   # debian, ubuntu >= 15.04
++          stop ceph-all               # ubuntu 14.04
++
++     3. Fix the ownership:
++
++          chown -R ceph:ceph /var/lib/ceph
++
++     4. Restart the daemon(s):
++
++          start ceph-all                # ubuntu 14.04
++          systemctl start ceph.target   # debian, ubuntu >= 15.04
++
++     Alternatively, the same process can be done with a single daemon
++     type, for example by stopping only monitors and chowning only
++     '/var/lib/ceph/osd'.
++
++  ## KeyValueStore OSD on-disk format changes
++
++  The on-disk format for the experimental KeyValueStore OSD backend has
++  changed.  You will need to remove any OSDs using that backend before you
++  upgrade any test clusters that use it.
++
++  ## Deprecated commands
++
++  'ceph scrub', 'ceph compact' and 'ceph sync force' are now DEPRECATED.
++  Users should instead use 'ceph mon scrub', 'ceph mon compact' and
++  'ceph mon sync force'.
++
++  ## Full pool behaviour
++
++  When a pool quota is reached, librados operations now block indefinitely,
++  the same way they do when the cluster fills up.  (Previously they would
++  return -ENOSPC).  By default, a full cluster or pool will now block.  If
++  your librados application can handle ENOSPC or EDQUOT errors gracefully,
++  you can get error returns instead by using the new librados
++  OPERATION_FULL_TRY flag.
++
++ -- James Page <james.page@ubuntu.com>  Mon, 30 Nov 2015 09:23:09 +0000
++
++ceph (0.80.9-2) unstable; urgency=medium
++
++  ## CRUSH fixes in 0.80.9
++
++  The 0.80.9 point release fixes several issues with CRUSH that trigger excessive
++  data migration when adjusting OSD weights. These are most obvious when a very
++  small weight change (e.g., a change from 0 to .01) triggers a large amount of
++  movement, but the same set of bugs can also lead to excessive (though less
++  noticeable) movement in other cases.
++
++  However, because the bug may already have affected your cluster, fixing it
++  may trigger movement back to the more correct location. For this reason, you
++  must manually opt-in to the fixed behavior.
++
++  In order to set the new tunable to correct the behavior:
++
++      ceph osd crush set-tunable straw_calc_version 1
++
++  Note that this change will have no immediate effect. However, from this
++  point forward, any ‘straw’ bucket in your CRUSH map that is adjusted will get
++  non-buggy internal weights, and that transition may trigger some rebalancing.
++
++  You can estimate how much rebalancing will eventually be necessary on your
++  cluster with:
++
++      ceph osd getcrushmap -o /tmp/cm
++      crushtool -i /tmp/cm --num-rep 3 --test --show-mappings > /tmp/a 2>&1
++      crushtool -i /tmp/cm --set-straw-calc-version 1 -o /tmp/cm2
++      crushtool -i /tmp/cm2 --reweight -o /tmp/cm2
++      crushtool -i /tmp/cm2 --num-rep 3 --test --show-mappings > /tmp/b 2>&1
++      wc -l /tmp/a                          # num total mappings
++      diff -u /tmp/a /tmp/b | grep -c ^+    # num changed mappings
++
++  Divide the total number of lines in /tmp/a with the number of lines
++  changed.  We've found that most clusters are under 10%.
++
++  You can force all of this rebalancing to happen at once with:
++
++      ceph osd crush reweight-all
++
++  Otherwise, it will happen at some unknown point in the future when
++  CRUSH weights are next adjusted.
++
++  ## Mapping rbd devices with rbdmap on systemd systems
++
++  If you have setup rbd mappings in /etc/ceph/rbdmap and corresponding mounts
++  in /etc/fstab things might break with systemd because systemd waits for the
++  rbd device to appear before the legacy rbdmap init file has a chance to run
++  and drops into emergency mode if it times out.
++
++  This can be fixed by adding the nofail option in /etc/fstab to all rbd
++  backed mount points. With this systemd does not wait for the device and
++  proceeds with the boot process. After rbdmap mapped the device, systemd
++  detects the new device and mounts the file system.
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Mon, 04 May 2015 22:49:48 +0200
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b538109d2e09599f2dba1120f90176ba415493d3
new file mode 120000 (symlink)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++../src/init-ceph
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec2c87d6c986284381627a9dfb4b8d613b178efd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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~
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c0a7dd0a74e8ab5ebdac6021b200c8cab5b4d96
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <plugwash@raspbian.org>  Sun, 30 Jul 2017 09:48:17 +0000
++
++ceph (10.2.5-7.2) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * Build with -g1 instead of -g on 32bit architectures to fix
++    FTBFS due to the 2GB/3GB address space limits.
++
++ -- Adrian Bunk <bunk@debian.org>  Wed, 07 Jun 2017 11:39:39 +0300
++
++ceph (10.2.5-7.1) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * ceph-mon: Add Breaks+Replaces: ceph-common (<< 10) for taking over
++    /usr/bin/ceph-rest-api.  (Closes: #864161)
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 06 Jun 2017 09:08:30 +0200
++
++ceph (10.2.5-7) unstable; urgency=medium
++
++  * [a12798] Add fix-init-system-detection.patch.
++    This replaces the static init system detection by more appropriate
++    runtime detection which also works if a Debian system is running with
++    sysvinit. (Closes: #862075)
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Fri, 12 May 2017 12:12:00 +0200
++
++ceph (10.2.5-6) unstable; urgency=medium
++
++  * [e44a30] Disable running dh_auto_install with parallel jobs
++    (Closes: #850906)
++  * [b7e926] Link with libatomic and --as-needed on all archs (Closes: #850831)
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Wed, 11 Jan 2017 12:02:24 +0100
++
++ceph (10.2.5-5) unstable; urgency=medium
++
++  * [f4675d] Set _FILE_OFFSET_BITS=64 via DEB_CPPFLAGS_MAINT_APPEND
++  * [f60392] Install systemd targets for ceph services (Closes: #850509)
++  * [d3baba] Link with -latomic on mips/mipsel
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Tue, 10 Jan 2017 09:04:48 +0100
++
++ceph (10.2.5-4) unstable; urgency=medium
++
++  * [88034c] Build with ggc-min-expand=5 on mips/el (Closes: #849657)
++  * [c31e79] Add patch to build rocksdb with -latomic on mips/el
++  * [182dd8] NEWS entry about upgrades from Debian Jessie
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Sun, 08 Jan 2017 21:34:21 +0100
++
++ceph (10.2.5-3) unstable; urgency=medium
++
++  * [eeff8d] Use -mfloat-abi=softfp on armel for NEON plugin (Closes: #849660)
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Thu, 05 Jan 2017 09:18:41 +0100
++
++ceph (10.2.5-2) unstable; urgency=medium
++
++  * [3859ca] Only list missing files instead of failing (Closes: #849031)
++  * [47aef7] Remove chrony from recommends (provides time-daemon)
++    (Closes: #827673)
++  * [3e96e6] Upstream fix for CVE-2016-9579 (short CORS request)
++    (Closes: #849048)
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Sat, 24 Dec 2016 13:14:28 +0100
++
++ceph (10.2.5-1) unstable; urgency=medium
++
++  [ James Page ]
++  * [754935] Imported Upstream version 9.2.0
++    - [df85c3] Resync relevant packaging changes with upstream.
++    - [be5f82] Refresh patches.
++    - [d1f3fe] Add python-setuptools to BD's for ceph-detect-init.
++    - [b2f926] Add lsb-release to BD's to ensure that python modules are
++               installed to correct locations.
++    - [e4d702] Add python-sphinx to BD's to ensure man pages get generated
++               and installed.
++    - [3ead6e] Correct install location for ceph-monstore-update tool.
++    - [269754] [177b7a] Update symbols for new release.
++  * [4c45629] Update NEWS file for infernalis changes.
++  * [940491e] Limit number of parallel builds to 2 to reduce memory footprint
++              on builders.
++  * [a2bed4] New upstream version 10.2.5
++  * [cbfb6b] Sync upstream changes around rbdmap install and conf files.
++  * [5c52b2] Drop patches include upstream, refresh remaining patches
++  * [8f9820] Resync further packaging changes from upstream.
++  * [27d010] Re-add bz2-dev BD.
++  * [e94aa2] Add python-dev to BD's.
++  * [e201c1] d/p/pybind-flags.patch: Ensure that cython *FLAGS are correctly
++             set.
++  * [14cd12] d/p/fix-systemd-escaping.patch: Ensure that leading '/' is stripped
++             from block device paths when escaping for use in systemd unit
++             names.
++  * [33b3aa] Add pull request for systemd fixes
++  * [d781a2] d/ceph-mds.postinst: Fix syntax error.
++  * [ce55ec] Ensure that python flags are correct set for cython rbd build.
++  * [f9e35b] Switch rbd python binding to cython
++  * [8ccae0] Drop ceph_volume_client until its actually in the codebase.
++  * [0a11cc] Install to relative, not absolute /etc/ceph.
++  * [e2415a] Drop ceph-bluefs-tool from ceph package.
++  * [b16966] d/ceph-mds.dirs: Actually create /var/lib/ceph/mds prior to
++             changing permissions (LP: #1544647).
++  * [0c1201] d/ceph.init: Restore link to init-ceph, resolving un-install
++             failures due to missing init script (LP: #1546112).
++
++  [ Gaudenz Steinlin ]
++  * [e3cb86] Remove no longer needed check for dh-autoreconf>=6
++  * [9157b3] Install ceph-brag tool into ceph-common
++  * [74e9f3] Install ceph-client-debug into ceph-test
++  * [476449] Use jh_installlib to install Java libraries
++  * [643f6e] Don't remove configure script on dh_clean
++  * [4bb203] Remove *.la files to binary packages
++  * [b76c6a] Add build dependency on libboost-iostreams-dev
++  * [b0506f] Add build dependency on libldap2-dev
++  * [526ce1] Refresh patches for upstream version 10.2.2
++  * [cf539b] Remove patches applied upstream in 10.2.2
++
++  [ James Page ]
++  * [646b48] Add librgw2 binary packages.
++  * [ae3cda] Drop virtualenv from BD's.
++  * [7ebd7c] Re-enable rocksdb build for bluestore support
++  * [e393e5] Add rbd-mirror package
++  * [00d06d] Add patch to set g++ flags correctly for rocksdb
++  * [3b029a] Enable gperftools on arm64 architecture.
++  * [e88620] Add ceph-bluefs-tool to install.
++  * [4f40a1] Add s390x to list of rocksdb flags
++  * [858334] d/p/skip-setup.py-makefiles.patch,rules: Avoid use of virtualenv to
++             install ceph-disk and ceph-detect-init python modules.
++  * [40c3b7] Update watch file to scan for gz files.
++  * [49b716] Install librgw_file* as part of ceph-test package.
++
++  [ Gaudenz Steinlin ]
++  * [2e156d] d/rules: Install upstart and systemd configurations for rbd-mirror.
++
++  [ James Page ]
++  * [ca0b07] d/copyright: Ensure that jerasure and gf-complete are not stripped
++             from the upstream release tarball.
++  * [eee861] d/p/disable-openssl-linking.patch: Disable build time linking with
++             OpenSSL due to licensing incompatibilities.
++  * [07d7a6] d/*.symbols: Add new symbols for RC.
++  * [2416f1] Fix multiarch paths for librgw
++  * [2da01d] d/rules: Ensure that dh_systemd_start does not insert maintainer
++             script snippets for ceph-mon and ceph-create-keys - service restart
++             should be handled outside of the packaging as it is under upstart
++             and for all other systemd unit files installed (LP: #1563330).
++  * [76ec3b] d/ceph-common.postinst: Silence output of usermod call
++             (LP: #1569249).
++  * [63d60f] d/rules,ceph-common.install: Ensure that /etc/default/ceph is a
++             file and not a directory (LP: #1587516).
++  * [a866ca] d/control: Bumped Standards-Version to 3.9.8, no changes.
++  * [e0811e] d/ceph.install: Drop install of 60-ceph-partuuid-workaround.rules
++             as no longer part of upstream codebase.
++  * [25954f] * d/*: Split ceph-osd and ceph-mon into separate binary packages
++             and add new ceph-base binary package inline with upstream packaging
++             changes (LP: #1596063).
++  * [f1287b] Add missing misc depends
++  * [afeb18] d/rules,control: Drop -dbg packages and let Ubuntu builds take care
++             of ddeb generation instead.
++
++  [ Gaudenz Steinlin ]
++  * [e133b2] Install rbdmap manpage into ceph-common
++  * [b5ed64] Install radosgw-token command into radosgw package
++  * [0a27e1] Adapt installation of Python files to latest Jewel release
++  * [ef2544] Drop rocksdb-flags patch applied upstream
++  * [07aef4] Add patch osd-limit-omap-data-in-push-op
++  * [32f14d] Refresh patches
++
++  [ James Page ]
++  * [f4e95c] Fix install location for mount.ceph
++  * [6a9efc] Update install location for mount.ceph.fuse
++  * [7624f0] d/control: Add Pre-Depends on ceph-common to ceph-osd to ensure
++             that ceph user and group are created prior to unpacking of udev
++             rules (LP: #1631328).
++
++  [ Frode Nordahl ]
++  * [022ee3] Add rgw_rados-creation_time patch
++
++  [ Gaudenz Steinlin ]
++  * [05225f] Remove old ceph logrotate configuration
++
++  [ James Page ]
++  * [cfa82f] Refresh patches
++
++  [ Gaudenz Steinlin ]
++  * [fdec5d] Remove upstart support
++  * [5966f0] Use new RSA key for ceph-post-file
++  * [3748b6] Only install ChangeLog as upstream changelog
++  * [aa1393] Install bash-completions to /usr
++  * [ab0a88] Dependency on lsb-base for initscripts
++  * [4d78b0] Disable radosgw SysV init script on systemd
++  * [ff4c87] Don't install python bytecode
++  * [3cbf5e] Add missing dependencies on python (ceph-osd, ceph-mon)
++  * [8c70df] Update symbols files (librados2 and librbd1)
++  * [e4f0c5] Add ${shlibs:Depends} on Python C extensions
++  * [936838] Allow setting the number of parallel jobs
++  * [e5aa0f] Remove Laszlo and add myself to uploaders
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Sat, 17 Dec 2016 22:40:22 +0100
++
++ceph (0.94.5-1) experimental; urgency=medium
++
++  * [2d330d6] New upstream release:
++    - [1e93090] Drop patch for CVE-2015-5245, included upstream.
++    - [20adc7d] Refresh all other patches.
++  * [9255e5d] Ensure any erasure coding test libraries and dangling symlinks
++              are not included in the ceph package.
++
++ -- James Page <james.page@ubuntu.com>  Mon, 09 Nov 2015 12:09:51 +0000
++
++ceph (0.94.3-1) experimental; urgency=medium
++
++  * [580fef] Imported Upstream version 0.94.3 (Closes:  #777814, #795178)
++  * [536935] Add upstream patch to fix CVE-2015-5245 (Closes: #798567)
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Fri, 18 Sep 2015 16:55:23 +0200
++
++ceph (0.94.2-2) experimental; urgency=medium
++
++  * Revert "Drop virtualenv BD, disable unit tests."
++  * Restore patches for test enablement.
++  * Display test-suite log output in the event of failures.
++
++ -- James Page <james.page@ubuntu.com>  Mon, 20 Jul 2015 13:37:06 +0100
++
++ceph (0.94.2-1) experimental; urgency=medium
++
++  * Resync with Ubuntu, introducing Ceph Hammer stable release:
++    - d/*.symbols: Update inline with upstream additions, use regex
++      for ceph version symbol.
++    - d/lib-systemd/system/ceph-create-keys.service: Automatically create
++      admin and bootstrap keys after ceph mon startup.
++    - d/p/vivid-does-systemd.patch: Ensure that disks prepared on vivid
++      or later use systemd for init.
++    - d/lib-systemd/system/*.service: Align nofile limits and restart config
++      with equivalent upstart configurations.
++    - d/p/fix-cycles-arch.patch: Skip initialization of cycles_per_sec
++      if rtdsc (or equivalent) is not supported.
++    - d/ceph{-common}.install,control: Move ceph_argparse.py down into
++      ceph-common package to fixup ceph cli usage/autopkgtest failure.
++    - d/control,ceph-common.install,librbd1.install: Move rbdnamer and
++      associated udev rules into ceph-common package.
++    - d/control,python-*: Split out rbd, rados and cephfs bindings into
++      separate python packages, move some bits into ceph/ceph-common.
++    - d/control: Move python-flask dependency to ceph package, only required
++      for REST API.
++    - d/control: Use google-perftools on arm64.
++    - d/control: Re-order Recommends to prefer ntp over chrony for Ubuntu.
++    - d/p/ceph-osd-prestart-path.patch: Fixup path for ceph-osd upstart
++      configuration pre-start script.
++    - d/p/fix-argparse-defaults.patch: Workaround behavioural change in
++      argparse set_defaults in python 2.7.9
++  * New upstream point release:
++    - d/p/*: Refresh.
++  * d/p/use_system_jerasure.patch,d/control: Drop use of libjerasure
++    as the patch is intrusive and expensive to maintain; will revisit if
++    adopted upstream.
++
++ -- James Page <james.page@ubuntu.com>  Tue, 16 Jun 2015 11:31:05 +0100
++
++ceph (0.87-2) experimental; urgency=low
++
++  * Team upload.
++
++  [ Gaudenz Steinlin ]
++  * README.Debian: added clarification about setting the hashpspool flag.
++    (Closes: #769596).
++
++  [ James Page ]
++  * Added new "modules.patch" to mark new erasure coding libraries as
++    modules, wildcard install.
++
++  [ Dmitry Smirnov ]
++  * Recommends: added "ntp" to list of time-daemon alternatives
++    (Closes: #767511).
++  * Introduced native systemd services (except "rbdmap"), (Closes: #769593).
++  * ceph-test: install forgotten files.
++  * Run post-build tests:
++    + updated "virtualenv-never-download.patch" to pass
++      "--system-site-packages" to virtualenv to prevent downloads.
++    + added new patches to disable network-dependent and failing tests.
++  * Patchworks:
++    - bug-9341.patch
++    + bug-10036.patch (to show OSD affinity in "ceph osd tree").
++      Thanks, Mykola Golub.
++    + bug-10059.patch
++    + 0latest-giant.patch (Last-Update: 2014-11-15).
++    + sleep-recover.patch
++    + tests-disable.patch (to disable tests that need cluster).
++    + tests-disable-ceph-disk.patch
++    + use_system_gtest.patch (commented)
++      as first attempt to build with system "libgtest-dev".
++    + use_system_jerasure.patch
++  * Build-Depends:
++    + libjerasure-dev (>= 2.0.0-2~)
++    + virtualenv
++    + valgrind [amd64 armhf i386 powerpc]
++  * rules: pass "--without-lttng" to explicitly disable "lttng" to avoid
++    auto-enable if found.
++  * rules: disabled bundled RocksDB:
++    RocksDB suppose to improve performance of keyvaluestore OSDs but the
++    latter slow down to nearly unusable state when filled over 1 TiB even with
++    RocksDB. Moreover KV backend is experimental and super dangerous -- I lost
++    cluster due to OSD poisoning caused by KV OSD which was plugged only
++    during limited time. LevelDB is good enough, for now I see no reason to
++    use RocksDB especially considering that it is not packaged separately.
++  * Removed myself from Uploaders.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Wed, 01 Apr 2015 11:47:38 +1100
++
++ceph (0.87-1) experimental; urgency=medium
++
++  * New major upstream release [October 2014].
++    + new "libradosstriper*" binary packages.
++  * Patchworks (removed old patches, refreshed remaining ones).
++    + "bug-9814.patch" to prevent OSD crash. Thanks, Haomai Wang.
++  * Install systemd sleep handler.
++  * Exclude erasure-code plugins from `dh_makeshlibs` processing to avoid
++    useless calls to `ldconfig` in maintainer scripts.
++  * Build-Depends:
++    + libbabeltrace-dev
++    + libbabeltrace-ctf-dev
++    + libbz2-dev
++    + libudev-dev
++    + zlib1g-dev
++  * Build with "--with-babeltrace".
++  * Build and statically link bundled RocksDB.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 30 Oct 2014 12:43:49 +1100
++
++ceph (0.80.9-2) unstable; urgency=medium
++
++  * [70fc1d] Add NEWS entry about CRUSH issues fixed in 0.80.9
++  * [f41bb6] Add NEWS entry about rbd backed filesystems and systemd
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Tue, 05 May 2015 21:29:15 +0200
++
++ceph (0.80.9-1) unstable; urgency=medium
++
++  * [4b4e] Imported Upstream version 0.80.9
++  * [7102] Remove patches firefly-latest and p2139 applied upstream
++  * [5869] Add myself to uploaders
++
++ -- Gaudenz Steinlin <gaudenz@debian.org>  Mon, 04 May 2015 08:49:37 +0200
++
++ceph (0.80.7-2) unstable; urgency=medium
++
++  * Team upload.
++  * Build-Depends: +libjerasure-dev (>= 2.0.0-2~)
++  * New patch to use system "jerasure" library instead of its bundled copy.
++  * Removed myself from Uploaders.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 11 Dec 2014 12:55:38 +1100
++
++ceph (0.80.7-1) unstable; urgency=medium
++
++  * New upstream release [October 2014].
++  * Minor update to long description of "rbd-fuse" (Closes: #765462).
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 16 Oct 2014 04:36:23 +1100
++
++ceph (0.80.6-1) unstable; urgency=medium
++
++  * New upstream release [October 2014].
++  * Standards-Version: 3.9.6.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 02 Oct 2014 23:07:04 +1000
++
++ceph (0.80.5-2) unstable; urgency=low
++
++  * Patchworks:
++    + new patch for Ceph#9341 to dramatically (e.g seconds instead of
++      hours) reduce rejoin (i.e. MDS restart) time (fuse clients).
++    + new "p2139.patch".
++    + new patch with fixes from Firefly HEAD;
++      includes patch to fix FTBFS on alpha (Closes: #756892).
++      updated "librbd1.symbols";
++  * Build-Depends: mark "yasm" as [amd64] (Closes: #760383).
++  * Recommends: + "time-daemon | chrony".
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Tue, 16 Sep 2014 03:54:15 +1000
++
++ceph (0.80.5-1) unstable; urgency=medium
++
++  * New upstream stable release:
++    - d/p/firefly-post-release.patch: Dropped, no longer required.
++    - d/lib{rados2,cephfs1}.symbols: Update with new symbols.
++
++ -- James Page <jamespage@debian.org>  Wed, 30 Jul 2014 10:15:40 +0100
++
++ceph (0.80.4-1) unstable; urgency=medium
++
++  * New upstream release [July 2014].
++  * New patches:
++    + rbdmap1-mount.patch
++    + rbdmap2-hooks.patch
++    + rbdmap3-lazyumount.patch
++    + bug-8821.patch
++  * radosgw: removed unused lintian overrides.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Fri, 18 Jul 2014 02:33:39 +1000
++
++ceph (0.80.1-2) unstable; urgency=low
++
++  * Megapatch from "firefly" branch with post-0.80.1 fixes.
++  * Patches for upstream bugs 8342, 8624 and some cherry-picks.
++  * New "bash-completion.patch" with Bash completion improvements.
++  * New patch to fix FTBFS on 'hppa' (Closes: #748571).
++  * "sample.ceph.conf.patch": minor update.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Sat, 05 Jul 2014 20:29:44 +1000
++
++ceph (0.80.1-1) unstable; urgency=low
++
++  * New upstream release [May 2014].
++  * Dropped all backported patches.
++  * New "sleep-recover" and "client-sleep[1,2,3]" patches to fix
++    fuse-client hang after resume from suspend [#8291]; thanks, Zheng Yan.
++  * New "gcj_search_path.patch" to find "jni.h" with gcj-jdk v4.9.0.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Wed, 14 May 2014 09:24:15 +1000
++
++ceph (0.80-1) unstable; urgency=low
++
++  * New upstream release [May 2014].
++    + upload to unstable.
++  * Updated "README.Debian".
++  * Updated "debian/copyright"; Thanks, László Böszörményi.
++  * Added backported patches:
++      [8113, 8175, 8282, 8291, bp0001, sample.ceph.conf].
++  * "gbp.conf": don't merge to experimental.
++  * lintian-overrides: spelling-error-in-binary * tEH the.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Wed, 07 May 2014 16:43:07 +1000
++
++ceph (0.80~rc1-1) experimental; urgency=low
++
++  * New upstream pre-release.
++  * Minor re-factoring of udev rules installation.
++  * ceph-common: added ceph-crush-location.1 man page.
++  * ceph-test-dbg: fixed Depends.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Thu, 24 Apr 2014 02:52:12 +1000
++
++ceph (0.79-3) experimental; urgency=low
++
++  * New "arch.patch" to detect build architecture using dpkg-architecture.
++  * Mark amd64-only symbols as such.
++  * Minor rules cleanup.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Sat, 19 Apr 2014 15:56:37 +1000
++
++ceph (0.79-2) experimental; urgency=low
++
++  [ James Page ]
++  * d/p/modules.patch,d/ceph.install: Mark all jerasure plugins as modules
++    and ensure they are all installed.
++
++  [ Dmitry Smirnov ]
++  * Patchworks:
++    - removed unused "defaults-leveldb-osd.patch".
++    + improved description of "modules.patch". Thanks, James Page.
++    + added new backported patches [#5469, #8008, _1606, spelling].
++  * Added .symbols and "dh_makeshlibs -V" shlibs tightening (Closes: #744382).
++  * README.Debian: added note regarding kernel client mount option.
++  * copyright: added license for man files.
++  * control: "Suggests: logrotate".
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Fri, 18 Apr 2014 18:27:01 +1000
++
++ceph (0.79-1) experimental; urgency=low
++
++  * New upstream release [April 2014].
++  * Tighten dependency on ceph-common.
++  * Install pm-suspend handler to stop/start ceph services on suspend/resume.
++  * New (inactive) patch to bump OSD's leveldb defaults.
++  * Patches dropped (applied-upstream):
++    - init.patch
++    - logrotate.patch
++    - fix-defaultweight.patch
++  * Refreshed "modules.patch".
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Tue, 08 Apr 2014 16:52:04 +1000
++
++ceph (0.78-2) experimental; urgency=low
++
++  * Standards to 3.9.5.
++  * debian/copyright: reviewed and updated.
++  * ceph-test: added lintian-override for "binary-without-manpage".
++  * Patchworks:
++    + refreshed/renamed/reordered "virtualenv-never-download.patch".
++    + new "init.patch" for init.d scripts lintianisation.
++    + new "logrotate.patch" to avoid rotating empty logs.
++    + new "fix-defaultweight.patch" to fix weight calculation on OSD start.
++    + new "gcj.patch" with partial fix to FTBFS with gcj-jdk.
++  * Use symlinks to simplify installation of init.d and logrotate scripts.
++  * Added retrospective changelog entry to mention new B-D "libblkid-dev".
++  * Added "debian/clean file".
++  * Added "README.Debian" file with some hopefully useful notes.
++  * Added "mount.fuse.ceph.8" man page.
++  * rules:
++    + "dh --with" optimised.
++    + set JAVAC to prevent FTBFS due to incorrect use of 'gcj', when detected.
++    + verbose mode for 'cp' and 'rm' commands.
++    + build with "--as-needed" to minimise needless linking.
++  * control:
++    + lintian/duplicate-short-description + consistent capitalisation.
++    + removed needless versioned dependencies from Build-Depends.
++    + added myself to Uploaders.
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Tue, 25 Mar 2014 07:17:40 +1100
++
++ceph (0.78-1) experimental; urgency=medium
++
++  * New upstream release:
++    - d/control: Add "xfslib-dev" and "libblkid-dev" to BD's.
++    - d/*: Sync relevant packaging changes from upstream.
++    - d/p/*: Drop upstreamed patches.
++    - d/p/modules.patch: Mark libcls_user.so and libec_jerasure.so as modules.
++    - d/ceph.install: Only install libec_jerasure.so.
++  * d/ceph-test.install: Install test binaries to /usr/lib/ceph/bin; they
++    really don't need to be installed on the default path.
++  * d/{ceph|radosgw|ceph-mds}.lintian-overrides: Add overrides for intentional
++    difference in naming and structure between upstart configurations and
++    init.d scripts.
++
++ -- James Page <james.page@ubuntu.com>  Sat, 22 Mar 2014 18:27:40 +0000
++
++ceph (0.72.2-3) unstable; urgency=medium
++
++  * Team upload.
++
++  [ James Page ]
++  * d/ceph-test.install: Install test binaries to /usr/lib/ceph/bin; they
++    really don't need to be installed on the default path.
++
++  [ Dmitry Smirnov ]
++  * Tightened shlibs with "dh_makeshlibs -V" (Closes: #679686).
++
++ -- Dmitry Smirnov <onlyjob@debian.org>  Mon, 14 Apr 2014 17:28:20 +1000
++
++ceph (0.72.2-2) unstable; urgency=medium
++
++  * d/radosgw.{postinst,postrm,preinst}: Handle renaming of radosgw
++    upstart configuration on upgrade@0.72.1-3.
++  * d/{ceph|ceph-mds|radosgw}.{postinst|prerm}: Check to ensure that system
++    is running upstart before trying to start/stop upstart configurations
++    (Closes: #734241, #738845, #738845).
++
++ -- James Page <jamespage@debian.org>  Sat, 08 Mar 2014 16:48:28 +0000
++
++ceph (0.72.2-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- James Page <james.page@ubuntu.com>  Wed, 01 Jan 2014 09:32:03 +0000
++
++ceph (0.72.1-3) unstable; urgency=low
++
++  * d/rules,ceph.install: Correct install paths for ceph-* helpers. 
++  * d/p/modules: Mark libcls_kvs.so as module.
++  * d/rules: Rename radosgw upstart configuration to radosgw-instance to
++    avoid namespace conflict with init script which breaks backwards
++    compatibility (LP: #1255464).
++
++ -- James Page <james.page@ubuntu.com>  Wed, 27 Nov 2013 10:52:48 +0000
++
++ceph (0.72.1-2) unstable; urgency=low
++
++  * Fix upgrade failures from ceph < 0.67.3-1 (Closes: #728164):
++    - d/control: ceph-mds Breaks/Replaces ceph (<< 0.67.3-1).
++    - d/control: ceph-fs-common Breaks/Replaces ceph-common (<< 0.67.3-1).
++  * d/rules,control: Use google-perftools on armhf and powerpc archs.
++
++ -- James Page <james.page@ubuntu.com>  Mon, 25 Nov 2013 10:13:19 +0000
++
++ceph (0.72.1-1) unstable; urgency=low
++
++  * New upstream stable release:
++    - d/ceph-test.install: Add new ceph_filestore_tool, ceph-kvstore-tool
++      and ceph_test_cls_hello binaries, drop ceph_test_store_tool.
++    - d/ceph-common.install: Add new ceph-post-file binary and manpage.
++    - d/ceph.install: Tweaked install path /usr/sbin -> /sbin.
++    - d/control: Add new BD's on python-nose and yasm.
++    - d/copyright: Updates inline with changes in codebase.
++    - d/ceph.install,rules: Install rbdmap init file using dh_installinit.
++    - Refresh patches.
++  * d/control,rules: Disable unit testing; it requires a forked version of
++    cram and is still trying to download dependencies using virtualenv.
++
++ -- James Page <james.page@ubuntu.com>  Fri, 22 Nov 2013 13:02:29 +0000
++
++ceph (0.67.3-1) unstable; urgency=low
++
++  [ Laszlo Boszormenyi ]
++  * New upstream release (Closes: #693866, #705262).
++  * Update debian/copyright.
++  * Sync with Ubuntu.
++
++  [ James Page ]
++  * d/control,rules,libcephfs-{java,jni}: Enable Java CephFS library,
++    add new BD's on javahelper and default-jdk, add dbg package.
++  * d/control: Add new BD on libboost-thread-dev for RADOS Gateway
++    keystone integration.
++  * d/{control,obsync.install}: Drop obsync package inline with
++    upstream.
++  * d/librbd-dev.install: Pickup new features.h file.
++  * Remove manual calls to ldconfig:
++    - d/lib{rados2|rbd1|cephfs1}.post*: Dropped - all these do is call
++      ldconfig which will automatically be done. 
++    - d/rules: Let dh_makeshlibs do its magic with postinst/postrm.
++  * d/tests/*: Added autopkgtests for librbd, librados, python-ceph
++    and the ceph CLI.
++  * d/control: Fix versions of librbd1, librados2 and libcephfs1 for
++    python-ceph as it requires an exact version match.
++  * d/ceph.docs: Drop - README from upstream is only useful for developers
++    (Closes: #722957).
++  * d/rules: Drop --upstart-only from dh_installinit calls for upstart
++    configurations; this is deprecated in Ubuntu and not support in Debian.
++  * d/rules: Exclude jni package from shlibs generation to avoid pointless
++    ldconfig calls in maintainer scripts.
++
++  [ Bastian Blank ]
++  * Use debhelper 9.
++  * Use dh-autoreconf.
++  * Install files from source tree if possible.
++  * Run test-suite:
++    - Build-depend on python-virtualenv.
++    - Ask virtualenv to never download anything.
++  * Fix clean target.
++  * Properly mark library modules:
++    - Don't longer exclude them from stripping.
++  * Drop all libtool .la files.
++  * Generate python dependencies.
++  * Don't exclude stuff from shlibs generation.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 01 Oct 2013 02:29:08 +0200
++
++ceph (0.48-1) unstable; urgency=low
++
++  * New upstream release, the first with long-term support.
++  * As gceph dropped by upstream, remove it from packaging.
++  * Build with hardening enabled and build-conflict with libcryptopp not to
++    mix up with libnss.
++  * Use symbol versioning (closes: #679686).
++  * Update debian/watch to GitHub tags.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 07 Jul 2012 07:53:40 +0200
++
++ceph (0.47.2-1) unstable; urgency=low
++
++  * New upstream release.
++  * Use system leveldb (closes: #667907).
++  * Remove librgw1 , librgw-dev and librgw1-dbg and add rest-bench and
++    rest-bench-dbg packages.
++  * Backport leveldb build fixes from upstream git as
++    fix_leveldb_dep_for_system_library_case.patch and
++    fix_leveldb_includes_for_system_library_case.patch .
++  * Update packaging.
++  * Sync with Ubuntu: switch build-dependency from libcryptopp to libnss as
++    libcryptopp is not seeded.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 03 Jun 2012 13:37:52 +0200
++
++ceph (0.44.1-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Fri, 06 Apr 2012 01:10:15 +0200
++
++ceph (0.43-1) unstable; urgency=low
++
++  * New upstream release, now creates /var/run/ceph on each start
++    (closes: #660238).
++  * Update debian/copyright .
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 26 Feb 2012 04:07:02 +0100
++
++ceph (0.41-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 05 Feb 2012 10:07:38 +0100
++
++ceph (0.40-1) unstable; urgency=low
++
++  * New upstream release (closes: #652037).
++  * Adjust copyright to match upstream source changes.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 14 Jan 2012 12:01:30 +0100
++
++ceph (0.38-1) unstable; urgency=low
++
++  * New upstream release (closes: #647764), missingok is now part of logrotate
++    directives (closes: #645651).
++  * Rename ceph-client-tools package to ceph-common , libceph-dev to
++    libcephfs-dev and libceph1{,-dbg} ones to libcephfs1{,-dbg} respectively.
++  * Update upstream VCS locations.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 27 Nov 2011 21:40:52 +0100
++
++ceph (0.35-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 24 Sep 2011 16:51:57 +0200
++
++ceph (0.34-1) unstable; urgency=low
++
++  * New upstream release (closes: #638714).
++  * Make librbd-dev depends on librados-dev as it uses headers from the latter
++    (closes: #636845).
++  * Add new binary packages, gceph, gceph-dbg and obsync . The libcrush ones
++    removed.
++  * Change to quilt source format and tune packaging.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 28 Aug 2011 15:56:16 +0200
++
++ceph (0.27-1.1) unstable; urgency=low
++
++  * Non-maintainer upload.
++  * Remove references to other libraries from dependency_libs field
++    (closes: #621208). 
++
++ -- Luk Claes <luk@debian.org>  Sat, 28 May 2011 22:28:48 +0200
++
++ceph (0.27-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Mon, 25 Apr 2011 10:09:05 +0200
++
++ceph (0.25.2-1) unstable; urgency=low
++
++  * New upstream release.
++  * Make Ceph cross buildable (closes: #618939), thanks to Hector Oron.
++  * Disable libatomic-ops on ARMv4t (armel) archs to prevent FTBFS
++    (closes: #615235), thanks go to Hector Oron again.
++  * Rename librados1{,-dbg,-dev} packages to librados2{,-dbg,-dev} ones;
++    conflict with and replace the former ones.
++  * Add librbd1 and librbd-dev packages.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sun, 27 Mar 2011 15:51:23 +0200
++
++ceph (0.24.3-2) unstable; urgency=low
++
++  * Make Ceph Linux only and build on all Linux archs (closes: #614890).
++  * Support parallel building via DEB_BUILD_OPTIONS .
++  * Add watch file, thanks to Clint Byrum (closes: #615021).
++  * Tune packaging.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Fri, 25 Feb 2011 15:17:26 +0100
++
++ceph (0.24.3-1) unstable; urgency=low
++
++  * New upstream bugfix release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 19 Feb 2011 12:25:43 +0100
++
++ceph (0.24.2-1) unstable; urgency=low
++
++  * New upstream bugfix release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Sat, 29 Jan 2011 15:25:14 +0100
++
++ceph (0.24.1-1) unstable; urgency=low
++
++  * New upstream bugfix release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Tue, 11 Jan 2011 22:23:18 +0100
++
++ceph (0.24-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu>  Wed, 01 Dec 2010 09:26:25 -0800
++
++ceph (0.23.1-1) experimental; urgency=low
++
++  * Initial release (Closes: #506040)
++
++ -- Sage Weil <sage@newdream.net>  Sun, 21 Nov 2010 15:22:21 -0800
diff --cc debian/clean
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8fa0971894752ef12ea977f9ecd71fc6e82364a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++src/rocksdb/util/build_version.cc
++src/pybind/*.pyc
++src/test/pybind/*.pyc
diff --cc debian/compat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++9
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..16301c46bed1e01971673712eae461e679960582
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,503 @@@
++Source: ceph
++Section: admin
++Priority: optional
++Maintainer: Ceph Maintainers <ceph-maintainers@lists.ceph.com>
++Uploaders: James Page <jamespage@debian.org>,
++           Gaudenz Steinlin <gaudenz@debian.org>
++Homepage: http://ceph.com/
++Vcs-Git: git://anonscm.debian.org/pkg-ceph/ceph.git
++Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ceph/ceph.git
++Build-Depends: cython,
++               debhelper (>= 9~),
++               default-jdk,
++               dh-autoreconf,
++               dh-python,
++               dh-systemd (>= 1.5),
++               dpkg-dev (>= 1.16.1~),
++               javahelper,
++               junit4,
++               libaio-dev,
++               libatomic-ops-dev,
++               libbabeltrace-ctf-dev,
++               libbabeltrace-dev,
++               libblkid-dev,
++               libboost-dev (>= 1.42),
++               libboost-iostreams-dev,
++               libboost-program-options-dev (>= 1.42),
++               libboost-random-dev,
++               libboost-regex-dev,
++               libboost-system-dev (>= 1.42),
++               libboost-thread-dev (>= 1.42),
++               libbz2-dev,
++               libcurl4-gnutls-dev,
++               libedit-dev,
++               libexpat1-dev,
++               libfcgi-dev,
++               libfuse-dev,
++               libgoogle-perftools-dev [i386 amd64 powerpc armhf arm64 ppc64el],
++               libkeyutils-dev,
++               libldap2-dev,
++               libleveldb-dev,
++               libnss3-dev,
++               libsnappy-dev,
++               libtool,
++               libudev-dev,
++               libxml2-dev,
++               lsb-release,
++               pkg-config,
++               python-all (>= 2.6.6-3~),
++               python-dev,
++               python-nose,
++               python-setuptools,
++               python-sphinx,
++               uuid-dev,
++               uuid-runtime,
++               valgrind [amd64 armhf i386 powerpc],
++               xfslibs-dev,
++               xfsprogs,
++               yasm [amd64],
++               zlib1g-dev
++Build-Conflicts: libcrypto++-dev
++Standards-Version: 3.9.8
++X-Python-Version: >= 2.6
++XS-Testsuite: autopkgtest
++
++Package: ceph
++Architecture: linux-any
++Depends: ceph-mon (= ${binary:Version}),
++         ceph-osd (= ${binary:Version}),
++         lsb-base (>= 3.0-6),
++         ${misc:Depends}
++Suggests: ceph-mds (= ${binary:Version})
++Description: distributed storage and file system
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++
++Package: ceph-base
++Architecture: linux-any
++Depends: binutils,
++         ceph-common (= ${binary:Version}),
++         cryptsetup-bin | cryptsetup,
++         gdisk,
++         hdparm | sdparm,
++         parted,
++         uuid-runtime,
++         xfsprogs,
++         ${misc:Depends},
++         ${python:Depends},
++         ${shlibs:Depends}
++Pre-Depends: ${misc:Pre-Depends}
++Breaks: ceph (<< 10.2.2-0ubuntu2~),
++        ceph-common (<< 9.2.0-0ubuntu1~),
++        ceph-test (<< 9.2.0-0ubuntu1~),
++        python-ceph (<< 0.94.1-1~)
++Replaces: ceph (<< 10.2.2-0ubuntu2~),
++          ceph-common (<< 9.2.0-0ubuntu1~),
++          ceph-test (<< 9.2.0-0ubuntu1~),
++          python-ceph (<< 0.94.1-1~)
++Recommends: libcephfs1,
++            librados2,
++            libradosstriper1,
++            librbd1,
++            ntp | time-daemon
++Suggests: logrotate
++Description: common ceph daemon libraries and management tools
++ Ceph is a distributed storage system designed to provide excellent
++ performance, reliability, and scalability.
++ .
++ This package contains the libraries and management tools that are common among
++ the three Ceph server daemons (ceph-mon, ceph-osd, ceph-mds). These tools are
++ necessary for creating, running, and administering a Ceph storage cluster.
++
++Package: rbd-mirror
++Architecture: linux-any
++Depends: ceph-common (= ${binary:Version}),
++         librados2 (= ${binary:Version}),
++         ${misc:Depends},
++         ${shlibs:Depends}
++Description: Ceph daemon for mirroring RBD images
++ Ceph is a distributed storage system designed to provide excellent
++ performance, reliability, and scalability.
++ .
++ This package provides a daemon for mirroring RBD images between
++ Ceph clusters, streaming changes asynchronously.
++
++Package: rbd-nbd
++Architecture: linux-any
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Description: NBD-based rbd client for the Ceph distributed file system
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.  This is a
++ NBD-based client that allows one to map Ceph rbd images as local
++ block device.
++ .
++ NBD base client that allows one to map Ceph rbd images as local
++ block device.
++
++Package: ceph-common
++Architecture: linux-any
++Depends: librbd1 (= ${binary:Version}),
++         lsb-base (>= 3.0-6),
++         python-cephfs (= ${binary:Version}),
++         python-rados (= ${binary:Version}),
++         python-rbd (= ${binary:Version}),
++         python-requests,
++         ${misc:Depends},
++         ${python:Depends},
++         ${shlibs:Depends}
++Conflicts: ceph-client-tools
++Breaks: ceph (<< 9.2.0-1~),
++        ceph-test (<< 9.2.0-1~),
++        librbd1 (<< 0.94.1-1~),
++        python-ceph (<< 0.94.1-1~)
++Replaces: ceph (<< 9.2.0-1~),
++          ceph-client-tools,
++          ceph-test (<< 9.2.0-1~),
++          librbd1 (<< 0.94.1-1~),
++          python-ceph (<< 0.94.1-1~)
++Suggests: ceph, ceph-mds
++Description: common utilities to mount and interact with a ceph storage cluster
++ Ceph is a distributed storage and file system designed to provide
++ excellent performance, reliability, and scalability.  This is a collection
++ of common tools that allow one to interact with and administer a Ceph cluster.
++
++Package: ceph-mds
++Architecture: linux-any
++Depends: ceph, ${misc:Depends}, ${shlibs:Depends}
++Recommends: ceph-fs-common, ceph-fuse, libcephfs1
++Breaks: ceph (<< 0.67.3-1)
++Replaces: ceph (<< 0.67.3-1)
++Description: metadata server for the ceph distributed file system
++ Ceph is a distributed storage and network file system designed to
++ provide excellent performance, reliability, and scalability.
++ .
++ This package contains the metadata server daemon, which is used to
++ create a distributed file system on top of the ceph storage cluster.
++
++Package: ceph-mon
++Architecture: linux-any
++Depends: ceph-base (= ${binary:Version}),
++         python-flask,
++         ${misc:Depends},
++         ${python:Depends},
++         ${shlibs:Depends}
++Replaces: ceph (<< 10.2.2-0ubuntu2~),
++          ceph-common (<< 10),
++Breaks: ceph (<< 10.2.2-0ubuntu2~),
++        ceph-common (<< 10),
++Description: monitor server for the ceph storage system
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++ .
++ This package contains the cluster monitor daemon for the Ceph storage
++ system. One or more instances of ceph-mon form a Paxos part-time parliament
++ cluster that provides extremely reliable and durable storage of cluster
++ membership, configuration, and state.
++
++Package: ceph-osd
++Architecture: linux-any
++Depends: ceph-base (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
++Pre-Depends: ceph-common (= ${binary:Version})
++Replaces: ceph (<< 10.2.2-0ubuntu2~)
++Breaks: ceph (<< 10.2.2-0ubuntu2~)
++Description: OSD server for the ceph storage system
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++ .
++ This package contains the Object Storage Daemon for the Ceph storage system.
++ It is responsible for storing objects on a local file system
++ and providing access to them over the network.
++
++Package: ceph-fuse
++Architecture: amd64
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Recommends: fuse
++Description: FUSE-based client for the Ceph distributed file system
++ Ceph is a distributed network file system designed to provide
++ excellent performance, reliability, and scalability.  This is a
++ FUSE-based client that allows one to mount a Ceph file system without
++ root privileges.
++ .
++ Because the FUSE-based client has certain inherent performance
++ limitations, it is recommended that the native Linux kernel client
++ be used if possible.  If it is not practical to load a kernel module
++ (insufficient privileges, older kernel, etc.), then the FUSE client will
++ do.
++
++Package: rbd-fuse
++Architecture: linux-any
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Recommends: fuse
++Description: FUSE-based rbd client for the Ceph distributed file system
++ Ceph is a distributed network file system designed to provide
++ excellent performance, reliability, and scalability.  This is a
++ FUSE-based client that allows one to map Ceph rbd images as files.
++
++Package: ceph-fs-common
++Architecture: linux-any
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Breaks: ceph-common (<< 0.67.3-1)
++Conflicts: ceph-client-tools
++Replaces: ceph-client-tools, ceph-common (<< 0.67.3-1)
++Suggests: ceph-mds
++Description: common utilities to mount and interact with a ceph file system
++ Ceph is a distributed network file system designed to provide
++ excellent performance, reliability, and scalability.  This is a collection
++ of common tools, including the mount utility, that allows one to mount the
++ Ceph file system with the kernel client.
++
++Package: ceph-resource-agents
++Architecture: all
++Priority: extra
++Recommends: pacemaker
++Depends: ceph (>= ${binary:Version}), resource-agents, ${misc:Depends}
++Description: OCF-compliant resource agents for Ceph
++ Ceph is a distributed storage and network file system designed to provide
++ excellent performance, reliability, and scalability.
++ .
++ This package contains the resource agents (RAs) which integrate
++ Ceph with OCF-compliant cluster resource managers,
++ such as Pacemaker.
++
++Package: librados2
++Architecture: linux-any
++Section: libs
++Conflicts: librados, librados1
++Replaces: librados, librados1
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Pre-Depends: ${misc:Pre-Depends}
++Description: RADOS distributed object store client library
++ RADOS is a reliable, autonomic distributed object storage cluster
++ developed as part of the Ceph distributed storage system.  This is a
++ shared library allowing applications to access the distributed object
++ store using a simple file-like interface.
++
++Package: librados-dev
++Architecture: linux-any
++Section: libdevel
++Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
++Conflicts: librados1-dev, librados2-dev
++Replaces: librados1-dev, librados2-dev
++Description: RADOS distributed object store client library (development files)
++ RADOS is a reliable, autonomic distributed object storage cluster
++ developed as part of the Ceph distributed storage system.  This is a
++ shared library allowing applications to access the distributed object
++ store using a simple file-like interface.
++ .
++ This package contains development files needed for building applications that
++ link against librados2.
++
++Package: libradosstriper1
++Architecture: linux-any
++Section: libs
++Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
++Description: RADOS striping interface
++ Striping interface built on top of the rados library, allowing
++ to stripe bigger objects onto several standard rados objects using
++ an interface very similar to the rados one.
++
++Package: libradosstriper-dev
++Architecture: linux-any
++Section: libdevel
++Depends: libradosstriper1 (= ${binary:Version}), ${misc:Depends}
++Description: RADOS striping interface (development files)
++ libradosstriper is a striping interface built on top of the rados
++ library, allowing to stripe bigger objects onto several standard
++ rados objects using an interface very similar to the rados one.
++ .
++ This package contains development files needed for building applications that
++ link against libradosstriper.
++
++Package: librbd1
++Architecture: linux-any
++Section: libs
++Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
++Pre-Depends: ${misc:Pre-Depends}
++Description: RADOS block device client library
++ RBD is a block device striped across multiple distributed objects
++ in RADOS, a reliable, autonomic distributed object storage cluster
++ developed as part of the Ceph distributed storage system.  This is a
++ shared library allowing applications to manage these block devices.
++
++Package: librbd-dev
++Architecture: linux-any
++Section: libdevel
++Depends: librados-dev, librbd1 (= ${binary:Version}), ${misc:Depends}
++Conflicts: librbd1-dev
++Replaces: librbd1-dev
++Description: RADOS block device client library (development files)
++ RBD is a block device striped across multiple distributed objects
++ in RADOS, a reliable, autonomic distributed object storage cluster
++ developed as part of the Ceph distributed storage system.  This is a
++ shared library allowing applications to manage these block devices.
++ .
++ This package contains development files needed for building applications that
++ link against librbd1.
++
++Package: libcephfs1
++Architecture: linux-any
++Section: libs
++Conflicts: libceph, libceph1, libcephfs
++Replaces: libceph, libceph1, libcephfs
++Depends: ${misc:Depends}, ${shlibs:Depends}
++Pre-Depends: ${misc:Pre-Depends}
++Description: Ceph distributed file system client library
++ Ceph is a distributed network file system designed to provide
++ excellent performance, reliability, and scalability.  This is a
++ shared library allowing applications to access a Ceph distributed
++ file system via a POSIX-like interface.
++
++Package: libcephfs-dev
++Architecture: linux-any
++Section: libdevel
++Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}
++Conflicts: libceph-dev, libceph1-dev, libcephfs1-dev
++Replaces: libceph-dev, libceph1-dev, libcephfs1-dev
++Description: Ceph distributed file system client library (development files)
++ Ceph is a distributed network file system designed to provide
++ excellent performance, reliability, and scalability.  This is a
++ shared library allowing applications to access a Ceph distributed
++ file system via a POSIX-like interface.
++ .
++ This package contains development files needed for building applications that
++ link against libcephfs1.
++
++Package: librgw2
++Architecture: linux-any
++Section: libs
++Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
++Description: RADOS Gateway client library
++ RADOS is a distributed object store used by the Ceph distributed
++ storage system.  This package provides a REST gateway to the
++ object store that aims to implement a superset of Amazon's S3
++ service.
++ .
++ This package contains the library interface and headers only.
++
++Package: librgw-dev
++Architecture: linux-any
++Section: libdevel
++Depends: librados-dev (= ${binary:Version}),
++         librgw2 (= ${binary:Version}),
++         ${misc:Depends}
++Description: RADOS client library (development files)
++ RADOS is a distributed object store used by the Ceph distributed
++ storage system.  This package provides a REST gateway to the
++ object store that aims to implement a superset of Amazon's S3
++ service.
++ .
++ This package contains development files needed for building applications
++ that link against librgw2.
++
++Package: radosgw
++Architecture: linux-any
++Depends: ceph-common (= ${binary:Version}),
++         librgw2 (= ${binary:Version}),
++         lsb-base (>= 3.0-6),
++         ${misc:Depends},
++         ${shlibs:Depends}
++Suggests: logrotate
++Description: REST gateway for RADOS distributed object store
++ RADOS is a distributed object store used by the Ceph distributed
++ storage system.  This package provides a REST gateway to the
++ object store that aims to implement a superset of Amazon's S3
++ service as well as the OpenStack Object Storage ("Swift") API.
++ .
++ This package contains the proxy daemon and related tools only.
++
++Package: ceph-test
++Architecture: linux-any
++Depends: ceph-common,
++         curl,
++         xml2,
++         xmlstarlet,
++         ${misc:Depends},
++         ${shlibs:Depends}
++Description: Ceph test and benchmarking tools
++ Ceph is a distributed storage system designed to provide excellent
++ performance, reliability, and scalability.
++ .
++ This package contains tools for testing and benchmarking Ceph.
++
++Package: python-ceph
++Architecture: all
++Section: python
++Depends: python-cephfs (>= ${binary:Version}),
++         python-rados (>= ${binary:Version}),
++         python-rbd (>= ${binary:Version}),
++         ${misc:Depends},
++         ${python:Depends}
++Description: Meta-package for python libraries for the Ceph libraries
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++ .
++ This package is a metapackage for all python bindings.
++
++Package: python-rados
++Architecture: linux-any
++Section: python
++Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
++Replaces: python-ceph (<< 0.94.1-1~)
++Breaks: python-ceph (<< 0.94.1-1~)
++Description: Python libraries for the Ceph librados library
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++ .
++ This package contains Python libraries for interacting with Ceph's
++ RADOS object storage.
++
++Package: python-rbd
++Architecture: linux-any
++Section: python
++Depends: librbd1 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
++Replaces: python-ceph (<< 0.94.1-1~)
++Breaks: python-ceph (<< 0.94.1-1~)
++Description: Python libraries for the Ceph librbd library
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++ .
++ This package contains Python libraries for interacting with Ceph's
++ RBD block device library.
++
++Package: python-cephfs
++Architecture: linux-any
++Section: python
++Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
++Replaces: python-ceph (<< 0.94.1-1~)
++Breaks: python-ceph (<< 0.94.1-1~)
++Description: Python libraries for the Ceph libcephfs library
++ Ceph is a massively scalable, open-source, distributed
++ storage system that runs on commodity hardware and delivers object,
++ block and file system storage.
++ .
++ This package contains Python libraries for interacting with Ceph's
++ CephFS file system client library.
++
++Package: libcephfs-java
++Architecture: all
++Section: java
++Depends: libcephfs-jni (>= ${binary:Version}), ${java:Depends}, ${misc:Depends}
++Description: Java library for the Ceph File System
++ Ceph is a distributed storage system designed to provide excellent
++ performance, reliability, and scalability.
++ .
++ This package contains the Java library for interacting with the Ceph
++ File System.
++
++Package: libcephfs-jni
++Architecture: linux-any
++Section: libs
++Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
++Description: Java Native Interface library for CephFS Java bindings
++ Ceph is a distributed storage system designed to provide excellent
++ performance, reliability, and scalability.
++ .
++ This package contains the Java Native Interface library for interacting
++ with the Ceph File System.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4be351d63f77e249a1dd4c766b546d28e0898863
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <sage@newdream.net>
++Source: http://ceph.com/
++
++Files: *
++Copyright: 2004-2014 Sage Weil <sage@newdream.net>
++           2004-2014 Inktank <info@inktank.com>
++                     Inktank, Inc
++                     Inktank Storage, Inc.
++           2012-2014 Red Hat <contact@redhat.com>
++           2013-2014 Cloudwatt <libre.licensing@cloudwatt.com>
++           2013      CohortFS, LLC
++           2004-2011 Dreamhost
++           2013      eNovance SAS <licensing@enovance.com>
++           2014      Adam Crume <adamcrume@gmail.com>
++           2012      Florian Haas, hastexo
++           2010      Greg Farnum <gregf@hq.newdream.net>
++           2014      John Spray <john.spray@inktank.com
++           2004-2012 New Dream Network
++           2014      Sebastien Ponce <sebastien.ponce@cern.ch>
++           2011      Stanislav Sedov <stas@FreeBSD.org>
++           2013-2014 UnitedStack <haomai@unitedstack.com>
++           2011      Wido den Hollander <wido@widodh.nl>
++License: LGPL-2.1
++
++Files: src/erasure-code/jerasure/ErasureCode*
++       src/erasure-code/ErasureCode*
++       src/erasure-code/isa/*
++       src/include/str_map.h
++       src/test/common/test_str_map.cc
++       src/test/erasure-code/*
++       src/test/rgw/test_rgw_manifest.cc
++Copyright: 2014      CERN/Switzerland
++           2013-2014 Cloudwatt <libre.licensing@cloudwatt.com>
++           2014      Red Hat <contact@redhat.com>
++           2013      eNovance SAS <licensing@enovance.com>
++License: LGPL-2.1+
++
++Files: src/erasure-code/isa/isa-l/erasure_code/*
++Copyright: 2011-2014 Intel Corporation
++License: BSD-3-clause
++
++Files: src/rocksdb/*
++Copyright: 2004-2013 Facebook, Inc.
++           2011      The LevelDB Authors
++           2009      Google Inc.
++License: BSD-3-clause
++Comment:
++ Additional Grant of Patent Rights
++ .
++ “Software” means the rocksdb software distributed by Facebook, Inc.
++ .
++ Facebook hereby grants you a perpetual, worldwide, royalty-free,
++ non-exclusive, irrevocable (subject to the termination provision below)
++ license under any rights in any patent claims owned by Facebook, to make,
++ have made, use, sell, offer to sell, import, and otherwise transfer the
++ Software. For avoidance of doubt, no license is granted under Facebook’s
++ rights in any patent claims that are infringed by (i) modifications to the
++ Software made by you or a third party, or (ii) the Software in combination
++ with any software or other technology provided by you or a third party.
++ .
++ The license granted hereunder will terminate, automatically and without
++ notice, for anyone that makes any claim (including by filing any lawsuit,
++ assertion or other action) alleging (a) direct, indirect, or contributory
++ infringement or inducement to infringe any patent: (i) by Facebook or any
++ of its subsidiaries or affiliates, whether or not such claim is related
++ to the Software, (ii) by any party if such claim arises in whole or in
++ part from any software, product or service of Facebook or any of its
++ subsidiaries or affiliates, whether or not such claim is related to the
++ Software, or (iii) by any party relating to the Software; or (b) that
++ any right in any patent claim of Facebook is invalid or unenforceable.
++
++Files: src/rocksdb/util/xxhash.*
++Copyright: 2012-2014, Yann Collet.
++License: BSD-2-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ .
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above
++ copyright notice, this list of conditions and the following disclaimer
++ in the documentation and/or other materials provided with the
++ distribution.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++Files: src/mount/canonicalize.c
++       src/test/common/test_config.cc
++       src/test/crush/TestCrushWrapper.cc
++       src/test/common/Throttle.cc
++       src/test/objectstore/chain_xattr.cc
++       src/test/mon/mon-test-helpers.sh
++       src/test/objectstore/chain_xattr.cc
++       src/test/osd/osd-test-helpers.sh
++       src/ceph-disk
++       src/stop.sh
++Copyright: 1993      Rick Sladkey <jrs@world.std.com>
++           2013      Inktank <info@inktank.com>
++           2013-2014 Cloudwatt <libre.licensing@cloudwatt.com>
++License: LGPL-2+
++
++Files: src/os/btrfs_ioctl.h
++       src/test/mon/PGMap.cc
++Copyright: 2007 Oracle.  All rights reserved.
++           2014 Inktank <info@inktank.com>
++License: GPL-2
++
++Files: src/common/ceph_hash.cc
++Copyright: 1995-1997 Robert J. Jenkins Jr.
++License: public-domain
++  This file uses Robert Jenkin's hash function as detailed at:
++  .
++    http://burtleburtle.net/bob/hash/evahash.html
++  .
++  This is in the public domain.
++
++Files: src/common/bloom_filter.hpp
++Copyright: 2000 Arash Partow
++License: Boost-Software-License-1.0
++ Permission is hereby granted, free of charge, to any person or organization
++ obtaining a copy of the software and accompanying documentation covered by
++ this license (the "Software") to use, reproduce, display, distribute,
++ execute, and transmit the Software, and to prepare derivative works of the
++ Software, and to permit third-parties to whom the Software is furnished to
++ do so, all subject to the following:
++ .
++   The copyright notices in the Software and this entire statement,
++   including the above license grant, this restriction and the following
++   disclaimer, must be included in all copies of the Software, in whole or
++   in part, and all derivative works of the Software, unless such copies
++   or derivative works are solely in the form of machine-executable object
++   code generated by a source language processor.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
++ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
++ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
++ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++
++Files: m4/acx_pthread.m4
++Copyright: Steven G. Johnson <stevenj@alum.mit.edu>
++License: GPLWithACException
++ This program is free software; you can redistribute it and/or modify it under
++ the terms of the GNU General Public License as published by the Free Software
++ Foundation; either version 2 of the License, or (at your option) any later
++ version.
++ .
++ This program is distributed in the hope that it will be useful, but WITHOUT
++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License along with
++ this program. If not, see <http://www.gnu.org/licenses/>.
++ .
++ As a special exception, the respective Autoconf Macro’s copyright owner gives
++ unlimited permission to copy, distribute and modify the configure scripts that
++ are the output of Autoconf when processing the Macro. You need not follow the
++ terms of the GNU General Public License when using or distributing such
++ scripts, even though portions of the text of the Macro appear in them. The
++ GNU General Public License (GPL) does govern all other use of the material
++ that constitutes the Autoconf Macro.
++ .
++ This special exception to the GPL applies to versions of the Autoconf Macro
++ released by the Autoconf Archive. When you make and distribute a modified
++ version of the Autoconf Macro, you may extend this special exception to the
++ GPL to apply to your modified version as well.
++
++Files: src/common/crc32c_intel*
++Copyright: 2012-2013 Intel Corporation All Rights Reserved.
++License: BSD-3-clause
++
++Files: src/common/sctp_crc32.c
++Copyright: 2001-2007, by Cisco Systems, Inc. All rights reserved,
++           2004-2006 Intel Corporation - All Rights Reserved
++License: BSD-3-clause
++
++Files: src/erasure-code/jerasure/gf-complete/*/*
++Copyright: 2013 James S. Plank
++                Ethan L. Miller
++                Kevin M. Greenan
++                Benjamin A. Arnold
++                John A. Burnum
++                Adam W. Disney
++                Allen C. McBride
++License: BSD-3-clause
++Comment:
++ https://bitbucket.org/jimplank/gf-complete
++
++Files: src/erasure-code/jerasure/jerasure/*/*
++Copyright: 2011-2013 James S. Plank <plank@cs.utk.edu>
++           2013      Kevin Greenan
++License: BSD-3-clause
++
++Files: src/gtest/*
++Copyright: 2008, Google Inc.
++License: BSD-3-clause
++
++Files: src/civetweb/*
++Copyright: 2004-2013 Sergey Lyubka
++           2013-2014 the Civetweb developers
++License: Expat
++
++Files: src/json_spirit/*
++Copyright: 2007-2011, John W. Wilkinson
++License: Expat
++
++Files: src/java/native/ScopedLocalRef.h
++       src/java/native/JniConstants.*
++Copyright: 2010 The Android Open Source Project
++License: Apache-2.0
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++ .
++      http://www.apache.org/licenses/LICENSE-2.0
++ .
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++ .
++ The complete text of the Apache License, Version 2.0
++ can be found in "/usr/share/common-licenses/Apache-2.0".
++
++Files: src/libs3/*
++Copyright: 2008 Bryan Ischo <bryan@ischo.com>
++License: GPL-3/OpenSSL
++ libs3 is free software: you can redistribute it and/or modify it under the
++ terms of the GNU General Public License as published by the Free Software
++ Foundation, version 3 of the License.
++ .
++ In addition, as a special exception, the copyright holders give
++ permission to link the code of this library and its programs with the
++ OpenSSL library, and distribute linked combinations including the two.
++ .
++ libs3 is distributed in the hope that it will be useful, but WITHOUT ANY
++ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++ FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
++ details.
++ .
++ The complete text of the GNU General Public License version 3
++ can be found in "/usr/share/common-licenses/GPL-3' file.
++
++Files: src/mount/mtab.c
++Copyright: util-linux-ng AUTHORS
++License: GPL-2+
++Comment:
++ "mount/fstab.c" from line 559:
++ https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/mount-deprecated/fstab.c?h=v2.22#n559
++ https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/README.licensing
++
++Files: src/test/librbd/fsx.c
++Copyright: 1991, NeXT Computer, Inc.
++License: APSL-2.0
++ The contents of this file constitute Original Code as defined in and
++ are subject to the Apple Public Source License Version 2.0 (the
++ "License"). You may not use this file except in compliance with the
++ License. Please obtain a copy of the License at
++ http://www.opensource.apple.com/apsl/ and read it before using this file.
++ .
++ This Original Code and all software distributed under the License are
++ distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
++ EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
++ INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
++ License for the specific language governing rights and limitations
++ under the License.
++Comment:
++ http://codemonkey.org.uk/projects/fsx/
++ http://codemonkey.org.uk/projects/fsx/fsx-macosforge/fsx.c
++
++Files: man/*
++       debian/man/*
++Copyright: 2010-2014, Inktank Storage, Inc. and contributors.
++License: CC-BY-SA-3.0
++
++Files: debian/*
++Copyright: 2010      Sage Weil <sage@newdream.net>
++           2010      Canonical, Ltd.
++           2011-2013 László Böszörményi (GCS) <gcs@debian.org>
++           2013-2014 James Page <james.page@ubuntu.com>
++           2014      Dmitry Smirnov <onlyjob@debian.org>
++License: LGPL-2.1
++
++License: GPL-2
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ .
++ On Debian systems, the complete text of the GNU General Public License
++ version 2 can be found in `/usr/share/common-licenses/GPL-2' file.
++
++License: GPL-2+
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program.  If not, see <http://www.gnu.org/licenses/>.
++ .
++ On Debian systems, the complete text of the GNU General Public License
++ version 2 can be found in `/usr/share/common-licenses/GPL-2'.
++
++License: LGPL-2.1
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License version 2.1 as published by the Free Software Foundation.
++ .
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
++ .
++ On Debian systems, the complete text of the GNU Lesser General
++ Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
++
++License: LGPL-2.1+
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++ .
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
++ .
++ On Debian systems, the complete text of the GNU Lesser General
++ Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
++
++License: LGPL-2+
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License version 2 (or later) as published by the Free Software Foundation.
++ .
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
++ .
++ On Debian systems, the complete text of the GNU Lesser General
++ Public License 2 can be found in `/usr/share/common-licenses/LGPL-2'.
++
++License: Expat
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ THE SOFTWARE.
++Comment:
++ This license also known as "MIT" however FSF consider "MIT" labelling
++ ambiguous and copyright-format specification recommend to label such license
++ as "Expat".
++
++License: CC-BY-SA-3.0
++ Creative Commons Attribution-ShareAlike 3.0 Unported
++ ․
++ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
++ LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
++ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
++ ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE
++ INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
++ ITS USE.
++ ․
++ License
++ ․
++ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
++ COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
++ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
++ AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
++ ․
++ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
++ TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
++ BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
++ CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
++ CONDITIONS.
++ ․
++ 1. Definitions
++ ․
++ a. "Adaptation" means a work based upon the Work, or upon the Work and
++ other pre-existing works, such as a translation, adaptation, derivative
++ work, arrangement of music or other alterations of a literary or
++ artistic work, or phonogram or performance and includes cinematographic
++ adaptations or any other form in which the Work may be recast,
++ transformed, or adapted including in any form recognizably derived from
++ the original, except that a work that constitutes a Collection will not
++ be considered an Adaptation for the purpose of this License. For the
++ avoidance of doubt, where the Work is a musical work, performance or
++ phonogram, the synchronization of the Work in timed-relation with a
++ moving image ("synching") will be considered an Adaptation for the
++ purpose of this License.
++ ․
++ b. "Collection" means a collection of literary or artistic works, such
++ as encyclopedias and anthologies, or performances, phonograms or
++ broadcasts, or other works or subject matter other than works listed in
++ Section 1(f) below, which, by reason of the selection and arrangement of
++ their contents, constitute intellectual creations, in which the Work is
++ included in its entirety in unmodified form along with one or more other
++ contributions, each constituting separate and independent works in
++ themselves, which together are assembled into a collective whole. A work
++ that constitutes a Collection will not be considered an Adaptation (as
++ defined below) for the purposes of this License.
++ ․
++ c. "Creative Commons Compatible License" means a license that is listed
++ at http://creativecommons.org/compatiblelicenses that has been approved
++ by Creative Commons as being essentially equivalent to this License,
++ including, at a minimum, because that license: (i) contains terms that
++ have the same purpose, meaning and effect as the License Elements of
++ this License; and, (ii) explicitly permits the relicensing of
++ adaptations of works made available under that license under this
++ License or a Creative Commons jurisdiction license with the same License
++ Elements as this License.
++ ․
++ d. "Distribute" means to make available to the public the original and
++ copies of the Work or Adaptation, as appropriate, through sale or other
++ transfer of ownership.
++ ․
++ e. "License Elements" means the following high-level license attributes
++ as selected by Licensor and indicated in the title of this License:
++ Attribution, ShareAlike.
++ ․
++ f. "Licensor" means the individual, individuals, entity or entities that
++ offer(s) the Work under the terms of this License.
++ ․
++ g. "Original Author" means, in the case of a literary or artistic work,
++ the individual, individuals, entity or entities who created the Work or
++ if no individual or entity can be identified, the publisher; and in
++ addition (i) in the case of a performance the actors, singers,
++ musicians, dancers, and other persons who act, sing, deliver, declaim,
++ play in, interpret or otherwise perform literary or artistic works or
++ expressions of folklore; (ii) in the case of a phonogram the producer
++ being the person or legal entity who first fixes the sounds of a
++ performance or other sounds; and, (iii) in the case of broadcasts, the
++ organization that transmits the broadcast.
++ ․
++ h. "Work" means the literary and/or artistic work offered under the
++ terms of this License including without limitation any production in the
++ literary, scientific and artistic domain, whatever may be the mode or
++ form of its expression including digital form, such as a book, pamphlet
++ and other writing; a lecture, address, sermon or other work of the same
++ nature; a dramatic or dramatico-musical work; a choreographic work or
++ entertainment in dumb show; a musical composition with or without words;
++ a cinematographic work to which are assimilated works expressed by a
++ process analogous to cinematography; a work of drawing, painting,
++ architecture, sculpture, engraving or lithography; a photographic work
++ to which are assimilated works expressed by a process analogous to
++ photography; a work of applied art; an illustration, map, plan, sketch
++ or three-dimensional work relative to geography, topography,
++ architecture or science; a performance; a broadcast; a phonogram; a
++ compilation of data to the extent it is protected as a copyrightable
++ work; or a work performed by a variety or circus performer to the extent
++ it is not otherwise considered a literary or artistic work.
++ ․
++ i. "You" means an individual or entity exercising rights under this
++ License who has not previously violated the terms of this License with
++ respect to the Work, or who has received express permission from the
++ Licensor to exercise rights under this License despite a previous
++ violation.
++ ․
++ j. "Publicly Perform" means to perform public recitations of the Work
++ and to communicate to the public those public recitations, by any means
++ or process, including by wire or wireless means or public digital
++ performances; to make available to the public Works in such a way that
++ members of the public may access these Works from a place and at a place
++ individually chosen by them; to perform the Work to the public by any
++ means or process and the communication to the public of the performances
++ of the Work, including by public digital performance; to broadcast and
++ rebroadcast the Work by any means including signs, sounds or images.
++ ․
++ k. "Reproduce" means to make copies of the Work by any means including
++ without limitation by sound or visual recordings and the right of
++ fixation and reproducing fixations of the Work, including storage of a
++ protected performance or phonogram in digital form or other electronic
++ medium.
++ ․
++ 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
++ limit, or restrict any uses free from copyright or rights arising from
++ limitations or exceptions that are provided for in connection with the
++ copyright protection under copyright law or other applicable laws.
++ ․
++ 3. License Grant. Subject to the terms and conditions of this License,
++ Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
++ perpetual (for the duration of the applicable copyright) license to
++ exercise the rights in the Work as stated below:
++ ․
++ a. to Reproduce the Work, to incorporate the Work into one or more
++ Collections, and to Reproduce the Work as incorporated in the
++ Collections;
++ ․
++ b. to create and Reproduce Adaptations provided that any such
++ Adaptation, including any translation in any medium, takes reasonable
++ steps to clearly label, demarcate or otherwise identify that changes
++ were made to the original Work. For example, a translation could be
++ marked "The original work was translated from English to Spanish," or a
++ modification could indicate "The original work has been modified.";
++ ․
++ c. to Distribute and Publicly Perform the Work including as incorporated
++ in Collections; and,
++ ․
++ d. to Distribute and Publicly Perform Adaptations.
++ ․
++ e. For the avoidance of doubt:
++ ․
++ i. Non-waivable Compulsory License Schemes. In those jurisdictions in
++ which the right to collect royalties through any statutory or compulsory
++ licensing scheme cannot be waived, the Licensor reserves the exclusive
++ right to collect such royalties for any exercise by You of the rights
++ granted under this License;
++ ․
++ ii. Waivable Compulsory License Schemes. In those jurisdictions in which
++ the right to collect royalties through any statutory or compulsory
++ licensing scheme can be waived, the Licensor waives the exclusive right
++ to collect such royalties for any exercise by You of the rights granted
++ under this License; and,
++ ․
++ iii. Voluntary License Schemes. The Licensor waives the right to collect
++ royalties, whether individually or, in the event that the Licensor is a
++ member of a collecting society that administers voluntary licensing
++ schemes, via that society, from any exercise by You of the rights
++ granted under this License.
++ ․
++ The above rights may be exercised in all media and formats whether now
++ known or hereafter devised. The above rights include the right to make
++ such modifications as are technically necessary to exercise the rights
++ in other media and formats. Subject to Section 8(f), all rights not
++ expressly granted by Licensor are hereby reserved.
++ ․
++ 4. Restrictions. The license granted in Section 3 above is expressly
++ made subject to and limited by the following restrictions:
++ ․
++ a. You may Distribute or Publicly Perform the Work only under the terms
++ of this License. You must include a copy of, or the Uniform Resource
++ Identifier (URI) for, this License with every copy of the Work You
++ Distribute or Publicly Perform. You may not offer or impose any terms on
++ the Work that restrict the terms of this License or the ability of the
++ recipient of the Work to exercise the rights granted to that recipient
++ under the terms of the License. You may not sublicense the Work. You
++ must keep intact all notices that refer to this License and to the
++ disclaimer of warranties with every copy of the Work You Distribute or
++ Publicly Perform. When You Distribute or Publicly Perform the Work, You
++ may not impose any effective technological measures on the Work that
++ restrict the ability of a recipient of the Work from You to exercise the
++ rights granted to that recipient under the terms of the License. This
++ Section 4(a) applies to the Work as incorporated in a Collection, but
++ this does not require the Collection apart from the Work itself to be
++ made subject to the terms of this License. If You create a Collection,
++ upon notice from any Licensor You must, to the extent practicable,
++ remove from the Collection any credit as required by Section 4(c), as
++ requested. If You create an Adaptation, upon notice from any Licensor
++ You must, to the extent practicable, remove from the Adaptation any
++ credit as required by Section 4(c), as requested.
++ ․
++ b. You may Distribute or Publicly Perform an Adaptation only under the
++ terms of: (i) this License; (ii) a later version of this License with
++ the same License Elements as this License; (iii) a Creative Commons
++ jurisdiction license (either this or a later license version) that
++ contains the same License Elements as this License (e.g.,
++ Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
++ License. If you license the Adaptation under one of the licenses
++ mentioned in (iv), you must comply with the terms of that license. If
++ you license the Adaptation under the terms of any of the licenses
++ mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
++ comply with the terms of the Applicable License generally and the
++ following provisions: (I) You must include a copy of, or the URI for,
++ the Applicable License with every copy of each Adaptation You Distribute
++ or Publicly Perform; (II) You may not offer or impose any terms on the
++ Adaptation that restrict the terms of the Applicable License or the
++ ability of the recipient of the Adaptation to exercise the rights
++ granted to that recipient under the terms of the Applicable License;
++ (III) You must keep intact all notices that refer to the Applicable
++ License and to the disclaimer of warranties with every copy of the Work
++ as included in the Adaptation You Distribute or Publicly Perform; (IV)
++ when You Distribute or Publicly Perform the Adaptation, You may not
++ impose any effective technological measures on the Adaptation that
++ restrict the ability of a recipient of the Adaptation from You to
++ exercise the rights granted to that recipient under the terms of the
++ Applicable License. This Section 4(b) applies to the Adaptation as
++ incorporated in a Collection, but this does not require the Collection
++ apart from the Adaptation itself to be made subject to the terms of the
++ Applicable License.
++ ․
++ c. If You Distribute, or Publicly Perform the Work or any Adaptations or
++ Collections, You must, unless a request has been made pursuant to
++ Section 4(a), keep intact all copyright notices for the Work and
++ provide, reasonable to the medium or means You are utilizing: (i) the
++ name of the Original Author (or pseudonym, if applicable) if supplied,
++ and/or if the Original Author and/or Licensor designate another party or
++ parties (e.g., a sponsor institute, publishing entity, journal) for
++ attribution ("Attribution Parties") in Licensor's copyright notice,
++ terms of service or by other reasonable means, the name of such party or
++ parties; (ii) the title of the Work if supplied; (iii) to the extent
++ reasonably practicable, the URI, if any, that Licensor specifies to be
++ associated with the Work, unless such URI does not refer to the
++ copyright notice or licensing information for the Work; and (iv) ,
++ consistent with Ssection 3(b), in the case of an Adaptation, a credit
++ identifying the use of the Work in the Adaptation (e.g., "French
++ translation of the Work by Original Author," or "Screenplay based on
++ original Work by Original Author"). The credit required by this Section
++ 4(c) may be implemented in any reasonable manner; provided, however,
++ that in the case of a Adaptation or Collection, at a minimum such credit
++ will appear, if a credit for all contributing authors of the Adaptation
++ or Collection appears, then as part of these credits and in a manner at
++ least as prominent as the credits for the other contributing authors.
++ For the avoidance of doubt, You may only use the credit required by this
++ Section for the purpose of attribution in the manner set out above and,
++ by exercising Your rights under this License, You may not implicitly or
++ explicitly assert or imply any connection with, sponsorship or
++ endorsement by the Original Author, Licensor and/or Attribution Parties,
++ as appropriate, of You or Your use of the Work, without the separate,
++ express prior written permission of the Original Author, Licensor and/or
++ Attribution Parties.
++ ․
++ d. Except as otherwise agreed in writing by the Licensor or as may be
++ otherwise permitted by applicable law, if You Reproduce, Distribute or
++ Publicly Perform the Work either by itself or as part of any Adaptations
++ or Collections, You must not distort, mutilate, modify or take other
++ derogatory action in relation to the Work which would be prejudicial to
++ the Original Author's honor or reputation. Licensor agrees that in those
++ jurisdictions (e.g. Japan), in which any exercise of the right granted
++ in Section 3(b) of this License (the right to make Adaptations) would be
++ deemed to be a distortion, mutilation, modification or other derogatory
++ action prejudicial to the Original Author's honor and reputation, the
++ Licensor will waive or not assert, as appropriate, this Section, to the
++ fullest extent permitted by the applicable national law, to enable You
++ to reasonably exercise Your right under Section 3(b) of this License
++ (right to make Adaptations) but not otherwise.
++ ․
++ 5. Representations, Warranties and Disclaimer
++ ․
++ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
++ OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
++ KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
++ INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
++ FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
++ LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
++ WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
++ EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
++ ․
++ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
++ LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
++ ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
++ ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
++ BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
++ ․
++ 7. Termination
++ ․
++ a. This License and the rights granted hereunder will terminate
++ automatically upon any breach by You of the terms of this License.
++ Individuals or entities who have received Adaptations or Collections
++ from You under this License, however, will not have their licenses
++ terminated provided such individuals or entities remain in full
++ compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
++ survive any termination of this License.
++ ․
++ b. Subject to the above terms and conditions, the license granted here
++ is perpetual (for the duration of the applicable copyright in the Work).
++ Notwithstanding the above, Licensor reserves the right to release the
++ Work under different license terms or to stop distributing the Work at
++ any time; provided, however that any such election will not serve to
++ withdraw this License (or any other license that has been, or is
++ required to be, granted under the terms of this License), and this
++ License will continue in full force and effect unless terminated as
++ stated above.
++ ․
++ 8. Miscellaneous
++ ․
++ a. Each time You Distribute or Publicly Perform the Work or a
++ Collection, the Licensor offers to the recipient a license to the Work
++ on the same terms and conditions as the license granted to You under
++ this License.
++ ․
++ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
++ offers to the recipient a license to the original Work on the same terms
++ and conditions as the license granted to You under this License.
++ ․
++ c. If any provision of this License is invalid or unenforceable under
++ applicable law, it shall not affect the validity or enforceability of
++ the remainder of the terms of this License, and without further action
++ by the parties to this agreement, such provision shall be reformed to
++ the minimum extent necessary to make such provision valid and
++ enforceable.
++ ․
++ d. No term or provision of this License shall be deemed waived and no
++ breach consented to unless such waiver or consent shall be in writing
++ and signed by the party to be charged with such waiver or consent.
++ ․
++ e. This License constitutes the entire agreement between the parties
++ with respect to the Work licensed here. There are no understandings,
++ agreements or representations with respect to the Work not specified
++ here. Licensor shall not be bound by any additional provisions that may
++ appear in any communication from You. This License may not be modified
++ without the mutual written agreement of the Licensor and You.
++ ․
++ f. The rights granted under, and the subject matter referenced, in this
++ License were drafted utilizing the terminology of the Berne Convention
++ for the Protection of Literary and Artistic Works (as amended on
++ September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
++ Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and
++ the Universal Copyright Convention (as revised on July 24, 1971). These
++ rights and subject matter take effect in the relevant jurisdiction in
++ which the License terms are sought to be enforced according to the
++ corresponding provisions of the implementation of those treaty
++ provisions in the applicable national law. If the standard suite of
++ rights granted under applicable copyright law includes additional rights
++ not granted under this License, such additional rights are deemed to be
++ included in the License; this License is not intended to restrict the
++ license of any rights under applicable law.
++ ․
++ ․
++ Creative Commons Notice
++ ․
++ Creative Commons is not a party to this License, and makes no warranty
++ whatsoever in connection with the Work. Creative Commons will not be
++ liable to You or any party on any legal theory for any damages
++ whatsoever, including without limitation any general, special,
++ incidental or consequential damages arising in connection to this
++ license. Notwithstanding the foregoing two (2) sentences, if Creative
++ Commons has expressly identified itself as the Licensor hereunder, it
++ shall have all rights and obligations of Licensor.
++ ․
++ Except for the limited purpose of indicating to the public that the Work
++ is licensed under the CCPL, Creative Commons does not authorize the use
++ by either party of the trademark "Creative Commons" or any related
++ trademark or logo of Creative Commons without the prior written consent
++ of Creative Commons. Any permitted use will be in compliance with
++ Creative Commons' then-current trademark usage guidelines, as may be
++ published on its website or otherwise made available upon request from
++ time to time. For the avoidance of doubt, this trademark restriction
++ does not form part of the License.
++ ․
++ Creative Commons may be contacted at http://creativecommons.org/.
++
++License: BSD-3-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions
++ are met:
++ .
++   1. Redistributions of source code must retain the above
++      copyright notice, this list of conditions and the following
++      disclaimer.
++ .
++   2. Redistributions in binary form must reproduce the above
++      copyright notice, this list of conditions and the following
++      disclaimer in the documentation and/or other materials
++      provided with the distribution.
++ .
++   3. Neither the name of the copyright holder nor the names of
++      its contributors may be used to endorse or promote products
++      derived from this software without specific prior written
++      permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
++ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
++ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ OF THE POSSIBILITY OF SUCH DAMAGE.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c32bdf4099e95b1ae39e61fbd4277085a753b923
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..09f684aa1f97fffd4b37320505a852277fe88fbb
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a469d2b4b2509733595a800be2200166523e45a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++[DEFAULT]
++debian-branch = jewel
++pristine-tar = True
++
++[import-orig]
++filter = debian/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cf62f8321ca251a9d3e4c8ba8c3e025fb50fbf78
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4e29bc1e9d1833c4a7ff3a0a48c4651afe5cb45a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..86ff057f1a02e6e4113b4fcc3f6c50084de6e70f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..02f5a35eb17c72b30c78d7b5c04b5b31026818f5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..adfa6a02fef12f774c81d4c5e824c432dbaefdca
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..716d0035cb8b3275d55139152cc4453b6dcaf108
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/include/cephfs/libcephfs.h
++usr/lib/*/libcephfs.a
++usr/lib/*/libcephfs.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1029fb53d40fdb7f7bd696d8edc76c6f9351d817
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/share/java/libcephfs.jar
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..15cb91d907bb3684ae8292808f466b0117962603
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libcephfs_jni.so* usr/lib/jni
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f09e93ca5af1b71c0436fb47ecc62564035591e5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libcephfs.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4041ca8e38f6d6b87374fdde45dd17d17748cba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# False-positives:
++spelling-error-in-binary * tEH the
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a1b223ff2781f1e1b5803d42abab0872aa1cd6e6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..960a635537c71fc6e7d52f45eecc6f79246d1dc2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a96bdb292aea9f9b87d0243d7b85525eec415da9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/librados.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4041ca8e38f6d6b87374fdde45dd17d17748cba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# False-positives:
++spelling-error-in-binary * tEH the
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7f62e1a2062fb8244303326f59074f4ac272e71a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6f410549eac02c21f1178be6c94f05bb63f78fc3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..742549ba9701995aab422598d2b2267394817ca4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libradosstriper.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..df6d8dfdab56719507ae5386df27c55d503bd3aa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a7ee137d52018b07a8a2c0fb0e31a3fc042e5a4e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..decadbc194bc3edbdd9f99821ab958c6c5b4ec9b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/librbd.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..587175c330c1c204f3a8c32e2561bf9d29808714
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c816e2112af41c49a1f7a6c08aea975fc61df6a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..267c561138b833c8529b7bc6c0345020cc22331f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/librgw.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d05d85c7b805057e47c8bc9decef67b990668564
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <clustername>
++name of the cluster (see /etc/ceph/$cluster.conf)
++.TP 4
++\fB\-\-type\fR <osd|mds|client>
++daemon/entity type
++.TP 4
++\fB\-\-id\fR <id>
++id (osd number, mds name, client name)
++
++.SH SEE ALSO
++.TP
++\fBceph-conf\fP(8)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..718936578c5d0a35df31e88ed23304f8c54a3848
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7d8c43066a3ccf7c0a49b08236962d4f65df05e2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..adf31d088c248d60ea54da6c0a37547762f9b633
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Last-Update: 2014-10-19
++Forwarded: not-needed
++Author: Dmitry Smirnov <onlyjob@member.fsf.org>
++Description: use `dpkg-architecture` instead of `arch` to get build architecture
++ Fixes build in `pbuilder` on amd64 for i386.
++
++--- a/configure.ac
+++++ b/configure.ac
++@@ -244,7 +244,7 @@
++ if test x"$YASM_CHECK" = x"yes"; then
++   if yasm -f elf64 src/common/crc32c_intel_fast_asm.S -o /dev/null; then
++      echo 'we have a modern and working yasm'
++-     if test `arch` = "x86_64" ; then
+++     if test `dpkg-architecture -qDEB_BUILD_GNU_CPU` = "x86_64" ; then
++         echo 'we are x86_64'
++         arch_x32=0
++         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..360e476c2404ff3d9680753f0cb31232808bd611
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,32 @@@
++Last-Update: 2014-12-25
++Bug-Ceph: http://tracker.ceph.com/issues/10036
++Author: Mykola Golub <mgolub@mirantis.com>
++Description: show primary-affinity in OSD tree
++
++--- a/src/osd/OSDMap.cc
+++++ b/src/osd/OSDMap.cc
++@@ -2349,19 +2349,23 @@
++       *out << std::setprecision(4)
++         << (exists(cur) ? get_weightf(cur) : 0)
++         << std::setprecision(p)
++         << "\t";
+++      *out << std::setprecision(4)
+++           << (exists(cur) ? get_primary_affinityf(cur) : 0)
+++           << std::setprecision(p);
++     }
++     if (f) {
++       f->dump_float("reweight", get_weightf(cur));
+++      f->dump_float("primary_affinity", get_primary_affinityf(cur));
++     }
++   }
++ }
++ 
++ void OSDMap::print_tree(ostream *out, Formatter *f) const
++ {
++   if (out)
++-    *out << "# id\tweight\ttype name\tup/down\treweight\n";
+++    *out << "# id\tweight\ttype name\tup/down\treweight\tprimary-affinity\n";
++   if (f)
++     f->open_array_section("nodes");
++   set<int> touched;
++   set<int> roots;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a654bacd6e1225c27058cf99321d4dd17a6aab5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,51 @@@
++commit 67d4d9e64bc224e047cf333e673bb22cd6290789
++Author: LiuYang <yippeetry@gmail.com>
++Date:   Thu Dec 8 14:21:43 2016 +0800
++
++    rgw: do not abort when accept a CORS request with short origin
++    
++    Fixed: #18187
++    
++    when accept a CROS request, the request http origin shorter than the bucket's corsrule
++    (eg. origin: http://s.com corsrule: <AllowedOrigin>*.verylongdomain.com</AllowedOrigin>).
++    the rgw_cors.cc::is_string_in_set() will have a wrong index, the radosrgw server will
++    abort.
++    
++    $ curl http://test.localhost:8000/app.data -H "Origin:http://s.com"
++    
++     0> 2016-12-05 03:22:29.548138 7f6add05d700 -1 *** Caught signal (Aborted) **
++     in thread 7f6add05d700 thread_name:civetweb-worker
++    
++     ceph version 11.0.2-2168-gd2f8fb4 (d2f8fb4a6ba75af7e6da0f5a7f1b49ec998b1631)
++     1: (()+0x50720a) [0x7f6b147c420a]
++     2: (()+0xf370) [0x7f6b09a33370]
++     3: (gsignal()+0x37) [0x7f6b081ca1d7]
++     4: (abort()+0x148) [0x7f6b081cb8c8]
++     5: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f6b08ace9d5]
++     6: (()+0x5e946) [0x7f6b08acc946]
++     7: (()+0x5e973) [0x7f6b08acc973]
++     8: (()+0x5eb93) [0x7f6b08accb93]
++     9: (std::__throw_out_of_range(char const*)+0x77) 0x7f6b08b21a17]
++     10: (()+0xbd97a) [0x7f6b08b2b97a]
++     11: (()+0x449c1e) [0x7f6b14706c1e]
++     12: (RGWCORSRule::is_origin_present(char const*)+0x48) [0x7f6b147073b8]
++     13: (RGWCORSConfiguration::host_name_rule(char const*)+0x37) [0x7f6b147074e7]
++     14: (RGWOp::generate_cors_headers(std::string&, std::string&, std::string&, std::string&, unsigned int*)+0xa3) [0x7f6b14593e63]
++     15: (dump_access_control(req_state*, RGWOp*)+0x61) [0x7f6b14653f91]
++    
++    Signed-off-by: LiuYang <yippeetry@gmail.com>
++
++diff --git a/src/rgw/rgw_cors.cc b/src/rgw/rgw_cors.cc
++index 1ad5b43136..f2c7f3ac64 100644
++--- a/src/rgw/rgw_cors.cc
+++++ b/src/rgw/rgw_cors.cc
++@@ -104,7 +104,8 @@ static bool is_string_in_set(set<string>& s, string h) {
++         string sl = ssplit.front();
++         dout(10) << "Finding " << sl << ", in " << h 
++           << ", at offset not less than " << flen << dendl;
++-        if (h.compare((h.size() - sl.size()), sl.size(), sl) != 0)
+++        if (h.size() < sl.size() ||
+++         h.compare((h.size() - sl.size()), sl.size(), sl) != 0)
++           continue;
++         ssplit.pop_front();
++       }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2e07b53f4ea006ea0e988586923260c4a3e62c06
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <plugwash@raspbian.org>
++
++--- ceph-10.2.5.orig/install-deps.sh
+++++ ceph-10.2.5/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/qa/workunits/ceph-helpers-root.sh
+++++ ceph-10.2.5/qa/workunits/ceph-helpers-root.sh
++@@ -26,7 +26,7 @@ function install() {
++ 
++ function install_one() {
++     case $(lsb_release -si) in
++-        Ubuntu|Debian|Devuan)
+++        Ubuntu|Debian|Devuan|Raspbian)
++             sudo apt-get install -y "$@"
++             ;;
++         CentOS|Fedora|RedHatEnterpriseServer)
++--- ceph-10.2.5.orig/src/Makefile.in
+++++ ceph-10.2.5/src/Makefile.in
++@@ -32721,7 +32721,7 @@ ceph-detect-init-clean:
++ ceph-detect-init-install-data:
++      cd $(srcdir)/ceph-detect-init ; \
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++@@ -32743,7 +32743,7 @@ ceph-disk-clean:
++ ceph-disk-install-data:
++      cd $(srcdir)/ceph-disk ; \
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++@@ -32835,7 +32835,7 @@ unittests:: $(check_PROGRAMS)
++ 
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@rados-pybind-install-exec: ${srcdir}/ceph_ver.h
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@      if test "$(DESTDIR)" ; then \
++-@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@              if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                      options=--install-layout=deb ; \
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@              else \
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                      options=--prefix=/usr ; \
++@@ -32864,7 +32864,7 @@ unittests:: $(check_PROGRAMS)
++ 
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@       if test "$(DESTDIR)" ; then \
++-@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@               if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++@ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@               if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                       options=--install-layout=deb ; \
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@               else \
++ @ENABLE_CLIENT_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@@WITH_RBD_TRUE@                       options=--prefix=/usr ; \
++@@ -32893,7 +32893,7 @@ unittests:: $(check_PROGRAMS)
++ 
++ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
++ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@    if test "$(DESTDIR)" ; then \
++-@ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@            if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++@ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@            if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                    options=--install-layout=deb ; \
++ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@            else \
++ @ENABLE_CLIENT_TRUE@@WITH_CEPHFS_TRUE@@WITH_CYTHON_TRUE@@WITH_RADOS_TRUE@                    options=--prefix=/usr ; \
++--- ceph-10.2.5.orig/src/ceph-detect-init/Makefile.am
+++++ ceph-10.2.5/src/ceph-detect-init/Makefile.am
++@@ -67,7 +67,7 @@ ceph-detect-init-clean:
++ ceph-detect-init-install-data:
++      cd $(srcdir)/ceph-detect-init ; \
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++--- ceph-10.2.5.orig/src/ceph-disk/Makefile.am
+++++ ceph-10.2.5/src/ceph-disk/Makefile.am
++@@ -43,7 +43,7 @@ ceph-disk-clean:
++ ceph-disk-install-data:
++      cd $(srcdir)/ceph-disk ; \
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++--- ceph-10.2.5.orig/src/pybind/cephfs/Makefile.am
+++++ ceph-10.2.5/src/pybind/cephfs/Makefile.am
++@@ -15,7 +15,7 @@ cephfs-pybind-clean: ${srcdir}/ceph_ver.
++ 
++ cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++--- ceph-10.2.5.orig/src/pybind/rados/Makefile.am
+++++ ceph-10.2.5/src/pybind/rados/Makefile.am
++@@ -15,7 +15,7 @@ rados-pybind-clean: ${srcdir}/ceph_ver.h
++ 
++ rados-pybind-install-exec: ${srcdir}/ceph_ver.h
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++--- ceph-10.2.5.orig/src/pybind/rbd/Makefile.am
+++++ ceph-10.2.5/src/pybind/rbd/Makefile.am
++@@ -15,7 +15,7 @@ rbd-pybind-clean: ${srcdir}/ceph_ver.h
++ 
++ rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
++      if test "$(DESTDIR)" ; then \
++-             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+++             if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan\|Raspbian' ; then \
++                      options=--install-layout=deb ; \
++              else \
++                      options=--prefix=/usr ; \
++--- ceph-10.2.5.orig/src/test/centos-6/install-deps.sh
+++++ ceph-10.2.5/src/test/centos-6/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/src/test/centos-7/install-deps.sh
+++++ ceph-10.2.5/src/test/centos-7/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/src/test/debian-jessie/install-deps.sh
+++++ ceph-10.2.5/src/test/debian-jessie/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/src/test/fedora-21/install-deps.sh
+++++ ceph-10.2.5/src/test/fedora-21/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/src/test/opensuse-13.2/install-deps.sh
+++++ ceph-10.2.5/src/test/opensuse-13.2/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/src/test/ubuntu-12.04/install-deps.sh
+++++ ceph-10.2.5/src/test/ubuntu-12.04/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
++--- ceph-10.2.5.orig/src/test/ubuntu-14.04/install-deps.sh
+++++ ceph-10.2.5/src/test/ubuntu-14.04/install-deps.sh
++@@ -32,7 +32,7 @@ if type zypper > /dev/null 2>&1 ; then
++ fi
++ 
++ case $(lsb_release -si) in
++-Ubuntu|Debian|Devuan)
+++Ubuntu|Debian|Devuan|Raspbian)
++         $SUDO apt-get install -y dpkg-dev
++         if ! test -r debian/control ; then
++             echo debian/control is not a readable file
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9fe7e31a14e8172bbe1bc19af29e59d65600621e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <james.page@ubuntu.com>
++Forwarded: not-needed
++
++--- a/src/rgw/Makefile.am
+++++ b/src/rgw/Makefile.am
++@@ -133,8 +133,7 @@ libcivetweb_la_SOURCES =  \
++ 
++ libcivetweb_la_CXXFLAGS = ${CIVETWEB_INCLUDE} -fPIC -Woverloaded-virtual \
++      ${AM_CXXFLAGS}
++-libcivetweb_la_CFLAGS = -I$(srcdir)/civetweb/include ${CIVETWEB_INCLUDE} -fPIC -DNO_SSL_DL
++-LIBCIVETWEB_DEPS += -lssl -lcrypto
+++libcivetweb_la_CFLAGS = -I$(srcdir)/civetweb/include ${CIVETWEB_INCLUDE} -fPIC
++ 
++ noinst_LTLIBRARIES += libcivetweb.la
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c2dfff59788c2d901abb3c28709bcf146814839f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <james.page@ubuntu.com>
++Forwarded: no
++
++--- a/src/common/Cycles.cc
+++++ b/src/common/Cycles.cc
++@@ -57,6 +57,10 @@
++   if (rdtsc() == 0)
++     return;
++ 
+++  // Skip initialization if rtdsc is not implemented
+++  if (rdtsc() == 0)
+++    return;
+++
++   // Compute the frequency of the fine-grained CPU timer: to do this,
++   // take parallel time readings using both rdtsc and gettimeofday.
++   // After 10ms have elapsed, take the ratio between these readings.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2e250b3d556d6058d08ae042587af0332bbc99ed
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,144 @@@
++Last-Update: 2017-05-11
++Bug-Ceph: http://tracker.ceph.com/issues/19884
++Author: Kefu Chai <kchai@redhat.com> and Gaudenz Steinlin <gaudenz@debian.org>
++Description: Replace static init system detection by runtime detection. Modified
++  version of the patch proposed by Kefu Chai upstream.
++
++--- a/src/ceph-detect-init/ceph_detect_init/debian/__init__.py
+++++ b/src/ceph-detect-init/ceph_detect_init/debian/__init__.py
++@@ -1,3 +1,6 @@
+++import os
+++import subprocess
+++
++ distro = None
++ release = None
++ codename = None
++@@ -8,14 +11,11 @@
++ 
++     Returns the name of a init system (upstart, sysvinit ...).
++     """
++-    assert(distro and codename)
++-    if distro.lower() in ('ubuntu', 'linuxmint'):
++-        if codename >= 'vivid':
++-            return 'systemd'
++-        else:
++-            return 'upstart'
++-    if distro.lower() == 'debian':
++-        if codename in ('squeeze', 'wheezy'):
++-            return 'sysvinit'
++-        else:
++-            return 'systemd'
+++    # yes, this is heuristics
+++    if os.path.isdir('/run/systemd/system'):
+++        return 'systemd'
+++    if not subprocess.call('. /lib/lsb/init-functions ; init_is_upstart',
+++                           shell=True):
+++        return 'upstart'
+++    elif os.path.isfile('/sbin/init') and not os.path.islink('/sbin/init'):
+++        return 'sysvinit'
++--- a/src/ceph-detect-init/tests/test_all.py
+++++ b/src/ceph-detect-init/tests/test_all.py
++@@ -44,30 +44,35 @@
++         self.assertEqual('sysvinit', centos.choose_init())
++ 
++     def test_debian(self):
++-        with mock.patch.multiple('ceph_detect_init.debian',
++-                                 distro='debian',
++-                                 codename='wheezy'):
++-            self.assertEqual('sysvinit', debian.choose_init())
++-        with mock.patch.multiple('ceph_detect_init.debian',
++-                                 distro='debian',
++-                                 codename='squeeze'):
++-            self.assertEqual('sysvinit', debian.choose_init())
++-        with mock.patch.multiple('ceph_detect_init.debian',
++-                                 distro='debian',
++-                                 codename='jessie'):
+++        with mock.patch.multiple('os.path',
+++                                 isdir=lambda x: x == '/run/systemd/system'):
++             self.assertEqual('systemd', debian.choose_init())
++-        with mock.patch.multiple('ceph_detect_init.debian',
++-                                 distro='ubuntu',
++-                                 codename='trusty'):
++-            self.assertEqual('upstart', debian.choose_init())
++-        with mock.patch.multiple('ceph_detect_init.debian',
++-                                 distro='ubuntu',
++-                                 codename='vivid'):
++-            self.assertEqual('systemd', debian.choose_init())
++-        with mock.patch.multiple('ceph_detect_init.debian',
++-                                 distro='not-debian',
++-                                 codename='andy'):
++-            self.assertIs(None, debian.choose_init())
+++
+++        def mock_call_with_upstart(*args, **kwargs):
+++            if args[0] == '. /lib/lsb/init-functions ; init_is_upstart' and \
+++               kwargs['shell']:
+++                return 0
+++            else:
+++                return 1
+++        with mock.patch.multiple('os.path',
+++                                 isdir=lambda x: False,
+++                                 isfile=lambda x: False):
+++            with mock.patch.multiple('subprocess',
+++                                     call=mock_call_with_upstart):
+++                self.assertEqual('upstart', debian.choose_init())
+++        with mock.patch.multiple('os.path',
+++                                 isdir=lambda x: False,
+++                                 isfile=lambda x: x == '/sbin/init',
+++                                 islink=lambda x: x != '/sbin/init'):
+++            with mock.patch.multiple('subprocess',
+++                                     call=lambda *args, **kwargs: 1):
+++                self.assertEqual('sysvinit', debian.choose_init())
+++        with mock.patch.multiple('os.path',
+++                                 isdir=lambda x: False,
+++                                 isfile=lambda x: False):
+++            with mock.patch.multiple('subprocess',
+++                                     call=lambda *args, **kwargs: 1):
+++                self.assertIs(None, debian.choose_init())
++ 
++     def test_fedora(self):
++         with mock.patch('ceph_detect_init.fedora.release',
++@@ -115,7 +120,6 @@
++             self.assertEqual(False, distro.is_el)
++             self.assertEqual('6.0', distro.release)
++             self.assertEqual('squeeze', distro.codename)
++-            self.assertEqual('sysvinit', distro.init)
++ 
++     def test_get_distro(self):
++         g = ceph_detect_init._get_distro
++--- a/src/ceph-detect-init/ceph_detect_init/__init__.py
+++++ b/src/ceph-detect-init/ceph_detect_init/__init__.py
++@@ -25,7 +25,7 @@
++ 
++ def get(use_rhceph=False):
++     distro_name, release, codename = platform_information()
++-    if not codename or not _get_distro(distro_name):
+++    if not _get_distro(distro_name):
++         raise exc.UnsupportedPlatform(
++             distro=distro_name,
++             codename=codename,
++@@ -83,25 +83,6 @@
++     logging.debug('platform_information: linux_distribution = ' +
++                   str(platform.linux_distribution()))
++     distro, release, codename = platform.linux_distribution()
++-    # this could be an empty string in Debian
++-    if not codename and 'debian' in distro.lower():
++-        debian_codenames = {
++-            '8': 'jessie',
++-            '7': 'wheezy',
++-            '6': 'squeeze',
++-        }
++-        major_version = release.split('.')[0]
++-        codename = debian_codenames.get(major_version, '')
++-
++-        # In order to support newer jessie/sid or wheezy/sid strings
++-        # we test this if sid is buried in the minor, we should use
++-        # sid anyway.
++-        if not codename and '/' in release:
++-            major, minor = release.split('/')
++-            if minor == 'sid':
++-                codename = minor
++-            else:
++-                codename = major
++ 
++     return (
++         str(distro).rstrip(),
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..53e51f96811c5cac61e80a8d72e4e7bec578faa2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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"
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..918f158251fe2392f17880dc07f71c4660385507
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,40 @@@
++From 56064c5cb645254574dbad00e6c16b783115bb93 Mon Sep 17 00:00:00 2001
++From: Wanlong Gao <wanlong.gao@easystack.cn>
++Date: Thu, 23 Jun 2016 20:04:25 +0800
++Subject: [PATCH] osd: limit omap data in push op
++
++We already have the config osd_recovery_max_chunk to limit the total
++size of omap entries and omap data. But we need an individual config
++to limit the number of omap entries independently. We call this config
++osd_recovery_max_omap_entries_per_chunk here with the default number
++of 64000.
++
++Signed-off-by: Wanlong Gao <wanlong.gao@easystack.cn>
++---
++ src/common/config_opts.h     | 1 +
++ src/osd/ReplicatedBackend.cc | 4 +++-
++ 2 files changed, 4 insertions(+), 1 deletion(-)
++
++--- a/src/common/config_opts.h
+++++ b/src/common/config_opts.h
++@@ -748,6 +748,7 @@ OPTION(osd_recovery_delay_start, OPT_FLO
++ OPTION(osd_recovery_max_active, OPT_INT, 3)
++ OPTION(osd_recovery_max_single_start, OPT_INT, 1)
++ OPTION(osd_recovery_max_chunk, OPT_U64, 8<<20)  // max size of push chunk
+++OPTION(osd_recovery_max_omap_entries_per_chunk, OPT_U64, 64000) // max number of omap entries per chunk; 0 to disable limit
++ OPTION(osd_copyfrom_max_chunk, OPT_U64, 8<<20)   // max size of a COPYFROM chunk
++ OPTION(osd_push_per_object_cost, OPT_U64, 1000)  // push cost per object
++ OPTION(osd_max_push_cost, OPT_U64, 8<<20)  // max size of push message
++--- a/src/osd/ReplicatedBackend.cc
+++++ b/src/osd/ReplicatedBackend.cc
++@@ -1985,7 +1985,9 @@ int ReplicatedBackend::build_push_op(con
++       iter->valid();
++       iter->next(false)) {
++       if (!out_op->omap_entries.empty() &&
++-       available <= (iter->key().size() + iter->value().length()))
+++       ((cct->_conf->osd_recovery_max_omap_entries_per_chunk > 0 &&
+++         out_op->omap_entries.size() >= cct->_conf->osd_recovery_max_omap_entries_per_chunk) ||
+++        available <= iter->key().size() + iter->value().length()))
++      break;
++       out_op->omap_entries.insert(make_pair(iter->key(), iter->value()));
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f41598284457c9c4b3ab82a27c5feeb2e4268ad2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,51 @@@
++Forwarded: yes
++Author: Dmitry Smirnov <onlyjob@member.fsf.org>
++Description: rbdmap: lazy umount on shutdown and reboot (runlevel 0 and 6)
++
++Do lazy unmount in runlevel 0 and 6. This is necessary to avoid unclean
++shutdown due to "umount" hangs on reboot.
++
++"rbdmap" fail to umount and unmap RBD device when some applications are
++still using file system on RBD. If RBD device not released on
++shutdown/reboot system deconfigures network interfaces, terminates
++remaining processes then tries to umount remaining file systems where it
++hangs forever in endless libceph attempt to reach MONs. This scenario was
++observed when /home is located on RBD device (users start processes in
++screen/tmux etc.). Even worse, `umount` stuck on RBD mount point so
++remaining local file systems are never un-mounted making unclean shutdown
++almost inevitable.
++
++Lazy umount is effective because it allows to release RBD device and
++unmount file system when applications are terminated.
++
++Also before umount (if `fuser` utility is available) TERM signal will be
++sent to all processes still using mount point so applications that haven't
++been asked to terminate yet will have some time to finish before final cut.
++
++Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
++---
++ src/init-rbdmap | 13 ++++++++++++-
++ 1 file changed, 12 insertions(+), 1 deletion(-)
++
++--- a/src/init-rbdmap
+++++ b/src/init-rbdmap
++@@ -104,7 +104,18 @@ do_unmap() {
++                      MNT=$(findmnt --mtab --source ${DEV} --noheadings | awk '{print $1'})
++                      if [ -n "${MNT}" ]; then
++                          log_action_cont_msg "un-mounting '${MNT}'"
++-                         UMNT_RV=$(umount "${MNT}" 2>&1)
+++                         local ULAZY=""
+++                         local RUNLEVEL=$(runlevel | awk '{print $2}')
+++                         if [ $? -eq 0 ]; then
+++                             if [ "${RUNLEVEL}" -eq 0 ] \
+++                             || [ "${RUNLEVEL}" -eq 6 ] ; then
+++                                 ULAZY="-l"
+++                                 if [ -x "$(which fuser)" ]; then
+++                                     fuser -M -m "${MNT}" --kill -TERM
+++                                 fi
+++                             fi
+++                         fi
+++                         UMNT_RV=$(umount ${ULAZY} "${MNT}" 2>&1)
++                      fi
++                      if mountpoint -q "${MNT}"; then
++                          ## Un-mounting failed.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c5e51fe419f81c2ae273c6ecb7e7b47c13cc0535
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,32 @@@
++From: weiqiaomiao <wei.qiaomiao@zte.com.cn>
++Subject: [PATCH] rgw: for the create_bucket api, if the input creation_time is
++ zero, we should set it to 'now"
++Forwarded: yes
++Origin: upstream, https://github.com/ceph/ceph/commit/16c1a7d03abc8042f92b9f62ae7e228d19f74b2e
++Bug: http://tracker.ceph.com/issues/16597
++Bug-Ubuntu: https://bugs.launchpad.net/bugs/1587261
++
++Fixes: http://tracker.ceph.com/issues/16597
++
++Signed-off-by: weiqiaomiao <wei.qiaomiao@zte.com.cn>
++---
++ src/rgw/rgw_rados.cc | 7 ++++---
++ 1 file changed, 4 insertions(+), 3 deletions(-)
++
++--- a/src/rgw/rgw_rados.cc
+++++ b/src/rgw/rgw_rados.cc
++@@ -5153,10 +5153,11 @@ int RGWRados::create_bucket(RGWUserInfo&
++     info.num_shards = bucket_index_max_shards;
++     info.bucket_index_shard_hash_type = RGWBucketInfo::MOD;
++     info.requester_pays = false;
++-    if (real_clock::is_zero(creation_time))
++-      creation_time = ceph::real_clock::now(cct);
++-    else
+++    if (real_clock::is_zero(creation_time)) {
+++      info.creation_time = ceph::real_clock::now(cct);
+++    } else {
++       info.creation_time = creation_time;
+++    }
++     ret = put_linked_bucket_info(info, exclusive, ceph::real_time(), pep_objv, &attrs, true);
++     if (ret == -EEXIST) {
++        /* we need to reread the info and return it, caller will have a use for it */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..98ae786313f4fbcd5a92c3768f2518a7d6d20fff
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,172 @@@
++Last-Update: 2014-10-19
++Forwarded: no
++Author: Dmitry Smirnov <onlyjob@member.fsf.org>
++Description: sample.ceph.conf updates:
++
++ * corrected URLs.
++ * more options and descriptions.
++
++--- a/src/sample.ceph.conf
+++++ b/src/sample.ceph.conf
++@@ -31,7 +31,7 @@
++ #             ; Example: /var/run/ceph/$cluster-$name.asok
++ 
++ [global]
++-### http://ceph.com/docs/master/rados/configuration/general-config-ref/
+++### http://ceph.com/docs/giant/rados/configuration/general-config-ref/
++ 
++     ;fsid                       = {UUID}    # use `uuidgen` to generate your own UUID
++     ;public network             = 192.168.0.0/24
++@@ -51,8 +51,8 @@
++     ;max open files             = 131072
++ 
++ 
++-### http://ceph.com/docs/master/rados/operations/authentication
++-### http://ceph.com/docs/master/rados/configuration/auth-config-ref/
+++### http://ceph.com/docs/giant/rados/operations/authentication
+++### http://ceph.com/docs/giant/rados/configuration/auth-config-ref/
++ 
++     # If enabled, the Ceph Storage Cluster daemons (i.e., ceph-mon, ceph-osd,
++     # and ceph-mds) must authenticate with each other.
++@@ -90,7 +90,7 @@
++     ;keyring                  = /etc/ceph/$cluster.$name.keyring
++ 
++ 
++-### http://ceph.com/docs/master/rados/configuration/pool-pg-config-ref/
+++### http://ceph.com/docs/giant/rados/configuration/pool-pg-config-ref/
++ 
++ 
++     ## Replication level, number of data copies.
++@@ -139,7 +139,7 @@
++     ;osd crush chooseleaf type = 1
++ 
++ 
++-### http://ceph.com/docs/master/rados/troubleshooting/log-and-debug/
+++### http://ceph.com/docs/giant/rados/troubleshooting/log-and-debug/
++ 
++     # The location of the logging file for your cluster.
++     # Type: String
++@@ -154,7 +154,7 @@
++     ;log to syslog              = true
++ 
++ 
++-### http://ceph.com/docs/master/rados/configuration/ms-ref/
+++### http://ceph.com/docs/giant/rados/configuration/ms-ref/
++ 
++     # Enable if you want your daemons to bind to IPv6 address instead of
++     # IPv4 ones. (Not required if you specify a daemon or cluster IP.)
++@@ -167,8 +167,8 @@
++ ## You need at least one. You need at least three if you want to
++ ## tolerate any node failures. Always create an odd number.
++ [mon]
++-### http://ceph.com/docs/master/rados/configuration/mon-config-ref/
++-### http://ceph.com/docs/master/rados/configuration/mon-osd-interaction/
+++### http://ceph.com/docs/giant/rados/configuration/mon-config-ref/
+++### http://ceph.com/docs/giant/rados/configuration/mon-osd-interaction/
++ 
++     # The IDs of initial monitors in a cluster during startup.
++     # If specified, Ceph requires an odd number of monitors to form an
++@@ -216,7 +216,7 @@
++     # (Default: 900)
++     ;mon osd report timeout          = 300
++ 
++-### http://ceph.com/docs/master/rados/troubleshooting/log-and-debug/
+++### http://ceph.com/docs/giant/rados/troubleshooting/log-and-debug/
++ 
++     # logging, for debugging monitor crashes, in order of
++     # their likelihood of being helpful :)
++@@ -238,6 +238,10 @@
++ ;    host                       = gamma
++ ;    mon addr                   = 192.168.0.12:6789
++ 
+++    # The maximum number of simultaneous scrub operations for a Ceph OSD Daemon.
+++    # Type: 32-bit Int
+++    # (Default: 1)
+++    ;osd max scrubs               = 2
++ 
++ ##################
++ ## Metadata servers
++@@ -245,7 +249,7 @@
++ # experimental support for running multiple metadata servers. Do not run
++ # multiple metadata servers in production.
++ [mds]
++-### http://ceph.com/docs/master/cephfs/mds-config-ref/
+++### http://ceph.com/docs/giant/cephfs/mds-config-ref/
++ 
++     # where the mds keeps it's secret encryption keys
++     ;keyring                    = /var/lib/ceph/mds/$name/keyring
++@@ -277,7 +281,7 @@
++ # You need at least one.  Two or more if you want data to be replicated.
++ # Define as many as you like.
++ [osd]
++-### http://ceph.com/docs/master/rados/configuration/osd-config-ref/
+++### http://ceph.com/docs/giant/rados/configuration/osd-config-ref/
++ 
++     # The path to the OSDs data.
++     # You must create the directory when deploying Ceph.
++@@ -337,7 +341,7 @@
++     # (Default: false)
++     ;osd check for log corruption = true
++ 
++-### http://ceph.com/docs/master/rados/configuration/journal-ref/
+++### http://ceph.com/docs/giant/rados/configuration/journal-ref/
++ 
++     # The size of the journal in megabytes. If this is 0,
++     # and the journal is a block device, the entire block device is used.
++@@ -363,7 +367,7 @@
++     ;debug filestore              = 20
++     ;debug journal                = 20
++ 
++-### http://ceph.com/docs/master/rados/configuration/filestore-config-ref/
+++### http://ceph.com/docs/giant/rados/configuration/filestore-config-ref/
++ 
++     # The maximum interval in seconds for synchronizing the filestore.
++     # Type: Double (optional)
++@@ -376,12 +380,6 @@
++     # (Default: true)
++     ;filestore btrfs snap        = false
++ 
++-    # Enables the filestore flusher.
++-    # Type: Boolean
++-    # Required: No
++-    # (Default: false)
++-    ;filestore flusher            = true
++-
++     # Defines the maximum number of in progress operations the file store
++     # accepts before blocking on queuing new operations.
++     # Type: Integer
++@@ -391,7 +389,7 @@
++ 
++     ## Filestore and OSD settings can be tweak to achieve better performance
++ 
++-### http://ceph.com/docs/master/rados/configuration/filestore-config-ref/#misc
+++### http://ceph.com/docs/giant/rados/configuration/filestore-config-ref/#misc
++ 
++     # Min number of files in a subdir before merging into parent NOTE: A negative value means to disable subdir merging
++     # Type: Integer
++@@ -424,6 +422,7 @@
++     # (Default: true)
++     ;osd crush update on start    = false
++ 
+++
++ ;[osd.0]
++ ;    host                         = delta
++ 
++@@ -441,7 +440,7 @@
++ ## client settings
++ [client]
++ 
++-### http://ceph.com/docs/master/rbd/rbd-config-ref/
+++### http://ceph.com/docs/giant/rbd/rbd-config-ref/
++ 
++     # Enable caching for RADOS Block Device (RBD).
++     # Type: Boolean
++@@ -497,7 +496,7 @@
++ ## radosgw client settings
++ [client.radosgw.gateway]
++ 
++-### http://ceph.com/docs/master/radosgw/config-ref/
+++### http://ceph.com/docs/giant/radosgw/config-ref/
++ 
++     # Sets the location of the data files for Ceph Object Gateway.
++     # You must create the directory when deploying Ceph.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4d4452bbc989aa3468f356d1fe5b084ddaee2fbc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9e36e35ef243bf5c8414ef5447834a83b316e24f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <james.page@ubuntu.com>
++Forwarded: not-needed
++
++--- a/src/Makefile.am
+++++ b/src/Makefile.am
++@@ -32,8 +32,6 @@ endif
++ include arch/Makefile.am
++ include auth/Makefile.am
++ include brag/Makefile.am
++-include ceph-detect-init/Makefile.am
++-include ceph-disk/Makefile.am
++ include crush/Makefile.am
++ include kv/Makefile.am
++ include mon/Makefile.am
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d7ee4100c6a7b45590a7041e9e6f98113416e418
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <ukernel@gmail.com>
++Description: fix fuse-client hang after wake-up from suspend.
++
++--- a/src/client/Client.cc
+++++ b/src/client/Client.cc
++@@ -12020,6 +12020,7 @@ void Client::ms_handle_remote_reset(Conn
++      case MetaSession::STATE_OPEN:
++        ldout(cct, 1) << "reset from mds we were open; mark session as stale" << dendl;
++        s->state = MetaSession::STATE_STALE;
+++       _closed_mds_session(s);
++        break;
++ 
++      case MetaSession::STATE_NEW:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ff2fc4bb48860569dd1b7b4df1c26b902e4c43dc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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])
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0038b9654bbf10d52effc825cc7e494c89764e68
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,54 @@@
++Last-Update: 2014-10-31
++Forwarded: no
++Author: Dmitry Smirnov <onlyjob@member.fsf.org>
++Description: disable tests that depend on network...
++
++--- a/src/test/Makefile.am
+++++ b/src/test/Makefile.am
++@@ -100,6 +100,7 @@ bin_DEBUGPROGRAMS += ceph_bench_log
++ 
++ ## Unit tests
++ 
+++if WITH_CLUSTER_TESTS
++ check_SCRIPTS += \
++      test/ceph_objectstore_tool.py \
++      test/test-ceph-helpers.sh \
++@@ -133,6 +134,8 @@ check_SCRIPTS += \
++         test/test_pidfile.sh \
++      test/test_subman.sh
++ 
+++endif
+++
++ EXTRA_DIST += \
++      $(srcdir)/test/python/brag-client/setup.py \
++      $(srcdir)/test/python/brag-client/tox.ini \
++--- a/configure.ac
+++++ b/configure.ac
++@@ -1349,6 +1349,13 @@
++ 
++ AM_CONDITIONAL(WITH_BUILD_TESTS, test "$WITH_BUILD_TESTS" = "1")
++ 
+++AC_ARG_WITH([cluster-tests],
+++    [AS_HELP_STRING([--with-cluster-tests], [enables cluster tests])],
+++    [],
+++    [with_cluster_tests=no]
+++)
+++AM_CONDITIONAL(WITH_CLUSTER_TESTS, [ test "$with_cluster_tests" = "yes" ])
+++
++ AM_PATH_PYTHON([2.4],
++      [], [AC_MSG_FAILURE([Failed to find Python 2.4 or newer])])
++ 
++--- a/src/test/erasure-code/Makefile.am
+++++ b/src/test/erasure-code/Makefile.am
++@@ -1,9 +1,11 @@
++ if ENABLE_SERVER
++ if WITH_OSD
++ 
+++if WITH_CLUSTER_TESTS
++ check_SCRIPTS += \
++      test/erasure-code/test-erasure-code.sh \
++      test/erasure-code/test-erasure-eio.sh
+++endif
++ 
++ noinst_HEADERS += \
++      test/erasure-code/ceph_erasure_code_benchmark.h
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7c9858c9cba63527268d1b666487458d4e67694e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,182 @@@
++Last-Update: 2014-12-09
++Forwarded: not-needed
++Author: Dmitry Smirnov <onlyjob@member.fsf.org>
++Description: use system "libjerasure" instead of bundled one.
++
++--- a/src/erasure-code/jerasure/Makefile.am
+++++ b/src/erasure-code/jerasure/Makefile.am
++@@ -1,40 +1,8 @@
++ # jerasure plugin
++ noinst_HEADERS += \
++-  erasure-code/jerasure/gf-complete/include/gf_complete.h \
++-  erasure-code/jerasure/gf-complete/include/gf_general.h \
++-  erasure-code/jerasure/gf-complete/include/gf_int.h \
++-  erasure-code/jerasure/gf-complete/include/gf_method.h \
++-  erasure-code/jerasure/gf-complete/include/gf_rand.h \
++-  erasure-code/jerasure/gf-complete/include/gf_w16.h \
++-  erasure-code/jerasure/gf-complete/include/gf_w32.h \
++-  erasure-code/jerasure/gf-complete/include/gf_w4.h \
++-  erasure-code/jerasure/gf-complete/include/gf_w64.h \
++-  erasure-code/jerasure/gf-complete/include/gf_w8.h \
++-  erasure-code/jerasure/jerasure/include/cauchy.h \
++-  erasure-code/jerasure/jerasure/include/galois.h \
++-  erasure-code/jerasure/jerasure/include/jerasure.h \
++-  erasure-code/jerasure/jerasure/include/liberation.h \
++-  erasure-code/jerasure/jerasure/include/reed_sol.h \
++   erasure-code/jerasure/ErasureCodeJerasure.h
++ 
++ jerasure_sources = \
++-  erasure-code/ErasureCode.cc \
++-  erasure-code/jerasure/jerasure/src/cauchy.c \
++-  erasure-code/jerasure/jerasure/src/galois.c \
++-  erasure-code/jerasure/jerasure/src/jerasure.c \
++-  erasure-code/jerasure/jerasure/src/liberation.c \
++-  erasure-code/jerasure/jerasure/src/reed_sol.c \
++-  erasure-code/jerasure/gf-complete/src/gf_wgen.c \
++-  erasure-code/jerasure/gf-complete/src/gf_method.c \
++-  erasure-code/jerasure/gf-complete/src/gf_w16.c \
++-  erasure-code/jerasure/gf-complete/src/gf.c \
++-  erasure-code/jerasure/gf-complete/src/gf_w32.c \
++-  erasure-code/jerasure/gf-complete/src/gf_w64.c \
++-  erasure-code/jerasure/gf-complete/src/gf_w128.c \
++-  erasure-code/jerasure/gf-complete/src/gf_general.c \
++-  erasure-code/jerasure/gf-complete/src/gf_w4.c \
++-  erasure-code/jerasure/gf-complete/src/gf_rand.c \
++-  erasure-code/jerasure/gf-complete/src/gf_w8.c \
++   erasure-code/jerasure/ErasureCodePluginJerasure.cc \
++   erasure-code/jerasure/ErasureCodeJerasure.cc
++ 
++@@ -42,13 +10,11 @@ erasure-code/jerasure/ErasureCodePluginJ
++ 
++ libec_jerasure_generic_la_SOURCES = ${jerasure_sources}
++ libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS}  \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include
+++    -I$(includedir)/jerasure
++ libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include
+++    -I$(includedir)/jerasure
++ libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
++-libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+++libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
++ if LINUX
++ libec_jerasure_generic_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
++ endif
++@@ -85,17 +51,15 @@ libec_jerasure_sse3_la_CFLAGS = ${AM_CFL
++      ${INTEL_SSE2_FLAGS} \
++      ${INTEL_SSE3_FLAGS} \
++      ${INTEL_SSSE3_FLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include
+++    -I$(includedir)/jerasure
++ libec_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
++      ${INTEL_SSE_FLAGS} \
++      ${INTEL_SSE2_FLAGS} \
++      ${INTEL_SSE3_FLAGS} \
++      ${INTEL_SSSE3_FLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include
+++    -I$(includedir)/jerasure
++ libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
++-libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+++libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
++ if LINUX
++ libec_jerasure_sse3_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
++ endif
++@@ -112,8 +76,7 @@ libec_jerasure_sse4_la_CFLAGS = ${AM_CFL
++      ${INTEL_SSSE3_FLAGS} \
++      ${INTEL_SSE4_1_FLAGS} \
++      ${INTEL_SSE4_2_FLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include
+++    -I$(includedir)/jerasure
++ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
++      ${INTEL_SSE_FLAGS} \
++      ${INTEL_SSE2_FLAGS} \
++@@ -121,10 +84,9 @@ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CX
++      ${INTEL_SSSE3_FLAGS} \
++      ${INTEL_SSE4_1_FLAGS} \
++      ${INTEL_SSE4_2_FLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include
+++    -I$(includedir)/jerasure
++ libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
++-libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+++libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
++ if LINUX
++ libec_jerasure_sse4_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
++ endif
++@@ -138,7 +100,7 @@ libec_jerasure_la_SOURCES = \
++ libec_jerasure_la_CFLAGS = ${AM_CFLAGS}
++ libec_jerasure_la_CXXFLAGS= ${AM_CXXFLAGS}
++ libec_jerasure_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
++-libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+++libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
++ if LINUX
++ libec_jerasure_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
++ endif
++--- a/src/erasure-code/shec/Makefile.am
+++++ b/src/erasure-code/shec/Makefile.am
++@@ -6,54 +6,24 @@ libec_shec_la_SOURCES = \
++      erasure-code/shec/ErasureCodeShec.cc \
++      erasure-code/shec/ErasureCodeShecTableCache.cc \
++      erasure-code/shec/shec.cc \
++-     erasure-code/shec/determinant.c \
++-     erasure-code/jerasure/jerasure/src/cauchy.c \
++-     erasure-code/jerasure/jerasure/src/galois.c \
++-     erasure-code/jerasure/jerasure/src/jerasure.c \
++-     erasure-code/jerasure/jerasure/src/liberation.c \
++-     erasure-code/jerasure/jerasure/src/reed_sol.c \
++-     erasure-code/jerasure/gf-complete/src/gf_wgen.c \
++-     erasure-code/jerasure/gf-complete/src/gf_method.c \
++-     erasure-code/jerasure/gf-complete/src/gf_w16.c \
++-     erasure-code/jerasure/gf-complete/src/gf.c \
++-     erasure-code/jerasure/gf-complete/src/gf_w32.c \
++-     erasure-code/jerasure/gf-complete/src/gf_w64.c \
++-     erasure-code/jerasure/gf-complete/src/gf_w128.c \
++-     erasure-code/jerasure/gf-complete/src/gf_general.c \
++-     erasure-code/jerasure/gf-complete/src/gf_w4.c \
++-     erasure-code/jerasure/gf-complete/src/gf_rand.c \
++-     erasure-code/jerasure/gf-complete/src/gf_w8.c
+++     erasure-code/shec/determinant.c
++ noinst_HEADERS += \
++      erasure-code/shec/ErasureCodeShec.h \
++      erasure-code/shec/ErasureCodeShecTableCache.h \
++-     erasure-code/shec/shec.h \
++-     erasure-code/jerasure/jerasure/include/cauchy.h \
++-     erasure-code/jerasure/jerasure/include/galois.h \
++-     erasure-code/jerasure/jerasure/include/jerasure.h \
++-     erasure-code/jerasure/jerasure/include/liberation.h \
++-     erasure-code/jerasure/jerasure/include/reed_sol.h \
++-     erasure-code/jerasure/gf-complete/include/gf_int.h \
++-     erasure-code/jerasure/gf-complete/include/gf_complete.h \
++-     erasure-code/jerasure/gf-complete/include/gf_rand.h \
++-     erasure-code/jerasure/gf-complete/include/gf_method.h \
++-     erasure-code/jerasure/gf-complete/include/gf_general.h
+++     erasure-code/shec/shec.h
++ 
++ erasure-code/shec/ErasureCodePluginShec.cc: ./ceph_ver.h
++ 
++ libec_shec_la_CFLAGS = ${AM_CFLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure \
++-     -I$(srcdir)/erasure-code/shec
+++     -I$(srcdir)/erasure-code/shec \
+++    -I$(includedir)/jerasure
++ libec_shec_la_CXXFLAGS= ${AM_CXXFLAGS} \
++-     -I$(srcdir)/erasure-code/jerasure/jerasure/include \
++-     -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
++-     -I$(srcdir)/erasure-code/jerasure \
++-     -I$(srcdir)/erasure-code/shec
+++     -I$(srcdir)/erasure-code/shec \
+++    -I$(includedir)/jerasure
++ libec_shec_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
++ #libec_shec_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
++ #libec_shec_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__erasure_code_.*'
++-libec_shec_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+++libec_shec_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -lJerasure
++ if LINUX
++ libec_shec_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
++ endif
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..23f151f2360b23b16a3926b0a61f6133c936dadd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++Last-Update: 2014-10-31
++Forwarded: no
++Author: Bastian Blank <waldi@debian.org>
++Description: Ask virtualenv to never download anything
++
++--- a/src/test/run-cli-tests
+++++ b/src/test/run-cli-tests
++@@ -30,7 +30,7 @@ if [ ! -e "$CRAM_BIN" ]; then
++     # patched cram to support that. See upstream ticket at
++     # https://bitbucket.org/brodie/cram/issue/9/allow-read-only-directories-for-t
++     # -- tv@inktank.com
++-    virtualenv "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz"
+++    virtualenv --system-site-packages "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz"
++ fi
++ 
++ SRCDIR_ABS="$(readlink -f "$SRCDIR")"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7e81a4b4b0111c7ec5b7c89ae1f4847155b5576b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a5c5daed7677c239a53d15a2a4cb30fc0a4a2dbc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/python*/dist-packages/rados.so
++usr/lib/python*/dist-packages/rados-*.egg-info
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..25584fbc6c3dc134112acdceee7451be78f3d240
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/python*/dist-packages/rbd-*.egg-info
++usr/lib/python*/dist-packages/rbd.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2f1849122bc8f9f4b78add2ce6ea91ae71b1731
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++var/lib/ceph/radosgw
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0bd5f06d8b6a3ac55a8fedb96ff413c2300dd3d0
new file mode 120000 (symlink)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++../src/init-radosgw
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5179cef6368b479b6a6e65c0e5517d2845cdf61c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd1bbd27570601939baa8f43ca9149a4bdc5c1d5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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~
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2e88a0750e5e316dc38b941524f3385c8bd32260
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <most-recently-configured-version>
++#     old-postinst abort-upgrade <new-version>
++#     conflictor's-postinst abort-remove in-favour <package> <new-version>
++#     postinst abort-remove
++#     deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
++#
++# The current action is to simply remove the mistakenly-added
++# /etc/init/ceph.conf file; this could be done in any of these cases,
++# although technically it will leave the system in a different state
++# than the original install that included that file.  So instead we
++# only remove on "configure", since that's the only time we know we're
++# successful in installing a newer package than the erroneous version.
++
++# for details, see http://www.debian.org/doc/debian-policy/ or
++# the debian-policy package
++
++[ -f "/etc/default/ceph" ] && . /etc/default/ceph
++[ -z "$SERVER_USER" ] && SERVER_USER=ceph
++[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
++
++case "$1" in
++    configure)
++      if ! dpkg-statoverride --list /var/lib/ceph/radosgw >/dev/null; then
++          chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/radosgw
++      fi
++    ;;
++    abort-upgrade|abort-remove|abort-deconfigure)
++      :
++    ;;
++
++    *)
++        echo "postinst called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then
++    dpkg-maintscript-helper mv_conffile \
++        /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \
++        0.72.1-3~ radosgw -- "$@"
++fi
++
++# dh_installdeb will replace this with shell code automatically
++# generated by other debhelper scripts.
++
++#DEBHELPER#
++
++exit 0
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3083c147148c815b37414c9a1dddcadc0a3d6275
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3083c147148c815b37414c9a1dddcadc0a3d6275
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0288ab77b3a3ab3e50a4a7b40c171e0416719a57
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7b6b96fe7fa9460893e53ec32eecb932baa70b3a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/bin/rbd-fuse
++usr/share/man/man8/rbd-fuse.8
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..80f8210361c5018fcb4d255054b37edaa24aaf66
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/bin/rbd-mirror
++usr/share/man/man8/rbd-mirror.8
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..385c4501f770c20de4fcbf079fb4db88e9be5f2a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/bin/rbd-nbd
++usr/share/man/man8/rbd-nbd.8
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8535f20d5a4d385b1c7c5e26ebf8247bf068869d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/bin/rest-bench
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7e1687ce1d2cdfaf5f6efa1ffbaf3c52614b0fe9
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c62999251c0ec07764a08b99b645a1d6e0daf7b6
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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 <<EOF > radostest.c
++#include <rados/librados.h>
++
++int
++main(void)
++{
++    int err;
++    rados_t cluster;
++
++    err = rados_create(&cluster, NULL);
++    if (err < 0) {
++       return (1);
++    }
++    return(0);
++}
++EOF
++
++gcc -o radostest radostest.c -lrados
++echo "build: OK"
++[ -x radostest ]
++./radostest
++echo "run: OK"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ad6f88230c01b81810171929db7aa0127168008
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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 <<EOF > rbdtest.c
++#include <rbd/librbd.h>
++
++int
++main(void)
++{
++    return(0);
++}
++EOF
++
++gcc -o rbdtest rbdtest.c -lrbd
++echo "build: OK"
++[ -x rbdtest ]
++./rbdtest
++echo "run: OK"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c693a56987c7ee1c8e024a37b75174ce466dc5ad
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9e6a190d50703af68a985b429f5c5b3e2bf28791
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0af8f846c9944841015b3bf0e9e149309c89d6da
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3f9763e126064731e7e57f19169a286f42625e83
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++version=3
++opts="uversionmangle=s/-/~/" \
++ http://ceph.com/download/ceph-(\d.*)\.tar\.gz