diff options
author | Joey Hess <joey@kitenet.net> | 2012-04-18 00:39:41 (GMT) |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-04-18 00:44:22 (GMT) |
commit | daa802a0a4229d8267c51dccd8b774b3cc97e33f (patch) | |
tree | 9e2b4021671a59823456cb23634ce921e5649a94 | |
parent | 67932a83320b73d339bdd075b8d66d20c9817a5d (diff) | |
download | debootstrap-daa802a0a4229d8267c51dccd8b774b3cc97e33f.zip debootstrap-daa802a0a4229d8267c51dccd8b774b3cc97e33f.tar.gz debootstrap-daa802a0a4229d8267c51dccd8b774b3cc97e33f.tar.bz2 |
point users at the log file on error, try to show a package name too
When installation or configuration of a package fails, output a message
that points the user to the log file[1]. Attempt to grep out the first
package that dpkg failed on and show its name too. Closes: #472704
Sample:
W: Failure while configuring base packages. This will be re-attempted up to five times.
W: See sid/debootstrap.log for details (possibly the package libept1 is at fault)
This relies on the LANG=C currently set for the debootstrap run.
Changes to the "dpkg: error processing $PACKAGE" message would break
the package name extractor, but it'd fall back to not showing a
package name.
This adds cut to the set of utilities debootstrap uses, which shouldn't
be a problem.
[1] In d-i, debootstrap doesn't know where the log file is, but then
this message goes to the same syslog file, so I didn't add any special
handling for this case.
-rw-r--r-- | debian/changelog | 8 | ||||
-rw-r--r-- | functions | 12 |
2 files changed, 20 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index be40b74..13f6097 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +debootstrap (1.0.40) UNRELEASED; urgency=low + + * When installation or configuration of a package fails, output a message + that points the user to the log file. Attempt to grep out the first + package that dpkg failed on and show its name too. Closes: #472704 + + -- Joey Hess <joeyh@debian.org> Tue, 17 Apr 2012 20:35:53 -0400 + debootstrap (1.0.39) unstable; urgency=low * Retry corrupted downloads rather than carrying on almost regardless. @@ -877,6 +877,18 @@ in_target_failmsg () { shift; shift; shift if ! $CHROOT_CMD "$@"; then warning "$code" "$msg" "$arg" + # Try to point user at actual failing package. + msg="See %s for details" + if [ -e "$TARGET/debootstrap/debootstrap.log" ]; then + arg="$TARGET/debootstrap/debootstrap.log" + local pkg="$(grep '^dpkg: error processing ' "$TARGET/debootstrap/debootstrap.log" | head -n 1 | cut -d ' ' -f 4)" + if [ -n "$pkg" ]; then + msg="$msg (possibly the package $pkg is at fault)" + fi + else + arg="the log" + fi + warning "$code" "$msg" "$arg" return 1 fi return 0 |