[prev in list] [next in list] [prev in thread] [next in thread] 

List:       python-distutils-sig
Subject:    Re: [Distutils] Metadata 2.0: Warning if optional features are missing
From:       Nick Coghlan <ncoghlan () gmail ! com>
Date:       2015-12-16 10:59:38
Message-ID: CADiSq7fMhwRxE12dbbNiVe+kZix4RMES=ECNCchAobfHddR=QQ () mail ! gmail ! com
[Download RAW message or body]

On 16 December 2015 at 04:59, Robert Collins <robertc@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@gmail.com   |   Brisbane, Australia
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic