Merge pull request #1 from Stelminator/paths

fix remaining known local/relative paths
pull/2862/head
rprobotics 8 years ago committed by GitHub
commit e4f86a15df

@ -21,6 +21,7 @@ import (
"fmt" "fmt"
"io" "io"
"os" "os"
"path/filepath"
"github.com/spf13/cobra" "github.com/spf13/cobra"
apierrors "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors"
@ -299,7 +300,7 @@ func ensureDefaultRepos(home helmpath.Home, out io.Writer, skipRefresh bool) err
if err != nil { if err != nil {
return err return err
} }
lr, err := initLocalRepo(home.LocalRepository(localRepositoryIndexFile), home.CacheIndex("local"), out) lr, err := initLocalRepo(home.LocalRepository(localRepositoryIndexFile), home.CacheIndex("local"), out, home)
if err != nil { if err != nil {
return err return err
} }
@ -330,16 +331,14 @@ func initStableRepo(cacheFile string, out io.Writer, skipRefresh bool, home helm
return &c, nil return &c, nil
} }
// In this case, the cacheFile is always absolute. So passing empty string if err := r.DownloadIndexFile(home.Cache()); err != nil {
// is safe.
if err := r.DownloadIndexFile(home.String()); err != nil {
return nil, fmt.Errorf("Looks like %q is not a valid chart repository or cannot be reached: %s", stableRepositoryURL, err.Error()) return nil, fmt.Errorf("Looks like %q is not a valid chart repository or cannot be reached: %s", stableRepositoryURL, err.Error())
} }
return &c, nil return &c, nil
} }
func initLocalRepo(indexFile, cacheFile string, out io.Writer) (*repo.Entry, error) { func initLocalRepo(indexFile, cacheFile string, out io.Writer, home helmpath.Home) (*repo.Entry, error) {
if fi, err := os.Stat(indexFile); err != nil { if fi, err := os.Stat(indexFile); err != nil {
fmt.Fprintf(out, "Adding %s repo with URL: %s \n", localRepository, localRepositoryURL) fmt.Fprintf(out, "Adding %s repo with URL: %s \n", localRepository, localRepositoryURL)
i := repo.NewIndexFile() i := repo.NewIndexFile()
@ -348,7 +347,12 @@ func initLocalRepo(indexFile, cacheFile string, out io.Writer) (*repo.Entry, err
} }
//TODO: take this out and replace with helm update functionality //TODO: take this out and replace with helm update functionality
os.Symlink(indexFile, cacheFile) fp, err := filepath.Rel(cacheFile, indexFile)
if err != nil {
return nil, err
}
pth := home.Path(fp)
os.Symlink(pth, cacheFile)
} else if fi.IsDir() { } else if fi.IsDir() {
return nil, fmt.Errorf("%s must be a file, not a directory", indexFile) return nil, fmt.Errorf("%s must be a file, not a directory", indexFile)
} }

Loading…
Cancel
Save