aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-05-08 04:59:11 +0000
committerThierry Vignaud <tv@mandriva.org>2008-05-08 04:59:11 +0000
commit28158fb042056fb2d41f1b917176c92f5b3cafd2 (patch)
treec4090e460ab09aacc04a73c0dcc55c9348ca03b0
parentde35e8c4db092116edc1e9815c43a7a697d56405 (diff)
downloadrpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar
rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar.gz
rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar.bz2
rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar.xz
rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.zip
- handle gracefully locked RPM DB when trying to install some packages
(#40244)
-rw-r--r--NEWS2
-rw-r--r--Rpmdrake/pkg.pm7
2 files changed, 8 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9df424b0..2fde6b71 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+- handle gracefully locked RPM DB when trying to install some packages
+ (#40244)
- rpmdrake:
o fix a crash when default view is unknown (#40025)
o fix searching when numeric pad's return key is pressed
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index 883113f0..06c88e55 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -374,7 +374,12 @@ sub get_pkgs {
$gurpm->label(N("Please wait, listing base packages..."));
$gurpm->progress($level);
- my $db = open_rpm_db();
+ my $db = eval { open_rpm_db() };
+ if (my $err = $@) {
+ interactive_msg(N("Error"), N("A fatal error occurred: %s.", $err));
+ return;
+ }
+
my $sig_handler = sub { undef $db; exit 3 };
local $SIG{INT} = $sig_handler;
local $SIG{QUIT} = $sig_handler;