Name | ebuildtester JSON |
Version |
46
JSON |
| download |
home_page | http://ebuildtester.readthedocs.io/ |
Summary | A container approach to test a Gentoo package within a clean stage3 container |
upload_time | 2025-07-10 18:39:13 |
maintainer | None |
docs_url | None |
author | Nicolas Bock |
requires_python | None |
license | BSD |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
Introduction
============
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.
.. image:: https://badge.fury.io/py/ebuildtester.svg
:target: https://badge.fury.io/py/ebuildtester
.. image:: https://readthedocs.org/projects/ebuildtester/badge/?version=latest
:target: http://ebuildtester.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://github.com/nicolasbock/ebuildtester/actions/workflows/build.yaml/badge.svg
:target: https://github.com/nicolasbock/ebuildtester/actions?query=workflow%3Abuild
:alt: GitHub Actions
.. image:: https://badges.gitter.im/ebuildtester/ebuildtester.svg
:alt: Join the chat at https://gitter.im/ebuildtester/ebuildtester
:target: https://gitter.im/ebuildtester/ebuildtester?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. image:: https://snapcraft.io/ebuildtester/badge.svg
:alt: Get it from the Snap Store
:target: https://snapcraft.io/ebuildtester
Requirements
------------
Using require `Docker <https://wiki.gentoo.org/wiki/Docker>`_ and `FUSE
<https://wiki.gentoo.org/wiki/Filesystem_in_Userspace>`_.
If you plan to use specific storage driver options (by passing
``--storage-opt``), be aware that these are specific to the `configured Docker
storage driver
<https://docs.docker.com/storage/storagedriver/select-storage-driver/>`__. Refer
to the Docker documentation about `storage drivers
<https://docs.docker.com/storage/storagedriver/>`_ for more information.
Particularly see the list of `options per storage driver
<https://docs.docker.com/engine/reference/commandline/dockerd/#options-per-storage-driver>`_.
System-wide configuration of the storage driver used by Docker is done in
``/etc/docker/daemon.json``. For example, to select the `devicemapper
<https://docs.docker.com/storage/storagedriver/device-mapper-driver/>`_ storage
driver, specify:
.. code-block:: javascript
{
"storage-driver": "devicemapper"
}
Usage
-----
We are going to assume that the user has a local git clone of the portage tree in
.. code-block:: console
/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:
.. code-block:: console
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:
.. code-block:: console
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] [--batch]
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/23.0)
--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
--batch Do not drop into interactive shell
It is also possible to store default values in a toml configuration file at `~/.config/ebuildtester/config.toml`.
The next example shows all the configuration options that are currently available:
.. code-block:: toml
portage_dir = "/var/db/repos/gentoo"
overlay_dir = ["/var/db/repos/guru"]
features = ["sandbox", "usersandbox", "userfetch"]
install_basic_packages = false
docker_command = "docker"
unstable = true
update = true
batch = false
pull = true
rm = true
Raw data
{
"_id": null,
"home_page": "http://ebuildtester.readthedocs.io/",
"name": "ebuildtester",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Nicolas Bock",
"author_email": "nicolasbock@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/34/c6/636e809dd10cf1c0603ade652b0853d085b20f7570641a5a181788a4336c/ebuildtester-46.tar.gz",
"platform": null,
"description": "Introduction\n============\n\nThis is a tool to test a Gentoo ebuild and its dependencies. The idea is that\nthe ebuild is emerged in a clean (and current) stage3 Docker container.\n\n.. image:: https://badge.fury.io/py/ebuildtester.svg\n :target: https://badge.fury.io/py/ebuildtester\n\n.. image:: https://readthedocs.org/projects/ebuildtester/badge/?version=latest\n :target: http://ebuildtester.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://github.com/nicolasbock/ebuildtester/actions/workflows/build.yaml/badge.svg\n :target: https://github.com/nicolasbock/ebuildtester/actions?query=workflow%3Abuild\n :alt: GitHub Actions\n\n.. image:: https://badges.gitter.im/ebuildtester/ebuildtester.svg\n :alt: Join the chat at https://gitter.im/ebuildtester/ebuildtester\n :target: https://gitter.im/ebuildtester/ebuildtester?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n.. image:: https://snapcraft.io/ebuildtester/badge.svg\n :alt: Get it from the Snap Store\n :target: https://snapcraft.io/ebuildtester\n\nRequirements\n------------\n\nUsing require `Docker <https://wiki.gentoo.org/wiki/Docker>`_ and `FUSE\n<https://wiki.gentoo.org/wiki/Filesystem_in_Userspace>`_.\n\nIf you plan to use specific storage driver options (by passing\n``--storage-opt``), be aware that these are specific to the `configured Docker\nstorage driver\n<https://docs.docker.com/storage/storagedriver/select-storage-driver/>`__. Refer\nto the Docker documentation about `storage drivers\n<https://docs.docker.com/storage/storagedriver/>`_ for more information.\nParticularly see the list of `options per storage driver\n<https://docs.docker.com/engine/reference/commandline/dockerd/#options-per-storage-driver>`_.\n\nSystem-wide configuration of the storage driver used by Docker is done in\n``/etc/docker/daemon.json``. For example, to select the `devicemapper\n<https://docs.docker.com/storage/storagedriver/device-mapper-driver/>`_ storage\ndriver, specify:\n\n.. code-block:: javascript\n\n {\n \"storage-driver\": \"devicemapper\"\n }\n\nUsage\n-----\n\nWe are going to assume that the user has a local git clone of the portage tree in\n\n.. code-block:: console\n\n /usr/local/git/gentoo\n\nWe have added a new ebuild and would like to verify that the build\ndependencies are all correct. We can build the package (ATOM) with:\n\n.. code-block:: console\n\n ebuildtester --portage-dir /usr/local/git/gentoo \\\n --atom ATOM \\\n --use USE1 USE2\n\nwhere we have specified two USE flags, USE1 and USE2. The\n`ebuildtester` command will now create a docker container and start\ninstalling the ATOM. All specified dependencies will be installed as\nwell.\n\n\nCommand line arguments\n----------------------\n\nThe command understands the following command line arguments:\n\n.. code-block:: console\n\n usage: ebuildtester [-h] [--version] [--atom ATOM [ATOM ...]] [--binhost BINHOST] [--live-ebuild]\n [--manual] --portage-dir PORTAGE_DIR [--overlay-dir OVERLAY_DIR] [--update]\n [--install-basic-packages] [--threads N] [--use USE [USE ...]]\n [--global-use GLOBAL_USE [GLOBAL_USE ...]] [--unmask ATOM] [--unstable]\n [--gcc-version VER] [--python-single-target PYTHON_SINGLE_TARGET]\n [--python-targets PYTHON_TARGETS] [--rm] [--storage-opt STORAGE_OPT [STORAGE_OPT ...]]\n [--with-X] [--with-vnc] [--profile PROFILE] [--features FEATURES [FEATURES ...]]\n [--docker-image DOCKER_IMAGE] [--docker-command DOCKER_COMMAND] [--pull]\n [--show-options] [--ccache CCACHE_DIR] [--batch]\n\n A dockerized approach to test a Gentoo package within a clean stage3.\n\n options:\n -h, --help show this help message and exit\n --version show program's version number and exit\n --atom ATOM [ATOM ...]\n The package atom(s) to install\n --binhost BINHOST Binhost URI\n --live-ebuild Unmask the live ebuild of the atom\n --manual Install package manually\n --portage-dir PORTAGE_DIR\n The local portage directory\n --overlay-dir OVERLAY_DIR\n Add overlay dir (can be used multiple times)\n --update Update container before installing atom\n --install-basic-packages\n Install basic packages after container starts\n --threads N Use N (default 8) threads to build packages\n --use USE [USE ...] The use flags for the atom\n --global-use GLOBAL_USE [GLOBAL_USE ...]\n Set global USE flag\n --unmask ATOM Unmask atom (can be used multiple times)\n --unstable Globally 'unstable' system, i.e. ~amd64\n --gcc-version VER Use gcc version VER\n --python-single-target PYTHON_SINGLE_TARGET\n Specify a PYTHON_SINGLE_TARGET\n --python-targets PYTHON_TARGETS\n Specify a PYTHON_TARGETS\n --rm Remove container after session is done\n --storage-opt STORAGE_OPT [STORAGE_OPT ...]\n Storage driver options for all volumes (same as Docker param)\n --with-X Globally enable the X USE flag\n --with-vnc Install VNC server to test graphical applications\n --profile PROFILE The profile to use (default = default/linux/amd64/23.0)\n --features FEATURES [FEATURES ...]\n Set FEATURES, see https://wiki.gentoo.org/wiki/FEATURES (default = ['-sandbox',\n '-usersandbox', 'userfetch'])\n --docker-image DOCKER_IMAGE\n Specify the docker image to use (default = gentoo/stage3)\n --docker-command DOCKER_COMMAND\n Specify the docker command\n --pull Download latest docker image\n --show-options Show currently selected options and defaults\n --ccache CCACHE_DIR Path to mount that contains ccache cache\n --batch Do not drop into interactive shell\n\nIt is also possible to store default values in a toml configuration file at `~/.config/ebuildtester/config.toml`.\nThe next example shows all the configuration options that are currently available:\n\n.. code-block:: toml\n\n portage_dir = \"/var/db/repos/gentoo\"\n overlay_dir = [\"/var/db/repos/guru\"]\n\n features = [\"sandbox\", \"usersandbox\", \"userfetch\"]\n\n install_basic_packages = false\n docker_command = \"docker\"\n unstable = true\n update = true\n batch = false\n pull = true\n rm = true\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "A container approach to test a Gentoo package within a clean stage3 container",
"version": "46",
"project_urls": {
"Homepage": "http://ebuildtester.readthedocs.io/"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e265b17762e8dcd59c21a72f8fe1a4272f59fac285cc224d4bec39cd53b1fa94",
"md5": "588ab91903d68747917f7b64f2fd9cd6",
"sha256": "d1d0f33c8b685a4e5c2e0276c28f102982989f868bcf01f6225b60212bb19b27"
},
"downloads": -1,
"filename": "ebuildtester-46-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "588ab91903d68747917f7b64f2fd9cd6",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 13552,
"upload_time": "2025-07-10T18:39:12",
"upload_time_iso_8601": "2025-07-10T18:39:12.498618Z",
"url": "https://files.pythonhosted.org/packages/e2/65/b17762e8dcd59c21a72f8fe1a4272f59fac285cc224d4bec39cd53b1fa94/ebuildtester-46-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "34c6636e809dd10cf1c0603ade652b0853d085b20f7570641a5a181788a4336c",
"md5": "4d14e86c9ff70d5b1a0928529783d2a3",
"sha256": "5fe0813da95f4b4963a6fc4dd6b754c5ec7d524e4cfb089837aae38ac166dd4d"
},
"downloads": -1,
"filename": "ebuildtester-46.tar.gz",
"has_sig": false,
"md5_digest": "4d14e86c9ff70d5b1a0928529783d2a3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25157,
"upload_time": "2025-07-10T18:39:13",
"upload_time_iso_8601": "2025-07-10T18:39:13.926321Z",
"url": "https://files.pythonhosted.org/packages/34/c6/636e809dd10cf1c0603ade652b0853d085b20f7570641a5a181788a4336c/ebuildtester-46.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 18:39:13",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ebuildtester"
}