common: allow files that don't exist to be URLs [GH-683]
This commit is contained in:
parent
2dad0cdca7
commit
a380391b0e
|
@ -11,6 +11,7 @@ BUG FIXES:
|
||||||
|
|
||||||
* core: Don't change background color on CLI anymore, making things look
|
* core: Don't change background color on CLI anymore, making things look
|
||||||
a tad nicer in some terminals.
|
a tad nicer in some terminals.
|
||||||
|
* core: multiple ISO URLs works properly in all builders. [GH-683]
|
||||||
* builder/amazon/chroot: Block when obtaining file lock to allow
|
* builder/amazon/chroot: Block when obtaining file lock to allow
|
||||||
parallel builds. [GH-689]
|
parallel builds. [GH-689]
|
||||||
* builder/vmware: Cleanup of VMX keys works properly so cd-rom won't
|
* builder/vmware: Cleanup of VMX keys works properly so cd-rom won't
|
||||||
|
|
|
@ -105,21 +105,21 @@ func DownloadableURL(original string) (string, error) {
|
||||||
url.Path = strings.Replace(url.Path, `\`, `/`, -1)
|
url.Path = strings.Replace(url.Path, `\`, `/`, -1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := os.Stat(url.Path); err != nil {
|
// Only do the filepath transformations if the file appears
|
||||||
return "", err
|
// to actually exist.
|
||||||
}
|
if _, err := os.Stat(url.Path); err == nil {
|
||||||
|
url.Path, err = filepath.Abs(url.Path)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
url.Path, err = filepath.Abs(url.Path)
|
url.Path, err = filepath.EvalSymlinks(url.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
url.Path, err = filepath.EvalSymlinks(url.Path)
|
url.Path = filepath.Clean(url.Path)
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
url.Path = filepath.Clean(url.Path)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure it is lowercased
|
// Make sure it is lowercased
|
||||||
|
|
Loading…
Reference in New Issue