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]
[--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
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 Distributions
Hashes for ebuildtester-0.1.15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce2e82cc4374f2a34769ddc39adaeed52494e339d8c7b610e79aab2a56087cd4 |
|
MD5 | e7bed5a3f7297a3dd3c3fac0ef5c3f15 |
|
BLAKE2b-256 | 338418d86500372f5f86e3b4db8cecc2906fe83d546f13366fb021a98e390f9f |
Hashes for ebuildtester-0.1.15-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d168638b40a0c1ba5b1b180dbaa035d261ade09bb27a3042d67f4c8d0f14cc4e |
|
MD5 | 2d4b5ef630e6d4a7e65150d2e0dec07f |
|
BLAKE2b-256 | d4d88b39b25ed67ac268dfc62f22b785179a1a5165754eadcddfa10b5f3b554a |