Manual merge of version 10.2.5-7.2+rpi1 and 12.2.8+dfsg1-5 to produce 12.2.8+dfsg1...
authorPeter Michael Green <plugwash@raspbian.org>
Thu, 27 Dec 2018 00:47:01 +0000 (00:47 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 27 Dec 2018 01:16:18 +0000 (01:16 +0000)
1  2 
debian/changelog
debian/patches/series
install-deps.sh
qa/workunits/ceph-helpers-root.sh
qa/workunits/rados/test_envlibrados_for_rocksdb.sh

index 4c0a7dd0a74e8ab5ebdac6021b200c8cab5b4d96,c1606a505b5a7cf9d07d6763aeedffb92d8f145d..dbd6b9d9cf41778cd4ee406f9bc92ebe869c96fe
- ceph (10.2.5-7.2+rpi1) buster-staging; urgency=medium
++ceph (12.2.8+dfsg1-5+rpi1) buster-staging; urgency=medium
 +
++  [changes brought forward from 10.2.5-7.2+rpi1 by Peter Michael Green <plugwash@raspbian.org> at Sun, 30 Jul 2017 09:48:17 +0000]
 +  * 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
++ -- Peter Michael Green <plugwash@raspbian.org>  Wed, 26 Dec 2018 00:55:56 +0000
++
+ ceph (12.2.8+dfsg1-5) unstable; urgency=medium
+   * [66e03b] Fix linking on archs which require libatomic
+   * [5236f3] Fix Python 3 autopkgtest
+  -- Gaudenz Steinlin <gaudenz@debian.org>  Fri, 30 Nov 2018 16:49:02 +0100
+ ceph (12.2.8+dfsg1-4) unstable; urgency=medium
+   * [97dfb6] Fix detection of armel for NEON instructions (Closes: #913599)
+  -- Gaudenz Steinlin <gaudenz@debian.org>  Thu, 22 Nov 2018 22:33:21 +0100
+ ceph (12.2.8+dfsg1-3) unstable; urgency=medium
+   * [168bb9] Build depend on pythonX-dev instead of pythonX-all-dev
+     (Closes: #912905)
+   * [38d140] Patch to check for atomic support during build (Closes: #913601)
+   * [9cc0a5] Disable libboost-context on unsupported archs (Closes: #913600)
+   * [238143] Fix building with -g1 on 32 bit architectures
+   * [3b48d5] Use -mfloat-abi=softfp on armel for NEON instructions
+     (Closes: #913599)
+  -- Gaudenz Steinlin <gaudenz@debian.org>  Thu, 22 Nov 2018 09:38:09 +0100
+ ceph (12.2.8+dfsg1-2) unstable; urgency=medium
+   * [5c4b36] Add architecture specific symbols for librados2
+   * [38bc1b] Build depend on libatomic1 on armel, m68k, mips, mipsel, powerpc,
+     powerpcspe and sh4
+  -- Gaudenz Steinlin <gaudenz@debian.org>  Wed, 31 Oct 2018 23:38:05 +0100
+ ceph (12.2.8+dfsg1-1) unstable; urgency=medium
+   [ James Page ]
+   * [9c55f6] Ensure that systemd targets are enabled and started
+   * [17ca38] Support optional runtime loading of openssl in radosgw
+   * [8927f6] Fix build on i386
+   * [774281] Ensure all ceph modules are included in the binary package.
+   * [00ca38] Cherry pick upstream fix to resolve FTBFS on armhf
+   * [5d118c] Add ceph-volume tools to ceph-osd package
+   [ Gaudenz Steinlin ]
+   * [ba768b] New upstream version 12.2.8+dfsg1
+     (Closes: #852999, #864535, #893149)
+   * [96eba0] Exclude jsonchecker from upstream source
+   * [7dd73b] Exclude Windows help file from orig tarball
+   * [9d1740] Move ceph initscript and systemd target to ceph-base
+   * [8ae049] Drop obsolete patches (either upstreamed or because of switch to
+     cmake)
+   * [cfd095] Create directory for Ceph Manager bootstrap keys
+   * [858194] Shell scripts moved out of architecture specific directory
+   * [f3f387] Merge ceph-fs-common package into ceph-common
+   * [1789fe] Move radosgw-admin to ceph-common
+   * [6f51fc] Add compressor plugins to ceph-common
+   * [5bd0d1] Add crypto plugins to ceph-common on amd64
+   * [7724f7] New binary package ceph-mgr
+   * [804be6] Remove librgw_file* from ceph-test. These are unit tests for rgw.
+   * [fef87a] Upstream changed the build system to cmake
+   * [134e34] Build Python 3 versions of Python modules (Closes: #883148)
+   * [52a969] Package RADOS gateway Python bindings (python-rgw)
+   * [a48700] Add rados-objclass-dev binary package
+   * [30306f] Update dependencies for new upstream release
+   * [4d07af] libcephfs1 -> libcephfs2 soname bumped upstream
+   * [c4022d] Remove ceph-disk-udev no longer shipped upstream
+   * [9aad82] Remove sample.fetch_config no longer shipped upstream
+   * [fc163d] Update copyright for new upstream release
+   * [21c408] Add /usr/bin/radosgw-es to radosgw package
+   * [f63b2a] ceph-osd: sysctl config to increase the maximum number of AIO
+     requests
+   * [5f1f30] Remove static libraries from -dev packages (removed upstream)
+   * [1db168] Install ceph-detect-init into /usr/bin instead of /usr/sbin
+   * [1fb625] Move ceph-*-tool from ceph-test into daemon packages
+   * [6a5628] Remove obsolete X-Python-Version
+   * [c6fc4d] Update to Debian Policy version 4.2.1
+   * [5821f2] Set multiarch triplet in debian/rules
+   * [9bdce0] Remove override of dh_auto_install
+   * [b71c87] Add libceph-common to librados2 and librados-dev pkgs
+   * [c746ce] Override JSON license lintian warning (false positive, code
+     removed)
+   * [17d65c] Use dh_missing instead of dh_install --list-missing
+   * [cba40a] Remove obsolete ceph-create-keys@.service from ceph-base
+   * [252d62] Update watch file for https and repacking
+   * [ef84cf] Install ceph SysV init script with dh_install
+   * [0c2c84] Add missing source for jquery.flot.js (actually
+     jquery.colorhelpers.js)
+   * [0f1e2e] Add missing sources for JQuery in civetweb
+   * [8010cc] Add missing sources from AdminLTE
+   * [7c425a] Add lintian overrides for source-is-missing false positives
+   * [75f7d2] Update symbols files
+   * [aa7295] Patch to fix build failures with Boost 1.67
+   * [872887] Build with Debian packaged Boost 1.67 instead of bundled Boost 1.66
+   * [abf215] Use google-perftools on all supported architectures
+   * [44dd74] Add missing sources for the mgr dashboard plugin
+   * [39f9d6] Depend on ceph-common for pythonX-cephfs (Closes: #896400)
+   * [7a10f0] Improve autopkgtests
+   * [7515ca] Add Python dependency for ceph-fuse
+   * [d91a92] Make the ceph binary package a pure metapackage
+   * [df1dc8] Add Lintian overrides for systemd targets
+   * [bc7cd4] Install upstream rbdmap systemd service file
+   * [dd44ea] Remove RUNPATH from JNI libraries
+   * [7e9bce] Add dependency on junit4 and libcephfs-java for ceph-test
+   * [dfbe7c] Remove unnecessary ceph-base postrm script (Closes: #867465)
+   * [bad29d] Fix permissions on /var/run/ceph in SysV init script
+     (Closes: #869142)
+   * [6edc7a] Mark libraries as Multi-Arch compatible (Closes: #822740)
+   [ Thomas Goirand ]
+   * [46be6f] Change VCS links to point to Salsa
+   [ Shengjing Zhu ]
+   * [bfcf95] Don't treat rados-classes and ceph/compressor as shared libraries
+   * [0ef4f9] Add missing interpreter in ceph-{osd,mon}.postinst
+     (Closes: #862684, #862685)
+   * [f75bfc] Change section of libcephfs-jni from libs to java
+   * [f4b5d4] Add patch to fix various spelling errors
+   * [f60d21] Patch to remove link to ceph.com for dashboard favicon
+   * [116028] Backport test build fix from upstream
+   * [b83166] Change architecture of ceph-fuse to linux-any (from amd64)
+  -- Gaudenz Steinlin <gaudenz@debian.org>  Sun, 28 Oct 2018 23:43:10 +0100
  
  ceph (10.2.5-7.2) unstable; urgency=medium
  
index 4d4452bbc989aa3468f356d1fe5b084ddaee2fbc,a62499a6ed639d9add9e7c89fc8d9f425b480b16..30c204b0bce9fe9ad795f31488c51f46dd039688
@@@ -1,27 -1,17 +1,18 @@@
  ## Backported / Upstream
- sleep-recover.patch
- ## Security
- cve-2016-9579_short_cors_request.patch
+ 0010-fix-various-spelling-errors.patch
+ 0013-remove-ceph.com-ref-to-favicon.patch
+ 0013-fix-unittest_mclock_priority_queue-not-build-when-ma.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
+ libatomic.patch
+ rocksdb-fallthrough-i386.patch
+ 0001-CoreLocalArray-class.patch
+ 0002-core-local-array-type-conversions.patch
+ 0003-Core-local-statistics.patch
+ fix-var-run-perms-sysvinit.patch
+ # Ubuntu: FTBFS on armhf
+ armhf-ftbfs.patch
+ boost-1.67-fixes.patch
  softfp-armel.patch
- mips_mipsel_libatomic.patch
- fix-init-system-detection.patch
- ## From Ubuntu
- fix-cycles-arch.patch
- skip-setup.py-makefiles.patch
- disable-openssl-linking.patch
- osd-limit-omap-data-in-push-op.patch
- rgw_rados-creation_time.patch
 +detect-raspbian.diff
diff --cc install-deps.sh
index 2c3be51706eae142b02c040f77d02ed1ee287777,9ead1056d97dfb5f7671e86476f8353d62f78b4d..293319634b970df49d713b6a43296aadc431fe41
@@@ -19,21 -19,113 +19,113 @@@ if test $(id -u) != 0 ; the
  fi
  export LC_ALL=C # the following is vulnerable to i18n
  
- if test -f /etc/redhat-release ; then
-     $SUDO yum install -y redhat-lsb-core
- fi
+ function munge_ceph_spec_in {
+     local OUTFILE=$1
+     sed -e 's/@//g' -e 's/%bcond_with make_check/%bcond_without make_check/g' < ceph.spec.in > $OUTFILE
+ }
  
- if type apt-get > /dev/null 2>&1 ; then
-     $SUDO apt-get install -y lsb-release devscripts equivs
- fi
+ function ensure_decent_gcc_on_deb {
+     # point gcc to the one offered by distro if the used one is different
+     local old=$(gcc -dumpversion)
+     local new=$1
+     if dpkg --compare-versions $old eq $new; then
+           return
+     fi
  
- if type zypper > /dev/null 2>&1 ; then
-     $SUDO zypper --gpg-auto-import-keys --non-interactive install lsb-release systemd-rpm-macros
- fi
+     case $old in
+         4*)
+             old=4.8;;
+         5*)
+             old=5;;
+         7*)
+             old=7;;
+     esac
+     cat <<EOF
+ /usr/bin/gcc now points to gcc-$old, which is not the version shipped with the
+ distro: gcc-$new. Reverting...
+ EOF
+     $SUDO update-alternatives --remove-all gcc || true
+     $SUDO update-alternatives \
+        --install /usr/bin/gcc gcc /usr/bin/gcc-${new} 20 \
+        --slave   /usr/bin/g++ g++ /usr/bin/g++-${new}
+     $SUDO update-alternatives \
+        --install /usr/bin/gcc gcc /usr/bin/gcc-${old} 10 \
+        --slave   /usr/bin/g++ g++ /usr/bin/g++-${old}
+     $SUDO update-alternatives --auto gcc
+     # cmake uses the latter by default
+     $SUDO ln -nsf /usr/bin/gcc /usr/bin/x86_64-linux-gnu-gcc
+     $SUDO ln -nsf /usr/bin/g++ /usr/bin/x86_64-linux-gnu-g++
+ }
+ if [ x`uname`x = xFreeBSDx ]; then
+     $SUDO pkg install -yq \
+         devel/babeltrace \
+         devel/git \
+         devel/gperf \
+         devel/gmake \
+         devel/cmake \
+         devel/yasm \
+         devel/boost-all \
+         devel/boost-python-libs \
+         devel/valgrind \
+         devel/pkgconf \
+         devel/libedit \
+         devel/libtool \
+         devel/google-perftools \
+         lang/cython \
+         devel/py-virtualenv \
+         databases/leveldb \
+         net/openldap-client \
+         security/nss \
+         security/cryptopp \
+         archivers/snappy \
+         ftp/curl \
+         misc/e2fsprogs-libuuid \
+         misc/getopt \
+         net/socat \
+         textproc/expat2 \
+         textproc/gsed \
+         textproc/libxml2 \
+         textproc/xmlstarlet \
+         textproc/jq \
+         textproc/py-sphinx \
+         emulators/fuse \
+         java/junit \
+         lang/python \
+         lang/python27 \
+         devel/py-pip \
+         devel/py-argparse \
+         devel/py-nose \
+         devel/py-prettytable \
+         www/py-flask \
+         www/fcgi \
+         sysutils/flock \
+         sysutils/fusefs-libs \
+       # Now use pip to install some extra python modules
+       pip install pecan
  
- case $(lsb_release -si) in
- Ubuntu|Debian|Devuan|Raspbian)
-         $SUDO apt-get install -y dpkg-dev
+     exit
+ else
+     source /etc/os-release
+     case $ID in
 -    debian|ubuntu|devuan)
++    debian|ubuntu|devuan|raspbian)
+         echo "Using apt-get to install dependencies"
+         $SUDO apt-get install -y lsb-release devscripts equivs
+         $SUDO apt-get install -y dpkg-dev gcc
+         case "$VERSION" in
+             *Trusty*)
+                 ensure_decent_gcc_on_deb 4.8
+                 ;;
+             *Xenial*)
+                 ensure_decent_gcc_on_deb 5
+                 ;;
+         esac
          if ! test -r debian/control ; then
              echo debian/control is not a readable file
              exit 1
Simple merge
index 0000000000000000000000000000000000000000,c3c802d57006128c3643b04646c1b3c47c531c7c..3dc9be90563c7fcfead0ff2bfa9921bacbae3b15
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,96 +1,96 @@@
 -      Ubuntu|Debian|Devuan)
+ #!/bin/bash -ex
+ ############################################
+ #                     Helper functions
+ ############################################
+ function install() {
+     for package in "$@" ; do
+         install_one $package
+     done
+     return 0
+ }
+ function install_one() {
+     case $(lsb_release -si) in
+         Ubuntu|Debian|Devuan)
+             sudo apt-get install -y --force-yes "$@"
+             ;;
+         CentOS|Fedora|RedHatEnterpriseServer)
+             sudo yum install -y "$@"
+             ;;
+         *SUSE*)
+             sudo zypper --non-interactive install "$@"
+             ;;
+         *)
+             echo "$(lsb_release -si) is unknown, $@ will have to be installed manually."
+             ;;
+     esac
+ }
+ ############################################
+ #                     Install required tools
+ ############################################
+ echo "Install required tools"
+ install git automake
+ CURRENT_PATH=`pwd`
+ ############################################
+ #                     Compile&Start RocksDB
+ ############################################
+ # install prerequisites
+ # for rocksdb
+ case $(lsb_release -si) in
++      Ubuntu|Debian|Devuan|Raspbian)
+               install g++-4.7 libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev librados-dev
+               ;;
+       CentOS|Fedora|RedHatEnterpriseServer)
+               install gcc-c++.x86_64 gflags-devel snappy-devel zlib zlib-devel bzip2 bzip2-devel librados2-devel.x86_64
+               ;;
+       *)
+         echo "$(lsb_release -si) is unknown, $@ will have to be installed manually."
+         ;;
+ esac
+ # # gflags
+ # sudo yum install gflags-devel
+ # 
+ # wget https://github.com/schuhschuh/gflags/archive/master.zip
+ # unzip master.zip
+ # cd gflags-master
+ # mkdir build && cd build
+ # export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
+ # make && make install
+ # # snappy-devel
+ echo "Compile rocksdb"
+ if [ -e rocksdb ]; then
+       rm -fr rocksdb
+ fi
+ git clone https://github.com/facebook/rocksdb.git --depth 1
+ # compile code
+ cd rocksdb
+ make env_librados_test ROCKSDB_USE_LIBRADOS=1 DISABLE_WARNING_AS_ERROR=1 -j8
+ echo "Copy ceph.conf"
+ # prepare ceph.conf
+ mkdir -p ../ceph/src/
+ if [ -f "/etc/ceph/ceph.conf" ]; then
+     cp /etc/ceph/ceph.conf ../ceph/src/
+ elif [ -f "/etc/ceph/ceph/ceph.conf" ]; then
+       cp /etc/ceph/ceph/ceph.conf ../ceph/src/
+ else 
+       echo "/etc/ceph/ceph/ceph.conf doesn't exist"
+ fi
+ echo "Run EnvLibrados test"
+ # run test
+ if [ -f "../ceph/src/ceph.conf" ]
+       then
+       cp env_librados_test ~/cephtest/archive
+       ./env_librados_test
+ else 
+       echo "../ceph/src/ceph.conf doesn't exist"
+ fi
+ cd ${CURRENT_PATH}