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!
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:
- Checkout the sources
cvs -d YOURUSERNAME@cvs.gentoo.org:/var/cvsroot co gentoo-src/portage cd portage ./autogen.sh ./configure
- Make and copy portage-cvs tarball
make dist cp portage-cvs.tar.bz2 /usr/portage/distfiles
- 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.
- 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.