Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: ceph

ceph (14.2.1-0ubuntu3) eoan; urgency=medium * d/p/pybind-auto-encode-decode-cstr.patch: Drop, reverted upstream. * d/p/fix-py3-encoding-fsid.patch: Cherry pick correct fix to resolve FSID encoding issues under Python 3 (LP: #1833079). -- James Page <james.page@ubuntu.com> Tue, 25 Jun 2019 08:02:09 +0100 ceph (14.2.1-0ubuntu2) eoan; urgency=medium * d/p/pybind-auto-encode-decode-cstr.patch: Cherry pick fix to ensure that encoding/decoding of strings is correctly performed under Python 3 (LP: #1833079). -- James Page <james.page@ubuntu.com> Fri, 21 Jun 2019 07:08:20 +0100 ceph (14.2.1-0ubuntu1) eoan; urgency=medium * New upstream release. * d/p/misc-32-bit-fixes.patch: Drop, included upstream. * d/p/py37-compat.patch: Drop, included upstream. * d/p/collections.abc-compat.patch: Drop, included in release. * d/p/*: Refresh. * d/*: Re-sync packaging with upstream for Nautilus release. * d/control,ceph-test.*,rules: Disable build of test binaries, drop ceph-test binary package (reduce build size). * d/control,rules: Use system boost libraries (reduce build time). * d/control: Add dependency on smartmontools, suggest use of nvme-cli for ceph-osd package. * d/p/32bit-*.patch: Fix misc 32 bit related issues which cause compilation failures on armhf and i386 architectures. * d/control: Add Breaks/Replaces on ceph-common for ceph-argparse to deal with move of Python module. -- James Page <james.page@ubuntu.com> Wed, 29 May 2019 05:25:27 +0100 ceph (13.2.4+dfsg1-0ubuntu2) disco; urgency=medium * Rebuild for libleveldb1v5 -> libleveldb1d transition. -- Adam Conrad <adconrad@ubuntu.com> Fri, 12 Apr 2019 12:37:05 -0600 ceph (13.2.4+dfsg1-0ubuntu1) disco; urgency=medium * New upstream release (LP: #1810766). * d/p/*: Refresh. -- James Page <james.page@ubuntu.com> Tue, 08 Jan 2019 11:40:47 +0000 ceph (13.2.2+dfsg1-0ubuntu4) disco; urgency=medium * d/p/more-py3-compat.patch: Add more py3 fixes. -- James Page <james.page@ubuntu.com> Fri, 07 Dec 2018 10:31:26 +0000 ceph (13.2.2+dfsg1-0ubuntu3) disco; urgency=medium * d/p/more-py3-compat.patch: Misc Python 3 fixes in ceph-create-keys. -- James Page <james.page@ubuntu.com> Wed, 05 Dec 2018 16:37:07 +0000 ceph (13.2.2+dfsg1-0ubuntu2) disco; urgency=medium * d/tests/python-ceph: Fix python3 test support resolving autopkgtest failure. -- James Page <james.page@ubuntu.com> Fri, 30 Nov 2018 13:00:55 +0000 ceph (13.2.2+dfsg1-0ubuntu1) disco; urgency=medium * New upstream point release. * d/p/*: Refresh. * d/control,python-*.install,rules: Drop Python 2 support. * d/tests: Update for Python 2 removal. * d/p/misc-32-bit-fixes.patch: Update type of rgw_max_attr_name_len, resolving SIGABRT in radosgw (LP: #1805145). * d/p/boost-py37-compat.patch: Fix compilation issue with boost imports conflicting with ceph's assert.h header. * d/p/collections.abc-compat.patch: Selective cherry-pick of upstream fix for future compatibility with Python 3.8, avoiding deprecation warnings under Python 3.7. -- James Page <james.page@ubuntu.com> Thu, 29 Nov 2018 09:34:25 +0000 ceph (13.2.1+dfsg1-0ubuntu3) disco; urgency=medium * No-change rebuild for python3.7 as the default python3. -- Matthias Klose <doko@ubuntu.com> Tue, 30 Oct 2018 19:25:09 +0100 ceph (13.2.1+dfsg1-0ubuntu2) cosmic; urgency=medium * d/ceph-mds.install: Install missing systemd configuration (LP: #1789927). -- James Page <james.page@ubuntu.com> Thu, 30 Aug 2018 16:07:10 +0100 ceph (13.2.1+dfsg1-0ubuntu1) cosmic; urgency=medium * Re-instate 32bit architectures. - d/control: Switch back to linux-any - d/p/misc-32-bit-fixes.patch: Misc fixes for compilation failures under 32 bit architectures. - d/rules: Disable SPDK integration under i386. * Repack upstream tarball, excluding non-DFSG sources (LP: #1750848): - d/copyright: Purge upstream tarball of minified js files, which are neither shipped in binaries or required for package build. - d/watch: Add dversionmangle for +dfsg\d version suffix. * d/control,rules: Drop requirement for gcc-7 for arm64. * d/ceph-osd.udev: Add udev rules for sample LVM layout for OSD's, ensuring that LV's have ceph:ceph ownership (LP: #1767087). -- James Page <james.page@ubuntu.com> Thu, 09 Aug 2018 14:20:08 +0100 ceph (13.2.1-0ubuntu1) cosmic; urgency=medium * d/copyright,source.lintian-overrides: Exclude jsonchecker component of rapidjson avoiding license-problem-json-evil non-free issue. * New upstream point release. * d/control: Remove obsolete X{S}-* fields. -- James Page <james.page@ubuntu.com> Wed, 01 Aug 2018 11:13:12 +0100 ceph (13.2.0-0ubuntu1) cosmic; urgency=medium * New upstream release. * Sync with changes in upstream packaging: - d/*.install,rules: Use generated systemd unit files for install - d/ceph-test.install: Drop binaries removed upstream. * d/p/*: Refresh and drop as needed. * d/*.symbols: Refresh for new release. * d/rules,calc-max-parallel.sh: Automatically calculate the maximum number of parallel compilation units based on total memory. * d/control: Drop support for 32 bit architectures. * d/control: Update Vcs-* fields for Ubuntu. * d/control: Drop min python version field. -- James Page <james.page@ubuntu.com> Tue, 24 Jul 2018 11:01:39 +0100 ceph (12.2.4-0ubuntu1.1) bionic; urgency=medium * d/p/update-java-source-target-flags.patch: Use --release instead of -source/-target and set release to 7 as that is the minimum required for OpenJDK 11 (LP: #1766998). * d/p/replace-javah-usage.patch: call -h during compilation time to generate native header files and remove the javah call as the binary is no longer part of openjdk-10 - javah has been deprecated since openjdk-9 (LP: #1766995). -- Tiago Stürmer Daitx <tiago.daitx@ubuntu.com> Wed, 25 Apr 2018 01:45:34 +0000 ceph (12.2.4-0ubuntu1) bionic; urgency=medium [ James Page ] * New upstream point release (LP: #1750826, #1731819, #1718134). * d/ceph-osd.install: Add ceph-volume tools (LP: #1750376). * d/*: wrap-and-sort -bast. * d/control,compat: Bump debhelper compat level to 10. * d/control: Switch to using python3-sphinx. * d/rules: Switch to using WITH_BOOST_CONTEXT for rgw beast frontend enablement. * d/rules,control: Switch to using vendored boost as 1.66 is required. * d/control: Add python-jinja2 to Depends of ceph-mgr (LP: #1752308). [ Tiago Stürmer Daitx ] * Update java source and target flags from 1.5 to 1.8. Allows it to run using OpenJDK 8 or earlier and to be build with OpenJDK 9, 10, and 11 (LP: #1756854). [ James Page ] * d/ceph*.prerm: Drop, no longer needed as only use for removed upstart and init.d methods of managing ceph daemons (LP: #1754585). -- James Page <james.page@ubuntu.com> Tue, 20 Mar 2018 09:28:22 +0000 ceph (12.2.2-0ubuntu2) bionic; urgency=medium * d/control: Re-order Recommends to prefer chrony over time-daemon (chrony/openntp) and ntp for Ubuntu (LP: #1744072). -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Fri, 16 Feb 2018 09:19:21 +0100 ceph (12.2.2-0ubuntu1) bionic; urgency=medium * New upstream point release (LP: #1739002). - d/p/armhf-ftbfs.patch: Cherry pick upstream fix to resolve FTBFS on armhf. -- James Page <james.page@ubuntu.com> Wed, 20 Dec 2017 08:44:40 +0000 ceph (12.2.1-0ubuntu1) bionic; urgency=medium * New upstream point release (LP: #1728576). -- James Page <james.page@ubuntu.com> Tue, 31 Oct 2017 09:13:22 +0000 ceph (12.2.0-0ubuntu2) bionic; urgency=medium * No-change rebuild for boost soname change. -- Matthias Klose <doko@ubuntu.com> Thu, 26 Oct 2017 17:10:59 +0000 ceph (12.2.0-0ubuntu1) artful; urgency=medium * New upstream stable release. * d/p/32bit-compat-service-daemon.patch: Dropped, accepted upstream. * d/rules: Install ceph-volume systemd configuration. * d/*.symbols: Refresh for new release. -- James Page <james.page@ubuntu.com> Wed, 30 Aug 2017 17:27:07 +0100 ceph (12.1.2-0ubuntu2) artful; urgency=medium * d/p/rocksdb-fallthrough-i386.patch: Mark intentional fallthroughs for compatibility with gcc-7. * d/p/32bit-compat-service-daemon.patch: Fix implicit type conversion for Boost variant types on 32 bit architectures (LP: #1709396). -- James Page <james.page@ubuntu.com> Wed, 09 Aug 2017 16:43:46 +0100 ceph (12.1.2-0ubuntu1) artful; urgency=medium * New release candidate for next stable release. * d/ceph-base.install: Increase scope of install wildcards to ensure that all ceph modules are included in the binary package. -- James Page <james.page@ubuntu.com> Mon, 07 Aug 2017 14:23:59 +0100 ceph (12.1.1-0ubuntu1) artful; urgency=medium * New release candidate for next stable release. * d/p/ec-isa-module.patch: Drop, included upstream. -- James Page <james.page@ubuntu.com> Wed, 26 Jul 2017 10:43:04 +0100 ceph (12.1.0-0ubuntu1) artful; urgency=medium * New release candidate for next stable release. * Sync packaging changes with upstream: - d/control,python3-*,rules: Add Python 3 support - d/control,python-rgw.*: Add Python rgw module. - d/control,ceph-mgr.*,rules: Add ceph-mgr binary packages. - d/*.symbols: Update for new release. - d/control,rules,*.install: Switch buildsystem to cmake. - d/control,rados-objclass-dev.*: Add rados-objclass-dev binary package. - d/control,ceph-fs-common.install: Drop ceph-fs-common, fold binaries into ceph-common. - d/control,ceph-common.install: Move radosgw-admin to ceph-common package. - d/ceph-common.install: Install crypto modules on amd64 only. - d/*: wrap-and-sort. - d/p/*: Drop existing patches, either upstream or obsolete due to switch to cmake build. - d/control,rules: Drop use of dh-autoreconf. * Use distro provided boost libraries: - d/rules: Enable use of system boost instead of vendored copy. - d/control: Add required boost dependencies >= 1.61. * Support build on s390x: - d/rules: Disable RGW Beast frontend on s390x architecture. - d/control: Scope libboost-{context,coroutine}-dev to exclude s390x. * Support build on i386: - d/p/0001-CoreLocalArray-class.patch, d/p/0002-core-local-array-type-conversions.patch, d/p/0003-Core-local-statistics.patch: Cherry pick rocksdb commits to resolve compatibility with gcc-6 on i386. * d/p/ec-isa-module.patch: Drop versioning of libec_isa.so to ensure that it gets installed as part of the package. * d/control,rules: Workaround arm64 compilation segfault by forcing use of gcc-7 toolchain for this architecture. -- James Page <james.page@ubuntu.com> Fri, 07 Jul 2017 08:02:02 +0000 ceph (10.2.7-0ubuntu1) artful; urgency=medium * New upstream point release (LP: #1684527): - d/p/disable-openssl-linking.patch: Dropped, no longer required. - d/control: Add BD on libssl-dev to support optional runtime loading of openssl in the radosgw. -- James Page <james.page@ubuntu.com> Fri, 21 Apr 2017 09:20:08 +0100 ceph (10.2.6-0ubuntu1) zesty; urgency=medium * New upstream stable point release (LP: #1671117): - d/p/osd-limit-omap-data-in-push-op.patch,rgw_rados-creation_time.patch: Dropped, included upstream. - d/p/*: Refresh. -- James Page <james.page@ubuntu.com> Thu, 09 Mar 2017 09:23:49 +0000 ceph (10.2.5-0ubuntu2) zesty; urgency=medium * d/rules: Install upstream provided systemd targets and ensure they are enabled and started on install to ensure that integrations aligned to upstream packaging work with Ubuntu packages (LP: #1646583). * d/rules,d/p/powerpc_libatomic.patch: Ensure linking with -latomic, resolving FTBFS on powerpc architecture. -- James Page <james.page@ubuntu.com> Tue, 17 Jan 2017 11:10:40 +0000 ceph (10.2.5-0ubuntu1) zesty; urgency=medium * New upstream stable release (LP: #1649856). - d/p/32bit-ftbfs.patch: Drop, no longer needed. - d/p/*: Refresh. - d/ceph-common.install: Switch to RSA keys for drop.ceph.com. -- James Page <james.page@ubuntu.com> Thu, 15 Dec 2016 07:51:11 +0000 ceph (10.2.3-0ubuntu5) zesty; urgency=medium * d/ceph.{postinst,preinst,postrm}: Ensure that ceph logrotate configuration is purged on upgrade from pre-yakkety installs (LP: #1635844). * d/ceph-base.*,d/*.logrotate: Install logrotate configuration in ceph-common, ensuring that all daemons get log rotation on log files, deal with removal of logrotate configuration in ceph-base for upgrades (LP: #1609866). -- James Page <james.page@ubuntu.com> Thu, 01 Dec 2016 08:54:21 +0000 ceph (10.2.3-0ubuntu4) zesty; urgency=high * No change rebuild against boost1.62. -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 01 Nov 2016 16:12:26 +0000 ceph (10.2.3-0ubuntu3) zesty; urgency=medium * rgw: Fixes for creation times for buckets (LP: #1587261). - d/p/rgw_rados-creation_time.patch: Backport fix from upstream master. - Fix logic error that leads to creation time being 0 instead of current time when creating buckets. -- Frode Nordahl <frode.nordahl@canonical.com> Wed, 26 Oct 2016 14:39:55 +0200 ceph (10.2.3-0ubuntu2) yakkety; urgency=medium * 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). * d/control: Drop surplus Recommends on ceph-common for ceph-mon, as it already has a in-direct Depends via ceph-base. -- James Page <james.page@ubuntu.com> Sat, 08 Oct 2016 16:16:00 +0100 ceph (10.2.3-0ubuntu1) yakkety; urgency=medium * New upstream point release (LP: #1628809): - d/p/rocksdb-flags.patch: Dropped, included upstream. - d/p/*: Refreshed. - d/p/32bit-ftbfs.patch: Cherry pick fix for 32bit arch compat. - d/ceph-{fs-common,fuse}.install: Fix install locations for mount{.fuse}.ceph. * Limit the amount of data per chunk in omap push operations to 64k, ensuring that OSD threads don't hit timeouts during recovery operations (LP: #1628750): - d/p/osd-limit-omap-data-in-push-op.patch: Cherry pick fix from upstream master branch. -- James Page <james.page@ubuntu.com> Thu, 29 Sep 2016 21:44:33 +0100 ceph (10.2.2-0ubuntu5) yakkety; urgency=medium * No-change rebuild for boost soname change. -- Matthias Klose <doko@ubuntu.com> Thu, 04 Aug 2016 08:13:41 +0000 ceph (10.2.2-0ubuntu4) yakkety; urgency=medium * d/rules: Drop override_dh_strip from .PHONY to ensure files actually get stripped. -- James Page <james.page@ubuntu.com> Wed, 20 Jul 2016 09:26:41 +0100 ceph (10.2.2-0ubuntu3) yakkety; urgency=medium * d/rules,control: Drop -dbg packages and let Ubuntu builds take care of ddeb generation instead. * d/ceph-mon.install: Only install .py files for ceph_rest_api module. -- James Page <james.page@ubuntu.com> Tue, 19 Jul 2016 10:36:32 +0100 ceph (10.2.2-0ubuntu2) yakkety; urgency=medium * d/ceph.install,d/etc/*: Drop pm based power management scripts as they are not used under systemd (LP: #1455097). * 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). * d/rules,*.{postinst,prerm}: Drop install and management of upstart configuration files; this package version onwards will only ever target >= Xenial, which is a systemd baseline. -- James Page <james.page@ubuntu.com> Thu, 14 Jul 2016 10:51:10 +0100 ceph (10.2.2-0ubuntu1) yakkety; urgency=medium * New upstream version (LP: #1585660): - d/ceph.install: Drop install of 60-ceph-partuuid-workaround.rules as no longer part of upstream codebase. * d/control: Bumped Standards-Version to 3.9.8, no changes. -- James Page <james.page@ubuntu.com> Thu, 16 Jun 2016 17:40:04 +0100 ceph (10.2.1-0ubuntu2) yakkety; urgency=medium * d/ceph-common.{preinst,postinst,postrm}: Ensure that rename of /etc/default/ceph/ceph -> /etc/default/ceph is handled correctly and that any end-user changes are preserved (LP: #1587516). -- James Page <james.page@ubuntu.com> Mon, 13 Jun 2016 20:53:52 +0100 ceph (10.2.1-0ubuntu1) yakkety; urgency=medium * New upstream version (LP: #1585660). - d/p/drop-user-group-osd-prestart.patch: Dropped, included upstream. * d/rules,ceph-common.install: Ensure that /etc/default/ceph is a file and not a directory (LP: #1587516). -- James Page <james.page@ubuntu.com> Mon, 06 Jun 2016 09:23:35 +0100 ceph (10.2.0-0ubuntu1) yakkety; urgency=medium * Ceph Jewel stable release (LP: #1569249). -- James Page <james.page@ubuntu.com> Thu, 21 Apr 2016 19:54:54 +0100 ceph (10.1.2-0ubuntu1) xenial; urgency=medium * New upstream release candidate for Ceph Jewel: - FFe: http://pad.lv/1563714. - d/p/32bit-compat.patch,tasksmax-infinity.patch: Dropped, included upstream. * d/ceph-common.postinst: Silence output of usermod call (LP: #1569249). -- James Page <james.page@ubuntu.com> Thu, 14 Apr 2016 14:46:58 +0100 ceph (10.1.1-0ubuntu1) xenial; urgency=medium * New upstream release candidate for Ceph Jewel: - FFe: http://pad.lv/1563714. - d/p/*: Refresh. -- James Page <james.page@ubuntu.com> Fri, 08 Apr 2016 16:30:43 +0100 ceph (10.1.0-0ubuntu1) xenial; urgency=medium * New upstream release candidate for Ceph Jewel (see http://pad.lv/1563714 for FFe): - d/control,rules,librgw*: Add new binary packages for librgw2. - d/p/fix-systemd-escaping.patch,pybind-flags.patch: Dropped, included upstream. - d/p/*: Refresh remaining patches. - d/control: Add BD on libldap2-dev for rados gateway. - d/p/disable-openssl-linking.patch: Disable build time linking with OpenSSL due to licensing incompatibilities. - d/*.symbols: Add new symbols for RC. - d/python-*.install: Correct wildcards for python module install. - d/p/32bit-compat.patch: Cherry pick upstream fix for 32 bit compatibility, resolving FTBFS on armhf/i386. * d/rules: Strip rbd-mirror package correctly. * d/rules: Install upstart and systemd configurations for rbd-mirror. * d/copyright: Ensure that jerasure and gf-complete are not stripped from the upstream release tarball. * d/p/drop-user-group-osd-prestart.patch: Drop --setuser/--setgroup arguments from call to ceph-osd-prestart.sh; they are not supported and generate spurious non-fatal warning messages (LP: #1557461). * d/p/tasksmax-infinity.patch: Drop systemd limitation of number of processes and threads to long running ceph processes; the default of 512 tasks is way to low for even a modest Ceph cluster (LP: #1564917). * 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). -- James Page <james.page@ubuntu.com> Wed, 06 Apr 2016 09:17:59 +0100 ceph (10.0.5-0ubuntu1) xenial; urgency=medium * New upstream point release, in preparation for Ceph Jewel. - d/p/*: Refresh patches - d/control: Enable rbd-mirror(-dbg) packages. - d/control: Add BD on libboost-iostreams-dev. - d/p/skip-setup.py-makefiles.patch,rules: Avoid use of virtualenv to install ceph-disk and ceph-detect-init python modules. -- James Page <james.page@ubuntu.com> Wed, 23 Mar 2016 14:07:58 +0000 ceph (10.0.3-0ubuntu1) xenial; urgency=medium * New upstream point release, in preparation for Ceph Jewel. - d/p/*: Refresh patches - d/rules,d/p/rocksdb-flags.patch: Enable rocksdb build for experimental bluestore support, add patch to set g++ flags correctly across all Ubuntu archs. - d/rules: Enable gperftools use on arm64 architecture. - d/ceph.install: Add ceph-bluefs-tool to install. * d/*: wrap-and-sort. -- James Page <james.page@ubuntu.com> Fri, 18 Mar 2016 10:41:37 +0000 ceph (10.0.2-0ubuntu1) xenial; urgency=medium * New upstream release, in preparation for Ceph Jewel stable release: - d/control: Add python-dev to BD's. - d/p/pybind-flags.patch: Ensure that python flags are correct set for cython rbd build. - d/python-rbd.install: Switch rbd python binding to cython. - d/p/modules.patch: Dropped, no longer required as upstream. - d/control,rbd-nbd.*,rules: Add rbd-nbd package. - d/p/*: Tidy old redundant patches. -- James Page <james.page@ubuntu.com> Thu, 18 Feb 2016 08:07:30 +0000 ceph (9.2.0-0ubuntu6) xenial; urgency=medium * d/ceph-mds.dirs: Actually create /var/lib/ceph/mds prior to changing permissions (LP: #1544647). * d/ceph.init: Restore link to init-ceph, resolving un-install failures due to missing init script (LP: #1546112). -- James Page <james.page@ubuntu.com> Wed, 17 Feb 2016 10:33:24 +0000 ceph (9.2.0-0ubuntu5) xenial; urgency=medium [ guessi ] * d/ceph-mds.postinst: Fixup syntax error (LP: #1544647). -- James Page <james.page@ubuntu.com> Tue, 16 Feb 2016 12:54:16 +0000 ceph (9.2.0-0ubuntu4) xenial; urgency=medium * d/p/fix-systemd-escaping.patch: Ensure that leading '/' is stripped from block device paths when escaping for use in systemd unit names. -- James Page <james.page@ubuntu.com> Tue, 09 Feb 2016 11:03:03 +0000 ceph (9.2.0-0ubuntu3) xenial; urgency=medium * d/ceph{-common}.install: Move ceph_daemon module to common package as its required to use the ceph command. * d/rules: Disable parallel builds on arm64, resolving FTBFS due to memory constraints in builders. -- James Page <james.page@ubuntu.com> Fri, 15 Jan 2016 10:00:47 +0200 ceph (9.2.0-0ubuntu2) xenial; urgency=medium * d/control: Fixup broken Breaks/Replaces for backports to 14.04. -- James Page <james.page@ubuntu.com> Wed, 06 Jan 2016 10:46:19 +0000 ceph (9.2.0-0ubuntu1) xenial; urgency=medium * [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. * [6f322e5] Imported Upstream version 10.0.2 - [ba06deb] Add python-dev to BD's. - [62c26dc] d/p/fix-systemd-escaping.patch: Ensure that leading '/' is stripped from block device paths when escaping for use in systemd unit names. - [e02b2a1] d/p/pybind-flags.patch: Ensure that python flags are correct set for cython rbd build. - [d9dad09] Switch rbd python binding to cython * [4c45629] Update NEWS file for infernalis changes. * [940491e] Limit number of parallel builds to 2 to reduce memory footprint on builders. * [23e78f3] d/ceph-mds.postinst: Fix syntax error. * [26182b5] d/ceph-mds.dirs: Actually create /var/lib/ceph/mds prior to changing permissions (LP: #1544647). * [414f4c1] d/ceph.init: Restore link to init-ceph, resolving un-install failures due to missing init script (LP: #1546112). -- James Page <james.page@ubuntu.com> Wed, 09 Dec 2015 18:02:30 +0000

Modifications :
  1. Download patch debian/ceph-mon.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mon.install 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mon.install 2019-06-18 08:35:34.000000000 +0000 @@ -1,6 +1,3 @@ +lib/systemd/system/ceph-mon* usr/bin/ceph-mon -usr/bin/ceph-monstore-tool -usr/bin/ceph-rest-api -usr/lib/python*/dist-packages/ceph_rest_api.py usr/share/man/man8/ceph-mon.8 -usr/share/man/man8/ceph-rest-api.8
  2. Download patch debian/ceph-mgr-diskprediction-cloud.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-diskprediction-cloud.postinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-diskprediction-cloud.postinst 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1,43 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph-mgr-diskprediction-cloud +# +# 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 + +case "$1" in + configure) + # attempt to load the plugin if the mgr is running + deb-systemd-invoke try-restart ceph-mgr.target + ;; + 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 + +
  3. Download patch bin/git-archive-all.sh

    --- 12.2.11+dfsg1-2.1/bin/git-archive-all.sh 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/bin/git-archive-all.sh 2019-04-25 18:15:48.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/bash - +#!/usr/bin/env bash # # File: git-archive-all.sh #
  4. Download patch debian/ceph-mds.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mds.install 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mds.install 2019-06-18 08:35:34.000000000 +0000 @@ -1,3 +1,4 @@ +lib/systemd/system/ceph-mds* usr/bin/ceph-mds usr/bin/cephfs-data-scan usr/bin/cephfs-journal-tool
  5. Download patch debian/ceph-base.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-base.postinst 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-base.postinst 2019-05-30 14:06:18.000000000 +0000 @@ -53,6 +53,9 @@ case "$1" in ;; esac +dpkg-maintscript-helper rm_conffile \ + /etc/logrotate.d/ceph-base 10.2.3-0ubuntu5~ -- "$@" + # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts.
  6. Download patch cmake/modules/patch-dpdk-conf.sh

    --- 12.2.11+dfsg1-2.1/cmake/modules/patch-dpdk-conf.sh 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/patch-dpdk-conf.sh 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,55 @@ +#!/bin/sh +# -*- mode:sh; tab-width:4; indent-tabs-mode:nil -* + +setconf() { + local key=$1 + local val=$2 + if grep -q ^$key= ${conf}; then + sed -i -e "s:^$key=.*$:$key=$val:g" ${conf} + else + echo $key=$val >> ${conf} + fi +} + +conf=$1/.config +shift +machine=$1 +shift +arch=$1 +shift + +setconf CONFIG_RTE_MACHINE "${machine}" +setconf CONFIG_RTE_ARCH "${arch}" + +# Disable experimental features +setconf CONFIG_RTE_NEXT_ABI n +setconf CONFIG_RTE_LIBRTE_MBUF_OFFLOAD n +# Disable unmaintained features +setconf CONFIG_RTE_LIBRTE_POWER n + +setconf CONFIG_RTE_EAL_IGB_UIO n +setconf CONFIG_RTE_LIBRTE_KNI n +setconf CONFIG_RTE_KNI_KMOD n +setconf CONFIG_RTE_KNI_PREEMPT_DEFAULT n + +# no pdump +setconf CONFIG_RTE_LIBRTE_PDUMP n + +# no vm support +setconf CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT n +setconf CONFIG_RTE_LIBRTE_VHOST n +setconf CONFIG_RTE_LIBRTE_VHOST_NUMA n +setconf CONFIG_RTE_LIBRTE_VMXNET3_PMD n +setconf CONFIG_RTE_LIBRTE_PMD_VHOST n +setconf CONFIG_RTE_APP_EVENTDEV n +setconf CONFIG_RTE_MAX_VFIO_GROUPS 64 + +# no test +setconf CONFIG_RTE_APP_TEST n +setconf CONFIG_RTE_TEST_PMD n + +# async/dpdk does not like it +setconf CONFIG_RTE_MBUF_REFCNT_ATOMIC n + +# balanced allocation of hugepages +setconf CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES n
  7. Download patch cmake/modules/Findverbs.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findverbs.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findverbs.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,36 @@ +# - Find rdma verbs +# Find the rdma verbs library and includes +# +# VERBS_INCLUDE_DIR - where to find ibverbs.h, etc. +# VERBS_LIBRARIES - List of libraries when using ibverbs. +# VERBS_FOUND - True if ibverbs found. +# HAVE_IBV_EXP - True if experimental verbs is enabled. + +find_path(VERBS_INCLUDE_DIR infiniband/verbs.h) +find_library(VERBS_LIBRARIES ibverbs) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(verbs DEFAULT_MSG VERBS_LIBRARIES VERBS_INCLUDE_DIR) + +if(VERBS_FOUND) + include(CheckCXXSourceCompiles) + CHECK_CXX_SOURCE_COMPILES(" + #include <infiniband/verbs.h> + int main() { + struct ibv_context* ctxt; + struct ibv_exp_gid_attr gid_attr; + ibv_exp_query_gid_attr(ctxt, 1, 0, &gid_attr); + return 0; + } " HAVE_IBV_EXP) + if(NOT TARGET IBVerbs::verbs) + add_library(IBVerbs::verbs UNKNOWN IMPORTED) + endif() + set_target_properties(IBVerbs::verbs PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${VERBS_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${VERBS_LIBRARIES}") +endif() + +mark_as_advanced( + VERBS_LIBRARIES +)
  8. Download patch debian/ceph-mgr-diskprediction-local.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-diskprediction-local.postinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-diskprediction-local.postinst 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1,43 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph-mgr-diskprediction-local +# +# 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 + +case "$1" in + configure) + # attempt to load the plugin if the mgr is running + deb-systemd-invoke try-restart ceph-mgr.target + ;; + 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 + +
  9. Download patch debian/ceph-mds.maintscript

    --- 12.2.11+dfsg1-2.1/debian/ceph-mds.maintscript 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mds.maintscript 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -rm_conffile /etc/init/ceph-mds-all-starter.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-mds-all.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-mds.conf 10.2.5-1~
  10. Download patch debian/ceph-mgr.prerm

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr.prerm 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/bin/sh -# vim: set noet ts=8: - -set -e - -case "$1" in - remove) - invoke-rc.d ceph stop mgr || { - RESULT=$? - if [ $RESULT != 100 ]; then - exit $RESULT - fi - } - ;; - - *) - ;; -esac - -#DEBHELPER# - -exit 0
  11. Download patch debian/ceph-base.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-base.install 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-base.install 2019-06-25 07:01:54.000000000 +0000 @@ -1,9 +1,7 @@ ## install from source tree -debian/etc/pm/sleep.d/* /etc/pm/sleep.d/ -etc/init.d/ceph -usr/bin/ceph-debugpack -usr/bin/ceph-detect-init -usr/bin/ceph-kvstore-tool +etc/bash_completion.d/ceph +lib/systemd/system/ceph-crash.service +usr/bin/ceph-crash usr/bin/ceph-run usr/bin/crushtool usr/bin/monmaptool @@ -11,13 +9,9 @@ usr/bin/osdmaptool usr/lib/*/ceph/erasure-code/* usr/lib/*/rados-classes/* usr/lib/ceph/ceph_common.sh -usr/lib/python*/dist-packages/ceph_detect_init* usr/sbin/ceph-create-keys usr/share/doc/ceph/sample.ceph.conf 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-kvstore-tool.8 usr/share/man/man8/ceph-run.8 usr/share/man/man8/crushtool.8 usr/share/man/man8/monmaptool.8
  12. Download patch ceph-menv/mset.sh

    --- 12.2.11+dfsg1-2.1/ceph-menv/mset.sh 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/ceph-menv/mset.sh 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,21 @@ +get_color() { + s=$1 + sum=1 # just so that 'c1' isn't green that doesn't contrast with the rest of my prompt + for i in `seq 1 ${#s}`; do + c=${s:$((i-1)):1}; + o=`printf '%d' "'$c"` + sum=$((sum+$o)) + done + echo $sum +} + +if [ "$1" == "" ]; then + unset MRUN_CLUSTER + unset MRUN_PROMPT +else + export MRUN_CLUSTER=$1 + export MRUN_PROMPT='['${MRUN_CLUSTER}'] ' + col=$(get_color $1) + MRUN_PROMPT_COLOR=$((col%7+31)) +fi +
  13. Download patch alpine/APKBUILD.in

    --- 12.2.11+dfsg1-2.1/alpine/APKBUILD.in 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/alpine/APKBUILD.in 2019-04-25 18:15:48.000000000 +0000 @@ -47,6 +47,7 @@ makedepends=" lvm2-dev nss-dev openldap-dev + krb5-dev parted procps python-dev @@ -168,10 +169,6 @@ package() { # udev rules install -m 0644 -D udev/50-rbd.rules $pkgdir$_udevrulesdir/50-rbd.rules || return 1 - install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules \ - $pkgdir$_udevrulesdir/60-ceph-by-parttypeuuid.rules || return 1 - install -m 0644 -D udev/95-ceph-osd.rules \ - $pkgdir$_udevrulesdir/95-ceph-osd.rules } base() { @@ -190,14 +187,13 @@ base() { xfsprogs " - _pkg $_bindir crushtool monmaptool osdmaptool ceph-run ceph-detect-init + _pkg $_bindir crushtool monmaptool osdmaptool ceph-run _pkg $_sbindir ceph-create-keys mount.ceph _pkg $_libexecdir/ceph ceph_common.sh _pkg $_libdir/rados-classes *.so* _pkg $_libdir/ceph/erasure-code libec_*.so* _pkg $_libdir/ceph/compressor libceph_*.so* _pkg $_sysconfdir/logrotate.d ceph - _pkg $_python_sitelib ceph_detect_init* ceph_disk* for dir in tmp bootstrap-osd bootstrap-mds bootstrap-rgw; do install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ $subpkgdir$_localstatedir/lib/ceph/$dir || return 1 @@ -215,7 +211,6 @@ common() { ceph-dencoder \ ceph-rbdnamer \ ceph-syn \ - ceph-crush-location \ cephfs-data-scan \ cephfs-journal-tool \ cephfs-table-tool \ @@ -297,9 +292,8 @@ osd() { depends="ceph-base parted gptfdisk" _pkg $_bindir ceph-clsinfo ceph-bluefs-tool ceph-objectstore-tool ceph-osd - _pkg $_sbindir ceph-disk + _pkg $_sbindir ceph-volume _pkg $_libexecdir/ceph ceph-osd-prestart.sh - _pkg $_udevrulesdir 60-ceph-by-parttypeuuid.rules 95-ceph-osd.rules install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ $subpkgdir$_localstatedir/lib/ceph/osd } @@ -322,8 +316,7 @@ librados_dev() { page.h \ crc32c.h \ rados_types.h \ - rados_types.hpp \ - memory.h + rados_types.hpp _pkg $_libdir librados.so _pkg $_bindir librados-config } @@ -437,18 +430,13 @@ ceph_test() { ceph_rgw_multiparser \ ceph_scratchtool \ ceph_scratchtoolpp \ - ceph_smalliobench \ - ceph_smalliobenchdumb \ - ceph_smalliobenchfs \ - ceph_smalliobenchrbd \ ceph_test_* \ - ceph_tpbench \ - ceph_xattr_bench \ ceph-coverage \ ceph-monstore-tool \ ceph-osdomap-tool \ ceph-kvstore-tool \ - ceph-debugpack + ceph-debugpack \ + cephdeduptool _pkg $_libdir ceph/ceph-monstore-update-crush.sh }
  14. Download patch debian/calc-max-parallel.sh

    --- 12.2.11+dfsg1-2.1/debian/calc-max-parallel.sh 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/calc-max-parallel.sh 2019-06-18 08:35:34.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Simple tool to calculate max parallel jobs based on +# memory of builder. +# +# MDCache.cc generally runs out of RAM in 4G of memory +# with parallel=4 + +total_ram=$(grep MemTotal /proc/meminfo | awk '{ print $2 }') + +sixteen_g=$((16*1024*1024)) +eight_g=$((8*1024*1024)) +four_g=$((4*1024*1024)) + +if [ ${total_ram} -le ${four_g} ]; then + echo "--max-parallel=2" +elif [ ${total_ram} -le ${eight_g} ]; then + echo "--max-parallel=2" +elif [ ${total_ram} -le ${sixteen_g} ]; then + echo "--max-parallel=4" +fi
  15. Download patch cmake/modules/FindSanitizers.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindSanitizers.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindSanitizers.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,78 @@ +if(NOT Sanitizers_FIND_COMPONENTS) + set(Sanitizers_FIND_COMPONENTS + address undefined_behavior) +endif() +if(HAVE_JEMALLOC) + message(WARNING "JeMalloc does not work well with sanitizers") +endif() + +set(Sanitizers_OPTIONS) + +foreach(component ${Sanitizers_FIND_COMPONENTS}) + if(component STREQUAL "address") + set(Sanitizers_address_COMPILE_OPTIONS "address") + elseif(component STREQUAL "leak") + set(Sanitizers_leak_COMPILE_OPTIONS "leak") + elseif(component STREQUAL "thread") + if ("address" IN_LIST ${Sanitizers_FIND_COMPONENTS} OR + "leak" IN_LIST ${Sanitizers_FIND_COMPONENTS}) + message(SEND_ERROR "Cannot combine -fsanitize-leak w/ -fsanitize-thread") + elseif(NOT CMAKE_POSITION_INDEPENDENT_CODE) + message(SEND_ERROR "TSan requires all code to be position independent") + endif() + set(Sanitizers_Thread_COMPILE_OPTIONS "thread") + elseif(component STREQUAL "undefined_behavior") + set(Sanitizers_undefined_behavior_COMPILE_OPTIONS "undefined") + else() + message(SEND_ERROR "Unsupported sanitizer: ${component}") + endif() + list(APPEND Sanitizers_OPTIONS "${Sanitizers_${component}_COMPILE_OPTIONS}") +endforeach() + +if(Sanitizers_address_COMPILE_OPTIONS OR Sanitizers_leak_COMPILE_OPTIONS) + # ASAN_LIBRARY will be read by ceph.in to preload the asan library + find_library(ASAN_LIBRARY + NAMES + libasan.so.5 + libasan.so.4 + libasan.so.3) +endif() + +if(Sanitizers_OPTIONS) + string(REPLACE ";" "," + Sanitizers_COMPILE_OPTIONS + "${Sanitizers_OPTIONS}") + set(Sanitizers_COMPILE_OPTIONS + "-fsanitize=${Sanitizers_COMPILE_OPTIONS} -fno-omit-frame-pointer") +endif() + +include(CheckCXXSourceCompiles) +set(CMAKE_REQUIRED_FLAGS ${Sanitizers_COMPILE_OPTIONS}) +set(CMAKE_REQUIRED_LIBRARIES ${Sanitizers_COMPILE_OPTIONS}) +check_cxx_source_compiles("int main() {}" + Sanitizers_ARE_SUPPORTED) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Sanitizers + REQUIRED_VARS + Sanitizers_ARE_SUPPORTED + Sanitizers_COMPILE_OPTIONS) + +if(Sanitizers_FOUND) + if(NOT TARGET Sanitizers::Sanitizers) + add_library(Sanitizers::Sanitizers INTERFACE IMPORTED) + set_target_properties(Sanitizers::Sanitizers PROPERTIES + INTERFACE_COMPILE_OPTIONS ${Sanitizers_COMPILE_OPTIONS} + INTERFACE_LINK_LIBRARIES ${Sanitizers_COMPILE_OPTIONS}) + endif() + foreach(component ${Sanitizers_FIND_COMPONENTS}) + if(NOT TARGET Sanitizers::${component}) + set(target Sanitizers::${component}) + set(compile_option "-fsanitize=${Sanitizers_${component}_COMPILE_OPTIONS}") + add_library(${target} INTERFACE IMPORTED) + set_target_properties(${target} PROPERTIES + INTERFACE_COMPILE_OPTIONS ${compile_option} + INTERFACE_LINK_LIBRARIES ${compile_option}) + endif() + endforeach() +endif()
  16. Download patch cmake/modules/BuildQatDrv.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/BuildQatDrv.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/BuildQatDrv.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,33 @@ +## +# Make file for QAT linux driver project +## + +set(qatdrv_root_dir "${CMAKE_BINARY_DIR}/qatdrv") +set(qatdrv_url "https://01.org/sites/default/files/downloads/intelr-quickassist-technology/qat1.7.l.4.2.0-00012.tar.gz") +set(qatdrv_url_hash "SHA256=47990b3283ded748799dba42d4b0e1bdc0be3cf3978bd587533cd12788b03856") +set(qatdrv_config_args "--enable-qat-uio") + +include(ExternalProject) +ExternalProject_Add(QatDrv + URL ${qatdrv_url} + URL_HASH ${qatdrv_url_hash} + CONFIGURE_COMMAND ${qatdrv_env} ./configure ${qatdrv_config_args} + +# Temporarily forcing single thread as multi-threaded make is causing build +# failues. + BUILD_COMMAND make -j1 quickassist-all + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "" + TEST_COMMAND "" + PREFIX ${qatdrv_root_dir}) + +set(QatDrv_INCLUDE_DIRS + ${qatdrv_root_dir}/src/QatDrv/quickassist/include + ${qatdrv_root_dir}/src/QatDrv/quickassist/lookaside/access_layer/include + ${qatdrv_root_dir}/src/QatDrv/quickassist/include/lac + ${qatdrv_root_dir}/src/QatDrv/quickassist/utilities/libusdm_drv + ${qatdrv_root_dir}/src/QatDrv/quickassist/utilities/libusdm_drv/linux/include) + +set(QatDrv_LIBRARIES + ${qatdrv_root_dir}/src/QatDrv/build/libqat_s.so + ${qatdrv_root_dir}/src/QatDrv/build/libusdm_drv_s.so)
  17. Download patch cmake/modules/CheckYasm.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/CheckYasm.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/CheckYasm.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,41 @@ +macro(check_yasm_support _object_format _good_result _better_result) + execute_process( + COMMAND yasm -f "${_object_format}" ${CMAKE_SOURCE_DIR}/src/common/crc32c_intel_fast_asm.s -o /dev/null + RESULT_VARIABLE no_yasm + OUTPUT_QUIET) + if(NOT no_yasm) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64") + set(save_quiet ${CMAKE_REQUIRED_QUIET}) + set(CMAKE_REQUIRED_QUIET true) + include(CheckCXXSourceCompiles) + check_cxx_source_compiles(" + #if defined(__x86_64__) && defined(__ILP32__) + #error x32 + #endif + int main() {} + " not_arch_x32) + set(CMAKE_REQUIRED_QUIET ${save_quiet}) + if(not_arch_x32) + set(${_good_result} TRUE) + execute_process(COMMAND yasm -f ${object_format} -i + ${CMAKE_SOURCE_DIR}/src/isa-l/include/ + ${CMAKE_SOURCE_DIR}/src/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm + -o /dev/null + RESULT_VARIABLE rc + OUTPUT_QUIET) + if(NOT rc) + set(${_better_result} TRUE) + endif(NOT rc) + endif(not_arch_x32) + endif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64") + endif(NOT no_yasm) + if(no_yasm) + message(STATUS "Could NOT find Yasm") + elseif(NOT not_arch_x32) + message(STATUS "Found Yasm: but x86_64 with x32 ABI is not supported") + elseif(${_better_result}) + message(STATUS "Found Yasm: good -- capable of assembling x86_64") + elseif(${_good_result}) + message(STATUS "Found Yasm: better -- capable of assembling AVX2") + endif() +endmacro()
  18. Download patch cmake/modules/BuildDPDK.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/BuildDPDK.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/BuildDPDK.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,138 @@ +function(do_build_dpdk dpdk_dir) + # mk/machine/native/rte.vars.mk + # rte_cflags are extracted from mk/machine/${machine}/rte.vars.mk + # only 3 of them have -march=<arch> defined, so copying them here. + # we need to pass the -march=<arch> to ${cc} as some headers in dpdk + # require it to compile. for instance, dpdk/include/rte_memcpy.h. + if(CMAKE_SYSTEM_PROCESSOR MATCHES "i386") + set(arch "x86_64") + set(machine "default") + set(machine_tmpl "native") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686") + set(arch "i686") + set(machine "default") + set(machine_tmpl "native") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") + set(arch "x86_64") + set(machine "default") + set(machine_tmpl "native") + set(rte_cflags "-march=core2") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM") + set(arch "arm") + set(machine "armv7a") + set(machine_tmpl "armv7a") + set(rte_cflags "-march=armv7-a") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") + set(arch "arm64") + set(machine "armv8a") + set(machine_tmpl "armv8a") + set(rte_cflags "-march=armv8-a+crc") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64") + set(arch "ppc_64") + set(machine "power8") + set(machine_tmpl "power8") + else() + message(FATAL_ERROR "not able to build DPDK support: " + "unknown arch \"${CMAKE_SYSTEM_PROCESSOR}\"") + endif() + set(dpdk_rte_CFLAGS "${rte_cflags}" CACHE INTERNAL "") + if(CMAKE_SYSTEM_NAME MATCHES "Linux") + set(execenv "linuxapp") + elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + set(execenv "bsdapp") + else() + message(FATAL_ERROR "not able to build DPDK support: " + "unsupported OS \"${CMAKE_SYSTEM_NAME}\"") + endif() + + if(CMAKE_C_COMPILER_ID STREQUAL GNU) + set(toolchain "gcc") + elseif(CMAKE_C_COMPILER_ID STREQUAL Clang) + set(toolchain "clang") + elseif(CMAKE_C_COMPILER_ID STREQUAL Intel) + set(toolchain "icc") + else() + message(FATAL_ERROR "not able to build DPDK support: " + "unknown compiler \"${CMAKE_C_COMPILER_ID}\"") + endif() + + set(target "${arch}-${machine_tmpl}-${execenv}-${toolchain}") + + execute_process( + COMMAND ${CMAKE_MAKE_PROGRAM} showconfigs + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/spdk/dpdk + OUTPUT_VARIABLE supported_targets + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE "\n" ";" supported_targets "${supported_targets}") + list(FIND supported_targets ${target} found) + if(found EQUAL -1) + message(FATAL_ERROR "not able to build DPDK support: " + "unsupported target. " + "\"${target}\" not listed in ${supported_targets}") + endif() + + include(ExternalProject) + ExternalProject_Add(dpdk-ext + SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/spdk/dpdk + CONFIGURE_COMMAND $(MAKE) config O=${dpdk_dir} T=${target} + BUILD_COMMAND env CC=${CMAKE_C_COMPILER} $(MAKE) O=${dpdk_dir} EXTRA_CFLAGS=-fPIC + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "true") + ExternalProject_Add_Step(dpdk-ext patch-config + COMMAND ${CMAKE_MODULE_PATH}/patch-dpdk-conf.sh ${dpdk_dir} ${machine} ${arch} + DEPENDEES configure + DEPENDERS build) + # easier to adjust the config + ExternalProject_Add_StepTargets(dpdk-ext configure patch-config build) +endfunction() + +function(build_dpdk dpdk_dir) + do_build_dpdk(${dpdk_dir}) + set(DPDK_INCLUDE_DIR ${dpdk_dir}/include) + # create the directory so cmake won't complain when looking at the imported + # target + file(MAKE_DIRECTORY ${DPDK_INCLUDE_DIR}) + + if(NOT TARGET dpdk::cflags) + add_library(dpdk::cflags INTERFACE IMPORTED) + if (dpdk_rte_CFLAGS) + set_target_properties(dpdk::cflags PROPERTIES + INTERFACE_COMPILE_OPTIONS "${dpdk_rte_CFLAGS}") + endif() + endif() + + foreach(c + bus_pci + eal + ethdev + kvargs + mbuf + mempool + mempool_ring + pci + ring) + add_library(dpdk::${c} STATIC IMPORTED) + add_dependencies(dpdk::${c} dpdk-ext) + set(dpdk_${c}_LIBRARY + "${dpdk_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}rte_${c}${CMAKE_STATIC_LIBRARY_SUFFIX}") + set_target_properties(dpdk::${c} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${DPDK_INCLUDE_DIR} + INTERFACE_LINK_LIBRARIES dpdk::cflags + IMPORTED_LOCATION "${dpdk_${c}_LIBRARY}") + list(APPEND DPDK_LIBRARIES dpdk::${c}) + list(APPEND DPDK_ARCHIVES "${dpdk_${c}_LIBRARY}") + endforeach() + + add_library(dpdk::dpdk INTERFACE IMPORTED) + add_dependencies(dpdk::dpdk + ${DPDK_LIBRARIES}) + # workaround for https://gitlab.kitware.com/cmake/cmake/issues/16947 + set_target_properties(dpdk::dpdk PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${DPDK_INCLUDE_DIR} + INTERFACE_LINK_LIBRARIES + "-Wl,--whole-archive $<JOIN:${DPDK_ARCHIVES}, > -Wl,--no-whole-archive") + if(dpdk_rte_CFLAGS) + set_target_properties(dpdk::dpdk PROPERTIES + INTERFACE_COMPILE_OPTIONS "${dpdk_rte_CFLAGS}") + endif() +endfunction()
  19. Download patch cmake/modules/Findfcgi.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findfcgi.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findfcgi.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -14,8 +14,6 @@ find_library(FCGI_LIBRARY NAMES fcgi lib /usr/local/lib /usr/lib) -# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if -# all listed variables are TRUE include(FindPackageHandleStandardArgs) find_package_handle_standard_args(fcgi DEFAULT_MSG FCGI_LIBRARY FCGI_INCLUDE_DIR)
  20. Download patch debian/ceph-common.rbdmap.init

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.rbdmap.init 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.rbdmap.init 2019-04-25 18:15:48.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # rbdmap Ceph RBD Mapping # @@ -29,11 +29,11 @@ fi case "$1" in start) - rbdmap map + rbdmap device map ;; stop) - rbdmap unmap + rbdmap device unmap ;; restart|force-reload) @@ -42,11 +42,11 @@ case "$1" in ;; reload) - rbdmap map + rbdmap device map ;; status) - rbd showmapped + rbd device list ;; *)
  21. Download patch debian/ceph-common.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.postinst 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.postinst 2019-05-30 14:06:18.000000000 +0000 @@ -34,6 +34,20 @@ set -e # Groups that the user will be added to, if undefined, then none. [ -z "$SERVER_ADDGROUP" ] && SERVER_ADDGROUP= +# Custom dpkg-maintscript-helper type function to deal with +# nested /etc/default/ceph/ceph +finish_mv_ceph_defaults() { + rm -rf "/etc/default/ceph.dpkg-backup/ceph.dpkg-remove" + + [ -e "/etc/default/ceph.dpkg-backup/ceph" ] || return 0 + + echo "Preserving user changes to /etc/default/ceph (renamed from /etc/default/ceph/ceph)..." + if [ -f "/etc/default/ceph" ]; then + mv -f "/etc/default/ceph" "/etc/default/ceph.dpkg-new" + fi + mv -f "/etc/default/ceph.dpkg-backup/ceph" "/etc/default/ceph" +} + case "$1" in configure) # create user to avoid running server as root @@ -79,7 +93,18 @@ case "$1" in # create /run/ceph. fail softly if systemd isn't present or # something. - which systemd-tmpfiles > /dev/null && systemd-tmpfiles --create || true + [ -x /bin/systemd-tmpfiles ] && systemd-tmpfiles --create || true + + # Complete renames of /etc/default/ceph + if [ -n "$2" ] && + dpkg --compare-versions -- "$2" le-nl 10.2.1-0ubuntu1; then + finish_mv_ceph_defaults + # Preserve dpkg-backup directory if it still contains + # any file + if ! ls -1qA "/etc/default/ceph.dpkg-backup" | grep -q . ; then + rm -rf "/etc/default/ceph.dpkg-backup" + fi + fi ;; abort-upgrade|abort-remove|abort-deconfigure) :
  22. Download patch debian/ceph-mgr-dashboard.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-dashboard.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-dashboard.install 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1 @@ +usr/share/ceph/mgr/dashboard
  23. Download patch debian/cephfs-shell.install

    --- 12.2.11+dfsg1-2.1/debian/cephfs-shell.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/cephfs-shell.install 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1,2 @@ +usr/bin/cephfs-shell +usr/lib/python3*/dist-packages/cephfs_shell-*.egg-info
  24. Download patch cmake/modules/Findsnappy.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findsnappy.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findsnappy.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -5,19 +5,34 @@ # SNAPPY_LIBRARIES - List of libraries when using snappy. # SNAPPY_FOUND - True if snappy found. +find_package(PkgConfig QUIET REQUIRED) +pkg_search_module(PC_snappy + snappy QUIET) + find_path(SNAPPY_INCLUDE_DIR NAMES snappy.h - HINTS ${SNAPPY_ROOT_DIR}/include) + HINTS + ${PC_snappy_INCLUDE_DIRS} + ${SNAPPY_ROOT_DIR}/include) find_library(SNAPPY_LIBRARIES NAMES snappy - HINTS ${SNAPPY_ROOT_DIR}/lib) + HINTS + ${PC_snappy_LIBRARY_DIRS} + ${SNAPPY_ROOT_DIR}/lib) -# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if -# all listed variables are TRUE include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(snappy DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR) +find_package_handle_standard_args(snappy + DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR) mark_as_advanced( SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR) + +if(snappy_FOUND AND NOT (TARGET snappy::snappy)) + add_library(snappy::snappy UNKNOWN IMPORTED) + set_target_properties(snappy::snappy PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SNAPPY_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${SNAPPY_LIBRARIES}") +endif()
  25. Download patch debian/ceph-mgr-diskprediction-local.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-diskprediction-local.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-diskprediction-local.install 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1 @@ +usr/share/ceph/mgr/diskprediction_local
  26. Download patch ceph-menv/mdo.sh

    --- 12.2.11+dfsg1-2.1/ceph-menv/mdo.sh 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/ceph-menv/mdo.sh 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,16 @@ +#!/bin/bash +cmd=`basename $0` +MENV_ROOT=`dirname $0`/.. + +if [ -f $MENV_ROOT/.menvroot ]; then + . $MENV_ROOT/.menvroot +fi + +[ "$MRUN_CEPH_ROOT" == "" ] && MRUN_CEPH_ROOT=$HOME/ceph + +if [ "$MRUN_CLUSTER" == "" ]; then + ${MRUN_CEPH_ROOT}/build/bin/$cmd "$@" + exit $? +fi + +${MRUN_CEPH_ROOT}/src/mrun $MRUN_CLUSTER $cmd "$@"
  27. Download patch cmake/modules/FindLZ4.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindLZ4.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindLZ4.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -32,3 +32,12 @@ find_package_handle_standard_args(LZ4 VERSION_VAR LZ4_VERSION_STRING) mark_as_advanced(LZ4_INCLUDE_DIR LZ4_LIBRARY) + +if(LZ4_FOUND AND NOT (TARGET LZ4::LZ4)) + add_library(LZ4::LZ4 UNKNOWN IMPORTED) + set_target_properties(LZ4::LZ4 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${LZ4_LIBRARY}" + VERSION "${LZ4_VERSION_STRING}") +endif()
  28. Download patch debian/ceph-mgr-ssh.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-ssh.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-ssh.install 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1 @@ +usr/share/ceph/mgr/ssh
  29. Download patch debian/ceph-base.preinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-base.preinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-base.preinst 2019-05-30 14:06:18.000000000 +0000 @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +dpkg-maintscript-helper rm_conffile \ + /etc/logrotate.d/ceph-base 10.2.3-0ubuntu5~ -- "$@" + +#DEBHELPER# + +exit 0
  30. Download patch debian/ceph-common.logrotate

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.logrotate 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.logrotate 2019-04-25 18:15:48.000000000 +0000 @@ -4,7 +4,7 @@ compress sharedscripts postrotate - killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw || true + killall -q -1 ceph-mon ceph-mgr ceph-mds ceph-osd ceph-fuse radosgw || pkill -1 -x "ceph-mon|ceph-mgr|ceph-mds|ceph-osd|ceph-fuse|radosgw" || true endscript missingok notifempty
  31. Download patch debian/ceph-base.postrm

    --- 12.2.11+dfsg1-2.1/debian/ceph-base.postrm 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-base.postrm 2019-05-30 14:06:18.000000000 +0000 @@ -0,0 +1,50 @@ +#!/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 + +dpkg-maintscript-helper rm_conffile \ + /etc/logrotate.d/ceph-base 10.2.3-0ubuntu5~ -- "$@" + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + +
  32. Download patch debian/ceph.maintscript

    --- 12.2.11+dfsg1-2.1/debian/ceph.maintscript 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph.maintscript 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -rm_conffile /etc/bash_completion.d/ceph 10.2.5-1~ -rm_conffile /etc/init/ceph-all.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-create-keys.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-mon-all-starter.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-mon-all.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-mon.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-osd-all-starter.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-osd-all.conf 10.2.5-1~ -rm_conffile /etc/init/ceph-osd.conf 10.2.5-1~ -rm_conffile /etc/init/rbdmap.conf 10.2.5-1~ -rm_conffile /etc/logrotate.d/ceph 10.2.3-0ubuntu5~
  33. Download patch cmake/modules/SIMDExt.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/SIMDExt.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/SIMDExt.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -1,4 +1,4 @@ -# detect SIMD extentions +# detect SIMD extensions # # HAVE_ARMV8_CRC # HAVE_ARMV8_SIMD @@ -16,49 +16,21 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") set(HAVE_ARM 1) - set(save_quiet ${CMAKE_REQUIRED_QUIET}) - set(CMAKE_REQUIRED_QUIET true) - include(CheckCXXSourceCompiles) - - check_cxx_source_compiles(" - #define CRC32CX(crc, value) __asm__(\"crc32cx %w[c], %w[c], %x[v]\":[c]\"+r\"(crc):[v]\"r\"(value)) - asm(\".arch_extension crc\"); - unsigned int foo(unsigned int ret) { - CRC32CX(ret, 0); - return ret; - } - int main() { foo(0); }" HAVE_ARMV8_CRC) - check_cxx_source_compiles(" - asm(\".arch_extension crypto\"); - unsigned int foo(unsigned int ret) { - __asm__(\"pmull v2.1q, v2.1d, v1.1d\"); - return ret; - } - int main() { foo(0); }" HAVE_ARMV8_CRYPTO) - - set(CMAKE_REQUIRED_QUIET ${save_quiet}) - if(HAVE_ARMV8_CRC) - message(STATUS " aarch64 crc extensions supported") - endif() - - if(HAVE_ARMV8_CRYPTO) - message(STATUS " aarch64 crypto extensions supported") - endif() - CHECK_C_COMPILER_FLAG(-march=armv8-a+crc+crypto HAVE_ARMV8_CRC_CRYPTO_MARCH) - - # don't believe only the -march support; gcc 4.8.5 on RHEL/CentOS says - # it supports +crc but hasn't got the intrinsics or arm_acle.h. Test for - # the actual presence of one of the intrinsic functions. - if(HAVE_ARMV8_CRC_CRYPTO_MARCH) - check_cxx_source_compiles(" - #include <inttypes.h> - int main() { uint32_t a; uint8_t b; __builtin_aarch64_crc32b(a, b); } - " HAVE_ARMV8_CRC_CRYPTO_INTRINSICS) - endif() + include(CheckCCompilerFlag) + check_c_compiler_flag(-march=armv8-a+crc+crypto HAVE_ARMV8_CRC_CRYPTO_INTRINSICS) if(HAVE_ARMV8_CRC_CRYPTO_INTRINSICS) - message(STATUS " aarch64 crc+crypto intrinsics supported") - set(ARMV8_CRC_COMPILE_FLAGS "${ARMV8_CRC_COMPILE_FLAGS} -march=armv8-a+crc+crypto") + set(ARMV8_CRC_COMPILE_FLAGS "-march=armv8-a+crc+crypto") + set(HAVE_ARMV8_CRC TRUE) + set(HAVE_ARMV8_CRYPTO TRUE) + else() + check_c_compiler_flag(-march=armv8-a+crc HAVE_ARMV8_CRC) + check_c_compiler_flag(-march=armv8-a+crypto HAVE_ARMV8_CRYPTO) + if(HAVE_ARMV8_CRC) + set(ARMV8_CRC_COMPILE_FLAGS "-march=armv8-a+crc") + elseif(HAVE_ARMV8_CRYPTO) + set(ARMV8_CRC_COMPILE_FLAGS "-march=armv8-a+crypto") + endif() endif() CHECK_C_COMPILER_FLAG(-march=armv8-a+simd HAVE_ARMV8_SIMD) @@ -107,9 +79,14 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i endif() endif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64") -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le") - set(HAVE_PPC64LE 1) - message(STATUS " we are ppc64le") +elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64|(powerpc|ppc)64le") + if(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le") + set(HAVE_PPC64LE 1) + message(STATUS " we are ppc64le") + else() + set(HAVE_PPC64 1) + message(STATUS " we are ppc64") + endif(CMAKE_SYSTEM_PROCESSOR MATCHES "(powerpc|ppc)64le") CHECK_C_COMPILER_FLAG("-maltivec" HAS_ALTIVEC) if(HAS_ALTIVEC) message(STATUS " HAS_ALTIVEC yes")
  34. Download patch debian/ceph-base.dirs

    --- 12.2.11+dfsg1-2.1/debian/ceph-base.dirs 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-base.dirs 2019-06-25 07:01:54.000000000 +0000 @@ -1,6 +1,8 @@ var/lib/ceph/bootstrap-mds var/lib/ceph/bootstrap-mgr var/lib/ceph/bootstrap-osd -var/lib/ceph/bootstrap-rgw var/lib/ceph/bootstrap-rbd +var/lib/ceph/bootstrap-rbd-mirror +var/lib/ceph/bootstrap-rgw +var/lib/ceph/crash/posted var/lib/ceph/tmp
  35. Download patch cmake/modules/Findrdmacm.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findrdmacm.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findrdmacm.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,26 @@ +# - Find rdma cm +# Find the rdma cm library and includes +# +# RDMACM_INCLUDE_DIR - where to find cma.h, etc. +# RDMACM_LIBRARIES - List of libraries when using rdmacm. +# RDMACM_FOUND - True if rdmacm found. + +find_path(RDMACM_INCLUDE_DIR rdma/rdma_cma.h) +find_library(RDMACM_LIBRARIES rdmacm) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(rdmacm DEFAULT_MSG RDMACM_LIBRARIES RDMACM_INCLUDE_DIR) + +if(RDMACM_FOUND) + if(NOT TARGET RDMA::RDMAcm) + add_library(RDMA::RDMAcm UNKNOWN IMPORTED) + endif() + set_target_properties(RDMA::RDMAcm PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${RDMACM_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${RDMACM_LIBRARIES}") +endif() + +mark_as_advanced( + RDMACM_LIBRARIES +)
  36. Download patch cmake/modules/Findrdma.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findrdma.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findrdma.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -# - Find rdma -# Find the rdma library and includes -# -# RDMA_INCLUDE_DIR - where to find ibverbs.h, etc. -# RDMA_LIBRARIES - List of libraries when using ibverbs. -# RDMA_FOUND - True if ibverbs found. - -find_path(RDMA_INCLUDE_DIR infiniband/verbs.h) - -set(RDMA_NAMES ${RDMA_NAMES} ibverbs) -find_library(RDMA_LIBRARY NAMES ${RDMA_NAMES}) - -if (RDMA_INCLUDE_DIR AND RDMA_LIBRARY) - set(RDMA_FOUND TRUE) - set(RDMA_LIBRARIES ${RDMA_LIBRARY}) -else () - set(RDMA_FOUND FALSE) - set( RDMA_LIBRARIES ) -endif () - -if (RDMA_FOUND) - message(STATUS "Found libibverbs: ${RDMA_LIBRARY}") - - include(CheckCXXSourceCompiles) - CHECK_CXX_SOURCE_COMPILES(" - #include <infiniband/verbs.h> - int main() { - struct ibv_context* ctxt; - struct ibv_exp_gid_attr gid_attr; - ibv_exp_query_gid_attr(ctxt, 1, 0, &gid_attr); - return 0; - } " HAVE_IBV_EXP) - -else () - message(STATUS "Not Found libibverbs: ${RDMA_LIBRARY}") - if (RDMA_FIND_REQUIRED) - message(STATUS "Looked for libibverbs named ${RDMA_NAMES}.") - message(FATAL_ERROR "Could NOT find libibverbs") - endif () -endif () - -# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(ibverbs DEFAULT_MSG RDMA_LIBRARIES RDMA_INCLUDE_DIR) - -mark_as_advanced( - RDMA_LIBRARY -)
  37. Download patch cmake/modules/FindBoost.cmake
  38. Download patch debian/ceph-common.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.install 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.install 2019-06-25 07:01:54.000000000 +0000 @@ -1,16 +1,15 @@ #!/usr/bin/dh-exec --with=install -etc/bash_completion.d/ceph /usr/share/bash-completion/completions/ -etc/bash_completion.d/rados /usr/share/bash-completion/completions/ -etc/bash_completion.d/radosgw-admin /usr/share/bash-completion/completions/ -etc/bash_completion.d/rbd /usr/share/bash-completion/completions/ -src/etc-rbdmap => etc/ceph/rbdmap +etc/bash_completion.d/rados +etc/bash_completion.d/radosgw-admin +etc/bash_completion.d/rbd +lib/systemd/system/ceph.target +lib/systemd/system/rbdmap.service +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 @@ -22,8 +21,6 @@ usr/bin/rbd-replay* usr/bin/rbdmap usr/lib/*/ceph/compressor/* usr/lib/*/ceph/crypto/* [amd64] -usr/lib/python*/dist-packages/ceph_argparse.py -usr/lib/python*/dist-packages/ceph_daemon.py usr/sbin/mount.ceph sbin usr/share/ceph/id_rsa_drop.ceph.com usr/share/ceph/id_rsa_drop.ceph.com.pub @@ -40,4 +37,3 @@ usr/share/man/man8/rados.8 usr/share/man/man8/radosgw-admin.8 usr/share/man/man8/rbd-replay*.8 usr/share/man/man8/rbd.8 -usr/share/man/man8/rbdmap.8
  39. Download patch cmake/modules/FindGSSApi.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindGSSApi.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindGSSApi.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,22 @@ +# - Find KRB5/GSSAPI C Libraries +# +# GSSAPI_FOUND - True if found. +# GSSAPI_INCLUDE_DIR - Path to the KRB5/gssapi include directory +# GSSAPI_LIBRARIES - Paths to the KRB5/gssapi libraries + +find_path(GSSAPI_INCLUDE_DIR gssapi.h PATHS + /usr/include + /opt/local/include + /usr/local/include) + +find_library(GSSAPI_KRB5_LIBRARY gssapi_krb5) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GSSApi DEFAULT_MSG + GSSAPI_INCLUDE_DIR GSSAPI_KRB5_LIBRARY) + +set(GSSAPI_LIBRARIES ${GSSAPI_KRB5_LIBRARY}) + +mark_as_advanced( + GSSAPI_INCLUDE_DIR GSSAPI_KRB5_LIBRARY) +
  40. Download patch CMakeLists.txt
  41. Download patch cmake/modules/Findgperftools.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findgperftools.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findgperftools.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -1,23 +1,76 @@ # Try to find gperftools # Once done, this will define # -# GPERFTOOLS_FOUND - system has Profiler +# gperftools_FOUND - system has Profiler # GPERFTOOLS_INCLUDE_DIR - the Profiler include directories # Tcmalloc_INCLUDE_DIR - where to find Tcmalloc.h # GPERFTOOLS_TCMALLOC_LIBRARY - link it to use tcmalloc # GPERFTOOLS_TCMALLOC_MINIMAL_LIBRARY - link it to use tcmalloc_minimal # GPERFTOOLS_PROFILER_LIBRARY - link it to use Profiler +# TCMALLOC_VERSION_STRING +# TCMALLOC_VERSION_MAJOR +# TCMALLOC_VERSION_MINOR +# TCMALLOC_VERSION_PATCH -find_path(GPERFTOOLS_INCLUDE_DIR gperftools/profiler.h) -find_path(Tcmalloc_INCLUDE_DIR gperftools/tcmalloc.h) +find_path(GPERFTOOLS_INCLUDE_DIR gperftools/profiler.h + HINTS $ENV{GPERF_ROOT}/include) +find_path(Tcmalloc_INCLUDE_DIR gperftools/tcmalloc.h + HINTS $ENV{GPERF_ROOT}/include) + +if(Tcmalloc_INCLUDE_DIR AND EXISTS "${Tcmalloc_INCLUDE_DIR}/gperftools/tcmalloc.h") + foreach(ver "MAJOR" "MINOR" "PATCH") + file(STRINGS "${Tcmalloc_INCLUDE_DIR}/gperftools/tcmalloc.h" TC_VER_${ver}_LINE + REGEX "^#define[ \t]+TC_VERSION_${ver}[ \t]+[^ \t]+$") + string(REGEX REPLACE "^#define[ \t]+TC_VERSION_${ver}[ \t]+(\".)?([0-9]*)\"?$" + "\\2" TCMALLOC_VERSION_${ver} "${TC_VER_${ver}_LINE}") + unset(TC_VER_${ver}_LINE) + endforeach() + set(TCMALLOC_VERSION_STRING "${TCMALLOC_VERSION_MAJOR}.${TCMALLOC_VERSION_MINOR}") + if(NOT TCMALLOC_VERSION_PATCH STREQUAL "") + set(TCMALLOC_VERSION_STRING "${TCMALLOC_VERSION_STRING}.${TCMALLOC_VERSION_PATCH}") + endif() +endif() foreach(component tcmalloc tcmalloc_minimal profiler) string(TOUPPER ${component} COMPONENT) - find_library(GPERFTOOLS_${COMPONENT}_LIBRARY ${component}) + find_library(GPERFTOOLS_${COMPONENT}_LIBRARY ${component} + HINTS $ENV{GPERF_ROOT}/lib) list(APPEND GPERFTOOLS_LIBRARIES GPERFTOOLS_${COMPONENT}_LIBRARY) endforeach() +set(_gperftools_FIND_REQUIRED_VARS "GPERFTOOLS_INCLUDE_DIR") +if(gperftools_FIND_COMPONENTS) + foreach(component ${gperftools_FIND_COMPONENTS}) + string(TOUPPER ${component} COMPONENT) + list(APPEND _gperftools_FIND_REQUIRED_VARS "GPERFTOOLS_${COMPONENT}_LIBRARY") + endforeach() +else() + list(APPEND _gperftools_FIND_REQUIRED_VARS "GPERFTOOLS_LIBRARIES") +endif() + include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(gperftools DEFAULT_MSG GPERFTOOLS_LIBRARIES GPERFTOOLS_INCLUDE_DIR) +find_package_handle_standard_args(gperftools + FOUND_VAR gperftools_FOUND + REQUIRED_VARS ${_gperftools_FIND_REQUIRED_VARS} + VERSION_VAR TCMALLOC_VERSION_STRING) + +mark_as_advanced(${GPERFTOOLS_LIBRARIES} GPERFTOOLS_INCLUDE_DIR) -mark_as_advanced(GPERFTOOLS_LIBRARIES GPERFTOOLS_INCLUDE_DIR) +if(gperftools_FOUND) + foreach(component tcmalloc tcmalloc_minimal profiler) + if(NOT (TARGET gperftools::${component})) + string(TOUPPER ${component} COMPONENT) + add_library(gperftools::${component} UNKNOWN IMPORTED) + set_target_properties(gperftools::${component} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${GPERFTOOLS_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GPERFTOOLS_${COMPONENT}_LIBRARY}") + endif() + endforeach() + foreach(component tcmalloc tcmalloc_minimal) + if(NOT (TARGET gperftools::${component})) + set_target_properties(gperftools::${component} PROPERTIES + INTERFACE_COMPILE_OPTIONS "-fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free") + endif() + endforeach() +endif()
  42. Download patch cmake/modules/Findfio.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findfio.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findfio.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -4,7 +4,7 @@ # FIO_INCLUDE_DIR - where to find fio.h # FIO_FOUND - True if fio is found. -find_path(FIO_INCLUDE_DIR NAMES fio.h HINTS ${FIO_ROOT_DIR}) +find_path(FIO_INCLUDE_DIR NAMES fio.h HINTS ENV FIO_ROOT_DIR) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(fio DEFAULT_MSG FIO_INCLUDE_DIR)
  43. Download patch debian/ceph-mgr-diskprediction-cloud.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-diskprediction-cloud.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-diskprediction-cloud.install 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1 @@ +usr/share/ceph/mgr/diskprediction_cloud
  44. Download patch debian/ceph-mon.lintian-overrides

    --- 12.2.11+dfsg1-2.1/debian/ceph-mon.lintian-overrides 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mon.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# Ceph service files define their own targets which are then WantedBy -# multi-user.target -systemd-service-file-refers-to-unusual-wantedby-target lib/systemd/system/ceph-mon@.service ceph-mon.target
  45. Download patch cmake/modules/Findqatzip.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findqatzip.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findqatzip.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,17 @@ +# - Find Qatzip +# Find the qatzip compression library and includes +# +# QATZIP_INCLUDE_DIR - where to find qatzip.h, etc. +# QATZIP_LIBRARIES - List of libraries when using qatzip. +# QATZIP_FOUND - True if qatzip found. + +find_path(QATZIP_INCLUDE_DIR NAMES qatzip.h) + +find_library(QATZIP_LIBRARIES NAMES qatzip) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(qatzip DEFAULT_MSG QATZIP_LIBRARIES QATZIP_INCLUDE_DIR) + +mark_as_advanced( + QATZIP_LIBRARIES + QATZIP_INCLUDE_DIR)
  46. Download patch debian/ceph-mgr-ssh.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-ssh.postinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-ssh.postinst 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1,43 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph-mgr-ssh +# +# 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 + +case "$1" in + configure) + # attempt to load the plugin if the mgr is running + deb-systemd-invoke try-restart ceph-mgr.target + ;; + 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 + +
  47. Download patch cmake/modules/FindJeMalloc.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindJeMalloc.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindJeMalloc.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -3,7 +3,7 @@ # JEMALLOC_INCLUDE_DIRS, where to find jemalloc.h, Set when # JEMALLOC_INCLUDE_DIR is found. # JEMALLOC_LIBRARIES, libraries to link against to use JeMalloc. -# JEMALLOC_FOUND, If false, do not try to use JeMalloc. +# JeMalloc_FOUND, If false, do not try to use JeMalloc. # find_path(JEMALLOC_INCLUDE_DIR jemalloc/jemalloc.h) @@ -11,10 +11,18 @@ find_path(JEMALLOC_INCLUDE_DIR jemalloc/ find_library(JEMALLOC_LIBRARIES jemalloc) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(JeMalloc DEFAULT_MSG - JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) +find_package_handle_standard_args(JeMalloc + FOUND_VAR JeMalloc_FOUND + REQUIRED_VARS JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) mark_as_advanced( JEMALLOC_INCLUDE_DIR JEMALLOC_LIBRARIES) +if(JeMalloc_FOUND AND NOT (TARGET JeMalloc::JeMalloc)) + add_library(JeMalloc::JeMalloc UNKNOWN IMPORTED) + set_target_properties(JeMalloc::JeMalloc PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${JEMALLOC_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${JEMALLOC_LIBRARIES}") +endif()
  48. Download patch cmake/modules/Findc-ares.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findc-ares.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findc-ares.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,30 @@ +find_package(PkgConfig QUIET) + +pkg_search_module(PC_cares + libcares) + +find_path(c-ares_INCLUDE_DIR + NAMES ares_dns.h + PATHS ${PC_cares_INCLUDE_DIRS}) + +find_library(c-ares_LIBRARY + NAMES cares + PATHS ${PC_cares_LIBRARY_DIRS}) + +set(c-ares_VERSION ${PC_cares_VERSION}) + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(c-ares + REQUIRED_VARS + c-ares_INCLUDE_DIR + c-ares_LIBRARY + VERSION_VAR c-ares_VERSION) + +if(c-ares_FOUND AND NOT (TARGET c-ares::c-ares)) + add_library(c-ares::c-ares UNKNOWN IMPORTED) + set_target_properties(c-ares::c-ares PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${c-ares_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${c-ares_LIBRARY}") +endif()
  49. Download patch debian/ceph-fs-common.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-fs-common.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-fs-common.install 2019-05-30 14:06:18.000000000 +0000 @@ -0,0 +1,4 @@ +usr/bin/cephfs +usr/sbin/mount.ceph sbin +usr/share/man/man8/cephfs.8 +usr/share/man/man8/mount.ceph.8
  50. Download patch cmake/modules/Distutils.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Distutils.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Distutils.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -20,7 +20,9 @@ function(distutils_install_module name) if(EXISTS /etc/debian_version) list(APPEND options --install-layout=deb) endif() - list(APPEND options --root=\$ENV{DESTDIR}) + list(APPEND options + --root=\$ENV{DESTDIR} + --single-version-externally-managed) if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\") list(APPEND options --install-script=${DU_INSTALL_SCRIPT}) endif() @@ -34,20 +36,36 @@ endfunction(distutils_install_module) function(distutils_add_cython_module name src) get_property(compiler_launcher GLOBAL PROPERTY RULE_LAUNCH_COMPILE) get_property(link_launcher GLOBAL PROPERTY RULE_LAUNCH_LINK) - set(PY_CC \"${compiler_launcher} ${CMAKE_C_COMPILER}\") - set(PY_CXX \"${compiler_launcher} ${CMAKE_CXX_COMPILER}\") - set(PY_LDSHARED \"${link_launcher} ${CMAKE_C_COMPILER} -shared\") + # When using ccache, CMAKE_C_COMPILER is ccache executable absolute path + # and the actual C compiler is CMAKE_C_COMPILER_ARG1. + # However with a naive + # set(PY_CC ${compiler_launcher} ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}) + # distutils tries to execve something like "/usr/bin/cmake gcc" and fails. + # Removing the leading whitespace from CMAKE_C_COMPILER_ARG1 helps to avoid + # the failure. + string(STRIP "${CMAKE_C_COMPILER_ARG1}" c_compiler_arg1) + string(STRIP "${CMAKE_CXX_COMPILER_ARG1}" cxx_compiler_arg1) + # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc" + # CMake's implicit conversion between strings and lists is wonderful, isn't it? + string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS}) + list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w) + # This little bit of magic wipes out __Pyx_check_single_interpreter() + # Note: this is reproduced in distutils_install_cython_module + list(APPEND cflags -D'void0=dead_function\(void\)') + list(APPEND cflags -D'__Pyx_check_single_interpreter\(ARG\)=ARG \#\# 0') + set(PY_CC ${compiler_launcher} ${CMAKE_C_COMPILER} ${c_compiler_arg1} ${cflags}) + set(PY_CXX ${compiler_launcher} ${CMAKE_CXX_COMPILER} ${cxx_compiler_arg1}) + set(PY_LDSHARED ${link_launcher} ${CMAKE_C_COMPILER} ${c_compiler_arg1} "-shared") add_custom_target(${name} ALL COMMAND env - CC=${PY_CC} - CXX=${PY_CXX} - LDSHARED=${PY_LDSHARED} + CC="${PY_CC}" + CXX="${PY_CXX}" + LDSHARED="${PY_LDSHARED}" OPT=\"-DNDEBUG -g -fwrapv -O2 -w\" LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY} CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR} CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} - CFLAGS=\"-iquote${CMAKE_SOURCE_DIR}/src/include -w\" ${PYTHON${PYTHON_VERSION}_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py build --verbose --build-base ${CYTHON_MODULE_DIR} --build-platlib ${CYTHON_MODULE_DIR}/lib.${PYTHON${PYTHON_VERSION}_VERSION_MAJOR} @@ -56,7 +74,20 @@ function(distutils_add_cython_module nam endfunction(distutils_add_cython_module) function(distutils_install_cython_module name) + get_property(compiler_launcher GLOBAL PROPERTY RULE_LAUNCH_COMPILE) + get_property(link_launcher GLOBAL PROPERTY RULE_LAUNCH_LINK) + set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER}") + set(PY_LDSHARED "${link_launcher} ${CMAKE_C_COMPILER} -shared") install(CODE " + set(ENV{CC} \"${PY_CC}\") + set(ENV{LDSHARED} \"${PY_LDSHARED}\") + set(ENV{CPPFLAGS} \"-iquote${CMAKE_SOURCE_DIR}/src/include + -D'void0=dead_function\(void\)' \ + -D'__Pyx_check_single_interpreter\(ARG\)=ARG \#\# 0'\") + set(ENV{LDFLAGS} \"-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\") + set(ENV{CYTHON_BUILD_DIR} \"${CMAKE_CURRENT_BINARY_DIR}\") + set(ENV{CEPH_LIBDIR} \"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\") + set(options --prefix=${CMAKE_INSTALL_PREFIX}) if(DEFINED ENV{DESTDIR}) if(EXISTS /etc/debian_version) @@ -67,12 +98,7 @@ function(distutils_install_cython_module list(APPEND options --root=/) endif() execute_process( - COMMAND env - CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR} - CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} - CC=${CMAKE_C_COMPILER} - CPPFLAGS=\"-iquote${CMAKE_SOURCE_DIR}/src/include\" - LDFLAGS=\"-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\" + COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py build --verbose --build-base ${CYTHON_MODULE_DIR} --build-platlib ${CYTHON_MODULE_DIR}/lib.${PYTHON${PYTHON_VERSION}_VERSION_MAJOR}
  51. Download patch ceph.spec
  52. Download patch debian/ceph-common.preinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.preinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.preinst 2019-05-30 14:06:18.000000000 +0000 @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +# Custom dpkg-maintscript-helper type function to deal with +# nested /etc/default/ceph/ceph +prepare_mv_ceph_defaults() { + local md5sum old_md5sum + md5sum="$(md5sum "/etc/default/ceph/ceph" | sed -e 's/ .*//')" + old_md5sum="$(dpkg-query -W -f='${Conffiles}' "ceph-common" | \ + sed -n -e "\'^ /etc/default/ceph/ceph ' { s/ obsolete$//; s/.* //; p }")" + if [ "$md5sum" = "$old_md5sum" ]; then + mv -f "/etc/default/ceph/ceph" "/etc/default/ceph/ceph.dpkg-remove" + mv -f "/etc/default/ceph" "/etc/default/ceph.dpkg-backup" + fi +} + +case "$1" in + upgrade|install) + if [ -d /etc/default/ceph ] && [ -n "$2" ] && + dpkg --compare-versions -- "$2" le-nl 10.2.1-0ubuntu1; then + prepare_mv_ceph_defaults + fi + ;; +esac + +#DEBHELPER# + +exit 0
  53. Download patch admin/doc-requirements.txt

    --- 12.2.11+dfsg1-2.1/admin/doc-requirements.txt 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/admin/doc-requirements.txt 2019-04-25 18:15:48.000000000 +0000 @@ -1,3 +1,7 @@ -Sphinx == 1.6.3 --e git+https://github.com/ceph/sphinx-ditaa.git@py3#egg=sphinx-ditaa --e git+https://github.com/michaeljones/breathe#egg=breathe +Sphinx == 1.8.3 +git+https://github.com/ceph/sphinx-ditaa.git@py3#egg=sphinx-ditaa +# newer versions of breathe will require Sphinx >= 2.0.0 and are Python3 only +breathe==4.12.0 +# 4.2 is not yet release at the time of writing, to address CVE-2017-18342, +# we have to use its beta release. +pyyaml>=4.2b1
  54. Download patch cmake/modules/FindOATH.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindOATH.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindOATH.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,31 @@ +# CMake module to search for liboath headers +# +# If it's found it sets OATH_FOUND to TRUE +# and following variables are set: +# OATH_INCLUDE_DIRS +# OATH_LIBRARIES +find_path(OATH_INCLUDE_DIR + liboath/oath.h + PATHS + /usr/include + /usr/local/include) +find_library(OATH_LIBRARY NAMES oath liboath PATHS + /usr/local/lib + /usr/lib) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(OATH DEFAULT_MSG OATH_LIBRARY OATH_INCLUDE_DIR) + +mark_as_advanced(OATH_LIBRARY OATH_INCLUDE_DIR) + +if(OATH_FOUND) + set(OATH_INCLUDE_DIRS "${OATH_INCLUDE_DIR}") + set(OATH_LIBRARIES "${OATH_LIBRARY}") + if(NOT TARGET OATH::OATH) + add_library(OATH::OATH UNKNOWN IMPORTED) + endif() + set_target_properties(OATH::OATH PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${OATH_INCLUDE_DIRS}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${OATH_LIBRARIES}") +endif()
  55. Download patch cmake/modules/AddCephTest.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/AddCephTest.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/AddCephTest.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -3,7 +3,9 @@ #adds makes target/script into a test, test to check target, sets necessary environment variables function(add_ceph_test test_name test_path) add_test(NAME ${test_name} COMMAND ${test_path} ${ARGN}) - add_dependencies(tests ${test_name}) + if(TARGET ${test_name}) + add_dependencies(tests ${test_name}) + endif() set_property(TEST ${test_name} PROPERTY ENVIRONMENT @@ -18,13 +20,33 @@ function(add_ceph_test test_name test_pa # none of the tests should take more than 1 hour to complete set_property(TEST ${test_name} - PROPERTY TIMEOUT 3600) + PROPERTY TIMEOUT ${CEPH_TEST_TIMEOUT}) endfunction() +option(WITH_GTEST_PARALLEL "Enable running gtest based tests in parallel" OFF) +if(WITH_GTEST_PARALLEL) + set(gtest_parallel_source_dir ${CMAKE_CURRENT_BINARY_DIR}/gtest-parallel) + include(ExternalProject) + ExternalProject_Add(gtest-parallel_ext + SOURCE_DIR "${gtest_parallel_source_dir}" + GIT_REPOSITORY "https://github.com/google/gtest-parallel.git" + GIT_TAG "master" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "") + add_dependencies(tests gtest-parallel_ext) + find_package(PythonInterp REQUIRED) + set(GTEST_PARALLEL_COMMAND + ${PYTHON_EXECUTABLE} ${gtest_parallel_source_dir}/gtest-parallel) +endif() + #sets uniform compiler flags and link libraries -function(add_ceph_unittest unittest_name unittest_path) - add_ceph_test(${unittest_name} ${unittest_path}) +function(add_ceph_unittest unittest_name) + set(UNITTEST "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${unittest_name}") + # If the second argument is "parallel", it means we want a parallel run + if(WITH_GTEST_PARALLEL AND "${ARGV1}" STREQUAL "parallel") + set(UNITTEST ${GTEST_PARALLEL_COMMAND} ${UNITTEST}) + endif() + add_ceph_test(${unittest_name} "${UNITTEST}") target_link_libraries(${unittest_name} ${UNITTEST_LIBS}) - set_target_properties(${unittest_name} PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) endfunction() -
  56. Download patch alpine/APKBUILD

    --- 12.2.11+dfsg1-2.1/alpine/APKBUILD 2019-01-30 15:55:46.000000000 +0000 +++ 14.2.1-0ubuntu3/alpine/APKBUILD 2019-04-25 18:18:42.000000000 +0000 @@ -1,7 +1,7 @@ # Contributor: John Coyle <dx9err@gmail.com> # Maintainer: John Coyle <dx9err@gmail.com> pkgname=ceph -pkgver=12.2.11 +pkgver=14.2.1 pkgrel=0 pkgdesc="Ceph is a distributed object store and file system" pkgusers="ceph" @@ -47,6 +47,7 @@ makedepends=" lvm2-dev nss-dev openldap-dev + krb5-dev parted procps python-dev @@ -63,7 +64,7 @@ makedepends=" xmlstarlet yasm " -source="ceph-12.2.11.tar.bz2" +source="ceph-14.2.1.tar.bz2" subpackages=" $pkgname-base $pkgname-common @@ -116,7 +117,7 @@ _sysconfdir=/etc _udevrulesdir=/etc/udev/rules.d _python_sitelib=/usr/lib/python2.7/site-packages -builddir=$srcdir/ceph-12.2.11 +builddir=$srcdir/ceph-14.2.1 build() { export CEPH_BUILD_VIRTUALENV=$builddir @@ -168,10 +169,6 @@ package() { # udev rules install -m 0644 -D udev/50-rbd.rules $pkgdir$_udevrulesdir/50-rbd.rules || return 1 - install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules \ - $pkgdir$_udevrulesdir/60-ceph-by-parttypeuuid.rules || return 1 - install -m 0644 -D udev/95-ceph-osd.rules \ - $pkgdir$_udevrulesdir/95-ceph-osd.rules } base() { @@ -190,14 +187,13 @@ base() { xfsprogs " - _pkg $_bindir crushtool monmaptool osdmaptool ceph-run ceph-detect-init + _pkg $_bindir crushtool monmaptool osdmaptool ceph-run _pkg $_sbindir ceph-create-keys mount.ceph _pkg $_libexecdir/ceph ceph_common.sh _pkg $_libdir/rados-classes *.so* _pkg $_libdir/ceph/erasure-code libec_*.so* _pkg $_libdir/ceph/compressor libceph_*.so* _pkg $_sysconfdir/logrotate.d ceph - _pkg $_python_sitelib ceph_detect_init* ceph_disk* for dir in tmp bootstrap-osd bootstrap-mds bootstrap-rgw; do install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ $subpkgdir$_localstatedir/lib/ceph/$dir || return 1 @@ -215,7 +211,6 @@ common() { ceph-dencoder \ ceph-rbdnamer \ ceph-syn \ - ceph-crush-location \ cephfs-data-scan \ cephfs-journal-tool \ cephfs-table-tool \ @@ -297,9 +292,8 @@ osd() { depends="ceph-base parted gptfdisk" _pkg $_bindir ceph-clsinfo ceph-bluefs-tool ceph-objectstore-tool ceph-osd - _pkg $_sbindir ceph-disk + _pkg $_sbindir ceph-volume _pkg $_libexecdir/ceph ceph-osd-prestart.sh - _pkg $_udevrulesdir 60-ceph-by-parttypeuuid.rules 95-ceph-osd.rules install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ $subpkgdir$_localstatedir/lib/ceph/osd } @@ -322,8 +316,7 @@ librados_dev() { page.h \ crc32c.h \ rados_types.h \ - rados_types.hpp \ - memory.h + rados_types.hpp _pkg $_libdir librados.so _pkg $_bindir librados-config } @@ -437,18 +430,13 @@ ceph_test() { ceph_rgw_multiparser \ ceph_scratchtool \ ceph_scratchtoolpp \ - ceph_smalliobench \ - ceph_smalliobenchdumb \ - ceph_smalliobenchfs \ - ceph_smalliobenchrbd \ ceph_test_* \ - ceph_tpbench \ - ceph_xattr_bench \ ceph-coverage \ ceph-monstore-tool \ ceph-osdomap-tool \ ceph-kvstore-tool \ - ceph-debugpack + ceph-debugpack \ + cephdeduptool _pkg $_libdir ceph/ceph-monstore-update-crush.sh }
  57. Download patch admin/manpage-howto.txt

    --- 12.2.11+dfsg1-2.1/admin/manpage-howto.txt 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/admin/manpage-howto.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -Updating the manpages is a semi-manual process: -(all paths below relative to top of git tree): - -1) make changes to the .rst files in doc/man. -2) if adding or removing pages, update man/CMakeLists.txt -3) use admin/build-doc to build the doc tree into build-doc/output -4) copy changed manpage files from build-doc/output/man to man/ -5) commit both doc/man .rst changes and man/ changes
  58. Download patch debian/ceph-common.maintscript

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.maintscript 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.maintscript 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rm_conffile /etc/bash_completion.d/rados 10.2.5-1~ -rm_conffile /etc/bash_completion.d/rbd 10.2.5-1~
  59. Download patch COPYING

    --- 12.2.11+dfsg1-2.1/COPYING 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/COPYING 2019-04-25 18:15:48.000000000 +0000 @@ -145,3 +145,12 @@ Files: src/include/timegm.h Copyright (C) Copyright Howard Hinnant Copyright (C) Copyright 2010-2011 Vicente J. Botet Escriba License: Boost Software License, Version 1.0 + +Files: src/pybind/mgr/diskprediction_local/models/* +Copyright: None +License: Public domain + +Files: src/ceph-volume/plugin/zfs/* +Copyright: 2018, Willem Jan Withagen +License: BSD 3-clause +
  60. Download patch debian/ceph-common.postrm

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.postrm 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.postrm 2019-05-30 14:06:18.000000000 +0000 @@ -19,6 +19,16 @@ set -e # the debian-policy package +# Custom dpkg-maintscript-helper type function to deal with +# nested /etc/default/ceph/ceph +abort_mv_ceph_defaults() { + if [ -e "/etc/default/ceph.dpkg-backup/ceph.dpkg-remove" ]; then + echo "Reinstalling /etc/default/ceph/ceph that was moved away" + mv "/etc/default/ceph.dpkg-backup" "/etc/default/ceph" + mv "/etc/default/ceph/ceph.dpkg-remove" "/etc/default/ceph/ceph" + fi +} + case "$1" in remove) ;; @@ -28,7 +38,14 @@ case "$1" in rm -rf /etc/ceph ;; - upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + abort-install|abort-upgrade) + if [ -n "$2" ] && + dpkg --compare-versions -- "$2" le-nl 10.2.1-0ubuntu1; then + abort_mv_ceph_defaults + fi + ;; + + upgrade|failed-upgrade|disappear) ;; *)
  61. Download patch cmake/modules/BuildSPDK.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/BuildSPDK.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/BuildSPDK.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,40 @@ +macro(build_spdk) + set(DPDK_DIR ${CMAKE_BINARY_DIR}/src/dpdk) + if(NOT TARGET dpdk-ext) + include(BuildDPDK) + build_dpdk(${DPDK_DIR}) + endif() + find_package(CUnit REQUIRED) + if(LINUX) + find_package(aio REQUIRED) + find_package(uuid REQUIRED) + endif() + include(ExternalProject) + ExternalProject_Add(spdk-ext + DEPENDS dpdk-ext + SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/spdk + CONFIGURE_COMMAND ./configure --with-dpdk=${DPDK_DIR} + # unset $CFLAGS, otherwise it will interfere with how SPDK sets + # its include directory. + # unset $LDFLAGS, otherwise SPDK will fail to mock some functions. + BUILD_COMMAND env -i PATH=$ENV{PATH} CC=${CMAKE_C_COMPILER} $(MAKE) EXTRA_CFLAGS="-fPIC" + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "true") + ExternalProject_Get_Property(spdk-ext source_dir) + foreach(c nvme log lvol env_dpdk util) + add_library(spdk::${c} STATIC IMPORTED) + add_dependencies(spdk::${c} spdk-ext) + set_target_properties(spdk::${c} PROPERTIES + IMPORTED_LOCATION "${source_dir}/build/lib/${CMAKE_STATIC_LIBRARY_PREFIX}spdk_${c}${CMAKE_STATIC_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "${source_dir}/include") + list(APPEND SPDK_LIBRARIES spdk::${c}) + endforeach() + set_target_properties(spdk::env_dpdk PROPERTIES + INTERFACE_LINK_LIBRARIES "dpdk::dpdk;rt") + set_target_properties(spdk::lvol PROPERTIES + INTERFACE_LINK_LIBRARIES spdk::util) + set_target_properties(spdk::util PROPERTIES + INTERFACE_LINK_LIBRARIES ${UUID_LIBRARIES}) + set(SPDK_INCLUDE_DIR "${source_dir}/include") + unset(source_dir) +endmacro()
  62. Download patch debian/ceph-mds.lintian-overrides

    --- 12.2.11+dfsg1-2.1/debian/ceph-mds.lintian-overrides 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mds.lintian-overrides 2019-01-07 13:50:47.000000000 +0000 @@ -1,3 +1,13 @@ -# Ceph service files define their own targets which are then WantedBy -# multi-user.target -systemd-service-file-refers-to-unusual-wantedby-target lib/systemd/system/ceph-mds@.service ceph-mds.target +# False-positives: +spelling-error-in-binary * tEH the + +# Ceph upstart configuration don't have equivalent init scripts +ceph-mds: init.d-script-not-marked-as-conffile etc/init.d/ceph-mds-all +ceph-mds: init.d-script-not-included-in-package etc/init.d/ceph-mds-all +ceph-mds: init.d-script-not-marked-as-conffile etc/init.d/ceph-mds +ceph-mds: init.d-script-not-included-in-package etc/init.d/ceph-mds +ceph-mds: init.d-script-not-marked-as-conffile etc/init.d/ceph-mds-all-starter +ceph-mds: init.d-script-not-included-in-package etc/init.d/ceph-mds-all-starter +ceph-mds: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mds-all +ceph-mds: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mds +ceph-mds: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mds-all-starter
  63. Download patch cmake/modules/BuildFIO.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/BuildFIO.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/BuildFIO.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,18 @@ +function(build_fio) + # we use an external project and copy the sources to bin directory to ensure + # that object files are built outside of the source tree. + include(ExternalProject) + if(ALLOCATOR) + set(FIO_EXTLIBS EXTLIBS=-l${ALLOCATOR}) + endif() + ExternalProject_Add(fio_ext + DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/src/ + UPDATE_COMMAND "" # this disables rebuild on each run + GIT_REPOSITORY "https://github.com/axboe/fio.git" + GIT_TAG "fio-3.10" + SOURCE_DIR ${CMAKE_BINARY_DIR}/src/fio + BUILD_IN_SOURCE 1 + CONFIGURE_COMMAND <SOURCE_DIR>/configure + BUILD_COMMAND $(MAKE) fio EXTFLAGS=-Wno-format-truncation ${FIO_EXTLIBS} + INSTALL_COMMAND cp <BINARY_DIR>/fio ${CMAKE_BINARY_DIR}/bin) +endfunction()
  64. Download patch debian/ceph-mds.prerm

    --- 12.2.11+dfsg1-2.1/debian/ceph-mds.prerm 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mds.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/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
  65. Download patch cmake/modules/FindCython.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindCython.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindCython.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -2,25 +2,15 @@ # Cython # -SET(Cython${PYTHON_VERSION}_FOUND FALSE) # Try to run Cython, to make sure it works: execute_process( - COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -m cython --version - RESULT_VARIABLE CYTHON_RESULT - OUTPUT_QUIET - ERROR_QUIET - ) -if (CYTHON_RESULT EQUAL 0) - SET(Cython${PYTHON_VERSION}_FOUND TRUE) -endif (CYTHON_RESULT EQUAL 0) - - -IF (Cython${PYTHON_VERSION}_FOUND) - IF (NOT Cython_FIND_QUIETLY) - MESSAGE(STATUS "Found cython${PYTHON_VERSION}") - ENDIF (NOT Cython_FIND_QUIETLY) -ELSE (Cython${PYTHON_VERSION}_FOUND) - IF (Cython_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find cython${PYTHON_VERSION}. Please install Cython.") - ENDIF (Cython_FIND_REQUIRED) -ENDIF (Cython${PYTHON_VERSION}_FOUND) + COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -m cython --version + RESULT_VARIABLE cython_result + ERROR_VARIABLE cython_output) +if(cython_result EQUAL 0) + string(REGEX REPLACE "^Cython version ([0-9]+\\.[0-9]+).*" "\\1" CYTHON_VERSION "${cython_output}") +else() + message(SEND_ERROR "Could not find cython${PYTHON_VERSION}: ${cython_output}") +endif() +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Cython${PYTHON_VERSION} DEFAULT_MSG CYTHON_VERSION)
  66. Download patch cmake/modules/BuildRocksDB.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/BuildRocksDB.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/BuildRocksDB.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,83 @@ +function(build_rocksdb) + set(rocksdb_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON) + list(APPEND rocksdb_CMAKE_ARGS -DWITH_GFLAGS=OFF) + + if(ALLOCATOR STREQUAL "jemalloc") + list(APPEND rocksdb_CMAKE_ARGS -DWITH_JEMALLOC=ON) + list(APPEND rocksdb_INTERFACE_LINK_LIBRARIES JeMalloc::JeMalloc) + endif() + + if (WITH_CCACHE AND CCACHE_FOUND) + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_CXX_COMPILER=ccache) + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_CXX_COMPILER_ARG1=${CMAKE_CXX_COMPILER}) + else() + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}) + endif() + + list(APPEND rocksdb_CMAKE_ARGS -DWITH_SNAPPY=${SNAPPY_FOUND}) + if(SNAPPY_FOUND) + list(APPEND rocksdb_INTERFACE_LINK_LIBRARIES snappy::snappy) + endif() + # libsnappy is a C++ library, we need to force rocksdb to link against + # libsnappy statically. + if(SNAPPY_FOUND AND WITH_STATIC_LIBSTDCXX) + list(APPEND rocksdb_CMAKE_ARGS -DWITH_SNAPPY_STATIC_LIB=ON) + endif() + + list(APPEND rocksdb_CMAKE_ARGS -DWITH_LZ4=${LZ4_FOUND}) + if(LZ4_FOUND) + list(APPEND rocksdb_INTERFACE_LINK_LIBRARIES LZ4::LZ4) + endif() + + list(APPEND rocksdb_CMAKE_ARGS -DWITH_ZLIB=${ZLIB_FOUND}) + if(ZLIB_FOUND) + list(APPEND rocksdb_INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) + endif() + + list(APPEND rocksdb_CMAKE_ARGS -DPORTABLE=ON) + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_AR=${CMAKE_AR}) + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + list(APPEND rocksdb_CMAKE_ARGS -DFAIL_ON_WARNINGS=OFF) + list(APPEND rocksdb_CMAKE_ARGS -DUSE_RTTI=1) + CHECK_C_COMPILER_FLAG("-Wno-stringop-truncation" HAS_WARNING_STRINGOP_TRUNCATION) + if(HAS_WARNING_STRINGOP_TRUNCATION) + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_C_FLAGS="-Wno-stringop-truncation") + endif() + # we use an external project and copy the sources to bin directory to ensure + # that object files are built outside of the source tree. + include(ExternalProject) + set(rocksdb_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rocksdb") + set(rocksdb_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/rocksdb") + ExternalProject_Add(rocksdb_ext + SOURCE_DIR "${rocksdb_SOURCE_DIR}" + CMAKE_ARGS ${rocksdb_CMAKE_ARGS} + BINARY_DIR "${rocksdb_BINARY_DIR}" + BUILD_COMMAND $(MAKE) rocksdb + INSTALL_COMMAND "true") + # force rocksdb make to be called on each time + ExternalProject_Add_Step(rocksdb_ext forcebuild + DEPENDEES configure + DEPENDERS build + COMMAND "true" + ALWAYS 1) + + add_library(RocksDB::RocksDB STATIC IMPORTED) + add_dependencies(RocksDB::RocksDB rocksdb_ext) + set(rocksdb_INCLUDE_DIR "${rocksdb_SOURCE_DIR}/include") + set(rocksdb_LIBRARY "${rocksdb_BINARY_DIR}/librocksdb.a") + foreach(ver "MAJOR" "MINOR" "PATCH") + file(STRINGS "${rocksdb_INCLUDE_DIR}/rocksdb/version.h" ROCKSDB_VER_${ver}_LINE + REGEX "^#define[ \t]+ROCKSDB_${ver}[ \t]+[0-9]+$") + string(REGEX REPLACE "^#define[ \t]+ROCKSDB_${ver}[ \t]+([0-9]+)$" + "\\1" ROCKSDB_VERSION_${ver} "${ROCKSDB_VER_${ver}_LINE}") + unset(ROCKDB_VER_${ver}_LINE) + endforeach() + set(rocksdb_VERSION_STRING + "${ROCKSDB_VERSION_MAJOR}.${ROCKSDB_VERSION_MINOR}.${ROCKSDB_VERSION_PATCH}") + set_target_properties(RocksDB::RocksDB PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${rocksdb_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${rocksdb_INTERFACE_LINK_LIBRARIES}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${rocksdb_LIBRARY}" + VERSION "${rocksdb_VERSION_STRING}") +endfunction()
  67. Download patch debian/ceph-mgr-rook.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-rook.postinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-rook.postinst 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1,43 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph-mgr-diskprediction-local +# +# 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 + +case "$1" in + configure) + # attempt to load the plugin if the mgr is running + deb-systemd-invoke try-restart ceph-mgr.target + ;; + 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 + +
  68. Download patch debian/ceph-mgr.lintian-overrides

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr.lintian-overrides 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# Ceph service files define their own targets which are then WantedBy -# multi-user.target -systemd-service-file-refers-to-unusual-wantedby-target lib/systemd/system/ceph-mgr@.service ceph-mgr.target
  69. Download patch cmake/modules/FindStdFilesystem.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindStdFilesystem.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindStdFilesystem.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,51 @@ +set(_std_filesystem_test_src + ${CMAKE_CURRENT_LIST_DIR}/FindStdFilesystem_test.cc) + +macro(try_std_filesystem_library _library _result) + if(CMAKE_VERSION VERSION_LESS "3.8") + # abuse the definition flags, because they are quite + # the same as CMAKE_C_FLAGS: they are passed to the + # compiler. + set(_std_filesystem_try_compile_arg + COMPILE_DEFINITIONS "-std=c++17") + else() + set(_std_filesystem_try_compile_arg + CXX_STANDARD 17) + endif() + try_compile(_std_filesystem_compiles + ${CMAKE_CURRENT_BINARY_DIR} + SOURCES ${_std_filesystem_test_src} + LINK_LIBRARIES ${_library} + ${_std_filesystem_try_compile_arg}) + unset(_std_filesystem_try_compile_arg) + if(_std_filesystem_compiles) + set(${_result} ${_library}) + endif() + unset(_std_filesystem_compiles) +endmacro() + + +if(NOT StdFilesystem_LIBRARY) + try_std_filesystem_library("stdc++fs" StdFilesystem_LIBRARY) +endif() +if(NOT StdFilesystem_LIBRARY) + try_std_filesystem_library("c++experimental" StdFilesystem_LIBRARY) +endif() +if(NOT StdFilesystem_LIBRARY) + try_std_filesystem_library("c++fs" StdFilesystem_LIBRARY) +endif() + +unset(_std_filesystem_test_src) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(StdFilesystem + FOUND_VAR StdFilesystem_FOUND + REQUIRED_VARS StdFilesystem_LIBRARY) + +mark_as_advanced(StdFilesystem_LIBRARY) + +if(StdFilesystem_FOUND AND NOT (TARGET StdFilesystem::filesystem)) + add_library(StdFilesystem::filesystem INTERFACE IMPORTED) + set_target_properties(StdFilesystem::filesystem PROPERTIES + INTERFACE_LINK_LIBRARIES ${StdFilesystem_LIBRARY}) +endif()
  70. Download patch cmake/modules/Buildc-ares.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Buildc-ares.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Buildc-ares.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,22 @@ +function(build_c_ares) + include(ExternalProject) + set(C-ARES_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/c-ares") + set(C-ARES_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/c-ares") + ExternalProject_Add(c-ares_ext + SOURCE_DIR "${C-ARES_SOURCE_DIR}" + CMAKE_ARGS + -DCARES_STATIC=ON + -DCARES_SHARED=OFF + -DCARES_INSTALL=OFF + BINARY_DIR "${C-ARES_BINARY_DIR}" + BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> + INSTALL_COMMAND "") + add_library(c-ares::c-ares STATIC IMPORTED) + add_dependencies(c-ares::c-ares c-ares_ext) + set_target_properties(c-ares::c-ares PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${C-ARES_SOURCE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${C-ARES_BINARY_DIR}/lib/libcares.a") + # to appease find_package() + add_custom_target(c-ares DEPENDS c-ares::c-ares) +endfunction()
  71. Download patch ceph-menv/.menvrc

    --- 12.2.11+dfsg1-2.1/ceph-menv/.menvrc 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/ceph-menv/.menvrc 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,16 @@ +MENV_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)" + +export PATH=${MENV_ROOT}/bin:$PATH +alias mset='source $MENV_ROOT/mset.sh' + +case "$TERM" in +xterm-*color) + PS1='\[\033[$MRUN_PROMPT_COLOR;1m\]${MRUN_PROMPT}\[\033[00m\]'${PS1} + ;; +*) + PS1='${MRUN_PROMPT}'${PS1} + ;; +esac + +export MRUN_CEPH_ROOT=$HOME/ceph +
  72. Download patch cmake/modules/FindStdFilesystem_test.cc

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindStdFilesystem_test.cc 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindStdFilesystem_test.cc 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,14 @@ +#if __has_include(<filesystem>) +#include <filesystem> +namespace fs = std::filesystem; +#elif __has_include(<experimental/filesystem>) +#include <experimental/filesystem> +namespace fs = std::experimental::filesystem; +#else +#error std::filesystem not available! +#endif + +int main() { + fs::create_directory("sandbox"); + fs::remove_all("sandbox"); +}
  73. Download patch cmake/modules/Finddpdk.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Finddpdk.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Finddpdk.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -2,74 +2,112 @@ # # Once done, this will define # -# DPDK_FOUND -# DPDK_INCLUDE_DIR -# DPDK_LIBRARIES - -find_path(DPDK_INCLUDE_DIR rte_config.h - PATH_SUFFIXES dpdk) -find_library(DPDK_rte_hash_LIBRARY rte_hash) -find_library(DPDK_rte_kvargs_LIBRARY rte_kvargs) -find_library(DPDK_rte_mbuf_LIBRARY rte_mbuf) -find_library(DPDK_rte_ethdev_LIBRARY rte_ethdev) -find_library(DPDK_rte_mempool_LIBRARY rte_mempool) -find_library(DPDK_rte_ring_LIBRARY rte_ring) -find_library(DPDK_rte_eal_LIBRARY rte_eal) -find_library(DPDK_rte_cmdline_LIBRARY rte_cmdline) -find_library(DPDK_rte_pmd_bond_LIBRARY rte_pmd_bond) -find_library(DPDK_rte_pmd_vmxnet3_uio_LIBRARY rte_pmd_vmxnet3_uio) -find_library(DPDK_rte_pmd_ixgbe_LIBRARY rte_pmd_ixgbe) -find_library(DPDK_rte_pmd_i40e_LIBRARY rte_pmd_i40e) -find_library(DPDK_rte_pmd_ring_LIBRARY rte_pmd_ring) -find_library(DPDK_rte_pmd_af_packet_LIBRARY rte_pmd_af_packet) - -set(check_LIBRARIES - ${DPDK_rte_hash_LIBRARY} - ${DPDK_rte_kvargs_LIBRARY} - ${DPDK_rte_mbuf_LIBRARY} - ${DPDK_rte_ethdev_LIBRARY} - ${DPDK_rte_mempool_LIBRARY} - ${DPDK_rte_ring_LIBRARY} - ${DPDK_rte_eal_LIBRARY} - ${DPDK_rte_cmdline_LIBRARY} - ${DPDK_rte_pmd_bond_LIBRARY} - ${DPDK_rte_pmd_vmxnet3_uio_LIBRARY} - ${DPDK_rte_pmd_ixgbe_LIBRARY} - ${DPDK_rte_pmd_i40e_LIBRARY} - ${DPDK_rte_pmd_ring_LIBRARY} - ${DPDK_rte_pmd_af_packet_LIBRARY}) - -mark_as_advanced(DPDK_INCLUDE_DIR - DPDK_rte_hash_LIBRARY - DPDK_rte_kvargs_LIBRARY - DPDK_rte_mbuf_LIBRARY - DPDK_rte_ethdev_LIBRARY - DPDK_rte_mempool_LIBRARY - DPDK_rte_ring_LIBRARY - DPDK_rte_eal_LIBRARY - DPDK_rte_cmdline_LIBRARY - DPDK_rte_pmd_bond_LIBRARY - DPDK_rte_pmd_vmxnet3_uio_LIBRARY - DPDK_rte_pmd_ixgbe_LIBRARY - DPDK_rte_pmd_i40e_LIBRARY - DPDK_rte_pmd_ring_LIBRARY - DPDK_rte_pmd_af_packet_LIBRARY) - -if (EXISTS ${WITH_DPDK_MLX5}) - find_library(DPDK_rte_pmd_mlx5_LIBRARY rte_pmd_mlx5) - list(APPEND check_LIBRARIES ${DPDK_rte_pmd_mlx5_LIBRARY}) - mark_as_advanced(DPDK_rte_pmd_mlx5_LIBRARY) +# dpdk_FOUND +# dpdk_INCLUDE_DIR +# dpdk_LIBRARIES + +find_package(PkgConfig QUIET) +if(PKG_CONFIG_FOUND) + pkg_check_modules(dpdk QUIET libdpdk) endif() +if(NOT dpdk_INCLUDE_DIRS) + find_path(dpdk_config_INCLUDE_DIR rte_config.h + HINTS + ENV DPDK_DIR + PATH_SUFFIXES + dpdk + include) + find_path(dpdk_common_INCLUDE_DIR rte_common.h + HINTS + ENC DPDK_DIR + PATH_SUFFIXES + dpdk + include) + set(dpdk_INCLUDE_DIRS "${dpdk_config_INCLUDE_DIR}") + if(NOT dpdk_config_INCLUDE_DIR EQUAL dpdk_common_INCLUDE_DIR) + list(APPEND dpdk_INCLUDE_DIRS "${dpdk_common_INCLUDE_DIR}") + endif() +endif() + +set(components + bus_pci + cmdline + eal + ethdev + hash + kvargs + mbuf + mempool + mempool_ring + mempool_stack + pci + pmd_af_packet + pmd_bond + pmd_i40e + pmd_ixgbe + pmd_mlx5 + pmd_ring + pmd_vmxnet3_uio + ring) + +set(dpdk_LIBRARIES) + +foreach(c ${components}) + find_library(DPDK_rte_${c}_LIBRARY rte_${c} + HINTS + ENV DPDK_DIR + ${dpdk_LIBRARY_DIRS} + PATH_SUFFIXES lib) + if(DPDK_rte_${c}_LIBRARY) + set(dpdk_lib dpdk::${c}) + if (NOT TARGET ${dpdk_lib}) + add_library(${dpdk_lib} UNKNOWN IMPORTED) + set_target_properties(${dpdk_lib} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${dpdk_INCLUDE_DIRS}" + IMPORTED_LOCATION "${DPDK_rte_${c}_LIBRARY}") + if(c STREQUAL pmd_mlx5) + find_package(verbs QUIET) + if(verbs_FOUND) + target_link_libraries(${dpdk_lib} INTERFACE IBVerbs::verbs) + endif() + endif() + endif() + list(APPEND dpdk_LIBRARIES ${dpdk_lib}) + endif() +endforeach() + +mark_as_advanced(dpdk_INCLUDE_DIRS ${dpdk_LIBRARIES}) + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(dpdk DEFAULT_MSG - DPDK_INCLUDE_DIR - check_LIBRARIES) + dpdk_INCLUDE_DIRS + dpdk_LIBRARIES) -if(DPDK_FOUND) -if (EXISTS ${WITH_DPDK_MLX5}) - list(APPEND check_LIBRARIES -libverbs) +if(dpdk_FOUND) + if(NOT TARGET dpdk::cflags) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") + set(rte_cflags "-march=core2") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM") + set(rte_cflags "-march=armv7-a") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") + set(rte_cflags "-march=armv8-a+crc") + endif() + add_library(dpdk::cflags INTERFACE IMPORTED) + if (rte_cflags) + set_target_properties(dpdk::cflags PROPERTIES + INTERFACE_COMPILE_OPTIONS "${rte_cflags}") + endif() + endif() + + if(NOT TARGET dpdk::dpdk) + add_library(dpdk::dpdk INTERFACE IMPORTED) + find_package(Threads QUIET) + list(APPEND dpdk_LIBRARIES + Threads::Threads + dpdk::cflags) + set_target_properties(dpdk::dpdk PROPERTIES + INTERFACE_LINK_LIBRARIES "${dpdk_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${dpdk_INCLUDE_DIRS}") + endif() endif() - set(DPDK_LIBRARIES - -Wl,--whole-archive ${check_LIBRARIES} -Wl,--no-whole-archive) -endif(DPDK_FOUND)
  74. Download patch cmake/modules/Findcryptopp.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findcryptopp.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findcryptopp.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,108 +0,0 @@ -# Module for locating the Crypto++ encryption library. -# -# Customizable variables: -# CRYPTOPP_ROOT_DIR -# This variable points to the CryptoPP root directory. On Windows the -# library location typically will have to be provided explicitly using the -# -D command-line option. The directory should include the include/cryptopp, -# lib and/or bin sub-directories. -# -# Read-only variables: -# CRYPTOPP_FOUND -# Indicates whether the library has been found. -# -# CRYPTOPP_INCLUDE_DIRS -# Points to the CryptoPP include directory. -# -# CRYPTOPP_LIBRARIES -# Points to the CryptoPP libraries that should be passed to -# target_link_libararies. -# -# -# Copyright (c) 2012 Sergiu Dotenco -# -# 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. - -INCLUDE (FindPackageHandleStandardArgs) - -FIND_PATH (CRYPTOPP_ROOT_DIR - NAMES cryptopp/cryptlib.h include/cryptopp/cryptlib.h - PATHS ENV CRYPTOPPROOT - DOC "CryptoPP root directory") - -# Re-use the previous path: -FIND_PATH (CRYPTOPP_INCLUDE_DIR - NAMES cryptopp/cryptlib.h - HINTS ${CRYPTOPP_ROOT_DIR} - PATH_SUFFIXES include - DOC "CryptoPP include directory") - -FIND_LIBRARY (CRYPTOPP_LIBRARY_DEBUG - NAMES cryptlibd cryptoppd - HINTS ${CRYPTOPP_ROOT_DIR} - PATH_SUFFIXES lib - DOC "CryptoPP debug library") - -FIND_LIBRARY (CRYPTOPP_LIBRARY_RELEASE - NAMES cryptlib cryptopp - HINTS ${CRYPTOPP_ROOT_DIR} - PATH_SUFFIXES lib - DOC "CryptoPP release library") - -IF (CRYPTOPP_LIBRARY_DEBUG AND CRYPTOPP_LIBRARY_RELEASE) - SET (CRYPTOPP_LIBRARY - optimized ${CRYPTOPP_LIBRARY_RELEASE} - debug ${CRYPTOPP_LIBRARY_DEBUG} CACHE DOC "CryptoPP library") -ELSEIF (CRYPTOPP_LIBRARY_RELEASE) - SET (CRYPTOPP_LIBRARY ${CRYPTOPP_LIBRARY_RELEASE} CACHE DOC - "CryptoPP library") -ENDIF (CRYPTOPP_LIBRARY_DEBUG AND CRYPTOPP_LIBRARY_RELEASE) - -IF (CRYPTOPP_INCLUDE_DIR) - SET (_CRYPTOPP_VERSION_HEADER ${CRYPTOPP_INCLUDE_DIR}/cryptopp/config.h) - - IF (EXISTS ${_CRYPTOPP_VERSION_HEADER}) - FILE (STRINGS ${_CRYPTOPP_VERSION_HEADER} _CRYPTOPP_VERSION_TMP REGEX - "^#define CRYPTOPP_VERSION[ \t]+[0-9]+$") - - STRING (REGEX REPLACE - "^#define CRYPTOPP_VERSION[ \t]+([0-9]+)" "\\1" _CRYPTOPP_VERSION_TMP - ${_CRYPTOPP_VERSION_TMP}) - - STRING (REGEX REPLACE "([0-9]+)[0-9][0-9]" "\\1" CRYPTOPP_VERSION_MAJOR - ${_CRYPTOPP_VERSION_TMP}) - STRING (REGEX REPLACE "[0-9]([0-9])[0-9]" "\\1" CRYPTOPP_VERSION_MINOR - ${_CRYPTOPP_VERSION_TMP}) - STRING (REGEX REPLACE "[0-9][0-9]([0-9])" "\\1" CRYPTOPP_VERSION_PATCH - ${_CRYPTOPP_VERSION_TMP}) - - SET (CRYPTOPP_VERSION_COUNT 3) - SET (CRYPTOPP_VERSION - ${CRYPTOPP_VERSION_MAJOR}.${CRYPTOPP_VERSION_MINOR}.${CRYPTOPP_VERSION_PATCH}) - ENDIF (EXISTS ${_CRYPTOPP_VERSION_HEADER}) -ENDIF (CRYPTOPP_INCLUDE_DIR) - -SET (CRYPTOPP_INCLUDE_DIRS ${CRYPTOPP_INCLUDE_DIR}) -SET (CRYPTOPP_LIBRARIES ${CRYPTOPP_LIBRARY}) - -MARK_AS_ADVANCED (CRYPTOPP_INCLUDE_DIR CRYPTOPP_LIBRARY CRYPTOPP_LIBRARY_DEBUG - CRYPTOPP_LIBRARY_RELEASE) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS (cryptopp REQUIRED_VARS CRYPTOPP_ROOT_DIR - CRYPTOPP_INCLUDE_DIR CRYPTOPP_LIBRARY VERSION_VAR CRYPTOPP_VERSION)
  75. Download patch CodingStyle

    --- 12.2.11+dfsg1-2.1/CodingStyle 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/CodingStyle 2019-04-25 18:15:48.000000000 +0000 @@ -28,12 +28,13 @@ by section. Google uses CamelCaps for all type names. We use two naming schemes: - - for naked structs (simple data containers), lower case with _d - suffix ('d' for data). Not _t, because that means typdef. + - for naked structs (simple data containers), lower case with _t. + Yes, _t also means typedef. It's perhaps not ideal. - struct my_type_d { - int a, b; - my_type_d() : a(0), b(0) {} + struct my_type_t { + int a = 0, b = 0; + void encode(...) ... + ... }; - for full-blown classes, CamelCaps, private: section, accessors, @@ -42,7 +43,7 @@ by section. * Naming > Variable Names: Google uses _ suffix for class members. That's ugly. We'll use - a m_ prefix, like so: + a m_ prefix, like so, or none at all. class Foo { public: @@ -52,7 +53,7 @@ by section. private: int m_foo; }; - + * Naming > Constant Names: Google uses kSomeThing for constants. We prefer SOME_THING. @@ -70,7 +71,7 @@ by section. * Comments > File Comments: Don't sweat it, unless the license varies from that of the project - (LGPL2) or the code origin isn't reflected by the git history. + (LGPL2.1) or the code origin isn't reflected by the git history. * Formatting > Tabs: Indent width is two spaces. When runs of 8 spaces can be compressed @@ -88,18 +89,24 @@ by section. if ( foo ) { // no - - Always use newline following if: - - if (foo) - bar; // okay, but discouraged... + - Always use newline following if, and use braces: if (foo) { - bar; // this is better! + bar; // like this, even for a one-liner } - if (foo) bar; // no, usually harder to parse visually + if (foo) + bar; // no, usually harder to parse visually + + if (foo) bar; // no + + if (foo) { bar; } // definitely no +* Header Files -> The `#define` Guard: + `#pragma once` is allowed for simplicity at the expense of + portability sinces `#pragma once` is wildly supported and is known + to work on GCC and Clang. The following guidelines have not been followed in the legacy code, @@ -129,3 +136,29 @@ type conversions. * Other C++ Features > Avoid Default Arguments: They obscure the interface. + + +Python code +----------- + +For new python code, PEP-8 should be observed: + + https://www.python.org/dev/peps/pep-0008/ + +Existing code can be refactored to adhere to PEP-8, and cleanups are welcome. + + +JavaScript / TypeScript +----------------------- + +For Angular code, we follow the official Angular style guide: + + https://angular.io/guide/styleguide + +To check whether your code is conformant with the style guide, we use a +combination of TSLint, Codelyzer and Prettier: + + https://palantir.github.io/tslint/ + http://codelyzer.com/ + https://prettier.io/ +
  76. Download patch cmake/modules/BuildBoost.cmake
  77. Download patch admin/build-doc

    --- 12.2.11+dfsg1-2.1/admin/build-doc 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/admin/build-doc 2019-04-25 18:15:48.000000000 +0000 @@ -21,7 +21,7 @@ if command -v dpkg >/dev/null; then fi elif command -v yum >/dev/null; then for package in python-devel python-pip python-virtualenv doxygen ditaa ant libxml2-devel libxslt-devel Cython graphviz; do - if ! rpm -q $package >/dev/null ; then + if ! rpm -q --whatprovides $package >/dev/null ; then missing="${missing:+$missing }$package" fi done @@ -57,7 +57,7 @@ cd build-doc [ -z "$vdir" ] && vdir="$TOPDIR/build-doc/virtualenv" if [ ! -e $vdir ]; then - virtualenv --system-site-packages $vdir -p python2 + virtualenv --system-site-packages $vdir fi $vdir/bin/pip install --quiet -r $TOPDIR/admin/doc-requirements.txt @@ -86,9 +86,14 @@ for bind in rados rbd cephfs rgw; do CFLAGS="-iquote$TOPDIR/src/include" \ CPPFLAGS="-iquote$TOPDIR/src/include" \ LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \ - $vdir/bin/pip install $TOPDIR/src/pybind/${bind} + $vdir/bin/pip install --upgrade $TOPDIR/src/pybind/${bind} # rgwfile_version(), librgw_create(), rgw_mount() - nm $vdir/lib/python*/*-packages/${bind}.so | grep -E "U (lib)?${bind}" | \ + # since py3.5, distutils adds postfix in between ${bind} and so + lib_fn=$vdir/lib/python*/*-packages/${bind}.*.so + if [ ! -e $lib_fn ]; then + lib_fn=$vdir/lib/python*/*-packages/${bind}.so + fi + nm $lib_fn | grep -E "U (lib)?${bind}" | \ awk '{ print "void "$2"(void) {}" }' | \ gcc -shared -o $vdir/lib/lib${bind}.so.1 -xc - if [ ${bind} != rados ]; then @@ -106,15 +111,37 @@ for target in $sphinx_targets; do case $target in html) builder=dirhtml + extra_opt="-D graphviz_output_format=svg" ;; man) extra_opt="-t man" ;; esac - $vdir/bin/sphinx-build -a -b $builder $extra_opt -d doctrees \ + # Build with -W so that warnings are treated as errors and this fails + $vdir/bin/sphinx-build -W -a -b $builder $extra_opt -d doctrees \ $TOPDIR/doc $TOPDIR/build-doc/output/$target + + done +# build the releases.json. this reads in the yaml version and dumps +# out the json representation of the same file. the resulting releases.json +# should be served from the root of hosted site. +$vdir/bin/python << EOF > $TOPDIR/build-doc/output/html/releases.json +from __future__ import print_function +import datetime +import json +import yaml + +def json_serialize(obj): + if isinstance(obj, datetime.date): + return obj.isoformat() + +with open("$TOPDIR/doc/releases/releases.yml", 'r') as fp: + releases = yaml.load(fp) + print(json.dumps(releases, indent=2, default=json_serialize)) +EOF + # # Build and install JavaDocs #
  78. Download patch debian/ceph-fuse.lintian-overrides

    --- 12.2.11+dfsg1-2.1/debian/ceph-fuse.lintian-overrides 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-fuse.lintian-overrides 2019-01-07 13:50:47.000000000 +0000 @@ -1,3 +1,2 @@ -# Ceph service files define their own targets which are then WantedBy -# multi-user.target -systemd-service-file-refers-to-unusual-wantedby-target lib/systemd/system/ceph-fuse@.service ceph-fuse.target +# False-positives: +spelling-error-in-binary * tEH the
  79. Download patch cmake/modules/FindRocksDB.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindRocksDB.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindRocksDB.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,47 @@ +# Find the native Rocksdb includes and library +# This module defines +# ROCKSDB_INCLUDE_DIR, where to find rocksdb/db.h, Set when +# ROCKSDB_INCLUDE_DIR is found. +# ROCKSDB_LIBRARIES, libraries to link against to use Rocksdb. +# ROCKSDB_FOUND, If false, do not try to use Rocksdb. +# ROCKSDB_VERSION_STRING +# ROCKSDB_VERSION_MAJOR +# ROCKSDB_VERSION_MINOR +# ROCKSDB_VERSION_PATCH + +find_path(ROCKSDB_INCLUDE_DIR rocksdb/db.h) + +find_library(ROCKSDB_LIBRARIES rocksdb) + +if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") + foreach(ver "MAJOR" "MINOR" "PATCH") + file(STRINGS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h" ROCKSDB_VER_${ver}_LINE + REGEX "^#define[ \t]+ROCKSDB_${ver}[ \t]+[0-9]+$") + string(REGEX REPLACE "^#define[ \t]+ROCKSDB_${ver}[ \t]+([0-9]+)$" + "\\1" ROCKSDB_VERSION_${ver} "${ROCKSDB_VER_${ver}_LINE}") + unset(${ROCKSDB_VER_${ver}_LINE}) + endforeach() + set(ROCKSDB_VERSION_STRING + "${ROCKSDB_VERSION_MAJOR}.${ROCKSDB_VERSION_MINOR}.${ROCKSDB_VERSION_PATCH}") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(RocksDB + REQUIRED_VARS ROCKSDB_LIBRARIES ROCKSDB_INCLUDE_DIR + VERSION_VAR ROCKSDB_VERSION_STRING) + +mark_as_advanced( + ROCKSDB_INCLUDE_DIR + ROCKSDB_LIBRARIES) + +if(RocksDB_FOUND) + if(NOT TARGET RocksDB::RocksDB) + add_library(RocksDB::RocksDB UNKNOWN IMPORTED) + set_target_properties(RocksDB::RocksDB PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${ROCKSDB_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${ROCKSDB_LIBRARIES}" + VERSION "${ROCKSDB_VERSION_STRING}") + endif() +endif() +
  80. Download patch ceph-menv/INSTALL

    --- 12.2.11+dfsg1-2.1/ceph-menv/INSTALL 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/ceph-menv/INSTALL 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,19 @@ +ceph-menv + +Installation + +1. Build links + +# assuming ceph build directory is at $HOME/ceph/build +$ cd ceph-menv +$ ./build_links.sh + +A different ceph repository can be passed as the first argument to build_links.sh. + +2. Configure shell environment + +To your shell startup script (such as $HOME/.bashrc) add the following: + +source ~/ceph-menv/.menvrc + +(modify line appropriately if ceph-menv was installed at a different location)
  81. Download patch debian/ceph-common.lintian-overrides

    --- 12.2.11+dfsg1-2.1/debian/ceph-common.lintian-overrides 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-common.lintian-overrides 2019-01-07 13:50:47.000000000 +0000 @@ -1,3 +1,2 @@ -# 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 +# False-positives: +spelling-error-in-binary * tEH the
  82. Download patch ceph.spec.in
  83. Download patch ceph-menv/README

    --- 12.2.11+dfsg1-2.1/ceph-menv/README 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/ceph-menv/README 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,21 @@ +ceph-menv + +Environment assistant for use in conjuction with multiple ceph vstart (or more accurately mstart) clusters. Eliminates the need to specify the cluster that is being used with each and every command. Can provide a shell prompt feedback about the currently used cluster. + + +Usage: + +$ mset <cluster> + + +For example: + +$ mstart.sh c1 -n +$ mset c1 +[ c1 ] $ ceph -w + + +To un-set cluster: + +$ mset +
  84. Download patch cmake/modules/Findpmem.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findpmem.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findpmem.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -# Try to find libpmem -# -# Once done, this will define -# -# PMEM_FOUND -# PMEM_INCLUDE_DIR -# PMEM_LIBRARY - -find_path(PMEM_INCLUDE_DIR NAMES libpmem.h) -find_library(PMEM_LIBRARY NAMES pmem) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(pmem DEFAULT_MSG PMEM_LIBRARY PMEM_INCLUDE_DIR) - -mark_as_advanced(PMEM_INCLUDE_DIR PMEM_LIBRARY)
  85. Download patch cmake/modules/FindCUnit.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindCUnit.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindCUnit.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,23 @@ +# Try to find CUnit +# +# Once done, this will define +# +# CUNIT_FOUND + +find_path(CUNIT_INCLUDE_DIR NAMES CUnit/CUnit.h) + +find_library(CUNIT_LIBRARY NAMES + cunit + libcunit + cunitlib) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(CUnit + DEFAULT_MSG CUNIT_LIBRARY CUNIT_INCLUDE_DIR) + +if(CUNIT_FOUND) + set(CUNIT_LIBRARIES ${CUNIT_LIBRARY}) + set(CUNIT_INCLUDE_DIRS ${CUNIT_INCLUDE_DIR}) +endif() + +mark_as_advanced(CUNIT_INCLUDE_DIR CUNIT_LIBRARY)
  86. Download patch AUTHORS

    --- 12.2.11+dfsg1-2.1/AUTHORS 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/AUTHORS 2019-04-25 18:15:48.000000000 +0000 @@ -4,27 +4,7 @@ Sage Weil <sage@redhat.com> Component Technical Leads ------------------------- -Core, RADOS - Josh Durgin <jdurgin@redhat.com> -RBD - Jason Dillaman <dillaman@redhat.com> -RBD (kernel) - Ilya Dryomov <idryomov@redhat.com> -RGW - Yehuda Sadeh <yehuda@redhat.com> - Matt Benjamin <mbenjami@redhat.com> -CephFS - Patrick Donnelly <pdonnell@redhat.com> -CephFS (kernel) - Yan, Zheng <zyan@redhat.com> -Deployment - Alfredo Deza <adeza@redhat.com> -Teuthology - Zack Cerza <zack@redhat.com> -Calamari - Gregory Meno <gmeno@redhat.com> -Chef Cookbook - Guilhem Lettron <guilhem@lettron.fr> - -Release Manager ---------------- -Abhishek Lekshmanan <abhishek@suse.com> - -Backport Team -------------- -Nathan Cutler <ncutler@suse.cz> -Shinobu Kinjo <shinobu@redhat.com> -Abhishek Lekshmanan <abhishek@suse.com> +For a full list of CTLs and maintainers visit: http://ceph.com/team/ Contributors ------------
  87. Download patch debian/ceph-mgr-dashboard.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-dashboard.postinst 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-dashboard.postinst 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1,43 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph-mgr-dashboard +# +# 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 + +case "$1" in + configure) + # attempt to load the plugin if the mgr is running + deb-systemd-invoke try-restart ceph-mgr.target + ;; + 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 + +
  88. Download patch cmake/modules/CheckCxxAtomic.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/CheckCxxAtomic.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/CheckCxxAtomic.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,38 @@ +# some platforms do not offer support for atomic primitive for all integer +# types, in that case we need to link against libatomic + +include(CheckCXXSourceCompiles) +include(CMakePushCheckState) + + +function(check_cxx_atomics var) + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11") + check_cxx_source_compiles(" +#include <atomic> +#include <cstdint> +int main() { + std::atomic<uint8_t> w1; + std::atomic<uint16_t> w2; + std::atomic<uint32_t> w4; + std::atomic<uint64_t> w8; + return w1 + w2 + w4 + w8; +} +" ${var}) +endfunction(check_cxx_atomics) + +cmake_push_check_state() +check_cxx_atomics(HAVE_CXX11_ATOMIC) +cmake_pop_check_state() + +if(NOT HAVE_CXX11_ATOMIC) + cmake_push_check_state() + set(CMAKE_REQUIRED_LIBRARIES "atomic") + check_cxx_atomics(HAVE_LIBATOMIC) + cmake_pop_check_state() + if(HAVE_LIBATOMIC) + set(LIBATOMIC_LINK_FLAGS "-Wl,--as-needed -latomic") + else() + message(FATAL_ERROR + "Host compiler ${CMAKE_CXX_COMPILER} requires libatomic, but it is not found") + endif() +endif()
  89. Download patch cmake/modules/Findkeyutils.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findkeyutils.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findkeyutils.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -5,23 +5,23 @@ # KEYUTILS_INCLUDE_DIR - the keyutils include directories # KEYUTILS_LIBRARIES - link these to use keyutils -if(KEYUTILS_INCLUDE_DIR AND KEYUTILS_LIBRARIES) - set(KEYUTILS_FIND_QUIETLY TRUE) -endif(KEYUTILS_INCLUDE_DIR AND KEYUTILS_LIBRARIES) - -# include dir find_path(KEYUTILS_INCLUDE_DIR keyutils.h PATHS /opt/local/include /usr/local/include ) -# finally the library itself -find_library(LIBKEYUTILS NAMES keyutils) -set(KEYUTILS_LIBRARIES ${LIBKEYUTILS}) +find_library(KEYUTILS_LIBRARIES NAMES keyutils) -# handle the QUIETLY and REQUIRED arguments and set KEYUTILS_FOUND to TRUE if -# all listed variables are TRUE include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(keyutils DEFAULT_MSG KEYUTILS_LIBRARIES KEYUTILS_INCLUDE_DIR) +find_package_handle_standard_args(keyutils + DEFAULT_MSG KEYUTILS_LIBRARIES KEYUTILS_INCLUDE_DIR) mark_as_advanced(KEYUTILS_LIBRARIES KEYUTILS_INCLUDE_DIR) + +if(KEYUTILS_FOUND AND NOT (TARGET keyutils::keyutils)) + add_library(keyutils::keyutils UNKNOWN IMPORTED) + set_target_properties(keyutils::keyutils PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${KEYUTILS_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${KEYUTILS_LIBRARIES}") +endif()
  90. Download patch debian/ceph-fuse.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-fuse.install 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-fuse.install 2019-06-18 08:35:34.000000000 +0000 @@ -1,3 +1,4 @@ +lib/systemd/system/ceph-fuse* usr/bin/ceph-fuse usr/sbin/mount.fuse.ceph sbin usr/share/man/man8/ceph-fuse.8
  91. Download patch debian/ceph-base.prerm

    --- 12.2.11+dfsg1-2.1/debian/ceph-base.prerm 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-base.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/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
  92. Download patch debian/ceph-mgr-rook.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr-rook.install 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr-rook.install 2019-06-25 07:01:54.000000000 +0000 @@ -0,0 +1 @@ +usr/share/ceph/mgr/rook
  93. Download patch debian/ceph-mgr.postinst

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr.postinst 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr.postinst 2019-05-30 14:06:18.000000000 +0000 @@ -24,6 +24,7 @@ set -e case "$1" in configure) + [ -x /sbin/start ] && start ceph-mgr-all || : if ! dpkg-statoverride --list /var/lib/ceph/mgr >/dev/null then
  94. Download patch debian/ceph-mgr.install

    --- 12.2.11+dfsg1-2.1/debian/ceph-mgr.install 2019-04-05 13:12:52.000000000 +0000 +++ 14.2.1-0ubuntu3/debian/ceph-mgr.install 2019-06-25 07:01:54.000000000 +0000 @@ -1,2 +1,28 @@ +lib/systemd/system/ceph-mgr* usr/bin/ceph-mgr -usr/lib/*/ceph/mgr +usr/share/ceph/mgr/ansible +usr/share/ceph/mgr/balancer +usr/share/ceph/mgr/crash +usr/share/ceph/mgr/deepsea +usr/share/ceph/mgr/devicehealth +usr/share/ceph/mgr/influx +usr/share/ceph/mgr/insights +usr/share/ceph/mgr/iostat +usr/share/ceph/mgr/localpool +usr/share/ceph/mgr/mgr_module.* +usr/share/ceph/mgr/mgr_util.* +usr/share/ceph/mgr/orchestrator.* +usr/share/ceph/mgr/orchestrator_cli +usr/share/ceph/mgr/osd_perf_query +usr/share/ceph/mgr/pg_autoscaler +usr/share/ceph/mgr/progress +usr/share/ceph/mgr/prometheus +usr/share/ceph/mgr/rbd_support +usr/share/ceph/mgr/restful +usr/share/ceph/mgr/selftest +usr/share/ceph/mgr/status +usr/share/ceph/mgr/telegraf +usr/share/ceph/mgr/telemetry +usr/share/ceph/mgr/test_orchestrator +usr/share/ceph/mgr/volumes +usr/share/ceph/mgr/zabbix
  95. Download patch cmake/modules/FindGMock.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindGMock.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindGMock.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,21 @@ +find_path(GMock_INCLUDE_DIR NAMES gmock/gmock.h) +find_library(GMock_GMock_LIBRARY NAMES gmock) +find_library(GMock_Main_LIBRARY NAMES gmock_main) + +find_package_handle_standard_args(GMock + REQUIRED_VARS + GMock_GMock_LIBRARY + GMock_Main_LIBRARY + GMock_INCLUDE_DIR) + +if(GMock_FOUND) + foreach(c GMock Main) + if(NOT TARGET GMock::${c}) + add_library(GMock::${c} UNKNOWN IMPORTED) + set_target_properties(GMock::${c} PROPERTIES + IMPORTED_LOCATION "${GMock_${c}_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${GMock_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") + endif() + endforeach() +endif()
  96. Download patch cmake/modules/FindRabbitMQ.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/FindRabbitMQ.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/FindRabbitMQ.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,19 @@ +find_path(rabbitmq_INCLUDE_DIR + NAMES amqp.h) + +find_library(rabbitmq_LIBRARY + NAMES rabbitmq) + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(RabbitMQ DEFAULT_MSG + rabbitmq_INCLUDE_DIR + rabbitmq_LIBRARY) + +if(RabbitMQ_FOUND AND NOT (TARGET RabbitMQ::RabbitMQ)) + add_library(RabbitMQ::RabbitMQ UNKNOWN IMPORTED) + set_target_properties(RabbitMQ::RabbitMQ PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${rabbitmq_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${rabbitmq_LIBRARY}") +endif()
  97. Download patch ceph-menv/build_links.sh

    --- 12.2.11+dfsg1-2.1/ceph-menv/build_links.sh 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/ceph-menv/build_links.sh 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,16 @@ +#!/bin/bash + +DIR=`dirname $0` +ROOT=$1 + +[ "$ROOT" == "" ] && ROOT="$HOME/ceph" + +mkdir -p $DIR/bin + +echo $PWD +for f in `ls $ROOT/build/bin`; do + echo $f + ln -sf ../mdo.sh $DIR/bin/$f +done + +echo "MRUN_CEPH_ROOT=$ROOT" > $DIR/.menvroot
  98. Download patch cmake/modules/Findfmt.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findfmt.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findfmt.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,43 @@ +find_path(fmt_INCLUDE_DIR NAMES fmt/format.h) + +if(fmt_INCLUDE_DIR) + set(_fmt_version_file "${fmt_INCLUDE_DIR}/fmt/core.h") + if(NOT EXISTS "${_fmt_version_file}") + set(_fmt_version_file "${fmt_INCLUDE_DIR}/fmt/format.h") + endif() + if(EXISTS "${_fmt_version_file}") + # parse "#define FMT_VERSION 40100" to 4.1.0 + file(STRINGS "${_fmt_version_file}" fmt_VERSION_LINE + REGEX "^#define[ \t]+FMT_VERSION[ \t]+[0-9]+$") + string(REGEX REPLACE "^#define[ \t]+FMT_VERSION[ \t]+([0-9]+)$" + "\\1" fmt_VERSION "${fmt_VERSION_LINE}") + foreach(ver "fmt_VERSION_PATCH" "fmt_VERSION_MINOR" "fmt_VERSION_MAJOR") + math(EXPR ${ver} "${fmt_VERSION} % 100") + math(EXPR fmt_VERSION "(${fmt_VERSION} - ${${ver}}) / 100") + endforeach() + set(fmt_VERSION + "${fmt_VERSION_MAJOR}.${fmt_VERSION_MINOR}.${fmt_VERSION_PATCH}") + endif() +endif() + +find_library(fmt_LIBRARY NAMES fmt) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(fmt + REQUIRED_VARS fmt_INCLUDE_DIR fmt_LIBRARY + VERSION_VAR fmt_VERSION) +mark_as_advanced( + fmt_INCLUDE_DIR + fmt_LIBRARY + fmt_VERSION_MAJOR + fmt_VERSION_MINOR + fmt_VERSION_PATCH + fmt_VERSION_STRING) + +if(fmt_FOUND AND NOT (TARGET fmt::fmt)) + add_library(fmt::fmt UNKNOWN IMPORTED) + set_target_properties(fmt::fmt PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${fmt_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${fmt_LIBRARY}") +endif()
  99. Download patch cmake/modules/Findrocksdb.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Findrocksdb.cmake 2019-01-30 15:51:26.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Findrocksdb.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -# Find the native Rocksdb includes and library -# This module defines -# ROCKSDB_INCLUDE_DIR, where to find rocksdb/db.h, Set when -# ROCKSDB_INCLUDE_DIR is found. -# ROCKSDB_LIBRARIES, libraries to link against to use Rocksdb. -# ROCKSDB_FOUND, If false, do not try to use Rocksdb. - -find_path(ROCKSDB_INCLUDE_DIR rocksdb/db.h) - -find_library(ROCKSDB_LIBRARIES rocksdb) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(rocksdb DEFAULT_MSG - ROCKSDB_LIBRARIES ROCKSDB_INCLUDE_DIR) - -mark_as_advanced( - ROCKSDB_INCLUDE_DIR - ROCKSDB_LIBRARIES)
  100. Download patch cmake/modules/Finduuid.cmake

    --- 12.2.11+dfsg1-2.1/cmake/modules/Finduuid.cmake 1970-01-01 00:00:00.000000000 +0000 +++ 14.2.1-0ubuntu3/cmake/modules/Finduuid.cmake 2019-04-25 18:15:48.000000000 +0000 @@ -0,0 +1,20 @@ +# Try to find libuuid +# Once done, this will define +# +# UUID_FOUND - system has Profiler +# UUID_INCLUDE_DIR - the Profiler include directories +# UUID_LIBRARIES - link these to use Profiler + +if(UUID_INCLUDE_DIR AND UUID_LIBRARIES) + set(UUID_FIND_QUIETLY TRUE) +endif() + +find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h) +find_library(UUID_LIBRARIES NAMES uuid) +set(UUID_LIBRARIES ${LIBUUID}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(uuid + DEFAULT_MSG UUID_LIBRARIES UUID_INCLUDE_DIR) + +mark_as_advanced(UUID_LIBRARIES UUID_INCLUDE_DIR)
  101. ...
  1. ceph