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.