[sf-lug] Gentoo Binary Project

Justin Ryan justizin at vongogo.org
Sat Aug 30 15:46:00 PDT 2008


On Fri, Aug 29, 2008 at 10:55 PM, John Magolske <b79net at gmail.com> wrote:

>
> Also, I'm curious about generating debs with Portage...could that mean
> using Gentoo to create packages that install on Debian & Ubuntu?
>

Well, again, you probably aren't aware of and skimmed over a term I
used a few times:

  portage-prefix

Portage prefix works more like a ports system, installing into
$EPREFIX, which can be /opt/local or /usr/local or ~/portage or
whatever you want.

So, I currently use Prefixed Portage to install ebuilds onto MacOSX,
RHEL, Ubuntu, and other systems.  There are a lot of caveats with
this, one of which is that the builds are not native packages, and
don't without a *ton* of beating up portage, look for any compatible
libraries supplied by the system.

I'm not sure off-hand how portage remembers what dependencies it has
already installed, but in any case, there's no reason it couldn't look
for a compatible dependency at systems level using rpm or dpkg,
configurably, except that there's a bit of python not written which
would do the heavy lifting.

In early Prefix Portage, it was Portage for MacOSX, and for some time
a feature, now disabled by default, called collision-protection
allowed portage to build into / on systems where it had a strict list
of provided dependencies.  This is a simple problem to solve on OSX
because it doesn't have a package manager, so the set of dependencies
doesn't change, though of course this is the precise reason for
wanting a port or other system overlay to use.

I'd say that a more flexible extension of / perception toward that
would be "support location" or somesuch, where instead of just trying
not to, say, overwrite OSX's installed / owned platform files, it
would look for dependencies.

In some cases, you want dependencies from portage because Package A
v3.11.5.rc7 depends on newer versions of libraries than are on your
system by default, but there's no reason not to have portage build
packages for these libraries and not make them default, e.g. by
symlinking libfoo.so.5.5b3 to libfoo.so, but leaving the
distro-default setup in place.

Portage can also be handy for dealing with situations where a complex
string of dependencies disagree on what they want.  A typical portage
has some 6-12 versions of autotools installed, for instance.

Mac users will be famliar with "fink", an apt-based setup which just
lets you ask for software, builds a local copy if a compatible or
optimal binary isn't available, and otherwise just downloads what is
available.

I just think that Portage can be a better package-builder-on-request,
could target more than one package format, and perhaps even do
something like python setuptools and offer a way to upload your build
to a central - even local - repository.

Best,

J

-- 
Justin Alan Ryan
Independent Interaction Architect
http://www.bitmonk.net/
* : +1-415-226-1199 x2600

"All because of a bunch of stuff that happened.."
 -Homer Simpson
"The best way to get in touch with me is PayPal.
 -Alexander Limi




More information about the sf-lug mailing list