Skip to content

toralf/tinderbox

Repository files navigation

StandWithUkraine

tinderbox

Goal

The goal is to detect build issues/conflicts of Gentoo Linux packages. For that about a dozen sandbox'ed Gentoo images are running in parallel. Each image is setup from a recent stage3 tarball as an arbitrary combination of ~amd64 + profile + USE flag set. Within each image all Gentoo packages are in a randomized order scheduled to be installed.

Usage

Setup of images is done by setup_img.sh. Then watch the status:

whatsup.sh -dcp
whatsup.sh -otl

The file ~tinderbox/tb/findings/ALREADY_CAUGHT holds reported findings. A new finding is send via email to the user specified by the variable MAILTO. The Gentoo bug tracker can be searched for related bugs using check_bgo.sh. If not reported a finding can be filed using bgo.sh.

Installation

Create the user tinderbox, which :

  1. must not be allowed to edit files under /opt/tb/
  2. needs to be granted to read/execute the scripts under /opt/tb/bin/
  3. must have read/write permissions for files under ~tinderbox/tb/
  4. must not be allowed to read the file under /opt/tb/sdata/.

Create in its HOME the directories: ./distfiles/, ./img/, ./logs/, ./run/ and ./tb/. Clone this Git repository or unpack a release artefact. Move ./conf, ./data and ./patches to ~tinderbox/tb/. Move ./bin and ./sdata to /opt/tb/ and set ownership to root.

Edit the credentials in ssmtp.conf.sample and strip away the suffix .sample from the file. Grant to the user tinderbox these sudo rights:

tinderbox  ALL=(ALL) NOPASSWD: /opt/tb/bin/bwrap.sh,/opt/tb/bin/setup_img.sh,/opt/tb/bin/house_keeping.sh,/opt/tb/bin/kill_img.sh,/opt/tb/bin/retest.sh,/opt/tb/bin/collect_data.sh,/usr/sbin/emaint

Disclaimer

I missed the point of no return to switch from bash script to Python when I started this project.

Links

homepage