|
|
|
@ -490,6 +490,18 @@ sub op_fetch {
|
|
|
|
|
$name =~ s|^.+/([^/]+)$|$1|; |
|
|
|
|
my $srcdir = `$CFG->{PRG}->{"rpm"} --define 'name $name' --eval '%_sourcedir'`; |
|
|
|
|
$srcdir =~ s|\n+$||s; |
|
|
|
|
my $specdir = `$CFG->{PRG}->{"rpm"} --define 'name $name' --eval '%_specdir'`; |
|
|
|
|
$specdir =~ s|\n+$||s; |
|
|
|
|
|
|
|
|
|
# make sure source and spec directory actually exists |
|
|
|
|
if (not -d $srcdir) { |
|
|
|
|
print(STDERR "rpm: Creating directory $srcdir\n"); |
|
|
|
|
system("mkdir $srcdir"); |
|
|
|
|
} |
|
|
|
|
if (not -d $specdir) { |
|
|
|
|
print(STDERR "rpm: Creating directory $specdir\n"); |
|
|
|
|
system("mkdir $specdir"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# parse spec file |
|
|
|
|
my $DEF = {}; |
|
|
|
@ -511,8 +523,14 @@ sub op_fetch {
|
|
|
|
|
my $file = $srcfile; |
|
|
|
|
$file = substr($file, 0, 40) if (length($file) > 40); |
|
|
|
|
printf(STDERR "%-9s %-40s ", "$srcid:", $file); |
|
|
|
|
if (-f "$srcdir/$srcfile") { |
|
|
|
|
my $size = (stat("$srcdir/$srcfile"))[7]; |
|
|
|
|
if (-f "$srcdir/$srcfile" or -f "$specdir/$srcfile") { |
|
|
|
|
my $size; |
|
|
|
|
if (-f "$srcdir/$srcfile") { |
|
|
|
|
$size = (stat("$srcdir/$srcfile"))[7]; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
$size = (stat("$specdir/$srcfile"))[7]; |
|
|
|
|
} |
|
|
|
|
if ($size > 1024*1024) { |
|
|
|
|
$size = sprintf("%.1fMB", $size / (1024*1024)); |
|
|
|
|
} |
|
|
|
@ -529,9 +547,11 @@ sub op_fetch {
|
|
|
|
|
print STDERR "rpm: Fetching $srcurl\n"; |
|
|
|
|
my $cmd = $CFG->{PRG}->{"curl"}. |
|
|
|
|
" --location" . |
|
|
|
|
" --progress-bar" . |
|
|
|
|
" --output $srcdir/$srcfile" . |
|
|
|
|
" $srcurl"; |
|
|
|
|
my $rc = system($cmd); |
|
|
|
|
print STDOUT "\n"; |
|
|
|
|
if ($rc != 0) { |
|
|
|
|
print STDERR "rpm: Failed to fetch source file `$srcfile'\n"; |
|
|
|
|
return 1; |
|
|
|
|