summaryrefslogtreecommitdiffstats
path: root/debian (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #53546 from mcv21/deb_package_fixesKefu Chai2023-09-237-35/+574
|\ | | | | | | | | debian: update to dh compat 12, fix more serious packaging errors, correct copyright syntax Reviewed-by: Kefu Chai <tchaikov@gmail.com>
| * debian: call dh_python3 for ceph-{base,common,fuse,volume}Matthew Vernon2023-09-221-0/+4
| | | | | | | | | | | | | | | | | | In the cases of ceph-base, ceph-common, and ceph-fuse, this picks up that these packages contain python scripts and adds a necessary python3 dependency. In the case of ceph-volume it additionally parses the requirements.txt file. Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: radosgw.init to installinit, remove auto_build overrideMatthew Vernon2023-09-221-5/+2
| | | | | | | | | | | | | | | | | | | | Installation of init scripts properly belongs with dh_installinit, so move the installation there. That means we no longer need the override of dh_auto_build, which simplifies the rules file. Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: specify a dependency on python3 for cephadmMatthew Vernon2023-09-221-0/+1
| | | | | | | | | | | | | | | | cephadm is a compressed zipapp, and dh3_python3 doesn't understand this sort of binary file, so fails to produce the required python3 dependency. So specify this explicitly in debian/control Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: remove obsolete ceph-base.docs, restore dh_installdocsMatthew Vernon2023-09-222-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | debian/ceph-base.docs only referred to a README that doesn't exist, so remove it. Because dpkg-source doesn't reflect deletions from debian/ cf the orig.tar.gz, also remove the file in dh_auto_clean. Then do away with the removal of the empty override of dh_installdocs; the main benefit of which here is that debian/copyright gets installed in all of the built packages, which otherwise lack a copyright file. Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: correct maintainer addressMatthew Vernon2023-09-221-1/+1
| | | | | | | | | | | | | | This means that debian/control matches changelog entries, and that the Maintainer address is up to date. Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: dh compat to 12, necessary init/systemd adjustmentsMatthew Vernon2023-09-222-12/+6
| | | | | | | | | | | | | | | | Bring the dh compat level to 12, the most recent supported by the oldest supported Ubuntu LTS release, 20.04. This necessitates changes to how initscripts & systemd packaging are done. Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian/copyright: update syntax, maintainer, add license stanzasMatthew Vernon2023-09-221-3/+553
| | | | | | | | | | | | | | | | | | | | | | | | | | Update the header paragraph to link to the canonical URL for the format, and point to dev@ceph.io as the Contact. Also add License: stanzas to reflect the licences in use (and refer to fuller versions in /usr/share/common-licenses/ as appropriate). This means that packages containing this copyright file are better in compliance with the licences concerned. Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: add missing item separators in debian/controlMatthew Vernon2023-09-221-4/+4
| | | | | | | | Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: remove {Build-,}Depends on essential packagesMatthew Vernon2023-09-221-4/+0
| | | | | | | | | | | | | | | | | | | | Unless there's a version requirement (which there isn't here), packages should not declare a Build-Depends: or Depends: relationship on essential packages. Policy link: https://www.debian.org/doc/debian-policy/ch-binary.html#dependencies Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: specify interpreters for ceph-mon and ceph-osd postinstsMatthew Vernon2023-09-222-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were previously missing. The requirement for interpreters is in Debian policy section 10.4: https://www.debian.org/doc/debian-policy/ch-files.html#s-scripts Debian's packaging already adds the #! to these two postinsts. In practice, a text executible without a #! line will likely be executed by the calling shell, so a lot of the time we'd get away with it unless the administrator is using an incompatible shell like tcsh. This behaviour of shells is documented in POSIX section 1(e)(i)(b) here: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_01_01 Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
| * debian: Build-Depend on g++ 11 or greaterMatthew Vernon2023-09-222-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rely on the packaging system to provide a suitable g++ of version 11 or greater, and removing the corresponding hard-coding from debian/rules, since cmake will then find a suitable version. This seems better than trying to hard-code a particular version in debian/rules, and Debian package building tools like e.g. sbuild will then do the right thing. This enables Reef (v18.2.0) to build on Debian bookworm in a clean chroot. Fixes: https://tracker.ceph.com/issues/61845 Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
* | Merge pull request #52933 from dang/wip-dang-posix-driverDaniel Gryniewicz2023-09-151-0/+1
|\ \ | |/ |/| | | | | | | RGW - Add POSIX Driver Reviewed-by: Casey Bodley <cbodley@redhat.com> Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
| * RGW - Add POSIX DriverDaniel Gryniewicz2023-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the MVP for a driver for RGW that operates on top of a POSIX filesystem. It supports get, put, list, copy, multipart, external access via the filesystem itself, and ordered bucket listings via an LRU-based cache. Note that this is currently a Filter, indended to run on top of dbstore. This is because it currently doesn't have any User implementation, so it depends on dbstore's User. Everything else is implemented in POSIXDriver. Once there is a User implementation, this will become a Store, instead of a Filter. Commit messages from bucket listing cache: rgw/posixdriver: recycle lmdb database handles as required While LMDB workflows often do not close/return database handles, ours continually reuses them. This requires us to close each handle (atomically) when a cache entry is recycled. rgw/posixdriver: don't instantiate bucket cache entries from notify events rgw/posixdriver: incorporate lmdb-safe for now The current inclusion is based on https://github.com/Martchus/lmdb-safe, which is actively maintained but currently has some packaging issues the author has agreed to accept fixes for. For now, skip the submodule to save time and remove an external dependency. rgw/posixdriver: fix listing of cached, empty bucket * check lmdb enumeration result in all cases and w/better style * add unit test for enumeration of an empty cached directory rgw/posixdriver: nest lmdbs in a directory under the dbroot path to avoid cleanup issues rgw/posixdriver: refactor for posix integration * Derive BucketCache types as templates on a SAL driver and SAL bucket pair. * Integrate cache fills as callbacks into SAL layer (or mock, for tests) * Renaming and cleanups rgw/posixdriver: add bucket cache implementation and tests Adds free-standing cache of buckets and object names, with bucket names (and listing attributes, upcoming) managed in a hashed set of lmdb databases, which provides ordering and a high-performance listing cache. An framework for notification on new object creation (e.g., outside S3 workflow) is provided, and a Linux implementation using inotify. FindLMDB.cmake taken with attribution and license. rgw/posixdriver: add zpp_bits serialization (FAST) Signed-off-by: Daniel Gryniewicz <dang@redhat.com> Signed-off-by: Ali Maredia <amaredia@redhat.com> Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
* | Merge pull request #51071 from ivancich/wip-versioned-reindexJ. Eric Ivancich2023-09-071-0/+1
|\ \ | |/ |/| | | | | rgw: reindex of objects in versioned buckets Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * rgw: enhances rgw-restore-bucket-index scriptJ. Eric Ivancich2023-08-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enhances the script to both process versioned buckets correctly and to handle object names that begin with underscore. If the bucket is versioned it submits each version chronologically (based on mtime) to be reindexed in order to "replay" the modification of objects. However mtime is not a perfect indicator. So additionally it looks at the OLH object to determine the most recent version and the script makes sure that it is replayed last. The order of previous versions is likely correct, but not guaranteed to be so. Additional logic is added to handle objects with names that begin with underscore ('_') since that's used as a delimiter and needs to be escaped and rados object locators are also used. A man page for the script is added. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
* | debian/control: add docker-ce as recommends for cephadm packageAdam King2023-08-071-1/+1
|/ | | | | | | | | The issue this is addressing is that if somebody has docker-ce installed but not docker.io with the current recommends it will install podman. If the user has docker-ce we don't want it to do that. Signed-off-by: Adam King <adking@redhat.com>
* debian: install cephfs-mirror systemd unit files and man pageJos Collin2023-06-151-0/+2
| | | | | Fixes: https://tracker.ceph.com/issues/59682 Signed-off-by: Jos Collin <jcollin@redhat.com>
* rgw: install rgw scripts with common files rather than radosgw filesJ. Eric Ivancich2023-03-152-4/+4
| | | | | | | | Update ceph.spec.in and debian install files so rgw-restore-bucket-index, rgw-orphan-list, rgw-gap-list, rgw-gap-list-comparator are installed with common files. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
* Merge pull request #50147 from cbodley/wip-debian-mgr-pytestErnesto Puerta2023-03-131-1/+0
|\ | | | | | | | | debian/mgr: remove pytest from debian/ceph-mgr-dashboard.requires Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
| * debian/mgr: remove pytest from debian/ceph-mgr-dashboard.requiresCasey Bodley2023-02-171-1/+0
| | | | | | | | | | | | | | pytest isn't listed in ceph.spec.in for rpm builds, so it probably isn't really a requirement for debian Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | rgw: add rgw-restore-bucket-indexJ. Eric Ivancich2023-03-091-0/+1
|/ | | | | | | | | | Adds an experimental script that allows a bucket index of a non-versioned bucket to be restored by applying `radosgw-admin object reindex ...` to all objects in the specified bucket. The objects in the bucket are determined by scanning the data pool for head objects containing the bucket's marker. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
* mgr/prometheus: use vendored "packaging" insteadKefu Chai2023-01-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of using the top-level "packaging" module, use the one vendored by setuptools. packaging python module provides versioning defined by PEP-440. but python3-packaging is provided by CentOS8 powertools repo, which is not enabled by default. and in CentOS9, this package is provided by AppStream instead of BaseOS. as prometheus mgr module is included by ceph-mgr-module-core, it would be desirable if our user can install ceph-mgr-module-core without enabling powertools or AppStream repo on a CentOS or its derivative distros. fortunately, setuptools vendors packaging module. and both CentOS8 and CentOS9 provide python3-setuptools in their BaseOS repos. in this change, instead of using "packging" module, we use the venderored one, which is in turn embedded in pkg_resources. this python module is provided by python3-setuptools on CentOS distros, and python3-pkg-resources on Debian and its derivatives. the packaging recipes are updated accordingly to reflect the new runtime dependency. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* rgw: added rgw-policy-checkMarcus Watts2022-12-131-0/+1
| | | | | | | | | | | | | | | | | | rgw-policy-check - a program to do syntax checking on bucket policy. This program just reads the policy into memory, so it is not checking anything except syntax. Signed-off-by: Marcus Watts <mwatts@redhat.com> rgw: Fix return value of `rgw-policy-check` Signed-off-by: Adam C. Emerson <aemerson@redhat.com> rgw: Use ceph initialization in `rgw-policy-check` Specifically so we can pull in the options from `ceph.conf` and similar. Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
* blk/kernel: add plugin system for devices with compression and move VDO ↵Martin Ohmacht2022-09-282-0/+2
| | | | | | | | | | | | support into plugin The current VDO support implementation is buried inside the common/blkdev.cc with a simple interface used by KernelDevice. It is not easily extendable and can not be easily used for other devices providing similar capabilities. This patch adds a plugin system that is based in its structure on the erasure code plugin system and moves the VDO support code into a VDO plugin. Signed-off-by: Martin Ohmacht <mohmacht@us.ibm.com>
* rpm, debian: use cmake to install the cephadm binaryMichael Fritch2022-09-131-2/+0
| | | | Signed-off-by: Michael Fritch <mfritch@suse.com>
* Merge pull request #47288 from batrick/i56274Josh Durgin2022-08-181-1/+4
|\ | | | | | | | | | | debian: add libsqlite3-mod-ceph dependency for ceph-mgr Reviewed-by: Josh Durgin <jdurgin@redhat.com> Reviewed-by: Kefu Chai <tchaikov@gmail.com>
| * debian: add libsqlite3-mod-ceph versioned dep for ceph-mgrPatrick Donnelly2022-08-021-1/+4
| | | | | | | | | | | | | | | | Without this, upgrades will keep older versions of the libcephsqlite3 module. Fixes: https://tracker.ceph.com/issues/56274 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* | ceph-mixin: Remove jsonnet buildingAswin Toni2022-08-171-0/+1
| | | | | | | | Signed-off-by: Aswin Toni <aswin.toni@cern.ch>
* | Merge pull request #47504 from cbodley/wip-57050Casey Bodley2022-08-091-1/+0
|\ \ | | | | | | | | | | | | rgw/cmake: stop building all of radosgw a shared lib Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
| * | rgw/cmake: stop building all of radosgw a shared libCasey Bodley2022-08-081-1/+0
| | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/57050 Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | pybind/mgr/dashboard: do not use distutils.version.StrictVersionKefu Chai2022-08-091-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | replace `distutils.version.StrictVersion` with `pkg_resources.parse_version()` as the former is deprecated, see https://peps.python.org/pep-0632/. let's use `pkg_resources` instead. this change also addresses https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010894. we have this issue when testing with an ubuntu jammy test node. see https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1967139 Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | cmake,debian: install pure python module to deb_system pathKefu Chai2022-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in ubuntu 22.04 and debian unstable, the layout (scheme) for system python module is named "deb_system", the default one is 'posix_local'. and 'posix_local' installs python modules into paths like usr/local/lib/python3.10/dist-packages/. hence dh_install fails when it tries to find the files to be packaged under directory of usr/lib/python3*/site-packages/. in this change, the "deb_system" scheme is used if it is available, and fall back to "posix_prefix" to be backward compatible with older debian (derivative) distros. also, update the source directories of pure python's installation from `site-packages` to `*-packages`, to be compatible with ubuntu focal and ubuntu jammy. as we are now using the specified scheme instead of the default one. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | debian: use dpkg/default.mk to init popular make variablesKefu Chai2022-08-041-1/+2
|/ | | | Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* debian: pin gcc-11Casey Bodley2022-07-301-0/+1
| | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
* cmake: add findndctl and finddaxctl functionYin Congmin2022-07-121-0/+2
| | | | | | | | | | | | In order to support the character device of pmem usage in bluestore via libpmem built by Ceph itself, we need to enable daxctl and ndctl dependency. add the installation of ndctl and find it. the version of ndctl and daxctl library requires >63. "apt-get install" meet the version under ubuntu focal. the installation of ndctl-devel in ceph.spec.in has not been verified. Signed-off-by: Yin Congmin <congmin.yin@intel.com>
* install-deps: install pmdk librariesYin Congmin2022-06-251-0/+2
| | | | | | | | Install libpmem and libpmemobj under focal ubuntu. the version of apt list can meet the current requirements. libpmemobj require >=1.8. Libpmem has no version requirements. Signed-off-by: Yin Congmin <congmin.yin@intel.com>
* Merge pull request #46295 from dparmar18/tracker3998Venky Shankar2022-06-201-0/+1
|\ | | | | | | | | | | | | | | | | | | | | mds: split up mdstypes Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com> Reviewed-by: Greg Farnum <gfarnum@redhat.com> Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Nikhilkumar Shelke <nshelke@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
| * mds: add include/cephfs/types.h path in spec filesdparmar182022-06-081-0/+1
| | | | | | | | Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
* | Merge pull request #46416 from tchaikov/wip-debian-dh-python3Kefu Chai2022-06-0510-43/+63
|\ \ | | | | | | | | | | | | | | | debian: python3 related cleanups Reviewed-by: Redouane Kachach <rkachach@redhat.com> Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
| * | debian: extract python3 packages to a single placeKefu Chai2022-05-311-9/+15
| | | | | | | | | | | | | | | | | | to better maintainability Signed-off-by: Kefu Chai <tchaikov@gmail.com>
| * | debian: add .requires for specifying python3 depsKefu Chai2022-05-3110-27/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we use dh_python3 to define subvar of ${python3:Depends} as a part of the runtime dependencies of python3 packages, like, ceph-mgr modules named "ceph-mgr-*", python3 bindings named "python3-*". but unlike python3 bindings of Ceph APIs, the ceph-mgr modules are not packaged in a typical python way. in other words, they do not ship a "dist-info" or an "egg-info" directory. instead, we just install the python scripts into a directory which can be found by ceph-mgr, by default it is /usr/share/ceph/mgr/dashboard/plugins. this does not follow the convention of python packaging or debian packaging policies related to python package. but it still makes to put these files in this non-convention place, as they are not supposed to be python packages consumed by the outer world -- they are but plugins. and should always work with the same version of ceph-mgr. the problem is, despite that we have ${python3:Depends} in the "Depends" field of packages like ceph-mgr-dashboard, dh_python3 is not able to figure out the dependencies by looking at the installed files. for instance, we have following "Depends" of ceph-mgr-dashboard: Depends: ceph-mgr (= 17.0.0-12481-g805d2320-1focal), python3-cherrypy3, python3-jwt, python3-bcrypt, python3-werkzeug, python3-routes and in the debian/control file we have: Depends: ceph-mgr (= ${binary:Version}), python3-cherrypy3, python3-jwt, python3-bcrypt, python3-werkzeug, python3-routes, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}, apparently, none of the subvar is materialized to a non-empty string. to improve the packaging, in this change: * drop all subvars from ceph-mgr-*, as they are all implemented in pure python. * add debian/ceph-mgr-*.requires, it's content is replicated with the corresponding requirements.txt files. * add python3-distutils for distutils, as debian and its derivatives package non-essetial part of distutils into a separate package, see https://packages.debian.org/stable/python3-distutils * add ${python3:Depends} so dh_python3 can extract the deps from debian/ceph-mgr-*.pydist * update the rule for "override_dh_python3" target, so dh_python3 can pick up the dependencies specified in .requires file. * remove the python3 dependencies not used by ceph-mgr from ceph-mgr's "Depends" Signed-off-by: Kefu Chai <tchaikov@gmail.com>
| * | debian: s/${python:Depends}/${python3:Depends}/Kefu Chai2022-05-281-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | ${python:Depends} is added by dh_python2. but we've migrated to python3 and Ceph is not compatible with python2 anymore. let's replace all references of python2 with python3. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | | Merge pull request #44684 from zenomri/wip-omri-tracing-compiledYuval Lifshitz2022-06-022-10/+6
|\ \ \ | |/ / |/| | tracer: set tracing compiled in by default
| * | debian: make jaeger package installation as defaultDeepika Upadhyay2022-05-172-10/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | jaeger opentelemetry deps that will be installed by default now: libyaml-dev > 0.6 libthrift-dev (thift deps: libevent-dev, bison, flex, boost(we use ceph compiled boost)) nlohmann-json3-dev removes: pkg.ceph.jaeger build package optional option Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
* / debian: include the new object_format.py fileJohn Mulligan2022-05-261-0/+1
|/ | | | | | This was missed when adding object_format.py to the RPM packaging. Signed-off-by: John Mulligan <jmulligan@redhat.com>
* Merge pull request #45064 from s-t-e-v-e-n-k/no-direct-use-of-noseCasey Bodley2022-05-111-1/+0
|\ | | | | | | | | test: No direct use of nose Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * ceph.spec.in,debian/control: Remove noseSteve Kowalik2022-04-041-1/+0
| | | | | | | | | | | | | | | | With the direct calls of nose methods removed, we no longer need to BuildRequire it. Fixes: https://tracker.ceph.com/issues/54252 Signed-off-by: Steve Kowalik <steven@wedontsleep.org>
* | Merge pull request #45677 from ideepika/wip-ninja-defaultIlya Dryomov2022-04-121-1/+1
|\ \ | | | | | | | | | | | | | | | ceph.spec: make ninja-build package install always Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Tim Serong <tserong@suse.com>
| * | build: make ninja-build package install alwaysDeepika Upadhyay2022-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | we use ninja build as default build now, having it installed only with make check enabled may make builds fail, if ran without make check. Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>