From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QP2V9-0002qQ-Ej for garchives@archives.gentoo.org; Wed, 25 May 2011 01:03:07 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BF3D81C00A; Wed, 25 May 2011 01:02:58 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 776501C00A for ; Wed, 25 May 2011 01:02:58 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0204D1B4024 for ; Wed, 25 May 2011 01:02:58 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 5313080505 for ; Wed, 25 May 2011 01:02:57 +0000 (UTC) From: "Paul Varner" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Paul Varner" Message-ID: Subject: [gentoo-commits] proj/gentoolkit:gentoolkit commit in: bin/ X-VCS-Repository: proj/gentoolkit X-VCS-Files: bin/revdep-rebuild X-VCS-Directories: bin/ X-VCS-Committer: fuzzyray X-VCS-Committer-Name: Paul Varner X-VCS-Revision: d04544e03702d7358a8ccdee4a7696cdcba91b9c Date: Wed, 25 May 2011 01:02:57 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: df1a431650eeb464acb54d7479ca663d commit: d04544e03702d7358a8ccdee4a7696cdcba91b9c Author: Paul Varner gentoo org> AuthorDate: Wed May 25 00:55:03 2011 +0000 Commit: Paul Varner gentoo org> CommitDate: Wed May 25 00:55:03 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoolkit.gi= t;a=3Dcommit;h=3Dd04544e0 Change revdep-rebuild to no longer determine the build order. Instead we call emerge with --complete-graph=3Dy to build the packages in the correct order. --- bin/revdep-rebuild | 34 ++++++++++++++++++++++------------ 1 files changed, 22 insertions(+), 12 deletions(-) diff --git a/bin/revdep-rebuild b/bin/revdep-rebuild index 6b584cf..f00b791 100755 --- a/bin/revdep-rebuild +++ b/bin/revdep-rebuild @@ -979,15 +979,19 @@ get_build_order() { fi fi RAW_REBUILD_LIST=3D"${RAW_REBUILD_LIST[@]}" - REBUILD_GREP=3D$(emerge --nodeps $RAW_REBUILD_LIST | sed 's/\[[^]]*\]= //g') - if (( ${PIPESTATUS[0]} =3D=3D 0 )); then - emerge --deep $RAW_REBUILD_LIST | - sed 's/\[[^]]*\]//g' | - grep -F "$REBUILD_GREP" > "$ORDER_FILE" - fi =20 - # Here we use the PIPESTATUS from the second emerge, the --deep one. - if (( ${PIPESTATUS[0]} !=3D 0 )); then + # We no longer determine the package order ourselves. Instead we cal= l emerge + # with --complete-graph=3Dy in the rebuild function. + if false ; then + REBUILD_GREP=3D$(emerge --nodeps $RAW_REBUILD_LIST | sed 's/\[[^]]*\= ]//g') + if (( ${PIPESTATUS[0]} =3D=3D 0 )); then + emerge --deep $RAW_REBUILD_LIST | + sed 's/\[[^]]*\]//g' | + grep -F "$REBUILD_GREP" > "$ORDER_FILE" + fi + + # Here we use the PIPESTATUS from the second emerge, the --deep one. + if (( ${PIPESTATUS[0]} !=3D 0 )); then eerror eerror 'Warning: Failed to resolve package order.' eerror 'Will merge in arbitrary order' @@ -1000,6 +1004,9 @@ get_build_order() { EOF countdown 5 rm -f "$ORDER_FILE" + fi + else + echo "$RAW_REBUILD_LIST" > "$ORDER_FILE" fi export EMERGE_DEFAULT_OPTS=3D"$OLD_EMERGE_DEFAULT_OPTS" else @@ -1112,8 +1119,11 @@ setup_search_paths_and_masks() { # Rebuild packages owning broken binaries rebuild() { if [[ -r $ORDER_FILE && -s $ORDER_FILE ]]; then - REBUILD_LIST=3D( $(<"$ORDER_FILE") ) - REBUILD_LIST=3D"${REBUILD_LIST[@]/#/=3D}" + # The rebuild list contains category/package:slot atoms. + # Do not prepend with an '=3D' sign. + # REBUILD_LIST=3D( $(<"$ORDER_FILE") ) + # REBUILD_LIST=3D"${REBUILD_LIST[@]/#/=3D}" + REBUILD_LIST=3D$(<"$ORDER_FILE") else REBUILD_LIST=3D$(sort -u "$EBUILDS_FILE") fi @@ -1121,7 +1131,7 @@ rebuild() { trap - SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM =20 [[ $QUIET -ne 1 ]] && einfo 'All prepared. Starting rebuild' - echo "emerge --oneshot ${EMERGE_DEFAULT_OPTS} ${EMERGE_OPTIONS[@]} $REB= UILD_LIST" + echo "emerge --complete-graph=3Dy --oneshot ${EMERGE_DEFAULT_OPTS} ${EM= ERGE_OPTIONS[@]} $REBUILD_LIST" =20 is_real_merge && countdown 10 =20 @@ -1130,7 +1140,7 @@ rebuild() { =20 # Run in background to correctly handle Ctrl-C { - emerge --oneshot ${EMERGE_DEFAULT_OPTS} ${EMERGE_OPTIONS[@]} $REBUILD_= LIST <&6 + emerge --complete-graph=3Dy --oneshot ${EMERGE_DEFAULT_OPTS} ${EMERGE_= OPTIONS[@]} $REBUILD_LIST <&6 echo $? > "$STATUS_FILE" } & wait