func getStage1HashFromPath(fn *image.Finder, imgLoc, imgFileName string) (*types.Hash, error) { var fetchErr error var fallbackErr error if imgLoc != "" { hash, err := fn.FindImage(imgLoc, "", apps.AppImagePath) if err == nil { return hash, nil } fetchErr = err } if imgFileName != "" { exePath, err := os.Readlink("/proc/self/exe") if err != nil { fallbackErr = err } else { // using stage1 image in rkt's path, don't check the signature fn.Ks = nil rktDir := filepath.Dir(exePath) imgPath := filepath.Join(rktDir, imgFileName) hash, err := fn.FindImage(imgPath, "", apps.AppImagePath) if err == nil { return hash, nil } fallbackErr = err } } return nil, mergeStage1Errors(fetchErr, fallbackErr) }