diff options
author | Thierry Vignaud <tv@mandriva.org> | 2007-09-11 15:13:52 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2007-09-11 15:13:52 +0000 |
commit | 6fba00b7fd656cbcfb28fde414ec73c1d532ca9a (patch) | |
tree | 8f444e9b7fe428f3caa77b3efe2ba611a8cdbc0e /Rpmdrake/pkg.pm | |
parent | 7318144585dce9df6bbce4e7d87ccf4ca4d26654 (diff) | |
download | rpmdrake-6fba00b7fd656cbcfb28fde414ec73c1d532ca9a.tar rpmdrake-6fba00b7fd656cbcfb28fde414ec73c1d532ca9a.tar.gz rpmdrake-6fba00b7fd656cbcfb28fde414ec73c1d532ca9a.tar.bz2 rpmdrake-6fba00b7fd656cbcfb28fde414ec73c1d532ca9a.tar.xz rpmdrake-6fba00b7fd656cbcfb28fde414ec73c1d532ca9a.zip |
(open_rpm_db,open_urpmi_db) split them from Rpmdrake::pkg into
Rpmdrake::open_db (needed for next commits in order not to increase
edit-urpm-sources startup time)
Diffstat (limited to 'Rpmdrake/pkg.pm')
-rw-r--r-- | Rpmdrake/pkg.pm | 56 |
1 files changed, 2 insertions, 54 deletions
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index bb20caa5..cdfc5abc 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -30,6 +30,7 @@ use common; use POSIX qw(_exit); use URPM; use utf8; +use Rpmdrake::open_db; use Rpmdrake::gurpm; use Rpmdrake::formatting; use Rpmdrake::rpmnew; @@ -47,7 +48,7 @@ use urpm::args qw(); use Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(extract_header find_installed_version formatlistpkg get_pkgs open_rpm_db parse_compssUsers_flat perform_installation perform_removal run_rpm); +our @EXPORT = qw(extract_header find_installed_version formatlistpkg get_pkgs parse_compssUsers_flat perform_installation perform_removal run_rpm); use mygtk2 qw(gtknew); use ugtk2 qw(:all); @@ -138,29 +139,6 @@ sub extract_header { } } -# because rpm blocks some signals when rpm DB is opened, we don't keep open around: -sub open_rpm_db { - my ($o_force) = @_; - my $host; - log::explanations("opening the RPM database"); - if ($::rpmdrake_options{parallel} && ((undef, $host) = @{$::rpmdrake_options{parallel}})) { - my $done if 0; - my $dblocation = "/var/cache/urpmi/distantdb/$host"; - if (!$done || $o_force) { - print "syncing db from $host to $dblocation..."; - mkdir_p "$dblocation/var/lib/rpm"; - system "rsync -Sauz -e ssh $host:/var/lib/rpm/ $dblocation/var/lib/rpm"; - $? == 0 or die "Couldn't sync db from $host to $dblocation"; - $done = 1; - print "done.\n"; - } - URPM::DB::open($dblocation) or die "Couldn't open RPM DB"; - } else { - URPM::DB::open($::rpmdrake_options{'rpm-root'}[0]) or die "Couldn't open RPM DB ($::rpmdrake_options{'rpm-root'}[0])"; - } -} - - sub find_installed_version { my ($p) = @_; my @version; @@ -230,36 +208,6 @@ Then, restart %s.", $rpmdrake::myname_update)), myexit(-1); } - -sub open_urpmi_db() { - my $error_happened; - my $urpm = urpm->new; - $urpm->{options}{'split-level'} ||= 20; - $urpm->{options}{'split-length'} ||= 1; - $urpm->{options}{'verify-rpm'} = !$::rpmdrake_options{'no-verify-rpm'} if defined $::rpmdrake_options{'no-verify-rpm'}; - $urpm->{options}{auto} = $::rpmdrake_options{auto} if defined $::rpmdrake_options{auto}; - urpm::set_files($urpm, $::rpmdrake_options{'urpmi-root'}[0]) if $::rpmdrake_options{'urpmi-root'}[0]; - urpm::args::set_root($urpm, $::rpmdrake_options{'rpm-root'}[0]) if $::rpmdrake_options{'rpm-root'}[0]; - - $urpm::args::rpmdrake_options{justdb} = $::rpmdrake_options{justdb}; - - $urpm->{fatal} = sub { - $error_happened = 1; - interactive_msg(N("Fatal error"), - N("A fatal error occurred: %s.", $_[1])); - }; - my $media = ref $::rpmdrake_options{media} ? join(',', @{$::rpmdrake_options{media}}) : ''; - urpm::media::read_config($urpm); - - my $searchmedia = join(',', map { $_->{name} } grep { $_->{ignore} && $_->{name} =~ /backport/i } @{$urpm->{media}}); - urpm::media::configure($urpm, media => $media, if_($searchmedia, searchmedia => $searchmedia)); - if ($error_happened) { - touch('/etc/urpmi/urpmi.cfg'); - exec('edit-urpm-sources.pl'); - } - $urpm; -} - sub get_parallel_group() { $::rpmdrake_options{parallel} ? $::rpmdrake_options{parallel}[0] : undef; } |