On Wed, Mar 1, 2017 at 8:52 AM, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
> I have been thinking about this too. My personal conclusion was that the
> "type" enumeration (standard, optional, experimental, pip, script) is simply
> too restricted and that we need additional metadata with more degrees of
> freedom.
>
> Currently, the "type" field is relevant for:
> - which packages are installed by default
> - which packages should be packed in the source tarball
> - which --optional tags are given when doctesting
> - whether a warning message is given when installing the package
> - the Make rules of a package
> - the automatic dependencies of a package
>
> I think that's bordering on being too much already. So +1 to more metadata
> but -1 to inventing yet another type.

Agreed.  What we want here is "provides".  For example:

"provides: blas"

where "blas" is an abstract dependency which may be fulfilled by
multiple packages (more or less like we already do, but more
concretely).

In Debian the alternatives [1] system is used to manage what concrete
package is being used to provide an abstract dependency.

Coincidentally I posted #22509 [2], which might be useful for this, a
little before reading this thread.  My motivation there was to support
uninstallation better.  But another case for it could be managing
package alternatives in such a way that obviates needing to rebuild
every one switches packages.  For example, one could have builds of
both openblas and atlas living in directories outside $SAGE_LOCAL (but
that are *not* temporary as my ticket suggests).  Then one could use a
modified form of the uninstall procedure described in #22510 [3] to
swap one package out for the other.

[1] https://wiki.debian.org/DebianAlternatives
[2] https://trac.sagemath.org/ticket/22509
[3] https://trac.sagemath.org/ticket/22510

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to