Gentoo Logo

How to obtain and test development versions of Portage

Content:

1.  Access to Portage SVN repositories

The Portage sourcecode is maintained within a SVN repository on the Gentoo SVN server. This server is only accessible for Gentoo developers, for anonymous access see http://anonsvn.gentoo.org/. If you are a dev: The main repository is located at svn+ssh://cvs.gentoo.org/var/svnroot/portage/main, please note that it is subject to strict access controls, only people listed in the developers section on the portage project page are able to commit to it.

Note: It is assumed you know how to work with Subversion.

Note: The repository can be viewed over viewcvs

The repository currently contains the following branches (incomplete list):

  • trunk: the current main development line
  • branches/2.1-experimental: the former development line, now abandoned (don't use it unless you want to backport stuff)
  • branches/prefix: experimental branch with support for prefix installs
  • branches/2.0.54: old stable maintenance branch, nothing happens here anymore
  • branches/2.1.2: current stable maintenance branch

Note: The old CVS repository still exists, but is not updated anymore or used in any other way.

2.  Testing multiple Portage versions

Note: This section only applies to Portage 2.1.2 or later

There are various reasons why you'd want to have multiple versions of portage available at the same time without having to install them as system default. Examples would be to check which versions are affected by a specific bug, to test new features before deploying a new version or have a svn checkout available for testing while keeping a stable release for normal operation.

As of Portage-2.1.2 one can have and use an arbitrary number of Portage installations parallel to each other by adjusting the two environment variables PATH and PYTHONPATH. For example if you have a checkout of the trunk branch at /checkouts/portage/trunk you'd set them like this:

Code Listing 2.1: settings to use portage trunk

export PYTHONPATH="/checkouts/portage/trunk/pym:${PYTHONPATH}"
export PATH="/checkouts/portage/trunk/bin:${PATH}"

With those settings calling tools like emerge, repoman or ebuild will pickup the correct locations to import libraries. External tools like gentoolkit or porthole may or may not respect those settings though. Setting PATH isn't even necessary if you always call the commands by their full name (e.g. /checkouts/portage/trunk/bin/emerge instead of emerge).



Print

Updated June 14, 2007

Summary: This document some notes about how interested users and developers can get get access to our Subversion repository and how to use it without replacing their main Portage installation.

Marius Mauch

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.