summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2019-10-27 04:39:19 +0100
committerSuren A. Chilingaryan <csa@suren.me>2019-10-27 04:39:19 +0100
commit812f3a2cbab791853e9d71ab0e8ffe6feae2f9e9 (patch)
treeb304e3051a5eafa00b401c68485a68e029187e8d /README
parent931b6776da886113b3ec7d948d878bd8ee50ac6e (diff)
downloadgentoo-builder-812f3a2cbab791853e9d71ab0e8ffe6feae2f9e9.tar.gz
gentoo-builder-812f3a2cbab791853e9d71ab0e8ffe6feae2f9e9.tar.bz2
gentoo-builder-812f3a2cbab791853e9d71ab0e8ffe6feae2f9e9.tar.xz
gentoo-builder-812f3a2cbab791853e9d71ab0e8ffe6feae2f9e9.zip
A bit of documentationHEADmaster
Diffstat (limited to 'README')
-rw-r--r--README28
1 files changed, 25 insertions, 3 deletions
diff --git a/README b/README
index 3bad064..772b905 100644
--- a/README
+++ b/README
@@ -1,6 +1,12 @@
Proof of concept remote builder of clean Gentoo tree to provide on demand binary packages to desktop and
laptop comptuers.
+ - The configuration between builder and base system should not diverge even in minor details. Otherwise,
+ fancy effects may happen, particularly with perl/python/ruby. Virtuals for perl may offer a few versions
+ of perl package as a variants. When built, a specific version is registered in the binary package. Then,
+ this becomes hard dependency likely causing slot conflicts - host wants to update to 5.30 (unmasked), but
+ some perl virtuals are for 5.28).
+
- This will not work with presence of any significant unstable packet.
* For instance, unstable firefox depends on unstable "nss-3.45". After update it is replaced in portage
with "nss-3.46". Either full "nss-3.*" branch should be unmasked (which may bring its own problems or the
@@ -13,11 +19,11 @@ Idea:
make bootstrap
make check
- - Instantiate 'Builder', i.e. synced configs and portage tree
+ - Instantiate 'Builder', i.e. synced configs and portage tree (not needed, but kept for comptaibility)
make builder
make bash
- - Update builder to integrate latest configuration/portage changes
+ - Update builder to integrate latest configuration/portage changes (not needed, builder updates itself)
make update
make bash
@@ -25,6 +31,11 @@ Idea:
make build
make logs
+ - On major updates (perl/python/ruby especially), it could make sense to re-create builder from latest
+ gentoo snapshot and restart (many packages will be re-used, so little performance penalty).
+ * Some binary packages may be built against old versions of library, etc. There is mechanism to trigger rebuilds,
+ but it would not work in this case?
+
It will build packages and put it on the attached volume. The script is designed to run forever.
* If crashed it will start idle sleep until the connected user solves the problem and kills the
@@ -39,7 +50,8 @@ Idea:
Problems:
- - This requires large and fast storage. I guess overlayfs2 based stuff is helpful.
+ - This requires large and fast storage. I guess overlayfs2 based stuff is helpful (as of Oct 2019,
+ overlayfs2 causes performance problems for eix-sync and should not be used) .
- It also requires a novel kernel on the docker machine. For instance, QT would not
compile on the old kernel. The library now may incorporate information about the minimum
@@ -49,3 +61,13 @@ Problems:
However, such elf-header is (at the moment) also preventing it from linking. So, you not
only unable to run a novel QT with old kenrel, but also compile it.
+
+Status:
+ - Builder is able to fully built my configuration. I can't use it due to divergence in perl versions (perl-5.30 unmasked)
+ Technically, it should work once perl-5.30 get stable.
+
+ - How system survives update of major subsystem (perl, python)? While it update automatically or shall we re-create builder?
+ In the later case, will it handle required re-builds automatically? Or do we need also to delete some binaries (at least
+ paritally).
+
+ \ No newline at end of file