Package: ebuildtester
This is a tool to test a Gentoo ebuild and its dependencies. The idea is that
the ebuild is emerged in a clean (and current) stage3 Docker container.RequirementsUsing requireDockerandFUSE. Docker must be
configured to use thedevicemapperstorage driver.  This can be achieved with the following inside/etc/docker/daemon.json:{"storage-driver":"devicemapper"}UsageWe are going to assume that the user has a local git clone of the portage tree in/usr/local/git/gentooWe 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 USE2where we have specified two USE flags, USE1 and USE2. Theebuildtestercommand will now create a docker container and start
installing the ATOM. All specified dependencies will be installed as
well.Command line argumentsThe command understands the following command line arguments:usage: ebuildtester [-h] [--version] [--atom ATOM [ATOM ...]] [--binhost BINHOST] [--live-ebuild]
                    [--manual] --portage-dir PORTAGE_DIR [--overlay-dir OVERLAY_DIR] [--update]
                    [--install-basic-packages] [--threads N] [--use USE [USE ...]]
                    [--global-use GLOBAL_USE [GLOBAL_USE ...]] [--unmask ATOM] [--unstable]
                    [--gcc-version VER] [--python-single-target PYTHON_SINGLE_TARGET]
                    [--python-targets PYTHON_TARGETS] [--rm] [--storage-opt STORAGE_OPT [STORAGE_OPT ...]]
                    [--with-X] [--with-vnc] [--profile PROFILE] [--features FEATURES [FEATURES ...]]
                    [--docker-image DOCKER_IMAGE] [--docker-command DOCKER_COMMAND] [--pull]
                    [--show-options] [--ccache CCACHE_DIR]

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

options:
  -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
  --binhost BINHOST     Binhost URI
  --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
  --install-basic-packages
                        Install basic packages after container starts
  --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
  --python-single-target PYTHON_SINGLE_TARGET
                        Specify a PYTHON_SINGLE_TARGET
  --python-targets PYTHON_TARGETS
                        Specify a PYTHON_TARGETS
  --rm                  Remove container after session is done
  --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 PROFILE     The profile to use (default = default/linux/amd64/17.1)
  --features FEATURES [FEATURES ...]
                        Set FEATURES, see https://wiki.gentoo.org/wiki/FEATURES (default = ['-sandbox',
                        '-usersandbox', 'userfetch'])
  --docker-image DOCKER_IMAGE
                        Specify the docker image to use (default = gentoo/stage3)
  --docker-command DOCKER_COMMAND
                        Specify the docker command
  --pull                Download latest docker image
  --show-options        Show currently selected options and defaults
  --ccache CCACHE_DIR   Path to mount that contains ccache cache