summaryrefslogtreecommitdiffstats
path: root/urpmi
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>1999-12-19 20:49:19 +0000
committerPascal Rigaux <pixel@mandriva.com>1999-12-19 20:49:19 +0000
commita033de58c091af821e3323963be6ce6dcf101afc (patch)
treea5f452a614e3e4a64cbd96035c754f55dc733818 /urpmi
parent1dee2c62b8b19cefa4dbf096027428ef786ec057 (diff)
downloadurpmi-a033de58c091af821e3323963be6ce6dcf101afc.tar
urpmi-a033de58c091af821e3323963be6ce6dcf101afc.tar.gz
urpmi-a033de58c091af821e3323963be6ce6dcf101afc.tar.bz2
urpmi-a033de58c091af821e3323963be6ce6dcf101afc.tar.xz
urpmi-a033de58c091af821e3323963be6ce6dcf101afc.zip
no_comment
Diffstat (limited to 'urpmi')
-rwxr-xr-xurpmi29
1 files changed, 18 insertions, 11 deletions
diff --git a/urpmi b/urpmi
index 800ee8ff..951781c2 100755
--- a/urpmi
+++ b/urpmi
@@ -5,10 +5,7 @@ load_po();
$ENV{PATH} = "/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin";
$< = $>;
-
-open LOG, ">>/var/log/urpmi.log" or die;
-print LOG scalar localtime, " urpmi called with @ARGV\n";
-close LOG;
+log_it(scalar localtime, " urpmi called with @ARGV\n");
if (@ARGV and $ARGV[0] eq '--auto') {
$auto = 1;
@@ -27,18 +24,19 @@ while (@ARGV and $ARGV[0] eq '--comment') {
@ARGV or die "usage: urpmi [--auto] package_name [package_names...]\n";
-$dir = "/etc/urpmi";
+$dir = "/var/lib/urpmi";
+$dir2 = "/etc/urpmi";
$depsfile = "$dir/depslist";
$rpmlistfiles = "$dir/list.*";
open SAVEOUT, ">&STDOUT";
open SAVEERR, ">&STDERR";
-open STDOUT, "|tee -a /var/log/urpmi.installed" or die;
+open STDOUT, "|tee -a /var/log/urpmi.log" or die;
open STDERR, "|tee -a /var/log/urpmi.log" or die;
select STDERR; $| = 1; # make unbuffered
select STDOUT; $| = 1; # make unbuffered
-open F, $depsfile or die();
+open F, $depsfile or die "missing dependencies file ($depsfile)";
foreach (<F>) {
my ($pack, $size, $deps) = /(\S+)\s+(\S+)\s+(.*)/ or die("urpmi: bad format file $depsfile\n");
$size{$pack} = $size;
@@ -61,7 +59,7 @@ foreach (@ARGV) {
unless ($pack) {
my $l = $found{$_}; $l or $l = $foundi{$_};
if (@$l == 0) { warn(_("no package named %s\n", $_)); $ok = 0; }
- elsif (@$l > 1) { warn(_("The following packages contain %s: %s\n", $_, join(', ', @$l))); $ok = 0; }
+ elsif (@$l > 1) { warn(_("The following packages contain %s: %s\n", $_, join(' ', @$l))); $ok = 0; }
$pack = $$l[0];
}
push @packages, $pack;
@@ -109,7 +107,7 @@ foreach $l (@to_install) {
push @{$removables{$n}->{list}}, $_;
} else {
if (s|^file:/||) {
- if (|^(/mnt/.*?)/|) {
+ if (m|^(/mnt/.*?)/|) {
-e $_ || $try2mount{$1} or $try2mount{$1} = 1, `mount $1 2>/dev/null`;
}
}
@@ -117,6 +115,8 @@ foreach $l (@to_install) {
}
}
+install(@to_install_long) unless $removables{0} || $removables{1};
+
foreach (sort keys %removables) {
my $f = @{$removables{$_}->{list}}[0];
my $dev = $removables{$_}->{device};
@@ -137,7 +137,8 @@ foreach (sort keys %removables) {
install(@{$removables{$_}->{list}});
}
-install(@to_install_long);
+install(@to_install_long) if $removables{0} || $removables{1};
+
$something_was_installed or message(_("everything already installed"));
sub install {
@@ -145,7 +146,7 @@ sub install {
$something_was_installed = 1;
print SAVEOUT _("installing %s\n", join(' ', @_));
- print scalar localtime, " @_\n";
+ log_it(scalar localtime, " @_\n");
$X ? `grpmi @_` : `rpm -U @_`;
$? and message(_("Installation failed")), exit 1;
}
@@ -224,6 +225,12 @@ sub difference2(\@\@) { my %l; @l{@{$_[1]}} = (); grep { !exists $l{$_} } @{$_[0
sub _ { my $s = shift @_; sprintf translate($s), @_ }
sub translate { $I18N{$_[0]} || $_[0]; }
+sub log_it {
+ local *LOG;
+ open LOG, ">>/var/log/urpmi.log" or die;
+ print LOG @_;
+}
+
sub untaint {
my @r = ();
foreach (@_) {