On Jun 9, 2010, at 9:11 AM, Dr. David Kirkby wrote:

On 06/ 9/10 12:40 PM, Dima Pasechnik wrote:
Well, I saw upgrades fail repeatedly, and William was writing here
that -upgrade is basically not ready
for prime time use.

Indeed, one needs to have at least an spkg dependencies mechanism in
place, before -upgrade
can be done in a fool-proof way. At the moment it is adhoc - an spkg
can be checking that another spkg is there and has version at least
something, but this is not supported in any consistent way, e.g. like
it is done with Debian packages.
I.e. there is no declarative facilities in place that would allow one
to specify such an interdependency,
they rather need to be hard-coded into the spkg install script.

So one needs to develop/adopt such a scheme, before -upgrade can be
made safe...

I've looked briefly at /local/bin/sage-update. Something that I think is flawed is that if package B depends on A, and A is updated, B is not recompiled.

The 'deps' file only lists the dependencies, but not version numbers.

Looking at spkg/standard/deps, I see:

$(INST)/$(FPLLL): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
       $(SAGE_SPKG) $(FPLLL) 2 >&1

IIRC, these get populated with the "latest" release numbers before this point, which is why they're expanded rather than hard coded.

Let's assume MPIR gets updated. It would be wise to recompile fplll, even if its not necessary to do so. Knowing when it is necessary and when it is not necessary, would be hard to know.

As far as I can see, there is nothing to do that. Consulting 'spkg/ standard/deps' could be used to determine if those packages need updating.

The other issue is that spkg/sandard/deps sometimes has inferred dependencies. For example, Pyton depends on zlib. PolyBoRi depends on Pyton. But zlib is not listed as a dependancy of PolyBori, though it is inferred via python.

IMHO, if zlib is rebuilt, python should, and so polybori rebuilt. At the moment, neither will happen if I've understood things correctly.

I thought that was the whole point of using make, so that it handles (direct and indirect) dependancies for us. If it's not doing that, then that's a serious issue.

- Robert

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to