Skip to content

linxon/ebuildtester

 
 

Repository files navigation

Introduction

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 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] [--ccache-dir CCACHE_DIR]
                        [--update] [--threads N] [--use USE [USE ...]]
                        [--global-use GLOBAL_USE [GLOBAL_USE ...]] [--unmask ATOM]
                        [--unstable] [--gcc-version VER] [--rm] [--pull]
                        [--with-X] [--with-vnc]
                        [--profile {default/linux/amd64/17.1,default/linux/amd64/17.1/systemd}]
                        [--shell-env SHELL_ENV [SHELL_ENV ...]]

    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)
      --ccache-dir CCACHE_DIR
                            Add ccache dir
      --update              Update container before installing atom
      --threads N           Use N (default 6) 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
      --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
      --shell-env SHELL_ENV [SHELL_ENV ...]
                            Set user shell env (Example: --shell-env
                            "EDITOR=/usr/bin/vi")

About

A dockerized approach to test a Gentoo package within a clean stage3 (fork)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.2%
  • Makefile 0.8%