https://github.com/toralf/tinderbox
Gentoo Linux build bot
https://github.com/toralf/tinderbox
gentoo quality-assurance
Last synced: 3 months ago
JSON representation
Gentoo Linux build bot
- Host: GitHub
- URL: https://github.com/toralf/tinderbox
- Owner: toralf
- License: gpl-3.0
- Created: 2016-03-18T18:10:25.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T19:48:41.000Z (11 months ago)
- Last Synced: 2024-11-13T20:28:27.331Z (11 months ago)
- Topics: gentoo, quality-assurance
- Language: Shell
- Homepage: https://zwiebeltoralf.de/tinderbox.html
- Size: 5.52 MB
- Stars: 26
- Watchers: 5
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
# tinderbox
## Goal
The goal is to detect build issues/conflicts of [Gentoo Linux](https://www.gentoo.org/) 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 scheduled for installation, in a randomized order for each image.## Usage
The kick off of new images is done by _setup_img.sh_.
Watch their status:```bash
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 in _./sdata/mailto_.
The Gentoo bug tracker can be searched (again) by _check_bgo.sh_.
If not yet reported then the finding can be filed by _bgo.sh_.## Installation
Create the user _tinderbox_, which :
1. must not be allowed to edit files under _/opt/tb/_
1. needs to be granted to read/execute the scripts under _/opt/tb/bin/_
1. must have read/write permissions for files under _~tinderbox/tb/_
1. 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 MTA config files in _/opt/tb/sdata/\*.sample_ and strip away the suffix _.sample_.
Grant sudo rights to the user _tinderbox_:```bash
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
```Adapt the values [desired_count](./bin/replace_img.sh#L96), [cgroup memory](./bin/bwrap.sh#L7) and [jobs](./bin/setup_img.sh#L60) for your machine size.
## Why bash ?!?
I started this project as a short Bash script.
Later I missed the point of No Return to switch to Python.## Links
[My homepage](https://www.zwiebeltoralf.de/tinderbox.html)