mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-02-16 11:56:56 +00:00
scripts/download.pl: read file natively
Read files natively instead of execing /bin/cat. Signed-off-by: Matteo Croce <teknoraver@meta.com> Link: https://github.com/openwrt/openwrt/pull/16784 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
parent
5fdd18243e
commit
65560de58d
@ -32,6 +32,12 @@ my $download_tool;
|
|||||||
|
|
||||||
$url_filename or $url_filename = $filename;
|
$url_filename or $url_filename = $filename;
|
||||||
|
|
||||||
|
sub cat {
|
||||||
|
open my $fh, '<', $1 or die "Can't open file $!";
|
||||||
|
read $fh, my $file_content, -s $fh;
|
||||||
|
return $file_content;
|
||||||
|
}
|
||||||
|
|
||||||
sub localmirrors {
|
sub localmirrors {
|
||||||
my @mlist;
|
my @mlist;
|
||||||
open LM, "$scriptdir/localmirrors" and do {
|
open LM, "$scriptdir/localmirrors" and do {
|
||||||
@ -203,7 +209,7 @@ sub download
|
|||||||
copy($link, "$target/$filename.dl");
|
copy($link, "$target/$filename.dl");
|
||||||
|
|
||||||
$hash_cmd and do {
|
$hash_cmd and do {
|
||||||
if (system("cat '$target/$filename.dl' | $hash_cmd > '$target/$filename.hash'")) {
|
if (system("$hash_cmd '$target/$filename.dl' > '$target/$filename.hash'")) {
|
||||||
print("Failed to generate hash for $filename\n");
|
print("Failed to generate hash for $filename\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -233,7 +239,7 @@ sub download
|
|||||||
}
|
}
|
||||||
|
|
||||||
$hash_cmd and do {
|
$hash_cmd and do {
|
||||||
my $sum = `cat "$target/$filename.hash"`;
|
my $sum = cat("$target/$filename.hash");
|
||||||
$sum =~ /^(\w+)\s*/ or die "Could not generate file hash\n";
|
$sum =~ /^(\w+)\s*/ or die "Could not generate file hash\n";
|
||||||
$sum = $1;
|
$sum = $1;
|
||||||
|
|
||||||
@ -299,11 +305,11 @@ projectsmirrors '@OPENWRT';
|
|||||||
|
|
||||||
if (-f "$target/$filename") {
|
if (-f "$target/$filename") {
|
||||||
$hash_cmd and do {
|
$hash_cmd and do {
|
||||||
if (system("cat '$target/$filename' | $hash_cmd > '$target/$filename.hash'")) {
|
if (system("$hash_cmd '$target/$filename' > '$target/$filename.hash'")) {
|
||||||
die "Failed to generate hash for $filename\n";
|
die "Failed to generate hash for $filename\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $sum = `cat "$target/$filename.hash"`;
|
my $sum = cat("$target/$filename.hash");
|
||||||
$sum =~ /^(\w+)\s*/ or die "Could not generate file hash\n";
|
$sum =~ /^(\w+)\s*/ or die "Could not generate file hash\n";
|
||||||
$sum = $1;
|
$sum = $1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user