On 9 Nov., 00:12, Maarten Derickx <m.derickx.stud...@gmail.com> wrote: > It seems like there are two groups of people here with different interests. > > One is the group whose main goal (at least as related to this discussion, > since the main goal of sage is different) to make sage easily available on > as much platforms as possible. And (a short version of) their argument is > something the following. Sage has many dependancy's (some not available on > every platform, some are hard to get different versions working together > etc.) so the easiest way to achieve the goal is by just packaging > everything so we are sure it works everywhere and we only have to put > effort into making it work in one setting (namely the setting of using sage > as a distribution). > > Then there is also a group of people who want to get sage working nicely in > a certain distribution (debian, gentoo, mandriva etc), also using the > packages they have already available on their system. Since having python, > ipython, etc. twice is of course a waste of resources and entirely against > the idea of having a distribution. > > Now this whole discussion has been about wich goal is better and which > should happen in the future (till the point where Francios started saying > how things go on sage-on-gentoo wich I think is great). But I think the > discussion should be about something else. The two goals are namely not > inherently contradicting each other (sage could be modified in a way that > it is possible to configure sage to use external packages, while keeping > the option to also install its own spkgs for exmple). So I think this > discussion should be about how to reach our goals together and also trying > to avoid duplication of effort. I guess Francios is someone who has > probably a lot usefull ideas about this since he has been doing it instead > of thinking about it, and hence also has seen the problems still lying > ahead.
Thanks Maarten, that were very useful observations! Let me take the opportunity to coin some terminology, that of a "guest distribution". That's a software compilation with its own independent build system including (sub-)package management on the one hand, but on the other hand is designed to run under a host OS / host distribution. What is more, the intention is that "from the host" all the functionality provided can be accessed in the "normal" way, and vice versa (i.e. chroots, or virtual machines do not qualify). Typical for a guest distribution is also, that certain parts / programs / libraries of the host are consciously duplicated in the guest. If one looks around, there is not only Gentoo Prefix, but there are plenty of guest distributions around (but no common name for them), even the GNU folks have their "gsrc" project (which fully qualifies as a "guest distribution" in the above definition). But what is the notion of "guest distribution" now good for? It allows me to think and talk easily about "stacked guest distributions"! Sage (evidently a guest distribution, too) features quite a number of advantages, some of which seem to be unique (among guest distributions): - available as (one) source distribution, or as pre-made complete (!) binary distributions (one for each host) - ultra-easy bootstrap of the source distribution (type "make") - is relocatable (after installation!) - fulfils the "program" paradigm - a sage installation can package itself up again, either as source (if it was installed from source) or binary distribution - uses not only the host's C library/runtime, but also the host's default C compiler, and shell (gcc and bash vastly preferred, however) None of these points is specific to Sage as a "math" distribution. If e.g. Gentoo Prefix would evolve in the direction that it also features each of the above points, then Sage could be distributed in (technically) two layers: one would be a stripped down Gentoo Prefix (as a guest distribution on the "outermost" host), providing all sufficiently "general" packages, hosting Sage itself as a "stacked" guest distribution (with way fewer packages than currently). One could even think of a third "guest" layer, consisting only of the Python/ Cython parts of Sage, completely and officially hosted on PyPI. In the far future, the (then) middle layer might vanish ... I do think that for quite some time to come, the Sage project will want and need their "product" to be a guest distribution, but as already noted, this is not a contradiction to being easily included/includable in other distributions (serving as hosts). What the guest distributions (I know of) are currently missing, are a means to tell their host distribution (now restricting to debian, mandriva, gentoo, or the "stacked" case) on which packages (programs, libraries) they depend, and which the host (!!!) should apt-get, or whatever to install it. Gentoo Prefix has the "provides" mechanism, but this is only one side. What is needed, is the ability to generate say a dummy deb package (say) for the host debian (say), that just enumerates the needed dependencies (summed up "provides" entries), and then an automatism to install that on the host (which would drag in all the wanted dependencies as a wanted by-product). One more thought: of course, the different host distributions offer their packages in different ways. On the other hand, if a full Linux distribution like Puppy Linux can assemble itself from packages of either Slackware, or Ubuntu, or whatnot, then it certainly is possible for a guest distribution to use an analoguous abstraction, to communicate with host distributions (i.e. minimizing the "host specific" parts). >From the point of view of the host distributions, Sage might even become "yet another package" (which of course installs one full guest distribution --- or maybe more than one, stacked), out of which then a "binary package" can be made in the "official way" of the host distribution. A first step in that direction might be a debian package that installs a (base/@system) Gentoo Prefix --- who knows? Just my 2 cents. Cheers, Georg P.S.: As for Windows, I just found out that thinking of some "gentoo-on- uwin" (and then placing Sage above as yet another guest distribution) is a no-go, due to the UWIN license (CPL 1.0), and thus the license of the UWIN posix.dll and ast.dll support libraries, being regarded as incompatible with the GPL ... sigh -- 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