The branch, master has been updated
via 294f86c859f6bce82b66861a9dc19c31483df6c0 (commit)
via a77e763f5231175152b64267fe3cbc30cec43b68 (commit)
via 05fb8d95a12fb0f593bcaca063c316efedd43a45 (commit)
via a95ae5fc6b927dfd9884fda1a89f1511670a5ce4 (commit)
from e1cc494b6e8811fd4fc9fed2a7d458ae8849ccdd (commit)
- Shortlog ------------------------------------------------------------
294f86c update-alternatives: Refactor duplicate code into new set_links function
a77e763 update-alternatives: Refactor code to use checked_mv function
05fb8d9 update-alternatives: Refactor code to use checked_symlink function
a95ae5f update-alternatives: Refactor code to use new checked_rm function
Summary of changes:
ChangeLog | 21 ++++++
scripts/update-alternatives.pl | 142 +++++++++++++++------------------------
2 files changed, 76 insertions(+), 87 deletions(-)
-----------------------------------------------------------------------
Details of changes:
commit 294f86c859f6bce82b66861a9dc19c31483df6c0
Author: Guillem Jover <[EMAIL PROTECTED]>
Date: Thu Dec 27 05:54:09 2007 +0200
update-alternatives: Refactor duplicate code into new set_links function
diff --git a/ChangeLog b/ChangeLog
index 559bd53..a40ccb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
+ * scripts/update-alternatives.pl (set_links): New function.
+ (config_alternatives): Use set_links instead of duped code.
+ (set_alternatives): Likewise.
+
+2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
+
* scripts/update-alternatives.pl: Refactor all code to use
checked_mv instead of duped code.
diff --git a/scripts/update-alternatives.pl b/scripts/update-alternatives.pl
index b00c479..463b61d 100755
--- a/scripts/update-alternatives.pl
+++ b/scripts/update-alternatives.pl
@@ -223,6 +223,30 @@ sub list_link_group
}
}
+sub set_links($$)
+{
+ my ($spath, $preferred) = (@_);
+
+ printf STDOUT _g("Using '%s' to provide '%s'.") . "\n", $spath, $name;
+ checked_symlink("$spath","$altdir/$name.dpkg-tmp");
+ checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
+
+ # Link slaves...
+ for (my $slnum = 0; $slnum < @slavenames; $slnum++) {
+ my $slave = $slavenames[$slnum];
+ if ($slavepath{$preferred, $slnum} ne '') {
+ checked_symlink($slavepath{$preferred, $slnum},
+ "$altdir/$slave.dpkg-tmp");
+ checked_mv("$altdir/$slave.dpkg-tmp", "$altdir/$slave");
+ } else {
+ pr(sprintf(_g("Removing %s (%s), not appropriate with %s."), $slave,
+ $slavelinks[$slnum], $versions[$preferred]))
+ if $verbosemode > 0;
+ checked_rm("$altdir/$slave");
+ }
+ }
+}
+
sub check_many_actions()
{
return unless $action;
@@ -647,24 +671,9 @@ sub config_alternatives {
if ($preferred ne '') {
$mode = "manual";
$preferred--;
- printf STDOUT _g("Using \`%s' to provide \`%s'.")."\n",
$versions[$preferred], $name;
my $spath = $versions[$preferred];
- checked_symlink("$spath", "$altdir/$name.dpkg-tmp");
- checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
- # Link slaves...
- for( my $slnum = 0; $slnum < @slavenames; $slnum++ ) {
- my $slave = $slavenames[$slnum];
- if ($slavepath{$preferred,$slnum} ne '') {
- checked_symlink($slavepath{$preferred,$slnum},
- "$altdir/$slave.dpkg-tmp");
- checked_mv("$altdir/$slave.dpkg-tmp", "$altdir/$slave");
- } else {
- &pr(sprintf(_g("Removing %s (%s), not appropriate with %s."),
$slave, $slavelinks[$slnum], $versions[$preferred]))
- if $verbosemode > 0;
- checked_rm("$altdir/$slave");
- }
- }
+ set_links($spath, $preferred);
}
}
@@ -681,22 +690,7 @@ sub set_alternatives {
if($preferred == -1){
&quit(sprintf(_g("Cannot find alternative `%s'."), $apath)."\n")
}
- printf STDOUT _g("Using \`%s' to provide \`%s'.")."\n", $apath, $name;
- checked_symlink("$apath", "$altdir/$name.dpkg-tmp");
- checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
- # Link slaves...
- for (my $slnum = 0; $slnum < @slavenames; $slnum++ ) {
- my $slave = $slavenames[$slnum];
- if ($slavepath{$preferred,$slnum} ne '') {
- checked_symlink($slavepath{$preferred,$slnum},
- "$altdir/$slave.dpkg-tmp");
- checked_mv("$altdir/$slave.dpkg-tmp", "$altdir/$slave");
- } else {
- &pr(sprintf(_g("Removing %s (%s), not appropriate with %s."), $slave,
$slavelinks[$slnum], $versions[$preferred]))
- if $verbosemode > 0;
- checked_rm("$altdir/$slave");
- }
- }
+ set_links($apath, $preferred);
}
sub pr { print(STDOUT "@_\n") || &quit(sprintf(_g("error writing stdout: %s"),
$!)); }
commit a77e763f5231175152b64267fe3cbc30cec43b68
Author: Guillem Jover <[EMAIL PROTECTED]>
Date: Tue Dec 25 05:41:00 2007 +0200
update-alternatives: Refactor code to use checked_mv function
diff --git a/ChangeLog b/ChangeLog
index d312872..559bd53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
* scripts/update-alternatives.pl: Refactor all code to use
+ checked_mv instead of duped code.
+
+2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
+
+ * scripts/update-alternatives.pl: Refactor all code to use
checked_symlink instead of duped code.
2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
diff --git a/scripts/update-alternatives.pl b/scripts/update-alternatives.pl
index b199937..b00c479 100755
--- a/scripts/update-alternatives.pl
+++ b/scripts/update-alternatives.pl
@@ -501,8 +501,7 @@ if ($mode eq 'manual') {
} else {
if ($state eq 'expected-inprogress') {
&pr(sprintf(_g("Recovering from previous failed update of %s ..."),
$name));
- rename_mv("$altdir/$name.dpkg-tmp","$altdir/$name") ||
- &quit(sprintf(_g("unable to rename %s to %s: %s"),
"$altdir/$name.dpkg-tmp", "$altdir/$name", $!));
+ checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
$state= 'expected';
}
}
@@ -555,8 +554,7 @@ if ($mode eq 'auto') {
(defined($linkname) && $linkname ne "$altdir/$name")) {
checked_rm("$link.dpkg-tmp");
checked_symlink("$altdir/$name", "$link.dpkg-tmp");
- rename_mv("$link.dpkg-tmp",$link) ||
- &quit(sprintf(_g("unable to install %s as %s: %s"),
"$link.dpkg-tmp", $link, $!));
+ checked_mv("$link.dpkg-tmp", $link);
}
if (defined($linkname= readlink("$altdir/$name")) && $linkname eq
$best) {
&pr(sprintf(_g("Leaving %s (%s) pointing to %s."), $name, $link,
$best))
@@ -570,12 +568,10 @@ if ($mode eq 'auto') {
}
}
-rename_mv("$admindir/$name.dpkg-new","$admindir/$name") ||
- &quit(sprintf(_g("unable to rename %s to %s: %s"),
"$admindir/$name.dpkg-new", "$admindir/$name", $!));
+checked_mv("$admindir/$name.dpkg-new", "$admindir/$name");
if ($mode eq 'auto') {
- rename_mv("$altdir/$name.dpkg-tmp","$altdir/$name") ||
- &quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$name.dpkg-tmp", "$altdir/$name", $!));
+ checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
for (my $j = 0; $j <= $#slavenames; $j++) {
$sname= $slavenames[$j];
$slink= $slavelinks[$j];
@@ -597,9 +593,7 @@ if ($mode eq 'auto') {
(defined($linkname) && $linkname ne "$altdir/$sname")) {
checked_rm("$slink.dpkg-tmp");
checked_symlink("$altdir/$sname", "$slink.dpkg-tmp");
- rename_mv("$slink.dpkg-tmp",$slink) ||
- quit(sprintf(_g("unable to install %s as %s: %s"),
- "$slink.dpkg-tmp", $slink, $!));
+ checked_mv("$slink.dpkg-tmp", $slink);
}
if (defined($linkname= readlink("$altdir/$sname")) && $linkname eq
$spath) {
&pr(sprintf(_g("Leaving %s (%s) pointing to %s."), $sname,
$slink, $spath))
@@ -609,8 +603,7 @@ if ($mode eq 'auto') {
if $verbosemode > 0;
}
checked_symlink("$spath", "$altdir/$sname.dpkg-tmp");
- rename_mv("$altdir/$sname.dpkg-tmp","$altdir/$sname") ||
- &quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$sname.dpkg-tmp", "$altdir/$sname", $!));
+ checked_mv("$altdir/$sname.dpkg-tmp", "$altdir/$sname");
}
}
}
@@ -657,8 +650,7 @@ sub config_alternatives {
printf STDOUT _g("Using \`%s' to provide \`%s'.")."\n",
$versions[$preferred], $name;
my $spath = $versions[$preferred];
checked_symlink("$spath", "$altdir/$name.dpkg-tmp");
- rename_mv("$altdir/$name.dpkg-tmp","$altdir/$name") ||
- &quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$name.dpkg-tmp", "$altdir/$name", $!));
+ checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
# Link slaves...
for( my $slnum = 0; $slnum < @slavenames; $slnum++ ) {
my $slave = $slavenames[$slnum];
@@ -691,8 +683,7 @@ sub set_alternatives {
}
printf STDOUT _g("Using \`%s' to provide \`%s'.")."\n", $apath, $name;
checked_symlink("$apath", "$altdir/$name.dpkg-tmp");
- rename_mv("$altdir/$name.dpkg-tmp","$altdir/$name") ||
- &quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$name.dpkg-tmp", "$altdir/$name", $!));
+ checked_mv("$altdir/$name.dpkg-tmp", "$altdir/$name");
# Link slaves...
for (my $slnum = 0; $slnum < @slavenames; $slnum++ ) {
my $slave = $slavenames[$slnum];
commit 05fb8d95a12fb0f593bcaca063c316efedd43a45
Author: Guillem Jover <[EMAIL PROTECTED]>
Date: Sat Dec 22 23:10:24 2007 +0200
update-alternatives: Refactor code to use checked_symlink function
diff --git a/ChangeLog b/ChangeLog
index e9261d0..d312872 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
+ * scripts/update-alternatives.pl: Refactor all code to use
+ checked_symlink instead of duped code.
+
+2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
+
* scripts/update-alternatives.pl (checked_rm): New function. Refactor
all code to use it instead of duped code.
diff --git a/scripts/update-alternatives.pl b/scripts/update-alternatives.pl
index 800aa97..b199937 100755
--- a/scripts/update-alternatives.pl
+++ b/scripts/update-alternatives.pl
@@ -554,8 +554,7 @@ if ($mode eq 'auto') {
} elsif (!defined($linkname) ||
(defined($linkname) && $linkname ne "$altdir/$name")) {
checked_rm("$link.dpkg-tmp");
- symlink("$altdir/$name","$link.dpkg-tmp") ||
- &quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
"$link.dpkg-tmp", "$altdir/$name", $!));
+ checked_symlink("$altdir/$name", "$link.dpkg-tmp");
rename_mv("$link.dpkg-tmp",$link) ||
&quit(sprintf(_g("unable to install %s as %s: %s"),
"$link.dpkg-tmp", $link, $!));
}
@@ -597,9 +596,7 @@ if ($mode eq 'auto') {
} elsif (!defined($linkname) ||
(defined($linkname) && $linkname ne "$altdir/$sname")) {
checked_rm("$slink.dpkg-tmp");
- symlink("$altdir/$sname","$slink.dpkg-tmp") ||
- quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
- "$slink.dpkg-tmp", "$altdir/$sname", $!));
+ checked_symlink("$altdir/$sname", "$slink.dpkg-tmp");
rename_mv("$slink.dpkg-tmp",$slink) ||
quit(sprintf(_g("unable to install %s as %s: %s"),
"$slink.dpkg-tmp", $slink, $!));
@@ -611,8 +608,7 @@ if ($mode eq 'auto') {
&pr(sprintf(_g("Updating %s (%s) to point to %s."), $sname,
$slink, $spath))
if $verbosemode > 0;
}
- symlink("$spath","$altdir/$sname.dpkg-tmp") ||
- &quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
"$altdir/$sname.dpkg-tmp", $spath, $!));
+ checked_symlink("$spath", "$altdir/$sname.dpkg-tmp");
rename_mv("$altdir/$sname.dpkg-tmp","$altdir/$sname") ||
&quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$sname.dpkg-tmp", "$altdir/$sname", $!));
}
@@ -660,8 +656,7 @@ sub config_alternatives {
$preferred--;
printf STDOUT _g("Using \`%s' to provide \`%s'.")."\n",
$versions[$preferred], $name;
my $spath = $versions[$preferred];
- symlink("$spath","$altdir/$name.dpkg-tmp") ||
- &quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
"$altdir/$name.dpkg-tmp", $spath, $!));
+ checked_symlink("$spath", "$altdir/$name.dpkg-tmp");
rename_mv("$altdir/$name.dpkg-tmp","$altdir/$name") ||
&quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$name.dpkg-tmp", "$altdir/$name", $!));
# Link slaves...
@@ -695,8 +690,7 @@ sub set_alternatives {
&quit(sprintf(_g("Cannot find alternative `%s'."), $apath)."\n")
}
printf STDOUT _g("Using \`%s' to provide \`%s'.")."\n", $apath, $name;
- symlink("$apath","$altdir/$name.dpkg-tmp") ||
- &quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
"$altdir/$name.dpkg-tmp", $apath, $!));
+ checked_symlink("$apath", "$altdir/$name.dpkg-tmp");
rename_mv("$altdir/$name.dpkg-tmp","$altdir/$name") ||
&quit(sprintf(_g("unable to install %s as %s: %s"),
"$altdir/$name.dpkg-tmp", "$altdir/$name", $!));
# Link slaves...
commit a95ae5fc6b927dfd9884fda1a89f1511670a5ce4
Author: Guillem Jover <[EMAIL PROTECTED]>
Date: Sat Dec 22 22:59:21 2007 +0200
update-alternatives: Refactor code to use new checked_rm function
diff --git a/ChangeLog b/ChangeLog
index 5421f37..e9261d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-27 Guillem Jover <[EMAIL PROTECTED]>
+
+ * scripts/update-alternatives.pl (checked_rm): New function. Refactor
+ all code to use it instead of duped code.
+
2007-12-26 Raphael Hertzog <[EMAIL PROTECTED]>
* scripts/dpkg-source.pl: Provide a sane default $origtargz in all
diff --git a/scripts/update-alternatives.pl b/scripts/update-alternatives.pl
index 8e7fb67..800aa97 100755
--- a/scripts/update-alternatives.pl
+++ b/scripts/update-alternatives.pl
@@ -229,6 +229,12 @@ sub check_many_actions()
badusage(sprintf(_g("two commands specified: %s and --%s"), $_, $action));
}
+sub checked_rm($)
+{
+ my ($f) = @_;
+ unlink($f) || $! == ENOENT ||
+ quit(sprintf(_g("unable to remove %s: %s"), $f, $!));
+}
#
# Main program
@@ -357,10 +363,8 @@ if (defined($linkname= readlink("$altdir/$name"))) {
if ($action eq 'auto') {
&pr(sprintf(_g("Setting up automatic selection of %s."), $name))
if $verbosemode > 0;
- unlink("$altdir/$name.dpkg-tmp") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$altdir/$name.dpkg-tmp",
$!));
- unlink("$altdir/$name") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$altdir/$name", $!));
+ checked_rm("$altdir/$name.dpkg-tmp");
+ checked_rm("$altdir/$name");
$state= 'nonexistent';
$mode = 'auto';
}
@@ -473,10 +477,8 @@ for (my $j = 0; $j <= $#slavenames; $j++) {
if ($i > $#versions) {
&pr(sprintf(_g("Discarding obsolete slave link %s (%s)."),
$slavenames[$j], $slavelinks[$j]))
if $verbosemode > 0;
- unlink("$altdir/$slavenames[$j]") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"),
"$altdir/$slavenames[$j]", $!));
- unlink($slavelinks[$j]) || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), $slavelinks[$j], $!));
+ checked_rm("$altdir/$slavenames[$j]");
+ checked_rm($slavelinks[$j]);
my $k = $#slavenames;
$slavenum{$slavenames[$k]}= $j;
delete $slavenum{$slavenames[$j]};
@@ -538,14 +540,10 @@ if ($mode eq 'auto') {
if ($best eq '') {
&pr(sprintf(_g("Last package providing %s (%s) removed, deleting
it."), $name, $link))
if $verbosemode > 0;
- unlink("$altdir/$name") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$altdir/$name", $!));
- unlink("$link") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$link", $!));
- unlink("$admindir/$name.dpkg-new") ||
- &quit(sprintf(_g("unable to remove %s: %s"),
"$admindir/$name.dpkg-new", $!));
- unlink("$admindir/$name") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$admindir/$name",
$!));
+ checked_rm("$altdir/$name");
+ checked_rm("$link");
+ checked_rm("$admindir/$name.dpkg-new");
+ checked_rm("$admindir/$name");
exit(0);
} else {
$linkname = readlink($link);
@@ -555,8 +553,7 @@ if ($mode eq 'auto') {
if $verbosemode > 0;
} elsif (!defined($linkname) ||
(defined($linkname) && $linkname ne "$altdir/$name")) {
- unlink("$link.dpkg-tmp") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
"$link.dpkg-tmp", $!));
+ checked_rm("$link.dpkg-tmp");
symlink("$altdir/$name","$link.dpkg-tmp") ||
&quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
"$link.dpkg-tmp", "$altdir/$name", $!));
rename_mv("$link.dpkg-tmp",$link) ||
@@ -569,8 +566,7 @@ if ($mode eq 'auto') {
&pr(sprintf(_g("Updating %s (%s) to point to %s."), $name, $link,
$best))
if $verbosemode > 0;
}
- unlink("$altdir/$name.dpkg-tmp") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
"$altdir/$name.dpkg-tmp", $!));
+ checked_rm("$altdir/$name.dpkg-tmp");
symlink($best,"$altdir/$name.dpkg-tmp");
}
}
@@ -585,15 +581,12 @@ if ($mode eq 'auto') {
$sname= $slavenames[$j];
$slink= $slavelinks[$j];
$spath= $slavepath{$bestnum,$j};
- unlink("$altdir/$sname.dpkg-tmp") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
"$altdir/$sname.dpkg-tmp", $!));
+ checked_rm("$altdir/$sname.dpkg-tmp");
if ($spath eq '') {
&pr(sprintf(_g("Removing %s (%s), not appropriate with %s."),
$sname, $slink, $best))
if $verbosemode > 0;
- unlink("$altdir/$sname") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$altdir/$sname",
$!));
- unlink("$slink") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
+ checked_rm("$altdir/$sname");
+ checked_rm("$slink");
} else {
$linkname = readlink($slink);
if (!defined($linkname) && $! != ENOENT) {
@@ -603,9 +596,7 @@ if ($mode eq 'auto') {
if $verbosemode > 0;
} elsif (!defined($linkname) ||
(defined($linkname) && $linkname ne "$altdir/$sname")) {
- unlink("$slink.dpkg-tmp") || $! == ENOENT ||
- quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
- "$slink.dpkg-tmp", $!));
+ checked_rm("$slink.dpkg-tmp");
symlink("$altdir/$sname","$slink.dpkg-tmp") ||
quit(sprintf(_g("unable to make %s a symlink to %s: %s"),
"$slink.dpkg-tmp", "$altdir/$sname", $!));
@@ -683,8 +674,7 @@ sub config_alternatives {
} else {
&pr(sprintf(_g("Removing %s (%s), not appropriate with %s."),
$slave, $slavelinks[$slnum], $versions[$preferred]))
if $verbosemode > 0;
- unlink("$altdir/$slave") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"),
"$altdir/$slave", $!));
+ checked_rm("$altdir/$slave");
}
}
@@ -719,8 +709,7 @@ sub set_alternatives {
} else {
&pr(sprintf(_g("Removing %s (%s), not appropriate with %s."), $slave,
$slavelinks[$slnum], $versions[$preferred]))
if $verbosemode > 0;
- unlink("$altdir/$slave") || $! == &ENOENT ||
- &quit(sprintf(_g("unable to remove %s: %s"), "$altdir/$slave", $!));
+ checked_rm("$altdir/$slave");
}
}
}
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]