diff options
author | 2010-05-03 20:20:41 +0200 | |
---|---|---|
committer | 2010-05-03 20:20:41 +0200 | |
commit | 0f2984ead4164a7647e71de9bcf381f77980586c (patch) | |
tree | c8e9e17e6c4a61c14f51ee074a0c8e8d3dfaf839 | |
parent | Make sure to prepare the kernel to build modules' ebuilds. (diff) | |
download | flameeyes-tinderbox-0f2984ead4164a7647e71de9bcf381f77980586c.tar.gz flameeyes-tinderbox-0f2984ead4164a7647e71de9bcf381f77980586c.tar.bz2 flameeyes-tinderbox-0f2984ead4164a7647e71de9bcf381f77980586c.zip |
Try to recover if test dependencies cause cycles that Portage cannot unbreak.
-rwxr-xr-x | emerge-wrapper.sh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/emerge-wrapper.sh b/emerge-wrapper.sh index b1ef0c4..571a382 100755 --- a/emerge-wrapper.sh +++ b/emerge-wrapper.sh @@ -14,7 +14,19 @@ echo -5 | etc-update if [[ $res != 0 ]]; then if ! fgrep -q ">>> emerge" /var/log/emerge.log; then - echo "$1 merge #rejected" | bti + # Here it means that the merge was rejected; the common case + # it's a cyclic dependency that Portage cannot break, which is + # unfortunately common when enabling tests e.g. with Ruby-NG + # ebuilds. To try recovering from this, try a merge without + # test features enabled. + if [[ -z "${FEATURES}" ]]; then + FEATURES=-test $0 "$@" + else + # This only hits the second time, so we're safely assuming + # that the package will reject to be merged as it is, why, + # we'll have to check. + echo "$1 merge #rejected" | bti + fi fi fi |