From 0df33cd0326eb2d0930de861bc835e012627a1ee Mon Sep 17 00:00:00 2001 From: Megan Marsh Date: Fri, 13 Jul 2018 09:21:04 -0700 Subject: [PATCH] fix relative pathing versus iso checksum dir to work even if user has provided a relative path for the iso_url which is relative to the directory where Packer is run. --- common/iso_config.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/common/iso_config.go b/common/iso_config.go index 2836cbcc9..857c13f57 100644 --- a/common/iso_config.go +++ b/common/iso_config.go @@ -145,7 +145,12 @@ func (c *ISOConfig) parseCheckSumFile(rd *bufio.Reader) error { return err } - relpath, err := filepath.Rel(filepath.Dir(checksumurl.Path), u.Path) + absPath, err := filepath.Abs(u.Path) + if err != nil { + return fmt.Errorf("Unable to generate absolute path from provided iso_url: %s", err) + } + + relpath, err := filepath.Rel(filepath.Dir(checksumurl.Path), absPath) if err != nil { return err } @@ -163,7 +168,7 @@ func (c *ISOConfig) parseCheckSumFile(rd *bufio.Reader) error { if len(parts) < 2 { continue } - options := []string{filename, relpath, "./" + relpath, u.Path} + options := []string{filename, relpath, "./" + relpath, absPath} if strings.ToLower(parts[0]) == c.ISOChecksumType { // BSD-style checksum for _, match := range options {