2017-03-12 20:56:19 +01:00
|
|
|
+++
|
2017-03-12 21:10:19 +01:00
|
|
|
date = 2013-08-01T00:00:00+00:00
|
2017-03-12 20:56:19 +01:00
|
|
|
title = "Builder"
|
2017-03-12 21:40:00 +01:00
|
|
|
tags = ["devtools"]
|
2017-03-12 20:56:19 +01:00
|
|
|
+++
|
|
|
|
|
2017-03-12 20:46:14 +01:00
|
|
|
I'd like to set up clean auto builds of my personal projects and some
|
|
|
|
upstream projects like crosstool-ng, gcc, and binutils.
|
|
|
|
|
2017-03-12 20:56:19 +01:00
|
|
|
## Clean install
|
|
|
|
|
|
|
|
I'd like the build to run in a clean setup so the base system can be
|
|
|
|
used for general development without affecting the build results.
|
2017-03-12 20:46:14 +01:00
|
|
|
|
|
|
|
Some technologies are:
|
|
|
|
|
2017-03-12 20:56:19 +01:00
|
|
|
- docker (LXC containers)
|
|
|
|
- schroot (Debian specific chroot helper)
|
2017-03-12 20:46:14 +01:00
|
|
|
|
2017-03-12 20:56:19 +01:00
|
|
|
debootstrap or Ubuntu Core can be used for the base system. Use polipo
|
|
|
|
as a cache for the packages.
|
2017-03-12 20:46:14 +01:00
|
|
|
|
|
|
|
Aside: what does the debootstrap buildd variant include?
|
|
|
|
|
2017-03-12 20:56:19 +01:00
|
|
|
- /usr/share/debootstrap/scripts/<distro> include the selectors
|
|
|
|
- Adds build-essential (quite reasonable)
|
|
|
|
- Or all tagged as Build-Essential
|
|
|
|
|
|
|
|
## schroot
|
2017-03-12 20:46:14 +01:00
|
|
|
|
|
|
|
schroot is nice:
|
|
|
|
|
2017-03-12 20:56:19 +01:00
|
|
|
- normal users can enter the chroot
|
|
|
|
- you can spawn a session chroot off a seed
|
|
|
|
- the startup scripts copy various files from the host across
|
|
|
|
|