[Distutils] Metadata 2.0: Warning if optional features are missing
Nick Coghlan
ncoghlan at gmail.com
Wed Dec 16 05:59:38 EST 2015
On 16 December 2015 at 04:59, Robert Collins <robertc at robertcollins.net> wrote:
> Some issues with reusing extras are:
> - extras refer to things in the dependency graph, but as
> distributions are the installable things and the graph nodes are
> distributions, foo[fast] is - in widespread deployment - entirely and
> only a list of additional distributions.
> - there's no concept of 'default extra', and there is no clear path
> for bringing it in compatibly, at least so far
> - we haven't worked through the ui implications about which end of
> the relation this should be configured: should consumers be specifying
> them, or providers?
> - negative operators on extras are as yet undefined, and due to the
> dependencies of an install being a graph, not a tree, a naive
> definition is likely very hard to use IMO
One of the other challenges posed by the current extras system is how
best to map it to alternate packaging systems. It *can* be done, but
it's not particularly clean (the main approaches I'm aware of involves
defining a meta-package for each extra, which is rather horrible, or
just translating them to Recommends or Suggests and accepting the loss
of granularity).
> Recommends and suggests are an interesting way of modelling this, and
> its possible we don't need an exclude relation- rather users should
> blacklist them globally in the target environment somehow, which would
> contain that partcular complexity.
I doubt it will surprise anyone to learn I'd be a fan of aiming to
learn from Linux distro experience with describing complex dependency
graphs on this front :)
The RPM folks recently decided the Debian design was essentially a
good one, so the new(ish) weak dependency support in that ecosystem
has a lot of similarities to Debian's approach:
http://www.rpm.org/wiki/PackagerDocs/DependenciesOverview#Weakdependencies
Cheers,
Nick.
P.S. I had to check the actual degree of similarity myself, so for
reference, the relevant Debian docs link is at
https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Distutils-SIG
mailing list