Skip to main content

A container approach to test a Gentoo package within a clean stage3 container

Project description

This script is a tool to test a Gentoo ebuild and its dependencies. The idea is that the package is emerged in a clean (and current) stage3 Docker container.

https://travis-ci.org/nicolasbock/ebuildtester.svg?branch=master https://badge.fury.io/py/ebuildtester.svg Documentation Status

Requirements

You require Docker and FUSE. Docker must be configured to use the devicemapper storage driver. This can be achieved with the following inside /etc/docker/daemon.json:

{
  "storage-driver": "devicemapper"
}

Usage

We are going to assume that the user has a local git clone of the portage tree in

/usr/local/git/gentoo

We have added a new ebuild and would like to verify that the build dependencies are all correct. We can build the package (ATOM) with:

ebuildtester --portage-dir /usr/local/git/gentoo \
  --atom ATOM \
  --use USE1 USE2

where we have specified two USE flags, USE1 and USE2. The ebuildtester command will now create a docker container and start installing the ATOM. All specified dependencies will be installed as well.

Command line arguments

The command understands the following command line arguments:

usage: ebuildtester [-h] [--version] [--atom ATOM [ATOM ...]] [--live-ebuild] [--manual]
                    --portage-dir PORTAGE_DIR [--overlay-dir OVERLAY_DIR] [--update]
                    [--threads N] [--use USE [USE ...]]
                    [--global-use GLOBAL_USE [GLOBAL_USE ...]] [--unmask ATOM] [--unstable]
                    [--gcc-version VER] [--rm] [--pull]
                    [--storage-opt STORAGE_OPT [STORAGE_OPT ...]] [--with-X] [--with-vnc]
                    [--profile {default/linux/amd64/17.1,default/linux/amd64/17.1/systemd}]

A dockerized approach to test a Gentoo package within a clean stage3.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --atom ATOM [ATOM ...]
                        The package atom(s) to install
  --live-ebuild         Unmask the live ebuild of the atom
  --manual              Install package manually
  --portage-dir PORTAGE_DIR
                        The local portage directory
  --overlay-dir OVERLAY_DIR
                        Add overlay dir (can be used multiple times)
  --update              Update container before installing atom
  --threads N           Use N (default 8) threads to build packages
  --use USE [USE ...]   The use flags for the atom
  --global-use GLOBAL_USE [GLOBAL_USE ...]
                        Set global USE flag
  --unmask ATOM         Unmask atom (can be used multiple times)
  --unstable            Globally 'unstable' system, i.e. ~amd64
  --gcc-version VER     Use gcc version VER
  --rm                  Remove container after session is done
  --pull                Download latest 'gentoo/stage3-amd64' docker image
  --storage-opt STORAGE_OPT [STORAGE_OPT ...]
                        Storage driver options for all volumes (same as Docker param)
  --with-X              Globally enable the X USE flag
  --with-vnc            Install VNC server to test graphical applications
  --profile {default/linux/amd64/17.1,default/linux/amd64/17.1/systemd}
                        The profile to use

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ebuildtester-0.1.15.tar.gz (15.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ebuildtester-0.1.15-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

ebuildtester-0.1.15-py2-none-any.whl (10.4 kB view details)

Uploaded Python 2

File details

Details for the file ebuildtester-0.1.15.tar.gz.

File metadata

  • Download URL: ebuildtester-0.1.15.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.15

File hashes

Hashes for ebuildtester-0.1.15.tar.gz
Algorithm Hash digest
SHA256 1b83a4d9bbb73173854b54a17aaaed568baafdbd220435d374d798d6894ddb0a
MD5 adba4b2a55a888ccf7445305335670ec
BLAKE2b-256 a8a2226daef1fed429b836fabe5f79822291bcb6f8797444d06dddf6d259fd74

See more details on using hashes here.

File details

Details for the file ebuildtester-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: ebuildtester-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.7

File hashes

Hashes for ebuildtester-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 ce2e82cc4374f2a34769ddc39adaeed52494e339d8c7b610e79aab2a56087cd4
MD5 e7bed5a3f7297a3dd3c3fac0ef5c3f15
BLAKE2b-256 338418d86500372f5f86e3b4db8cecc2906fe83d546f13366fb021a98e390f9f

See more details on using hashes here.

File details

Details for the file ebuildtester-0.1.15-py2-none-any.whl.

File metadata

  • Download URL: ebuildtester-0.1.15-py2-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.15

File hashes

Hashes for ebuildtester-0.1.15-py2-none-any.whl
Algorithm Hash digest
SHA256 d168638b40a0c1ba5b1b180dbaa035d261ade09bb27a3042d67f4c8d0f14cc4e
MD5 2d4b5ef630e6d4a7e65150d2e0dec07f
BLAKE2b-256 d4d88b39b25ed67ac268dfc62f22b785179a1a5165754eadcddfa10b5f3b554a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page