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

mimic: build/ops: Can't compile Ceph on Fedora 29 as it doesn't recognize python*3*-tox as an install Tox #25294

Merged
merged 2 commits into from Nov 28, 2018

Conversation

Projects
None yet
4 participants
@smithfarm
Copy link
Contributor

smithfarm commented Nov 27, 2018

smithfarm added some commits Aug 1, 2018

build/ops: refrain from installing/using lsb_release in install-deps.sh
Unfortunately the mapping between release number and codename (which is only
relevant for Debian and Ubuntu btw) is not available from /etc/os-release.
In that one respect, lsb_release was "better".

However, when I weigh the advantages of obtaining that mapping from an external
tool, with the (substantial) risk that the external dependency might cause
trouble on one or more supported distros (to say nothing of the non- or
semi-/pseudo-supported ones), against the work involved in maintaining a
hard-coded mapping (negligible), the needle on my scale immediately swings
toward eliminating the dependency.

Also, I see this commit as part of the longer-term effort to completely expunge
lsb_release from our codebase. See git log --grep lsb_release.

For another example of an external distro-detection tool (albeit one that was
included in Python 2) gone awry, see http://tracker.ceph.com/issues/18163.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 38508b4)
build/ops: rpm: stop install-deps.sh clobbering spec file Python buil…
…d setting

Fedora 29 still ships a Python 2 binary, but some of Ceph's build
dependencies are only available in py3 versions there. In other
words, from F29 on, it is no longer possible to do a py2 Ceph build
on Fedora, even if a python2 binary exists on the system.

If that were not enough, the Python 2 that ships with Fedora 29 is
linked against a non-compatible version of OpenSSL.

Before this commit, install-deps.sh was overriding the spec file's
Python build setting based on the presence or absence of a python2
binary. As the bug cited below indicates, this was not a good idea.

It's better for the spec file to be explicit about which OS versions
are py2 and which are py3, and just stick to that.

Fixes: http://tracker.ceph.com/issues/37301
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 7d49166)

Conflicts:
	ceph.spec.in
	install-deps.sh
- no WITH_SEASTAR in mimic

@smithfarm smithfarm self-assigned this Nov 27, 2018

@smithfarm smithfarm added this to the mimic milestone Nov 27, 2018

@smithfarm smithfarm added bug fix core build/ops and removed core labels Nov 27, 2018

@smithfarm smithfarm requested review from tchaikov and badone Nov 27, 2018

@smithfarm smithfarm changed the title mimic: Can't compile Ceph on Fedora 29 as it doesn't recognize python*3*-tox as an install Tox mimic: build/ops: Can't compile Ceph on Fedora 29 as it doesn't recognize python*3*-tox as an install Tox Nov 27, 2018

@badone

badone approved these changes Nov 28, 2018

Copy link
Contributor

badone left a comment

LGTM

@yuriw

This comment has been minimized.

Copy link
Contributor

yuriw commented Nov 28, 2018

@smithfarm what needs to be tested for it ?

@smithfarm smithfarm merged commit 1867622 into ceph:mimic Nov 28, 2018

4 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details

@smithfarm smithfarm deleted the smithfarm:wip-37422-mimic branch Nov 28, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment