diff options
-rw-r--r-- | urpm/args.pm | 2 | ||||
-rw-r--r-- | urpm/msg.pm | 15 | ||||
-rwxr-xr-x | urpmi | 58 |
3 files changed, 35 insertions, 40 deletions
diff --git a/urpm/args.pm b/urpm/args.pm index a9010fe9..1acf0640 100644 --- a/urpm/args.pm +++ b/urpm/args.pm @@ -72,7 +72,7 @@ my %options_spec = ( 'no-remove|no-uninstall' => \$::no_remove, 'no-install|noinstall' => \$::no_install, keep => sub { $urpm->{options}{keep} = 1 }, - logfile => \$::logfile, + 'logfile=s' => \$::logfile, 'split-level=s' => sub { $urpm->{options}{'split-level'} = $_[1] }, 'split-length=s' => sub { $urpm->{options}{'split-length'} = $_[1] }, 'fuzzy!' => sub { $urpm->{options}{fuzzy} = $_[1] }, diff --git a/urpm/msg.pm b/urpm/msg.pm index 5d633ace..e46638b0 100644 --- a/urpm/msg.pm +++ b/urpm/msg.pm @@ -7,7 +7,7 @@ use Exporter; (our $VERSION) = q$Id$ =~ /(\d+\.\d+)/; our @ISA = 'Exporter'; -our @EXPORT = qw(N bug_log to_utf8 message_input message toMb from_utf8 sys_log); +our @EXPORT = qw(N bug_log to_utf8 message_input toMb from_utf8 sys_log); #- I18N. use Locale::gettext; @@ -93,20 +93,11 @@ sub message_input { } else { last; } - message(N("Sorry, bad choice, try again\n")); + print N("Sorry, bad choice, try again\n"); } return $input; } -sub message { - my ($msg) = @_; - if ($urpm::args::options{bug} || !defined fileno ::SAVEOUT) { - print STDOUT "$msg\n"; - } else { - print ::SAVEOUT "$msg\n"; - } -} - sub toMb { my $nb = $_[0] / 1024 / 1024; int $nb + 0.5; @@ -130,6 +121,6 @@ urpm::msg - routines to prompt messages from the urpm* tools Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 MandrakeSoft SA -Copyright (C) 2005 Mandriva SA +Copyright (C) 2005, 2006 Mandriva SA =cut @@ -320,7 +320,7 @@ if (exists $urpm->{options}{'priority-upgrade'} && $urpm->{options}{'priority-up } if ($auto_update && !$bug && !$env) { #- For translators : there are several media here - message(N("Updating media...")); + print N("Updating media..."), "\n"; #- FIXME we need to configure it twice; otherwise #- some settings are lost (like the skiplist) for #- some reason. @@ -401,8 +401,9 @@ sub ask_choice { } @$choices; if (@l > 1 && !$urpm->{options}{auto}) { - message(N("One of the following packages is needed:")); - my $i = 0; foreach (@l) { message(" " . ++$i . "- $_") } + print N("One of the following packages is needed:"), "\n"; + my $i = 0; + foreach (@l) { print " " . ++$i . "- $_\n" } $n = message_input(N("What is your choice? (1-%d) ", $i), undef, range_min => 0, range => $i); defined($n) && $n ne "0" or exit 1; # abort. if ($n =~ /\D/) { @@ -436,7 +437,7 @@ if (@unselected_uninstalled) { my $msg = N("The following packages can't be installed because they depend on packages that are older than the installed ones:\n%s", $list); if ($urpm->{options}{auto}) { - message($msg); + print "$msg\n"; } else { my $noexpr = N("Nn"); my $yesexpr = N("Yy"); @@ -454,7 +455,7 @@ if (@ask_unselect) { my $list = join "\n", $urpm->translate_why_unselected($state, sort @ask_unselect); my $msg = N("Some requested packages cannot be installed:\n%s", $list); if ($urpm->{options}{auto}) { - message($msg); + print "$msg\n"; } else { my $noexpr = N("Nn"); my $yesexpr = N("Yy"); @@ -482,8 +483,8 @@ if (@ask_remove) { my $list = join "\n", $urpm->translate_why_removed($state, sort @ask_remove); if ($no_remove && !$force) { - message(N("The installation cannot continue because the following packages -have to be removed for others to be upgraded:\n%s\n", $list)); + print N("The installation cannot continue because the following packages +have to be removed for others to be upgraded:\n%s\n", $list), "\n"; exit 0; } @@ -492,7 +493,7 @@ have to be removed for others to be upgraded:\n%s\n", $list)); $msg = "$msg\n" . N("(test only, removal will not be actually done)"); } if ($urpm->{options}{auto}) { - message($msg); + print "$msg\n"; } else { my $noexpr = N("Nn"); my $yesexpr = N("Yy"); @@ -593,7 +594,7 @@ foreach my $set (@{$state->{transaction} || []}) { my (@transaction_list, %transaction_sources); #- put a blank line to separate with previous transaction or user question. - message(""); + print "\n"; #- prepare transaction... $urpm->prepare_transaction($set, $list, \%sources, \@transaction_list, \%transaction_sources); @@ -624,7 +625,7 @@ foreach my $set (@{$state->{transaction} || []}) { my $p = join "\n", @bad_signatures; #- rurpmi always abort here if ($urpm->{options}{auto} || $restricted) { - message("$msg:\n$p\n"); + print "$msg:\n$p\n\n"; exit 1; } else { my $noexpr = N("Nn"); @@ -637,8 +638,8 @@ foreach my $set (@{$state->{transaction} || []}) { #- check for local files. if (my @missing = grep { m|^/| && ! -e $_ } values %transaction_sources_install, values %transaction_sources) { #- Warning : the following message is parsed in urpm::parallel_* - message(N("Installation failed, some files are missing:\n%s\nYou may want to update your urpmi database", - join "\n", map { s|([^:]*://[^/:\@]*:)[^/:\@]*(\@.*)|$1xxxx$2|; " $_" } @missing)); + print N("Installation failed, some files are missing:\n%s\nYou may want to update your urpmi database", + join "\n", map { s|([^:]*://[^/:\@]*:)[^/:\@]*(\@.*)|$1xxxx$2|; " $_" } @missing), "\n"; ++$nok; next; } @@ -648,7 +649,10 @@ foreach my $set (@{$state->{transaction} || []}) { if (my @l = grep { /\.src\.rpm$/ } values %transaction_sources_install, values %transaction_sources) { system("rpm", "-i$rpm_opt", @l, ($root ? ("--root", $root) : @{[]})); #- Warning : the following message is parsed in urpm::parallel_* - $? and message(N("Installation failed")), ++$nok; + if ($?) { + print N("Installation failed"), "\n"; + ++$nok; + } } next; } @@ -665,7 +669,7 @@ foreach my $set (@{$state->{transaction} || []}) { if (keys(%transaction_sources_install) || keys(%transaction_sources)) { if ($parallel) { - message(N("distributing %s", join(' ', values %transaction_sources_install, values %transaction_sources))); + print N("distributing %s", join(' ', values %transaction_sources_install, values %transaction_sources)), "\n"; #- no remove are handle here, automatically done by each distant node. $urpm->{log}("starting distributed install"); $urpm->parallel_install([ keys %{$state->{rejected} || {}} ], \%transaction_sources_install, \%transaction_sources, @@ -676,12 +680,12 @@ foreach my $set (@{$state->{transaction} || []}) { (my $common_prefix) = $packnames[0] =~ /^(.*)\//; if (length($common_prefix) && @packnames == grep { /^\Q$common_prefix\// } @packnames) { #- there's a common prefix, simplify message - message(N("installing %s from %s", join(' ', map { s/.*\///; $_ } @packnames), $common_prefix)); + print N("installing %s from %s", join(' ', map { s/.*\///; $_ } @packnames), $common_prefix), "\n"; } else { - message(N("installing %s", join(' ', @packnames))); + print N("installing %s", "@packnames"), "\n"; } my $to_remove = $urpm->{options}{'allow-force'} ? [] : ($set->{remove} || []); - @$to_remove and message(N("removing %s", "@$to_remove")); + @$to_remove and print N("removing %s", "@$to_remove"), "\n"; bug_log(scalar localtime, " ", join(' ', values %transaction_sources_install, values %transaction_sources), "\n"); $urpm->{log}("starting installing packages"); my %install_options_common = ( @@ -702,7 +706,7 @@ foreach my $set (@{$state->{transaction} || []}) { ); if (@l) { #- Warning : the following message is parsed in urpm::parallel_* - message(N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l)); + print N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l), "\n"; if ($urpm->{options}{auto} || !$urpm->{options}{'allow-nodeps'} && !$urpm->{options}{'allow-force'}) { ++$nok; ++$urpm->{logger_id}; @@ -722,7 +726,7 @@ foreach my $set (@{$state->{transaction} || []}) { ); if (@l) { #- Warning : the following message is parsed in urpm::parallel_* - message(N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l)); + print N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l), "\n"; if (!$urpm->{options}{'allow-force'}) { ++$nok; ++$urpm->{logger_id}; @@ -740,7 +744,7 @@ foreach my $set (@{$state->{transaction} || []}) { ); if (@l) { #- Warning : the following message is parsed in urpm::parallel_* - message(N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l)); + print N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l), "\n"; ++$nok; ++$urpm->{logger_id}; push @errors, @l; @@ -763,12 +767,12 @@ foreach my $set (@{$state->{transaction} || []}) { my $exit_code = 0; if (values %error_sources) { #- Warning : the following message is parsed in urpm::parallel_* - message(N("Installation failed, some files are missing:\n%s\nYou may want to update your urpmi database", - join "\n", map { s|([^:]*://[^/:\@]*:)[^/:\@]*(\@.*)|$1xxxx$2|; " $_" } values %error_sources)); + print N("Installation failed, some files are missing:\n%s\nYou may want to update your urpmi database", + join "\n", map { s|([^:]*://[^/:\@]*:)[^/:\@]*(\@.*)|$1xxxx$2|; " $_" } values %error_sources), "\n"; $exit_code = 10; } if ($nok) { - $nok > 1 and message(N("%d installation transactions failed", $nok) . (@errors && ":\n" . join("\n", map { "\t$_" } @errors))); + $nok > 1 and print N("%d installation transactions failed", $nok) . (@errors && ":\n" . join("\n", map { "\t$_" } @errors)), "\n"; if ($exit_code) { $exit_code = $ok ? 13 : 14; } else { @@ -777,14 +781,14 @@ if ($nok) { } else { if ($test) { #- Warning : the following message is parsed in urpm::parallel_* - message(N("Installation is possible")); + print N("Installation is possible"), "\n"; } elsif (@names || @src_names || @files || @src_files || $auto_select) { if (@{$state->{transaction} || []} == 0 && @ask_unselect == 0) { - message(N("The package(s) are already installed")) if $verbose >= 0; + print N("The package(s) are already installed"), "\n" if $verbose >= 0; if ($verbose >= 0 && !$auto_select) { my @packages = map { $urpm->{depslist}[$_]->name } keys %requested; my @guessed = difference2(\@packages, \(@names, @src_names)); - message(N("The following package names were assumed: %s", join ", ", @guessed)) if @guessed; + print N("The following package names were assumed: %s", join ", ", @guessed), "\n" if @guessed; } $exit_code = 15 if our $expect_install; } @@ -801,7 +805,7 @@ unless ($env || $nolock) { #- restart urpmi if needed, keep command line for that. if ($restart_itself && !$exit_code) { - message(N("restarting urpmi")); + print N("restarting urpmi"), "\n"; #- it seems to work correctly with exec instead of system, provided #- STDOUT or STDERR are not closed before (else no output at all). #- added --no-priority-upgrade to make sure no restart will be done after this one. |