The following commit has been merged in the master branch:
commit b633f89b56804977a9fbaf9af8d67caa31dd2c94
Author: Raphael Hertzog <hert...@debian.org>
Date:   Sun Feb 22 19:20:41 2009 +0100

    update-alternatives: --all can be used to restore broken alternatives
    
    Since alternatives are repaired every time they are reconfigured,
    the user can use --all to reconfigure them all with the current choice
    and repair everything. Document this in the manual pages and ensure
    that it really works that way by returning a valid choice.
    Closes: #250258, #395556

diff --git a/ChangeLog b/ChangeLog
index c902f86..9f37ceb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2009-02-22  Raphael Hertzog  <hert...@debian.org>
 
+       * man/update-alternatives.8: Document how --all can be used to
+       repair all alternatives on the system in a single command.
+       * scripts/update-alternatives.pl: Ensure the above explanation
+       is true by ensuring that --config does something sensible when
+       no alternative is currently selected and when the user input is
+       empty: it will auto-select the best alternative.
+
+2009-02-22  Raphael Hertzog  <hert...@debian.org>
+
        * scripts/update-alternatives.pl: Implement --set-selections.
        It's the the counterpart of --get-selections, it reads
        configuration on standard input and reconfigures alternatives
diff --git a/debian/changelog b/debian/changelog
index a2422fa..09c6bb7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -168,6 +168,8 @@ dpkg (1.15.0) UNRELEASED; urgency=low
       alternatives. Closes: #273406, #392429
     - new option --set-selections to reconfigure a set of alternatives in
       a single command.
+  * Document in update-alternatives(8) how one can repair all broken
+    alternatives with a single command. Closes: #250258, #395556
 
   [ Pierre Habouzit ]
   * Add a --query option to update-alternatives. Closes: #336091, #441904
diff --git a/man/update-alternatives.8 b/man/update-alternatives.8
index 4b8a4b9..daba7f7 100644
--- a/man/update-alternatives.8
+++ b/man/update-alternatives.8
@@ -270,6 +270,8 @@ is a name in the alternatives directory.
 Call \fB\-\-config\fP on all alternatives. It can be usefully combined with
 \fB\-\-skip\-auto\fP to review and configure all alternatives which are
 not configured in automatic mode. Broken alternatives are also displayed.
+Thus a simple way to fix all broken alternatives is to call
+\fByes \[aq]\[aq] | update-alternatives \-\-force \-\-all\fR.
 .TP
 \fB\-\-auto\fR \fIname\fR
 Switch the link group behind the alternative name
diff --git a/scripts/update-alternatives.pl b/scripts/update-alternatives.pl
index 18c147d..c6c30d8 100755
--- a/scripts/update-alternatives.pl
+++ b/scripts/update-alternatives.pl
@@ -908,7 +908,7 @@ sub select_choice {
         my $selection = <STDIN>;
         return undef unless defined($selection);
         chomp($selection);
-        return $current if $selection eq "";
+        return ($current || $best) if $selection eq "";
         if (exists $sel{$selection}) {
             $self->set_status(($selection eq "0") ? "auto" : "manual");
             return $sel{$selection};

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to debian-dpkg-cvs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to