benchbuild.projects.gentoo package

Import all gentoo based modules.

All manually entered modules can be placed in the following import section. Portage_Gen based projects will be generated automatically as soon as we can find an index generated by portage info.

Submodules

benchbuild.projects.gentoo.autoportage module

class benchbuild.projects.gentoo.autoportage.AutoPortage(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

Generic portage experiment.

build()[source]
run_tests(*args, **kwargs)[source]

benchbuild.projects.gentoo.bzip2 module

bzip2 experiment within gentoo chroot.

class benchbuild.projects.gentoo.bzip2.BZip2(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

app-arch/bzip2

DOMAIN = 'app-arch'
NAME = 'gentoo-bzip2'
VERSION = '1.0.6'
build()[source]
prepare()[source]
run_tests(experiment, run)[source]
test_archive = 'compression.tar.gz'
test_url = 'http://lairosiel.de/dist/'
testfiles = ['text.html', 'chicken.jpg', 'control', 'input.source', 'liberty.jpg']

benchbuild.projects.gentoo.crafty module

crafty experiment within gentoo chroot.

class benchbuild.projects.gentoo.crafty.Crafty(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

games-board/crafty

DOMAIN = 'games-board'
NAME = 'gentoo-crafty'
build()[source]
download()[source]
run_tests(experiment, run)[source]

benchbuild.projects.gentoo.eix module

eix experiment within gentoo chroot

class benchbuild.projects.gentoo.eix.Eix(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

Represents the package eix from the portage tree.

DOMAIN = 'app-portage'
NAME = 'eix'
build()[source]

Compiles and installes eix within gentoo chroot

run_tests(experiment, run)[source]

Runs runtime tests for eix

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(exp)[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
build()[source]
configure()[source]
download()[source]
benchbuild.projects.gentoo.gentoo.write_bashrc(path)[source]

Write a valid gentoo bashrc file to :path:.

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

Write a valid gentoo layout file to :path:.

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

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

Args:
path - The output path of the make.conf
benchbuild.projects.gentoo.gentoo.write_wgetrc(path)[source]

Write a valid gentoo wgetrc file to :path:.

Args:
path - The output path of the wgetrc

benchbuild.projects.gentoo.gzip module

gzip experiment within gentoo chroot.

class benchbuild.projects.gentoo.gzip.GZip(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

app-arch/gzip

DOMAIN = 'app-arch'
NAME = 'gentoo-gzip'
build()[source]
prepare()[source]
run_tests(experiment, run)[source]
test_archive = 'compression.tar.gz'
test_url = 'http://lairosiel.de/dist/'
testfiles = ['text.html', 'chicken.jpg', 'control', 'input.source', 'liberty.jpg']

benchbuild.projects.gentoo.info module

Get package infos, e.g., specific ebuilds for given languages, from gentoo chroot.

class benchbuild.projects.gentoo.info.Info(exp)[source]

Bases: benchbuild.projects.gentoo.autoportage.AutoPortage

Info experiment to retrieve package information from portage.

DOMAIN = 'debug'
NAME = 'gentoo-info'
build()[source]
benchbuild.projects.gentoo.info.get_string_for_language(language_name)[source]

Maps language names to the corresponding string for qgrep.

benchbuild.projects.gentoo.lammps module

LAMMPS (sci-physics/lammps) project within gentoo chroot.

class benchbuild.projects.gentoo.lammps.Lammps(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

sci-physics/lammps

DOMAIN = 'sci-physics'
NAME = 'gentoo-lammps'
build()[source]
prepare()[source]
run_tests(experiment, run)[source]
test_archive = 'lammps.tar.gz'
test_url = 'http://lairosiel.de/dist/'

benchbuild.projects.gentoo.portage_gen module

Generic experiment to test portage packages within gentoo chroot.

class benchbuild.projects.gentoo.portage_gen.FuncClass(name, domain, container)[source]

Bases: object

Finds out the current version number of a gentoo package.

The package name is created by combining the domain and the name. Then uchroot is used to switch into a gentoo shell where the ‘emerge’ command is used to recieve the version number. The function then parses the version number back into the file.

Args:
Name: Name of the project. Domain: Categorie of the package.
benchbuild.projects.gentoo.portage_gen.PortageFactory(name, NAME, DOMAIN, BaseClass=<class 'benchbuild.projects.gentoo.autoportage.AutoPortage'>)[source]

Create a new dynamic portage project.

Auto-Generated projects can only be used for compilie-time experiments, because there simply is no run-time test defined for it. Therefore, we implement the run symbol as a noop (with minor logging).

This way we avoid the default implementation for run() that all projects inherit.

Args:
name: Name of the dynamic class. NAME: NAME property of the dynamic class. DOMAIN: DOMAIN property of the dynamic class. BaseClass: Base class to use for the dynamic class.
Returns:
A new class with NAME,DOMAIN properties set, unable to perform run-time tests.
Examples:
>>> from benchbuild.projects.gentoo.portage_gen import PortageFactory
>>> from benchbuild.experiments.empty import Empty
>>> c = PortageFactory("test", "NAME", "DOMAIN")
>>> c
<class '__main__.test'>
>>> i = c(Empty())
>>> i.NAME
'NAME'
>>> i.DOMAIN
'DOMAIN'

benchbuild.projects.gentoo.postgresql module

postgresql experiment within gentoo chroot.

class benchbuild.projects.gentoo.postgresql.Postgresql(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

dev-db/postgresql

DOMAIN = 'dev-db/postgresql'
NAME = 'gentoo-postgresql'
build()[source]
outside(chroot_path)[source]

Return the path with the outside prefix.

Args:
chroot_path: the path inside the chroot.
Returns:
Absolute path outside this chroot.
run_tests(experiment, run)[source]

benchbuild.projects.gentoo.sevenz module

p7zip experiment within gentoo chroot.

class benchbuild.projects.gentoo.sevenz.SevenZip(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

app-arch/p7zip

DOMAIN = 'app-arch'
NAME = 'gentoo-p7zip'
build()[source]
run_tests(experiment, run)[source]

benchbuild.projects.gentoo.x264 module

media-video/x264-encoder within gentoo chroot.

class benchbuild.projects.gentoo.x264.X264(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

media-video/x264-encoder

DOMAIN = 'media-libs'
NAME = 'gentoo-x264'
build()[source]
inputfiles = {'tbbt-small.y4m': [], 'Sintel.2010.720p.raw': ['--input-res', '1280x720']}
prepare()[source]
run_tests(experiment, run)[source]
test_url = 'http://lairosiel.de/dist/'

benchbuild.projects.gentoo.xz module

xz experiment within gentoo chroot.

class benchbuild.projects.gentoo.xz.XZ(exp)[source]

Bases: benchbuild.projects.gentoo.gentoo.GentooGroup

app-arch/xz

DOMAIN = 'app-arch'
NAME = 'gentoo-xz'
build()[source]
prepare()[source]
run_tests(experiment, run)[source]
test_archive = 'compression.tar.gz'
test_url = 'http://lairosiel.de/dist/'
testfiles = ['text.html', 'chicken.jpg', 'control', 'input.source', 'liberty.jpg']