summaryrefslogtreecommitdiffstats
path: root/debian/ceph-mgr-dashboard.requires (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* debian: add .requires for specifying python3 depsKefu Chai2022-05-311-0/+11
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>