On Mon, Nov 21, 2016 at 2:52 PM, Emmanuel Charpentier <[email protected]> wrote: > Le lundi 21 novembre 2016 14:28:11 UTC+1, Jeroen Demeyer a écrit : >> >> On 2016-11-21 12:37, Emmanuel Charpentier wrote: >> > What do you think ? >> >> I think we should simply NOT install the package at all instead of >> faking an install in spkg-install. We currently do for gcc and git > > > OK so far > >> >> using >> some logic in the top-level ./configure. > > > Aha ! Here's the rub ! You need to do this on toplevel configuration for > each and every such package. > > This is needed for gcc, which is pretty central to any installation, and > possibly for git (similar, but weaker, reasons). > > My point is that we should be able to do this for more mundane packages > (possibly optional), without having to tinker with the toplevel config file. > This is practical : > > if the package does not need "in situ" Sage-specific patching, and > has no version-specific issues. > > Such a "mundane" package may need a wrapper, which can be installed > separately in a separate section of the spkg-install script.
I think there's room for both here, where necessary. I think the top level `./configure` should be checking what packages are already available from the system, and there has already been movement, thankfully, toward doing that (albeit slowly). In some cases it may be necessary / useful to install some kind of wrapper into the sage environment around the system-installed dependency. But that may not always be necessary either. Would have to look at specific examples to be any more specific. > (BTW : we need also to create a way to "uninstall" a Sage package more > steamlined than 'make distclean && make". No ideas yet about this one...). Yes. I think work like https://trac.sagemath.org/ticket/21469 is an important prerequisite to that, as well as some of the other configure cleanup. Ideally, package installation would proceed more like building packages for distros like Debian, where instead of installing directly into $SAGE_LOCAL, packages would be first installed into an alternate root, and then copied from there into $SAGE_LOCAL. This gives an opportunity to enumerate every file/directory installed by that package and create a manifest that can be used for later uninstallation. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
