You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
commit 26a8abc746fba9c0b32eb899b96c92841a37855a |
|
Author: Michal Domonkos <mdomonko@redhat.com> |
|
Date: Thu Mar 26 17:00:46 2020 +0100 |
|
|
|
spectool: ignore query string in URL. BZ 1337544 |
|
|
|
When constructing the target filename from the given Source or Patch URL |
|
(sub retrieve), do not include the query string (if present). |
|
|
|
Example: |
|
* Before: http://some.url/foo.tgz?arg=123 => ./foo.tgz?arg=123 |
|
* After: http://some.url/foo.tgz?arg=123 => ./foo.tgz |
|
|
|
Regex explanation: |
|
* 1st group: ([^\/]+?) |
|
* Lazily matches one or more characters that are not a forward slash |
|
* 2nd group: (?:\?.*)?$ |
|
* Matches a query string (if any) starting with a question mark, |
|
followed by zero or more characters until the end of string, |
|
without creating a capturing group (the leading ?:) |
|
|
|
diff --git a/spectool.in b/spectool.in |
|
index 6f7499c..0ebf401 100644 |
|
--- a/spectool.in |
|
+++ b/spectool.in |
|
@@ -198,7 +198,7 @@ sub retrievable { |
|
sub retrieve { |
|
my ($where, $url) = @_; |
|
if (retrievable ($url)) { |
|
- my $path = File::Spec->catfile($where, $url =~ m|([^/]+)$|); |
|
+ my $path = File::Spec->catfile($where, $url =~ m|([^\/]+?)(?:\?.*)?$|); |
|
print "Getting $url to $path\n"; |
|
if (-e $path) { |
|
if ($force) {
|
|
|