Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Unified Diff: build/install-build-deps.sh

Issue 160630: Report apt-get failures in install-build-deps.sh (Closed)
Patch Set: Addresses two issues raised by Lei Zhang Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/install-build-deps.sh
diff --git a/build/install-build-deps.sh b/build/install-build-deps.sh
index de293f90226fbfc956a5944cdcb621d683e71850..d16fc3a93c4e0a31b69a7b40301e5e269a70a158 100755
--- a/build/install-build-deps.sh
+++ b/build/install-build-deps.sh
@@ -168,15 +168,33 @@ sudo apt-get update
# without accidentally promoting any packages from "auto" to "manual".
# We then re-run "apt-get" with just the list of missing packages.
echo "Finding missing packages..."
-new_list="$(yes n |
- LANG=C sudo apt-get install --reinstall \
- ${dev_list} ${lib_list} ${dbg_list} \
- $([ "$(uname -m)" = x86_64 ] && echo ${cmp_list}) \
- |
- sed -e '1,/The following NEW packages will be installed:/d;s/^ //;t;d')"
-
-echo "Installing missing packages..."
-sudo apt-get install ${new_list}
+packages="${dev_list} ${lib_list} ${dbg_list}
+ $([ "$(uname -m)" = x86_64 ] && echo ${cmp_list})"
+echo "Packages required: $packages"
+new_list_cmd="sudo apt-get install --reinstall $(echo $packages)"
+if new_list="$(yes n | LANG=C $new_list_cmd)" || [ $? -eq 1 ]
+then
+ # We expect apt-get to have exit status of 1.
+ # This indicates that we canceled the install with "yes n|".
+ new_list=$(echo "$new_list" |
+ sed -e '1,/The following NEW packages will be installed:/d;s/^ //;t;d')
+ echo "Installing missing packages: $new_list."
+ sudo apt-get install ${new_list}
+else
+ # An apt-get exit status of 100 indicates that a real error has occurred.
+
+ # I am intentionally leaving out the '"'s around new_list_cmd,
+ # as this makes it easier to cut and paste the output
+ echo
+ echo "The following command failed: " ${new_list_cmd}
+ echo
+ echo "It produces the following output:"
+ yes n | $new_list_cmd || true
+ echo
+ echo "You will have to install the above packages yourself."
+ echo
+ exit 100
+fi
# Some operating systems already ship gold
# (on Debian, you can probably do "apt-get install binutils-gold" to get it),
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698