Hi there, i've been using my host online to compile updates for like the past year or so... My host is currently configured so that its world file is the combination of all my PCs at home's world. So the host has x11 installed and lots of other completely useless stuff for a remote host! I decided to start a small project, but i wanted your opinion before doing so... also, i dont want to reinvent the wheel so if anyone thinks of a better way to do this or if there is one already in use... let me know!
I'm using a host (or binpkg cruncher) to make all emerges as the host is approximately 10 times faster than my fastest PC here (they are very old). Even when distcc is setup perfectly, the host still wins the competition, by far. So i make binpks on the host and propagate them to the PCs at home where i emerge using the -k option. (a few rare packages will still have to be re-emerged, but that's normal) To facilitate reading: sum(worlds) == all PCs worlds combined Also, this works only if both host and pc would create the same binpkg (having the same make.conf options mostly, same stuff setup in /etc/portage, etc...) Right now, here's the base of the process to get one PC updated (without my unison world): host> emerge --sync host> emerge -uDN sum(worlds) [builds binpkgs] <sync host's portage with PC's portage> PC> emerge -uDN -k world ----- Here's the process ( a bit more complicated ) using unionfs: host> emerge --sync host> emerge -uDN world <start unionfs over the whole root and chroot in union mount point> host> emerge -uDN -k sum(worlds) <exit chroot> host> rsync -ah --progress /path/to/rootunionfs/usr/portage/packages/* /usr/portage/packages/ host> rm -Rvf /path/to/rootunionfs <sync and emerge on PC as with previous method> ---- You'll notice the emerge run on host, inside the union uses the -k option, this is to help the host and avoid recompiling dependency it had compiled in the past but had not really installed. This way, it quickly installs all dependencies in the unionfs, compiles them if necessary and builds the binpkg for every emerge. This process will take longer that my current process, but should help maintain a clean host. It could even be possible, if i dont suffer from disk space constraint, to keep the unionfs and just remount it correctly for the next emerge, but this could lead to some issues (ie if i emerge something outside the unionfs at some point, etc...). What do you think? Should i start working on this? Or is there anything better out there? Thanks, Simon