On 01/12/2014 03:51 PM, R. Andrew Ohana wrote:
> I'm a fan of gentoo's package manager specification (PMS) [1], however
> the only package manager that is fully compliant is portage, which I
> don't think is appropriate for sage. In particular:

Keep in mind that the alternative is a bunch of hand-rolled python and
bash scripts that punt on all of the hard problems that portage solves.


> 1. It requires a noticeably bigger bootstrapping of the world. Lmonade
> reduces this to only ~20 more packages than we already have (if I
> recall), but imo this is still too many.

Sage needs most of these too, they just aren't listed as dependencies
anywhere. Things like binutils and glibc are assumed to exist. The fact
that we don't build them explicitly in sage is a source of bugs.


> 2. Portage itself has many dependencies, often with very explicit
> version requirements. This makes non-Linux platforms a pain, since you
> need things like gnu coreutils and findutils.

Those two examples build and run fine on non-Linux platforms. Portage
itself has very few dependencies, you can see them in its ebuild. There
is the "implicit system" dependency that you get from prefix, but only
one or two of those have version bounds, and it's all stuff that sage uses.


> 3. It does not support tree relocation.

What do you mean by this?


> 4. (Lesser) The Portage source is atrocious, and it performs terribly.
> 
> Imo, the most promising implementation of the PMS is paludis, however it
> is not fully compliant (in particular prefix support is incomplete, and
> binaries are assumed to be in the ELF format).
> 
> [1] http://wiki.gentoo.org/wiki/Project:PMS

If for the sake of argument we rule out portage, I would concentrate on
pkgcore instead. It's missing EAPI5 support at the moment, but there's
some discussion in Gentoo about whether to switch the focus from portage
to pkgcore in the long term. Otherwise it's fast, clean, written in
python, and the spiritual successor to portage.

But portage is fine. It's running tens of thousands of Gentoo machines,
and somebody else writes it for you, which is where we stand to benefit
the most. Dependency resolution is the slow part, and users would rarely
need to emerge anything.

-- 
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 http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to