HomeClusterLabs Projects

Build: spec: weak co-dependence of -cli with -remote & pacemaker proper

Description

Build: spec: weak co-dependence of -cli with -remote & pacemaker proper

Currently, -cli makes little sense to reside on a machine in isolation
(barring exotic, undocumented use cases like connecting CIB remotely)
especially now that -schemas sibling package has been separated with
an arch-independent portion of what it used to carry before.

Hence "legalize" a virtual provide for either pacemaker or
pacemaker-remote, as was so far established just in downstream,
e.g., in Fedora: pcmk-cluster-manager, and make it a target of
"weak require" (Recommends:) dependency for -cli.

This allows higher level configuration tools coexisting in the same
RPM ecosystem be bound solely to this -cli package if they cannot
operate without the CLI tools (e.g., pcs; making for a logical
reflection of this actual state), and this or other daemon backend
(in "pacemaker" or "pacemaker-remote") package can either be in specific
respective "Requires:" dependency for these, or it may be left up to
users whether they want a full-blown installation (requesting weak
dependencies) and if so, whether the actual daemon backend will be
picked semi-randomly or whether it will be influenced with particular
preference using "Suggests:". Note that the package build environments
commonly ignore weak dependencies[1] so if such affected high level
configurators only "BuildRequires: pacemaker-cli" without the need
for any such daemon, such an arrangement shall come lighter on
prerequisites as well -- another advantage here.

Since weak dependencies are relatively new[2] and it also took some
time for distributions to catch on[3], we need to conditionalize
respectively for the ones that will recognize respective new
RPM tags in the spec reliably.

[1] https://pagure.io/koji/blob/a90d0e5a37e01d496d1f44f995a8ee8a4178e867/f/koji/__init__.py#_1490
[2] http://rpm.org/wiki/Releases/4.12.0#package-building
[3] e.g. https://pagure.io/packaging-committee/issue/531

Details

Provenance
Jan Pokorný <jpokorny@redhat.com>Authored on Nov 12 2018, 6:17 PM
Parents
rP14bfff68eb69: Build: spec: make static dependencies on inner libraries arch-specific
Branches
Unknown
Tags
Unknown

Event Timeline