Re: GSoC project: make the Sage build system more distribution friendly
Le 17/03/2013 00:36, thansen@debian.org a écrit :
Is splitting the vanilla upstream sources off planned? That would be
very helpful for distributions. Another helpful thing would be a clear
distinction between fixes/adjustment to the library and Sage glue,
because we need all the Sage glue, but want to decide ourselves which
other patches to apply.
Let me add that there is also no clear distinction between tests which
check the code does correct calculations and tests which check things
are installed in some place and not in another ; see for example:
http://trac.sagemath.org/sage_trac/ticket/12627
having such tests spread here and there makes fractioning sage in
distribution packages more painful than should be.
The current situation is the following:
- an spkg, call him 'helper', provides an executable 'do_something'.
- any other spkg, call them 'user1', ... 'userN' use 'do_something', but
call it with a full path, to be sure it really runs the one from the
helper spkg.
That means that if one tries to use a system 'helper' package, one gets
a breakage in many other places.
A better situation would be the following: upon installation, the
'helper' spkg runs 'which do_something' in 'sage -sh', and checks that
the correct path is returned (the one where it installed the
executable). Then the 'user' spkg can just run 'do_something' and be
confident that it will something appropriate will be done.
Another thing are patch headers. Sometimes I can't find out what a patch
in a spkg does, for example I found patches that just move a few lines
of code somewhere else. I can't apply a patch when I don't know what it
does. In Debian we have this specification for patch headers to document
what they do: http://dep.debian.net/deps/dep3/
Indeed, and notice in particular the 'Forwarded' field: by default, a
debian patch has been forwarded upstream. The impression I have is that
by default, a patch in an spkg has not.
Snark on #debian-science and #sagemath
Reply to: