[openwrt/openwrt] scripts/download.pl: read file natively
LEDE Commits
lede-commits at lists.infradead.org
Sun Oct 27 06:24:52 PDT 2024
ansuel pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/65560de58de7a3cde8f960849e3c7c640b9456d8
commit 65560de58de7a3cde8f960849e3c7c640b9456d8
Author: Matteo Croce <teknoraver at meta.com>
AuthorDate: Sun Sep 29 01:01:01 2024 +0200
scripts/download.pl: read file natively
Read files natively instead of execing /bin/cat.
Signed-off-by: Matteo Croce <teknoraver at meta.com>
Link: https://github.com/openwrt/openwrt/pull/16784
Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
scripts/download.pl | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/scripts/download.pl b/scripts/download.pl
index c6c9b8e56c..9966f9f1e6 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -32,6 +32,12 @@ my $download_tool;
$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 {
my @mlist;
open LM, "$scriptdir/localmirrors" and do {
@@ -203,7 +209,7 @@ sub download
copy($link, "$target/$filename.dl");
$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");
return;
}
@@ -233,7 +239,7 @@ sub download
}
$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 = $1;
@@ -299,11 +305,11 @@ projectsmirrors '@OPENWRT';
if (-f "$target/$filename") {
$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";
}
- my $sum = `cat "$target/$filename.hash"`;
+ my $sum = cat("$target/$filename.hash");
$sum =~ /^(\w+)\s*/ or die "Could not generate file hash\n";
$sum = $1;
More information about the lede-commits
mailing list