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.