[Proposal] Ring-based Packaging Policies

Petr Pisar ppisar at redhat.com
Fri Feb 13 09:26:21 UTC 2015

On 2015-02-12, Paul Howarth <paul at city-fan.org> wrote:
> We generally have requires for most optional functionality in Perl
> packages at the moment, to avoid bugs being raised about missing
> dependencies when people try to use that optional functionality.
> If there was consensus about use of soft dependencies, that would
> probably help a lot in the Perl world.
It wouldn't, if the policy for hard dependencies (does not crash) did not

There are three kinds of dependencies categorized by usage:

(1) Dependencies needed for each usage (common subset over each usage).
(2) Dependencies needed for the default usage.
(3) Dependencies needed for all usages (union over each usage).

There are two kinds of dependencies categorized by behavior on a miss:

(A) Missing dependency causes a crash.
(B) Missing dependency is handled gracefully.

That makes 6 different combinations. Some of them does not make much
sense, the rest are handled by differnet packagers differently. In my
opinion, current prevalent Fedora practise is:

To require: 1A, 1B, 2A, 2B, 3A
Not to require: 3B

>From my experience with people talking about soft dependencies
(Florian Festi's talk on Developer Conference 2015 in Brno) there are:

- desktop users desiring to reclassify 3B as a soft dependency
- developers desiring to reclassify 2B as a soft dependency
- core bootstraping developers desiring to reclassify 2B and 1B as soft

To make things complicated, the soft dependencies have two force levels.
The levels could separate these three groups of poeple into two groups,
so only one would remain unhappy in contrast to today's three unhappy

In other words, I don't think anybody is willing to make crash-on-miss
dependencies a soft dependencies. I'm sorry, Paul.

-- Petr

More information about the devel mailing list