diff options
-rwxr-xr-x | rpmdrake | 13 | ||||
-rw-r--r-- | rpmdrake.pm | 10 | ||||
-rw-r--r-- | rpmdrake.spec | 4 |
3 files changed, 18 insertions, 9 deletions
@@ -557,7 +557,7 @@ or you already installed all of them.")); my @reasons = map { my $cant = $_; my $unsel = find { remove_arch($_) eq $cant } @ask_unselect; - $unsel ? $urpm->translate_why_unselected($urpm->{state}, $unsel) : $cant; + $unsel ? to_utf8($urpm->translate_why_unselected($urpm->{state}, $unsel)) : $cant; } @cant; interactive_msg_(N("Some packages can't be installed"), N("Sorry, the following package(s) can't be selected:\n\n%s", join("\n", @reasons))); @@ -819,7 +819,7 @@ N("The following packages have to be removed for others to be upgraded: %s -Is it ok to continue?", $urpm->translate_why_removed($urpm->{state}, @{$urpm->{ask_remove}})), yesno => 1) or return); +Is it ok to continue?", to_utf8($urpm->translate_why_removed($urpm->{state}, @{$urpm->{ask_remove}}))), yesno => 1) or return); } if (!$callback_action->($urpm, $pkgs)) { ($urpm, $pkgs, $descriptions) = $pkgs_provider->({ skip_updating_mu => 1 }); @@ -1111,11 +1111,10 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( gurpm::label(N("Verifying packages signatures...")); my $total = @rpms_install + @rpms_upgrade; my $progress; - my @invalid_sources; - foreach (@rpms_install, @rpms_upgrade) { - URPM::verify_rpm($_) =~ /NOT OK/ and push @invalid_sources, basename($_); - gurpm::progress(++$progress/$total); - } + my @invalid_sources = to_utf8($urpm->check_sources_signatures(\%sources_install, \%sources, translate => 1, basename => 1, + callback => sub { + gurpm::progress(++$progress/$total); + })); if (@invalid_sources) { interactive_msg_('rpmdrake', N("The following packages have bad signatures:\n\n%s\n\nDo you want to continue installation?", diff --git a/rpmdrake.pm b/rpmdrake.pm index 7888cac8..3c7c81e3 100644 --- a/rpmdrake.pm +++ b/rpmdrake.pm @@ -38,7 +38,7 @@ use curl_download; @ISA = qw(Exporter); @EXPORT = qw($configfile %config $mandrakeupdate_wanted_categories $already_splashed $max_info_in_descr $typical_width - N translate myexit readconf writeconf interactive_msg interactive_packtable interactive_list fatal_msg + N translate to_utf8 myexit readconf writeconf interactive_msg interactive_packtable interactive_list fatal_msg wait_msg remove_wait_msg but but_ slow_func mirrors choose_mirror make_url_mirror show_urpm_progress update_sources update_sources_interactive add_medium_and_check); @@ -71,6 +71,14 @@ sub N { my $s = shift @_; my $t = translate($s); sprintf_fixutf8 $t, @_; } +sub to_utf8 { + foreach (@_) { + $_ = Locale::gettext::iconv($_, undef, "UTF-8"); + c::set_tagged_utf8($_); + } + @_; +} + sub myexit { ugtk2::exit(undef, @_) } $ENV{HOME} ||= '/root'; diff --git a/rpmdrake.spec b/rpmdrake.spec index f43b8353..a0f368ab 100644 --- a/rpmdrake.spec +++ b/rpmdrake.spec @@ -16,7 +16,7 @@ Release: %{release} License: GPL Source0: %name-%version.tar.bz2 Summary: Mandrake Linux graphical front end for choosing packages for installion/removal -Requires: perl-MDK-Common >= 1.0.4-13mdk urpmi >= 4.3-15mdk gurpmi >= 4.3-9mdk perl-URPM >= 0.90-7mdk drakxtools > 9.2-5mdk rpmtools >= 4.5 +Requires: perl-MDK-Common >= 1.0.4-13mdk urpmi > 4.4-31mdk gurpmi >= 4.3-9mdk perl-URPM >= 0.90-7mdk drakxtools > 9.2-5mdk rpmtools >= 4.5 Requires: perl-Gtk2 >= 0.90-6mdk perl-Locale-gettext >= 1.01-7mdk BuildRequires: curl-devel >= 7.10.3-2mdk gettext openssl-devel perl-devel BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot @@ -103,6 +103,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Fri Sep 5 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 2.1-36mdk - fix garbled UTF8 in "summary" and "description" of pkgs when i18n'ed +- use new urpmi API to verify signatures, so that we don't miss + signatures problems when key of package is not in urpmi allowed pool * Thu Sep 4 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 2.1-35mdk - fix invalid-build-requires libcurl2-devel |