aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2003-09-05 11:04:33 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2003-09-05 11:04:33 +0000
commitd7e4d767d63e639b05803ece1c2e2316ed8f2b03 (patch)
tree51c7df607e076f6d46488cc416a2805c924f0947
parentddaaa32238efe6320695b8e7b41b6b29e1f85026 (diff)
downloadrpmdrake-d7e4d767d63e639b05803ece1c2e2316ed8f2b03.tar
rpmdrake-d7e4d767d63e639b05803ece1c2e2316ed8f2b03.tar.gz
rpmdrake-d7e4d767d63e639b05803ece1c2e2316ed8f2b03.tar.bz2
rpmdrake-d7e4d767d63e639b05803ece1c2e2316ed8f2b03.tar.xz
rpmdrake-d7e4d767d63e639b05803ece1c2e2316ed8f2b03.zip
- 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 - convert to utf8 when asking translations to urpmi
-rwxr-xr-xrpmdrake13
-rw-r--r--rpmdrake.pm10
-rw-r--r--rpmdrake.spec4
3 files changed, 18 insertions, 9 deletions
diff --git a/rpmdrake b/rpmdrake
index f6141622..49bfa2be 100755
--- a/rpmdrake
+++ b/rpmdrake
@@ -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