New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reef: Debian: update to dh compat 12, fix more serious packaging errors, correct copyright syntax #53654
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> (cherry picked from commit c14ed9b)
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> (cherry picked from commit eaaf807)
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> (cherry picked from commit bf09f66)
Signed-off-by: Matthew Vernon <mvernon@wikimedia.org> (cherry picked from commit 7ec0f69)
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> (cherry picked from commit 842d6ae)
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> (cherry picked from commit 8686399)
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> (cherry picked from commit 74188c2)
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> (cherry picked from commit 96edd84)
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> (cherry picked from commit efd469e)
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> (cherry picked from commit 67abe9c)
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> (cherry picked from commit e4393e5)
Merged
14 tasks
@yuriw how do you want to handle debian testing for this? |
jdurgin
approved these changes
Oct 18, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
backport tracker: https://tracker.ceph.com/issues/62970
backport of #53546
parent tracker: https://tracker.ceph.com/issues/61845
this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh