diff options
author | Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2010-04-24 12:50:00 +0200 |
---|---|---|
committer | Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2010-04-24 12:50:00 +0200 |
commit | 7f8e5f857be64fb00e38fe79b5b5c552f27a4840 (patch) | |
tree | 92fbd2d5c8bd452476e84d81482493e227b56816 /tinderbox-restart.sh | |
parent | Rename tweet_me to dent_me. (diff) | |
download | flameeyes-tinderbox-7f8e5f857be64fb00e38fe79b5b5c552f27a4840.tar.gz flameeyes-tinderbox-7f8e5f857be64fb00e38fe79b5b5c552f27a4840.tar.bz2 flameeyes-tinderbox-7f8e5f857be64fb00e38fe79b5b5c552f27a4840.zip |
Add support for re-generating the list continuously when restarting.
This generates a new full list, starts a fetch process to download all the
packages, and creates a new synthesized list excluding that stuff that was
merged already in the mean time (see
http://blog.flameeyes.eu/2010/04/18/squeezing-more-performance-out-of-the-tinderbox
) for more details about the idea.
This still require manual intervention to set the head of the queue before
restarting.
Diffstat (limited to 'tinderbox-restart.sh')
-rwxr-xr-x | tinderbox-restart.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tinderbox-restart.sh b/tinderbox-restart.sh index ac81023..2e18abe 100755 --- a/tinderbox-restart.sh +++ b/tinderbox-restart.sh @@ -1,5 +1,7 @@ #!/bin/sh +mkdir -p /var/cache/tinderbox + reset_emergelog() { rm -f /var/log/emerge.log } @@ -50,3 +52,17 @@ fi emerge -u1 glibc bti screen avahi nfs-utils gentoolkit java-dep-check portage-utils reset_emergelog + +# Generate a new complete list, this will also produce the list of new +# dependencies to satisfy. +./tinderbox.py > /var/cache/tinderbox/list-complete + +# Launch the fetch operation in background, saving the log (of both +# good results and failures). +nohup xargs -a /var/cache/tinderbox/list-complete emerge -fO --keep-going &> /var/log/tinderbox-fetch.log & + +# Now replace the old queue with a new one, skipping everything that +# we wouldn't otherwise be merging (packages masked, removed, and +# similar). +mv /var/cache/tinderbox/queue /var/cache/tinderbox/queue.old +sort /var/cache/tinderbox/queue.old /var/cache/tinderbox/list-complete | uniq -d | sort -R > /var/cache/tinderbox/queue |