From cec4f47c32cc22e07829250c7086a3b4c4a839b7 Mon Sep 17 00:00:00 2001 From: Ruben Koster Date: Mon, 19 Feb 2018 16:26:57 +0100 Subject: [PATCH 1/2] Append release dir to local blobstore path when path is relative --- releasedir/provider.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releasedir/provider.go b/releasedir/provider.go index 298699ee5..4ed137bba 100644 --- a/releasedir/provider.go +++ b/releasedir/provider.go @@ -2,6 +2,7 @@ package releasedir import ( "path/filepath" + "strings" "code.cloudfoundry.org/clock" boshblob "github.com/cloudfoundry/bosh-utils/blobstore" @@ -112,6 +113,10 @@ func (p Provider) newBlobstore(dirPath string) boshblob.DigestBlobstore { switch provider { case "local": + blobstorePath, found := options["blobstore_path"].(string) + if found && !strings.HasPrefix(blobstorePath, "/") { + options["blobstore_path"] = filepath.Join(dirPath, blobstorePath) + } blobstore = boshblob.NewLocalBlobstore(p.fs, p.uuidGen, options) case "s3": blobstore = NewS3Blobstore(p.fs, p.uuidGen, options) From 6cd2210f847f24f3936a74273512481c717e26d8 Mon Sep 17 00:00:00 2001 From: Ruben Koster Date: Mon, 23 Apr 2018 09:33:07 +0200 Subject: [PATCH 2/2] Use IsAbs to check for absolute path in cross platform way --- releasedir/provider.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/releasedir/provider.go b/releasedir/provider.go index 4ed137bba..0e03d5782 100644 --- a/releasedir/provider.go +++ b/releasedir/provider.go @@ -2,7 +2,6 @@ package releasedir import ( "path/filepath" - "strings" "code.cloudfoundry.org/clock" boshblob "github.com/cloudfoundry/bosh-utils/blobstore" @@ -114,7 +113,7 @@ func (p Provider) newBlobstore(dirPath string) boshblob.DigestBlobstore { switch provider { case "local": blobstorePath, found := options["blobstore_path"].(string) - if found && !strings.HasPrefix(blobstorePath, "/") { + if found && !filepath.IsAbs(blobstorePath) { options["blobstore_path"] = filepath.Join(dirPath, blobstorePath) } blobstore = boshblob.NewLocalBlobstore(p.fs, p.uuidGen, options)