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.
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] [--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] [--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
--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
--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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ebuildtester-0.1.21-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e2a62369c953050d2ca0a83a3a0689ed747d739ece39a43cab112a2efc4b6cf |
|
MD5 | 067be28e3e8d9192945b34e7b90875e2 |
|
BLAKE2b-256 | 26758e51dc2271f619f3597c842e617a7d3e5ed475647863727d2088d3739edd |