/[soft]/mgaonline/branches/1/mgaapplet_urpm.pm
ViewVC logotype

Contents of /mgaonline/branches/1/mgaapplet_urpm.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1640 - (show annotations) (download)
Thu Jun 2 20:46:37 2011 UTC (12 years, 9 months ago) by dmorgan
File size: 1357 byte(s)
Branch for updates
1 package mgaapplet_urpm;
2
3 # taken from urpmi:
4
5 use MDK::Common;
6 use urpm::download;
7
8 sub userdir_prefix {
9 my ($_urpm) = @_;
10 '/tmp/.urpmi-';
11 }
12 sub userdir {
13 my ($urpm) = @_;
14 $< or return;
15
16 my $dir = ($urpm->{urpmi_root} || '') . userdir_prefix($urpm) . $<;
17 mkdir $dir, 0755; # try to create it
18
19 -d $dir && ! -l $dir or $urpm->{fatal}(1, sprintf("fail to create directory %s", $dir));
20 -o $dir && -w $dir or $urpm->{fatal}(1, sprintf("invalid owner for directory %s", $dir));
21
22 mkdir "$dir/partial";
23 mkdir "$dir/rpms";
24
25 $dir;
26 }
27 sub ensure_valid_cachedir {
28 my ($urpm) = @_;
29 if (my $dir = userdir($urpm)) {
30 $urpm->{cachedir} = $dir;
31 }
32 -w "$urpm->{cachedir}/partial" or $urpm->{fatal}(1, "Can not download packages into %s", "$urpm->{cachedir}/partial");
33 }
34 sub valid_cachedir {
35 my ($urpm) = @_;
36 userdir($urpm) || $urpm->{cachedir};
37 }
38
39 sub get_content {
40 my ($urpm, $url) = @_;
41
42 my $download_dir = valid_cachedir($urpm) . '/partial/';
43 my $file = $download_dir . basename($url);
44
45 unlink $file; # prevent "partial file" errors
46 eval { urpm::download::sync($urpm, undef, [ $url ], quiet => 1, dir => $download_dir) };
47 #sync_url($urpm, $url, dir => $download_dir, quiet => 1) or return;
48
49 my @l = cat_($file);
50 unlink $file;
51
52 wantarray() ? @l : join('', @l);
53 }
54
55 1;

  ViewVC Help
Powered by ViewVC 1.1.30