diff options
author | Thierry Vignaud <tv@mandriva.org> | 2007-03-22 23:27:59 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2007-03-22 23:27:59 +0000 |
commit | 4b734e511a10adc654a398304a779d9ede75fd14 (patch) | |
tree | bf0d800098d6069af5b200662c6721300a1a3d30 /Rpmdrake | |
parent | d63f1a4fd652bef657be2afc70f500777023f9a6 (diff) | |
download | rpmdrake-4b734e511a10adc654a398304a779d9ede75fd14.tar rpmdrake-4b734e511a10adc654a398304a779d9ede75fd14.tar.gz rpmdrake-4b734e511a10adc654a398304a779d9ede75fd14.tar.bz2 rpmdrake-4b734e511a10adc654a398304a779d9ede75fd14.tar.xz rpmdrake-4b734e511a10adc654a398304a779d9ede75fd14.zip |
revert r57586:57588, aka do not keep around the rpm db opened, thus making mcc closable again in mcc (#26069)
Diffstat (limited to 'Rpmdrake')
-rw-r--r-- | Rpmdrake/gui.pm | 10 | ||||
-rwxr-xr-x | Rpmdrake/pkg.pm | 13 |
2 files changed, 11 insertions, 12 deletions
diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm index 1ae979dc..daa39bb8 100644 --- a/Rpmdrake/gui.pm +++ b/Rpmdrake/gui.pm @@ -458,7 +458,7 @@ sub closure_removal { sub is_locale_available { any { $urpm->{depslist}[$_]->flag_selected } keys %{$urpm->{provides}{$_[0]} || {}} and return 1; my $found; - $db->traverse_tag('name', [ $_ ], sub { $found ||= 1 }); + open_db()->traverse_tag('name', [ $_ ], sub { $found ||= 1 }); return $found; } @@ -574,7 +574,7 @@ sub toggle_nodes { $widget, sub { @requested = $urpm->resolve_requested( - $db, $urpm->{state}, + open_db(), $urpm->{state}, { map { $pkgs->{$_}{pkg}->id => 1 } @nodes }, callback_choices => \&callback_choices, ); @@ -585,7 +585,7 @@ sub toggle_nodes { N("To satisfy dependencies, the following package(s) also need\nto be installed:\n\n"), \@nodes, \@nodes_with_deps)) { @nodes_with_deps = (); - $urpm->disable_selected($db, $urpm->{state}, @requested); + $urpm->disable_selected(open_db(), $urpm->{state}, @requested); goto packages_selection_ok; } @@ -615,14 +615,14 @@ sub toggle_nodes { } else { my @unrequested; slow_func($widget, - sub { @unrequested = $urpm->disable_selected($db, $urpm->{state}, + sub { @unrequested = $urpm->disable_selected(open_db(), $urpm->{state}, map { $pkgs->{$_}{pkg} } @nodes) }); @nodes_with_deps = map { urpm_name($_) } @unrequested; if (!$deps_msg->(N("Some packages need to be removed"), N("Because of their dependencies, the following package(s) must be\nunselected now:\n\n"), \@nodes, \@nodes_with_deps)) { @nodes_with_deps = (); - $urpm->resolve_requested($db, $urpm->{state}, { map { $_->id => 1 } @unrequested }); + $urpm->resolve_requested(open_db(), $urpm->{state}, { map { $_->id => 1 } @unrequested }); goto packages_unselection_ok; } packages_unselection_ok: diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index 1bdc38b6..dd2dd478 100755 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -44,14 +44,13 @@ use urpm::select; use Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(extract_header find_installed_version formatlistpkg get_pkgs open_db parse_compssUsers_flat perform_installation perform_removal run_rpm $db); +our @EXPORT = qw(extract_header find_installed_version formatlistpkg get_pkgs open_db parse_compssUsers_flat perform_installation perform_removal run_rpm); use mygtk2 qw(gtknew); use ugtk2 qw(:all); use Gtk2::Pango; use Gtk2::Gdk::Keysyms; -our $db; sub parse_compssUsers_flat() { my (%compssUsers, $category); @@ -153,9 +152,9 @@ sub open_db { $done = 1; print "done.\n"; } - $db = URPM::DB::open($dblocation) or die "Couldn't open RPM DB"; + URPM::DB::open($dblocation) or die "Couldn't open RPM DB"; } else { - $db = URPM::DB::open or die "Couldn't open RPM DB"; + URPM::DB::open or die "Couldn't open RPM DB"; } } @@ -163,7 +162,7 @@ sub open_db { sub find_installed_version { my ($p) = @_; my @version; - $db->traverse_tag('name', [ $p->name ], sub { push @version, $_[0]->version . '-' . $_[0]->release }); + open_db()->traverse_tag('name', [ $p->name ], sub { push @version, $_[0]->version . '-' . $_[0]->release }); @version ? join(',', sort @version) : N("(none)"); } @@ -303,7 +302,7 @@ Then, restart %s.", $rpmdrake::myname_update)), myexit(-1); my @base = ("basesystem", split /,\s*/, $urpm->{global_config}{'prohibit-remove'}); my (%base, %basepackages); - my $db = $db; + my $db = open_db(); my $sig_handler = sub { undef $db; exit 3 }; local $SIG{INT} = $sig_handler; local $SIG{QUIT} = $sig_handler; @@ -475,7 +474,7 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( # select packages to install for !update mode: if (!$probe_only_for_updates) { - $urpm->resolve_requested($db, $state, { map { $_->id => undef } grep { $_->flag_selected } @{$urpm->{depslist}} }, callback_choices => \&Rpmdrake::gui::callback_choices); + $urpm->resolve_requested(open_db(), $state, { map { $_->id => undef } grep { $_->flag_selected } @{$urpm->{depslist}} }, callback_choices => \&Rpmdrake::gui::callback_choices); } my ($local_sources, $list) = urpm::get_pkgs::selected2list($urpm, |