benchbuild.projects.gentoo.gentoo module

The Gentoo module for running tests on builds from the portage tree.

This will install a stage3 image of gentoo together with a recent snapshot of the portage tree. For building / executing arbitrary projects successfully it is necessary to keep the installed image as close to the host system as possible. In order to speed up your experience, you can replace the stage3 image that we pull from the distfiles mirror with a new image that contains all necessary dependencies for your experiments. Make sure you update the hash alongside the gentoo image in benchbuild’s source directory.

class benchbuild.projects.gentoo.gentoo.GentooGroup(experiment, name=NOTHING, domain=NOTHING, group=NOTHING, src_file=NOTHING, container=NOTHING, version=NOTHING, builddir=NOTHING, testdir=NOTHING, cflags=NOTHING, ldflags=NOTHING, run_f=NOTHING, run_uuid=NOTHING, compiler_extension=NOTHING, runtime_extension=None, emerge_env={})[source]

Bases: benchbuild.project.Project

Gentoo ProjectGroup is the base class for every portage build.

CONTAINER = <benchbuild.utils.container.Gentoo object>
GROUP = 'gentoo'
SRC_FILE = None
compile()[source]

Compile the project.

configure_benchbuild(cfg)[source]
redirect()[source]

Redirect execution to a containerized benchbuild instance.

benchbuild.projects.gentoo.gentoo.configure_portage()[source]
benchbuild.projects.gentoo.gentoo.emerge(package, *args, env=None)[source]
benchbuild.projects.gentoo.gentoo.find_benchbuild()[source]
benchbuild.projects.gentoo.gentoo.requires_update(benchbuild)[source]
benchbuild.projects.gentoo.gentoo.setup_benchbuild()[source]

Setup benchbuild inside a container.

This will query a for an existing installation of benchbuild and try to upgrade it to the latest version, if possible.

benchbuild.projects.gentoo.gentoo.setup_compilers(_path)[source]
benchbuild.projects.gentoo.gentoo.setup_networking()[source]
benchbuild.projects.gentoo.gentoo.setup_virtualenv(_path='/benchbuild')[source]
benchbuild.projects.gentoo.gentoo.write_bashrc(_path)[source]

Write a valid gentoo bashrc file to :path:.

Parameters:- The output path of the make.conf (path) –
benchbuild.projects.gentoo.gentoo.write_layout(_path)[source]

Write a valid gentoo layout file to :path:.

Parameters:- The output path of the layout.conf (path) –
benchbuild.projects.gentoo.gentoo.write_makeconfig(_path)[source]

Write a valid gentoo make.conf file to :path:.

Parameters:- The output path of the make.conf (path) –
benchbuild.projects.gentoo.gentoo.write_sandbox_d(_path)[source]
benchbuild.projects.gentoo.gentoo.write_wgetrc(_path)[source]

Write a valid gentoo wgetrc file to :path:.

Parameters:- The output path of the wgetrc (path) –