Installing Portage HEAD

I recently started a discussion on gentoo-dev about some ideas I’ve been considering about making Gentoo more suited for a software development environment.

In the mail, I raised just one issue that I’ve been thinking about – using upstream CVS-sources for a package as opposed to the sources included in the latest release tarball, while still installing the software through the portage build system. It seems that some of the people who replied either missed the point I was trying to make, or thought I’m making a fuss out of nothing – they pointed out that I can just write a CVS ebuild and be done with it. Yeah, that’s not too much trouble, but I’m talking about streamlining processes here guys. If I was to write a CVS ebuild, it would be almost identical in content to the “release” ebuild from the portage tree, so why should I have to write it in the first place? I’ve got the sources, someone elses has written an ebuild, let me combine the two with minimal effort :)

I did get some useful information from the discussion though. The development version of Portage makes some of the things I’m thinking about much more realistic. I’ll talk more about specifics later, for now I just want to document the procedure of installing the development version. Thanks to Stefan (genstef) for sharing this knowledge with me!

Installing Portage-CVS
Since the release of Portage 2.0.51, the portage developers have been doing some pretty rapid development, which appears to be mainly focused on new features, rewriting bottleneck code, and improving general performance. There’s some other good news in here: there’s a few features which really help make progress to improving gentoo as a development platform.

Portage-CVS (aka HEAD) is progressing quickly but has no guarantees for stability. If this software burns your house down, you are to blame for installing it in the first place. Don’t expect it to be flawless at this point in time.

That aside, here’s how to install it on your running system:

  1. Checkout the sources
    cvs -d YOURUSERNAME@cvs.gentoo.org:/var/cvsroot co gentoo-src/portage
    cd portage
    ./autogen.sh
    ./configure
    
  2. Make and copy portage-cvs tarball
    make dist
    cp portage-cvs.tar.bz2 /usr/portage/distfiles
    
  3. Install sys-apps/sandbox
    Get the ebuild here, put it in your overlay, in the sys-apps category. You probably want to add sandbox to your USE flags too.
  4. Install portage-cvs
    Get the ebuild here, put it in your overlay, in the sys-apps category.

    emerge -av --digest portage

While I’m going to be posting most of the progress I make on this topic here on my weblog, I’m going to archive and maintain everything here as well.

4 Responses to “Installing Portage HEAD”

  1. Ryan Stinnett Says:

    A while back there was at least one developer posting snapshots of portage-cvs for those non-developers among us. I’ve tried searching around for a bit, but I couldn’t find it anywhere. Do you know where those are, and if not is there any way we can get at this stuff without cvs access?

  2. dsd Says:

    Anonymous CVS mirror:

    cvs -d:pserver:anonymous@zarquon.twobit.net:/var/cvsroot -q -z9 co gentoo-src/portage

  3. Ian Monroe Says:

    I run KDE out of CVS, so it is kind of a hassle to install any KDE packages from portage now. If you could make this easy, I know it would be a killer feature for some people (I kinda had to tell someone off from Gentoo since he assumed this would be a feature, and was the only reason he wanted to use Gentoo). And they’re of course obvious benefits to having fellow open source devs use your distro, though we might be annoying on the bugzilla at times. :)

  4. dsd’s weblog » Blog Archive » ebuild shell blows me away Says:

    [...] ebuild shell blows me away Since I initially raised the topic of using an ebuild to build from a custom source location (rather than u [...]

Leave a Reply

You must be logged in to post a comment.