diff --git a/cmd/cleanup.go b/cmd/cleanup.go
index 0a11d7ee..f9ea1fbe 100644
--- a/cmd/cleanup.go
+++ b/cmd/cleanup.go
@@ -22,7 +22,7 @@ import (
. "github.com/mudler/luet/pkg/config"
config "github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/logger"
"github.com/spf13/cobra"
@@ -47,7 +47,7 @@ var cleanupCmd = &cobra.Command{
LuetCfg.System.DatabasePath = dbpath
LuetCfg.System.Rootfs = rootfs
// Check if cache dir exists
- if helpers.Exists(LuetCfg.GetSystem().GetSystemPkgsCacheDirPath()) {
+ if fileHelper.Exists(LuetCfg.GetSystem().GetSystemPkgsCacheDirPath()) {
files, err := ioutil.ReadDir(LuetCfg.GetSystem().GetSystemPkgsCacheDirPath())
if err != nil {
diff --git a/cmd/root.go b/cmd/root.go
index 016dcaea..79d85f3b 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -25,6 +25,7 @@ import (
"github.com/marcsauter/single"
bus "github.com/mudler/luet/pkg/bus"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
extensions "github.com/mudler/cobra-extensions"
config "github.com/mudler/luet/pkg/config"
@@ -252,7 +253,7 @@ func initConfig() {
}
homeDir := helpers.GetHomeDir()
- if helpers.Exists(filepath.Join(pwdDir, ".luet.yaml")) || (homeDir != "" && helpers.Exists(filepath.Join(homeDir, ".luet.yaml"))) {
+ if fileHelper.Exists(filepath.Join(pwdDir, ".luet.yaml")) || (homeDir != "" && fileHelper.Exists(filepath.Join(homeDir, ".luet.yaml"))) {
viper.AddConfigPath(".")
if homeDir != "" {
viper.AddConfigPath(homeDir)
diff --git a/cmd/util/unpack.go b/cmd/util/unpack.go
index 5addc31f..0293483b 100644
--- a/cmd/util/unpack.go
+++ b/cmd/util/unpack.go
@@ -23,7 +23,7 @@ import (
"github.com/docker/docker/api/types"
"github.com/docker/go-units"
"github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
+ "github.com/mudler/luet/pkg/helpers/docker"
. "github.com/mudler/luet/pkg/logger"
"github.com/spf13/cobra"
@@ -77,7 +77,7 @@ func NewUnpackCommand() *cobra.Command {
RegistryToken: registryToken,
}
- info, err := helpers.DownloadAndExtractDockerImage(temp, image, destination, auth, verify)
+ info, err := docker.DownloadAndExtractDockerImage(temp, image, destination, auth, verify)
if err != nil {
Error(err.Error())
os.Exit(1)
diff --git a/pkg/box/exec.go b/pkg/box/exec.go
index 39ad183f..ac96694c 100644
--- a/pkg/box/exec.go
+++ b/pkg/box/exec.go
@@ -23,9 +23,9 @@ import (
"strings"
"syscall"
- "github.com/pkg/errors"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
- helpers "github.com/mudler/luet/pkg/helpers"
+ "github.com/pkg/errors"
)
type Box interface {
@@ -107,7 +107,7 @@ func (b *DefaultBox) Exec() error {
func (b *DefaultBox) Run() error {
- if !helpers.Exists(b.Root) {
+ if !fileHelper.Exists(b.Root) {
return errors.New(b.Root + " does not exist")
}
diff --git a/pkg/bus/events.go b/pkg/bus/events.go
index 868a7556..5c8f2d81 100644
--- a/pkg/bus/events.go
+++ b/pkg/bus/events.go
@@ -1,9 +1,8 @@
package bus
import (
- . "github.com/mudler/luet/pkg/logger"
-
"github.com/mudler/go-pluggable"
+ "github.com/sirupsen/logrus"
)
var (
@@ -46,6 +45,13 @@ var (
EventRepositoryPreBuild pluggable.EventType = "repository.pre.build"
// EventRepositoryPostBuild is the event fired after a repository was built
EventRepositoryPostBuild pluggable.EventType = "repository.post.build"
+
+ // Image unpack
+
+ // EventImagePreUnPack is the event fired before unpacking an image to a local dir
+ EventImagePreUnPack pluggable.EventType = "image.pre.unpack"
+ // EventImagePostUnPack is the event fired after unpacking an image to a local dir
+ EventImagePostUnPack pluggable.EventType = "image.post.unpack"
)
// Manager is the bus instance manager, which subscribes plugins to events emitted by Luet
@@ -66,6 +72,8 @@ var Manager *Bus = &Bus{
EventImagePostBuild,
EventImagePostPull,
EventImagePostPush,
+ EventImagePreUnPack,
+ EventImagePostUnPack,
},
),
}
@@ -80,9 +88,9 @@ func (b *Bus) Initialize(plugin ...string) {
for _, e := range b.Manager.Events {
b.Manager.Response(e, func(p *pluggable.Plugin, r *pluggable.EventResponse) {
if r.Errored() {
- Fatal("Plugin", p.Name, "at", p.Executable, "Error", r.Error)
+ logrus.Fatal("Plugin", p.Name, "at", p.Executable, "Error", r.Error)
}
- Debug(
+ logrus.Debug(
"plugin_event",
"received from",
p.Name,
diff --git a/pkg/compiler/backend/simpledocker.go b/pkg/compiler/backend/simpledocker.go
index e5c292dd..193ceaf1 100644
--- a/pkg/compiler/backend/simpledocker.go
+++ b/pkg/compiler/backend/simpledocker.go
@@ -24,6 +24,7 @@ import (
"strings"
bus "github.com/mudler/luet/pkg/bus"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
capi "github.com/mudler/docker-companion/api"
@@ -237,7 +238,7 @@ func (b *SimpleDocker) ExtractRootfs(opts Options, keepPerms bool) error {
return errors.Wrap(err, "Error met while unpacking rootfs")
}
- manifest, err := helpers.Read(filepath.Join(rootfs, "manifest.json"))
+ manifest, err := fileHelper.Read(filepath.Join(rootfs, "manifest.json"))
if err != nil {
return errors.Wrap(err, "Error met while reading image manifest")
}
diff --git a/pkg/compiler/backend/simpledocker_test.go b/pkg/compiler/backend/simpledocker_test.go
index f7369427..ff9ececb 100644
--- a/pkg/compiler/backend/simpledocker_test.go
+++ b/pkg/compiler/backend/simpledocker_test.go
@@ -21,12 +21,12 @@ import (
"github.com/mudler/luet/pkg/compiler/backend"
. "github.com/mudler/luet/pkg/compiler/backend"
"github.com/mudler/luet/pkg/compiler/types/artifact"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
"io/ioutil"
"os"
"path/filepath"
- helpers "github.com/mudler/luet/pkg/helpers"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/tree"
. "github.com/onsi/ginkgo"
@@ -60,7 +60,7 @@ var _ = Describe("Docker backend", func() {
err = lspec.WriteBuildImageDefinition(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err := helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err := fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM alpine
@@ -79,11 +79,11 @@ ENV PACKAGE_CATEGORY=app-admin`))
Expect(b.BuildImage(opts)).ToNot(HaveOccurred())
Expect(b.ExportImage(opts)).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(tmpdir2, "output1.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(tmpdir2, "output1.tar"))).To(BeTrue())
err = lspec.WriteStepImageDefinition(lspec.Image, filepath.Join(tmpdir, "LuetDockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err = helpers.Read(filepath.Join(tmpdir, "LuetDockerfile"))
+ dockerfile, err = fileHelper.Read(filepath.Join(tmpdir, "LuetDockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM luet/base
@@ -103,7 +103,7 @@ RUN echo bar > /test2`))
Expect(b.BuildImage(opts2)).ToNot(HaveOccurred())
Expect(b.ExportImage(opts2)).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(tmpdir, "output2.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(tmpdir, "output2.tar"))).To(BeTrue())
artifacts := []artifact.ArtifactNode{{
Name: "/luetbuild/LuetDockerfile",
@@ -132,7 +132,7 @@ RUN echo bar > /test2`))
}
Expect(b.ImageDefinitionToTar(opts2)).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(tmpdir, "output3.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(tmpdir, "output3.tar"))).To(BeTrue())
Expect(b.ImageExists(opts2.ImageName)).To(BeFalse())
})
diff --git a/pkg/compiler/compiler.go b/pkg/compiler/compiler.go
index df56c700..9e4d0c5f 100644
--- a/pkg/compiler/compiler.go
+++ b/pkg/compiler/compiler.go
@@ -36,6 +36,7 @@ import (
"github.com/mudler/luet/pkg/compiler/types/options"
compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
"github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/logger"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/solver"
@@ -319,7 +320,7 @@ func (cs *LuetCompiler) buildPackageImage(image, buildertaggedImage, packageImag
defer os.RemoveAll(buildDir) // clean up
// First we copy the source definitions into the output - we create a copy which the builds will need (we need to cache this phase somehow)
- err = helpers.CopyDir(p.GetPackage().GetPath(), buildDir)
+ err = fileHelper.CopyDir(p.GetPackage().GetPath(), buildDir)
if err != nil {
return builderOpts, runnerOpts, errors.Wrap(err, "Could not copy package sources")
}
@@ -1173,7 +1174,7 @@ func (cs *LuetCompiler) templatePackage(vals []map[string]interface{}, pack pkg.
if err != nil {
return nil, errors.Wrap(err, "while marshalling values file")
}
- f := filepath.Join(valuesdir, helpers.RandStringRunes(20))
+ f := filepath.Join(valuesdir, fileHelper.RandStringRunes(20))
if err := ioutil.WriteFile(f, out, os.ModePerm); err != nil {
return nil, errors.Wrap(err, "while writing temporary values file")
}
diff --git a/pkg/compiler/compiler_test.go b/pkg/compiler/compiler_test.go
index 2228c3ce..e6a9b4c1 100644
--- a/pkg/compiler/compiler_test.go
+++ b/pkg/compiler/compiler_test.go
@@ -25,6 +25,7 @@ import (
"github.com/mudler/luet/pkg/compiler/types/options"
compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
helpers "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/tree"
. "github.com/onsi/ginkgo"
@@ -59,15 +60,15 @@ var _ = Describe("Compiler", func() {
artifact, err := compiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
@@ -99,11 +100,11 @@ var _ = Describe("Compiler", func() {
artifact, err := compiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("result"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("bina/busybox"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("result"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("bina/busybox"))).To(BeTrue())
})
It("Compiles it correctly with Join", func() {
@@ -129,11 +130,11 @@ var _ = Describe("Compiler", func() {
artifact, err := compiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("newc"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test4"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test3"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("newc"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test4"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test3"))).To(BeTrue())
})
})
@@ -164,7 +165,7 @@ var _ = Describe("Compiler", func() {
artifacts, errs := compiler.CompileParallel(false, compilerspec.NewLuetCompilationspecs(spec, spec2))
Expect(errs).To(BeNil())
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
@@ -227,23 +228,23 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(3))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("test3"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test4"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test3"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test4"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("c"))
+ content1, err := fileHelper.Read(spec.Rel("c"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("cd"))
+ content2, err := fileHelper.Read(spec.Rel("cd"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("c\n"))
Expect(content2).To(Equal("c\n"))
- content1, err = helpers.Read(spec.Rel("d"))
+ content1, err = fileHelper.Read(spec.Rel("d"))
Expect(err).ToNot(HaveOccurred())
- content2, err = helpers.Read(spec.Rel("dd"))
+ content2, err = fileHelper.Read(spec.Rel("dd"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("s\n"))
Expect(content2).To(Equal("dd\n"))
@@ -277,17 +278,17 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts2)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
for _, artifact := range artifacts2 {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("etc/hosts"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test1"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("etc/hosts"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test1"))).To(BeTrue())
})
It("Compiles and includes ony wanted files", func() {
@@ -316,12 +317,12 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("marvin"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvin"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).ToNot(BeTrue())
})
It("Compiles and excludes files", func() {
@@ -350,13 +351,13 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("marvin"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("marvot"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvin"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvot"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
})
It("Compiles includes and excludes files", func() {
@@ -385,13 +386,13 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("marvin"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("marvot"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvin"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvot"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).ToNot(BeTrue())
})
It("Compiles and excludes ony wanted files also from unpacked packages", func() {
@@ -419,12 +420,12 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("marvin"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvin"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
})
It("Compiles includes and excludes ony wanted files also from unpacked packages", func() {
@@ -452,12 +453,12 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("marvin"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvin"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
})
It("Compiles and includes ony wanted files also from unpacked packages", func() {
@@ -485,16 +486,16 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
- Expect(helpers.Exists(spec.Rel("var/lib/udhcpd"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("marvin"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("test2"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("lib/firmware"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("var/lib/udhcpd"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("marvin"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test2"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("lib/firmware"))).ToNot(BeTrue())
})
It("Compiles a more complex tree", func() {
@@ -523,18 +524,18 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
Expect(helpers.Untar(spec.Rel("extra-layer-0.1.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("extra-layer"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("extra-layer"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("usr/bin/pkgs-checker"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("base-layer-0.1.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("base-layer-0.1.metadata.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("extra-layer-0.1.metadata.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("extra-layer-0.1.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("usr/bin/pkgs-checker"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("base-layer-0.1.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("base-layer-0.1.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("extra-layer-0.1.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("extra-layer-0.1.package.tar"))).To(BeTrue())
})
It("Compiles with provides support", func() {
@@ -564,19 +565,19 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts[0].Dependencies)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
Expect(helpers.Untar(spec.Rel("c-test-1.0.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("d"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("dd"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("c"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("cd"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("d"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("dd"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("c"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("cd"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("d-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("d-test-1.0.metadata.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("c-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("c-test-1.0.metadata.yaml"))).To(BeTrue())
})
It("Compiles with provides and selectors support", func() {
@@ -607,19 +608,19 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts[0].Dependencies)).To(Equal(1))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
Expect(helpers.Untar(spec.Rel("c-test-1.0.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("d"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("dd"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("c"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("cd"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("d"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("dd"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("c"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("cd"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("d-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("d-test-1.0.metadata.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("c-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("c-test-1.0.metadata.yaml"))).To(BeTrue())
})
It("Compiles revdeps", func() {
generalRecipe := tree.NewCompilerRecipe(pkg.NewInMemoryDatabase(false))
@@ -647,16 +648,16 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(2))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
Expect(helpers.Untar(spec.Rel("extra-layer-0.1.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("extra-layer"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("extra-layer"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("usr/bin/pkgs-checker"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("base-layer-0.1.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("extra-layer-0.1.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("usr/bin/pkgs-checker"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("base-layer-0.1.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("extra-layer-0.1.package.tar"))).To(BeTrue())
})
It("Compiles complex dependencies trees with best matches", func() {
@@ -685,17 +686,17 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
Expect(len(artifacts[0].Dependencies)).To(Equal(6))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
Expect(helpers.Untar(spec.Rel("vhba-sys-fs-5.4.2-20190410.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("sabayon-build-portage-layer-0.20191126.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("build-layer-0.1.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("build-sabayon-overlay-layer-0.20191212.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("build-sabayon-overlays-layer-0.1.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("linux-sabayon-sys-kernel-5.4.2.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("sabayon-sources-sys-kernel-5.4.2.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("vhba"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("sabayon-build-portage-layer-0.20191126.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("build-layer-0.1.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("build-sabayon-overlay-layer-0.20191212.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("build-sabayon-overlays-layer-0.1.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("linux-sabayon-sys-kernel-5.4.2.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("sabayon-sources-sys-kernel-5.4.2.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("vhba"))).To(BeTrue())
})
It("Compiles revdeps with seeds", func() {
@@ -720,31 +721,31 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(4))
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
}
// A deps on B, so A artifacts are here:
- Expect(helpers.Exists(spec.Rel("test3"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test4"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test3"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test4"))).To(BeTrue())
// B
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("artifact42"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("artifact42"))).To(BeTrue())
// C depends on B, so B is here
- content1, err := helpers.Read(spec.Rel("c"))
+ content1, err := fileHelper.Read(spec.Rel("c"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("cd"))
+ content2, err := fileHelper.Read(spec.Rel("cd"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("c\n"))
Expect(content2).To(Equal("c\n"))
// D is here as it requires C, and C was recompiled
- content1, err = helpers.Read(spec.Rel("d"))
+ content1, err = fileHelper.Read(spec.Rel("d"))
Expect(err).ToNot(HaveOccurred())
- content2, err = helpers.Read(spec.Rel("dd"))
+ content2, err = fileHelper.Read(spec.Rel("dd"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("s\n"))
Expect(content2).To(Equal("dd\n"))
@@ -777,19 +778,19 @@ var _ = Describe("Compiler", func() {
artifacts, errs := compiler.CompileParallel(false, compilerspec.NewLuetCompilationspecs(spec))
Expect(errs).To(BeNil())
for _, artifact := range artifacts {
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
for _, d := range artifact.Dependencies {
- Expect(helpers.Exists(d.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(d.Path)).To(BeTrue())
Expect(helpers.Untar(d.Path, tmpdir, false)).ToNot(HaveOccurred())
}
}
- Expect(helpers.Exists(spec.Rel("test3"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test4"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test3"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test4"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
})
})
@@ -821,8 +822,8 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts)).To(Equal(1))
Expect(len(artifacts[0].Dependencies)).To(Equal(1))
Expect(helpers.Untar(spec.Rel("runtime-layer-0.1.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("bin/busybox"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("var"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("bin/busybox"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("var"))).ToNot(BeTrue())
})
})
@@ -869,13 +870,13 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts[0].Dependencies)).To(Equal(0))
Expect(helpers.Untar(spec.Rel("dironly-test-1.0.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test1"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test2"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test1"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test2"))).To(BeTrue())
Expect(helpers.Untar(spec2.Rel("dironly_filter-test-1.0.package.tar"), tmpdir2, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec2.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec2.Rel("test6"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec2.Rel("artifact42"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec2.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec2.Rel("test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec2.Rel("artifact42"))).ToNot(BeTrue())
})
})
@@ -905,12 +906,12 @@ var _ = Describe("Compiler", func() {
Expect(errs).To(BeNil())
Expect(len(artifacts)).To(Equal(1))
Expect(len(artifacts[0].Dependencies)).To(Equal(1))
- Expect(helpers.Exists(spec.Rel("runtime-layer-0.1.package.tar.gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("runtime-layer-0.1.package.tar"))).To(BeFalse())
+ Expect(fileHelper.Exists(spec.Rel("runtime-layer-0.1.package.tar.gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("runtime-layer-0.1.package.tar"))).To(BeFalse())
Expect(artifacts[0].Unpack(tmpdir, false)).ToNot(HaveOccurred())
// Expect(helpers.Untar(spec.Rel("runtime-layer-0.1.package.tar"), tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("bin/busybox"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("var"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("bin/busybox"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("var"))).ToNot(BeTrue())
})
})
@@ -961,7 +962,7 @@ var _ = Describe("Compiler", func() {
Expect(len(artifacts[0].Dependencies)).To(Equal(1))
Expect(artifacts[0].Files).To(ContainElement("bin/busybox"))
- Expect(helpers.Exists(spec.Rel("runtime-layer-0.1.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("runtime-layer-0.1.metadata.yaml"))).To(BeTrue())
art, err := LoadArtifactFromYaml(spec)
Expect(err).ToNot(HaveOccurred())
diff --git a/pkg/compiler/types/artifact/artifact.go b/pkg/compiler/types/artifact/artifact.go
index 87c991e8..b6534f78 100644
--- a/pkg/compiler/types/artifact/artifact.go
+++ b/pkg/compiler/types/artifact/artifact.go
@@ -42,6 +42,7 @@ import (
compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
. "github.com/mudler/luet/pkg/config"
"github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/logger"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/solver"
@@ -168,7 +169,7 @@ func CreateArtifactForFile(s string, opts ...func(*PackageArtifact)) (*PackageAr
}
defer os.RemoveAll(archive) // clean up
dst := filepath.Join(archive, fileName)
- if err := helpers.CopyFile(s, dst); err != nil {
+ if err := fileHelper.CopyFile(s, dst); err != nil {
return nil, errors.Wrapf(err, "error while copying %s to %s", s, dst)
}
@@ -209,7 +210,7 @@ func (a *PackageArtifact) GenerateFinalImage(imageName string, b ImageBuilder, k
return builderOpts, errors.Wrap(err, "error met while uncompressing artifact "+a.Path)
}
- empty, err := helpers.DirectoryIsEmpty(uncompressedFiles)
+ empty, err := fileHelper.DirectoryIsEmpty(uncompressedFiles)
if err != nil {
return builderOpts, errors.Wrap(err, "error met while checking if directory is empty "+uncompressedFiles)
}
@@ -218,7 +219,7 @@ func (a *PackageArtifact) GenerateFinalImage(imageName string, b ImageBuilder, k
// We can't generate FROM scratch empty images. Docker will refuse to export them
// workaround: Inject a .virtual empty file
if empty {
- helpers.Touch(filepath.Join(uncompressedFiles, ".virtual"))
+ fileHelper.Touch(filepath.Join(uncompressedFiles, ".virtual"))
}
data := a.genDockerfile()
@@ -401,12 +402,12 @@ func tarModifierWrapperFunc(dst, path string, header *tar.Header, content io.Rea
// We want to protect file only if the hash of the files are differing OR the file size are
differs := (existingHash != "" && existingHash != tarHash) || (err != nil && f != nil && header.Size != f.Size())
// Check if exists
- if helpers.Exists(destPath) && differs {
+ if fileHelper.Exists(destPath) && differs {
for i := 1; i < 1000; i++ {
name := filepath.Join(filepath.Join(filepath.Dir(path),
fmt.Sprintf("._cfg%04d_%s", i, filepath.Base(path))))
- if helpers.Exists(name) {
+ if fileHelper.Exists(name) {
continue
}
Info(fmt.Sprintf("Found protected file %s. Creating %s.", destPath,
@@ -628,7 +629,7 @@ func worker(i int, wg *sync.WaitGroup, s <-chan CopyJob) {
_, err := os.Lstat(job.Dst)
if err != nil {
Debug("Copying ", job.Src)
- if err := helpers.DeepCopyFile(job.Src, job.Dst); err != nil {
+ if err := fileHelper.DeepCopyFile(job.Src, job.Dst); err != nil {
Warning("Error copying", job, err)
}
}
diff --git a/pkg/compiler/types/artifact/artifact_test.go b/pkg/compiler/types/artifact/artifact_test.go
index bad41472..4139d83d 100644
--- a/pkg/compiler/types/artifact/artifact_test.go
+++ b/pkg/compiler/types/artifact/artifact_test.go
@@ -29,6 +29,7 @@ import (
. "github.com/mudler/luet/pkg/compiler"
helpers "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/tree"
. "github.com/onsi/ginkgo"
@@ -71,7 +72,7 @@ var _ = Describe("Artifact", func() {
err = lspec.WriteBuildImageDefinition(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err := helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err := fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM alpine
@@ -89,12 +90,12 @@ ENV PACKAGE_CATEGORY=app-admin`))
}
Expect(b.BuildImage(opts)).ToNot(HaveOccurred())
Expect(b.ExportImage(opts)).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(tmpdir2, "output1.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(tmpdir2, "output1.tar"))).To(BeTrue())
Expect(b.BuildImage(opts)).ToNot(HaveOccurred())
err = lspec.WriteStepImageDefinition(lspec.Image, filepath.Join(tmpdir, "LuetDockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err = helpers.Read(filepath.Join(tmpdir, "LuetDockerfile"))
+ dockerfile, err = fileHelper.Read(filepath.Join(tmpdir, "LuetDockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM luet/base
@@ -113,7 +114,7 @@ RUN echo bar > /test2`))
}
Expect(b.BuildImage(opts2)).ToNot(HaveOccurred())
Expect(b.ExportImage(opts2)).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(tmpdir, "output2.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(tmpdir, "output2.tar"))).To(BeTrue())
diffs, err := compiler.GenerateChanges(b, opts, opts2)
Expect(err).ToNot(HaveOccurred())
@@ -140,15 +141,15 @@ RUN echo bar > /test2`))
a, err := ExtractArtifactFromDelta(rootfs, filepath.Join(tmpdir, "package.tar"), diffs, 2, false, []string{}, []string{}, compression.None)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(tmpdir, "package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(tmpdir, "package.tar"))).To(BeTrue())
err = helpers.Untar(a.Path, unpacked, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(unpacked, "test"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(unpacked, "test2"))).To(BeTrue())
- content1, err := helpers.Read(filepath.Join(unpacked, "test"))
+ Expect(fileHelper.Exists(filepath.Join(unpacked, "test"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(unpacked, "test2"))).To(BeTrue())
+ content1, err := fileHelper.Read(filepath.Join(unpacked, "test"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("foo\n"))
- content2, err := helpers.Read(filepath.Join(unpacked, "test2"))
+ content2, err := fileHelper.Read(filepath.Join(unpacked, "test2"))
Expect(err).ToNot(HaveOccurred())
Expect(content2).To(Equal("bar\n"))
@@ -156,7 +157,7 @@ RUN echo bar > /test2`))
Expect(err).ToNot(HaveOccurred())
err = a.Verify()
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.CopyFile(filepath.Join(tmpdir, "output2.tar"), filepath.Join(tmpdir, "package.tar"))).ToNot(HaveOccurred())
+ Expect(fileHelper.CopyFile(filepath.Join(tmpdir, "output2.tar"), filepath.Join(tmpdir, "package.tar"))).ToNot(HaveOccurred())
err = a.Verify()
Expect(err).To(HaveOccurred())
@@ -244,7 +245,7 @@ RUN echo bar > /test2`))
err = b.ExtractRootfs(backend.Options{ImageName: resultingImage, Destination: result}, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.DirectoryIsEmpty(result)).To(BeFalse())
+ Expect(fileHelper.DirectoryIsEmpty(result)).To(BeFalse())
content, err := ioutil.ReadFile(filepath.Join(result, ".virtual"))
Expect(err).ToNot(HaveOccurred())
diff --git a/pkg/compiler/types/spec/spec_test.go b/pkg/compiler/types/spec/spec_test.go
index 526ef4d5..cb3c8cfc 100644
--- a/pkg/compiler/types/spec/spec_test.go
+++ b/pkg/compiler/types/spec/spec_test.go
@@ -22,9 +22,9 @@ import (
options "github.com/mudler/luet/pkg/compiler/types/options"
compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/compiler"
- helpers "github.com/mudler/luet/pkg/helpers"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/tree"
. "github.com/onsi/ginkgo"
@@ -154,7 +154,7 @@ var _ = Describe("Spec", func() {
lspec.Env = []string{"test=1"}
err = lspec.WriteBuildImageDefinition(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err := helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err := fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM alpine
@@ -167,7 +167,7 @@ ENV test=1`))
err = lspec.WriteStepImageDefinition(lspec.Image, filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err = helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err = fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM luet/base
@@ -205,7 +205,7 @@ RUN echo bar > /test2`))
err = lspec.WriteBuildImageDefinition(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err := helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err := fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM alpine
@@ -222,7 +222,7 @@ ENV test=1`))
err = lspec.WriteBuildImageDefinition(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err = helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err = fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
FROM alpine
@@ -237,7 +237,7 @@ ENV test=1`))
err = lspec.WriteStepImageDefinition(lspec.Image, filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
- dockerfile, err = helpers.Read(filepath.Join(tmpdir, "Dockerfile"))
+ dockerfile, err = fileHelper.Read(filepath.Join(tmpdir, "Dockerfile"))
Expect(err).ToNot(HaveOccurred())
Expect(dockerfile).To(Equal(`
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 211ab95c..d47d6fac 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -27,7 +27,6 @@ import (
"strings"
"time"
- "github.com/mudler/luet/pkg/helpers"
pkg "github.com/mudler/luet/pkg/package"
solver "github.com/mudler/luet/pkg/solver"
@@ -406,8 +405,13 @@ system:
}
func (c *LuetSystemConfig) InitTmpDir() error {
- if !helpers.Exists(c.TmpDirBase) {
- return os.MkdirAll(c.TmpDirBase, os.ModePerm)
+ if _, err := os.Stat(c.TmpDirBase); err != nil {
+ if os.IsNotExist(err) {
+ err = os.MkdirAll(c.TmpDirBase, os.ModePerm)
+ if err != nil {
+ return err
+ }
+ }
}
return nil
}
diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go
index b3f2bf05..9ca41ebe 100644
--- a/pkg/config/config_test.go
+++ b/pkg/config/config_test.go
@@ -22,7 +22,7 @@ import (
"strings"
config "github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
@@ -38,7 +38,7 @@ var _ = Describe("Config", func() {
tmpDir, err := config.LuetCfg.GetSystem().TempDir("test1")
Expect(err).ToNot(HaveOccurred())
Expect(strings.HasPrefix(tmpDir, filepath.Join(os.TempDir(), "tmpluet"))).To(BeTrue())
- Expect(helpers.Exists(tmpDir)).To(BeTrue())
+ Expect(fileHelper.Exists(tmpDir)).To(BeTrue())
defer os.RemoveAll(tmpDir)
})
@@ -49,7 +49,7 @@ var _ = Describe("Config", func() {
tmpFile, err := config.LuetCfg.GetSystem().TempFile("testfile1")
Expect(err).ToNot(HaveOccurred())
Expect(strings.HasPrefix(tmpFile.Name(), filepath.Join(os.TempDir(), "tmpluet"))).To(BeTrue())
- Expect(helpers.Exists(tmpFile.Name())).To(BeTrue())
+ Expect(fileHelper.Exists(tmpFile.Name())).To(BeTrue())
defer os.Remove(tmpFile.Name())
})
diff --git a/pkg/helpers/archive_test.go b/pkg/helpers/archive_test.go
index e2b9fd33..491f2a36 100644
--- a/pkg/helpers/archive_test.go
+++ b/pkg/helpers/archive_test.go
@@ -25,6 +25,8 @@ import (
"os"
"path/filepath"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
+
"github.com/docker/docker/pkg/archive"
. "github.com/mudler/luet/pkg/helpers"
. "github.com/onsi/ginkgo"
@@ -128,7 +130,7 @@ var _ = Describe("Helpers Archive", func() {
err = archive.Untar(replacerArchive, targetDir, opts)
Expect(err).ToNot(HaveOccurred())
- Expect(Exists(filepath.Join(targetDir, "._cfg0001_file-0"))).Should(Equal(true))
+ Expect(fileHelper.Exists(filepath.Join(targetDir, "._cfg0001_file-0"))).Should(Equal(true))
})
})
})
diff --git a/pkg/helpers/docker.go b/pkg/helpers/docker/docker.go
similarity index 99%
rename from pkg/helpers/docker.go
rename to pkg/helpers/docker/docker.go
index 813541e0..1e655304 100644
--- a/pkg/helpers/docker.go
+++ b/pkg/helpers/docker/docker.go
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this program; if not, see .
-package helpers
+package docker
import (
"context"
@@ -21,11 +21,12 @@ import (
"os"
"strings"
+ "github.com/mudler/luet/pkg/helpers/imgworker"
+
"github.com/docker/cli/cli/trust"
"github.com/docker/distribution/reference"
"github.com/docker/docker/api/types"
"github.com/docker/docker/registry"
- "github.com/mudler/luet/pkg/helpers/imgworker"
"github.com/opencontainers/go-digest"
"github.com/pkg/errors"
"github.com/theupdateframework/notary/tuf/data"
diff --git a/pkg/helpers/docker_test.go b/pkg/helpers/docker/docker_test.go
similarity index 86%
rename from pkg/helpers/docker_test.go
rename to pkg/helpers/docker/docker_test.go
index 56f8bbc2..09265224 100644
--- a/pkg/helpers/docker_test.go
+++ b/pkg/helpers/docker/docker_test.go
@@ -13,10 +13,10 @@
// You should have received a copy of the GNU General Public License along
// with this program; if not, see .
-package helpers_test
+package docker_test
import (
- . "github.com/mudler/luet/pkg/helpers"
+ "github.com/mudler/luet/pkg/helpers/docker"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
@@ -24,7 +24,7 @@ import (
var _ = Describe("StripInvalidStringsFromImage", func() {
Context("Image names", func() {
It("strips invalid chars", func() {
- Expect(StripInvalidStringsFromImage("foo+bar")).To(Equal("foo-bar"))
+ Expect(docker.StripInvalidStringsFromImage("foo+bar")).To(Equal("foo-bar"))
})
})
})
diff --git a/pkg/helpers/file.go b/pkg/helpers/file/file.go
similarity index 99%
rename from pkg/helpers/file.go
rename to pkg/helpers/file/file.go
index 7a64f292..5c3af522 100644
--- a/pkg/helpers/file.go
+++ b/pkg/helpers/file/file.go
@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with this program; if not, see .
-package helpers
+package file
import (
"fmt"
diff --git a/pkg/helpers/file_test.go b/pkg/helpers/file/file_test.go
similarity index 81%
rename from pkg/helpers/file_test.go
rename to pkg/helpers/file/file_test.go
index 8e3366c5..050ab15e 100644
--- a/pkg/helpers/file_test.go
+++ b/pkg/helpers/file/file_test.go
@@ -13,14 +13,15 @@
// You should have received a copy of the GNU General Public License along
// with this program; if not, see .
-package helpers_test
+package file_test
import (
"io/ioutil"
"os"
"path/filepath"
- . "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
+
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
@@ -28,8 +29,8 @@ import (
var _ = Describe("Helpers", func() {
Context("Exists", func() {
It("Detect existing and not-existing files", func() {
- Expect(Exists("../../tests/fixtures/buildtree/app-admin/enman/1.4.0/build.yaml")).To(BeTrue())
- Expect(Exists("../../tests/fixtures/buildtree/app-admin/enman/1.4.0/build.yaml.not.exists")).To(BeFalse())
+ Expect(fileHelper.Exists("../../tests/fixtures/buildtree/app-admin/enman/1.4.0/build.yaml")).To(BeTrue())
+ Expect(fileHelper.Exists("../../tests/fixtures/buildtree/app-admin/enman/1.4.0/build.yaml.not.exists")).To(BeFalse())
})
})
@@ -38,15 +39,15 @@ var _ = Describe("Helpers", func() {
testDir, err := ioutil.TempDir(os.TempDir(), "test")
Expect(err).ToNot(HaveOccurred())
defer os.RemoveAll(testDir)
- Expect(DirectoryIsEmpty(testDir)).To(BeTrue())
+ Expect(fileHelper.DirectoryIsEmpty(testDir)).To(BeTrue())
})
It("Detects directory with files", func() {
testDir, err := ioutil.TempDir(os.TempDir(), "test")
Expect(err).ToNot(HaveOccurred())
defer os.RemoveAll(testDir)
- err = Touch(filepath.Join(testDir, "foo"))
+ err = fileHelper.Touch(filepath.Join(testDir, "foo"))
Expect(err).ToNot(HaveOccurred())
- Expect(DirectoryIsEmpty(testDir)).To(BeFalse())
+ Expect(fileHelper.DirectoryIsEmpty(testDir)).To(BeFalse())
})
})
@@ -72,7 +73,7 @@ var _ = Describe("Helpers", func() {
err = ioutil.WriteFile(filepath.Join(testDir, "baz2", "foo"), []byte("test\n"), 0644)
Expect(err).ToNot(HaveOccurred())
- ordered, notExisting := OrderFiles(testDir, []string{"bar", "baz", "bar/foo", "baz2", "foo", "baz2/foo", "notexisting"})
+ ordered, notExisting := fileHelper.OrderFiles(testDir, []string{"bar", "baz", "bar/foo", "baz2", "foo", "baz2/foo", "notexisting"})
Expect(ordered).To(Equal([]string{"baz", "bar/foo", "foo", "baz2/foo", "bar", "baz2"}))
Expect(notExisting).To(Equal([]string{"notexisting"}))
@@ -96,7 +97,7 @@ var _ = Describe("Helpers", func() {
err = os.MkdirAll(filepath.Join(testDir, "foo", "baz", "fa"), os.ModePerm)
Expect(err).ToNot(HaveOccurred())
- ordered, _ := OrderFiles(testDir, []string{"foo", "foo/bar", "bar", "foo/baz/fa", "foo/baz"})
+ ordered, _ := fileHelper.OrderFiles(testDir, []string{"foo", "foo/bar", "bar", "foo/baz/fa", "foo/baz"})
Expect(ordered).To(Equal([]string{"foo/baz/fa", "foo/bar", "foo/baz", "foo", "bar"}))
})
})
diff --git a/pkg/helpers/helm.go b/pkg/helpers/helm.go
index d89fc85b..bb345613 100644
--- a/pkg/helpers/helm.go
+++ b/pkg/helpers/helm.go
@@ -3,6 +3,8 @@ package helpers
import (
"io/ioutil"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
+
"github.com/imdario/mergo"
"github.com/pkg/errors"
"gopkg.in/yaml.v2"
@@ -75,7 +77,7 @@ func RenderFiles(toTemplate, valuesFile string, defaultFile ...string) (string,
return "", errors.Wrap(err, "reading file "+toTemplate)
}
- if !Exists(valuesFile) {
+ if !fileHelper.Exists(valuesFile) {
return "", errors.Wrap(err, "file not existing "+valuesFile)
}
val, err := ioutil.ReadFile(valuesFile)
diff --git a/pkg/helpers/imgworker/unpack.go b/pkg/helpers/imgworker/unpack.go
index 6197b63c..bd4cbf86 100644
--- a/pkg/helpers/imgworker/unpack.go
+++ b/pkg/helpers/imgworker/unpack.go
@@ -5,6 +5,7 @@ package imgworker
import (
"errors"
"fmt"
+ "github.com/mudler/luet/pkg/bus"
"os"
"github.com/containerd/containerd/content"
@@ -18,6 +19,12 @@ import (
// TODO: this requires root permissions to mount/unmount layers, althrought it shouldn't be required.
// See how backends are unpacking images without asking for root permissions.
+// UnpackEventData is the data structure to pass for the bus events
+type UnpackEventData struct {
+ Image string
+ Dest string
+}
+
// Unpack exports an image to a rootfs destination directory.
func (c *Client) Unpack(image, dest string) error {
@@ -59,6 +66,8 @@ func (c *Client) Unpack(image, dest string) error {
return fmt.Errorf("getting image manifest failed: %v", err)
}
+ _,_ = bus.Manager.Publish(bus.EventImagePreUnPack, UnpackEventData{Image: image, Dest: dest})
+
for _, desc := range manifest.Layers {
logrus.Debugf("Unpacking layer %s", desc.Digest.String())
@@ -78,5 +87,7 @@ func (c *Client) Unpack(image, dest string) error {
}
}
+ _, _ = bus.Manager.Publish(bus.EventImagePostUnPack, UnpackEventData{Image: image, Dest: dest})
+
return nil
}
diff --git a/pkg/helpers/match.go b/pkg/helpers/match/match.go
similarity index 98%
rename from pkg/helpers/match.go
rename to pkg/helpers/match/match.go
index 502c447d..bb932b82 100644
--- a/pkg/helpers/match.go
+++ b/pkg/helpers/match/match.go
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License along
// with this program; if not, see .
-package helpers
+package match
import (
"reflect"
diff --git a/pkg/installer/client/docker.go b/pkg/installer/client/docker.go
index 6d34d9d1..58e05516 100644
--- a/pkg/installer/client/docker.go
+++ b/pkg/installer/client/docker.go
@@ -28,7 +28,8 @@ import (
"github.com/mudler/luet/pkg/compiler/types/artifact"
"github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
+ "github.com/mudler/luet/pkg/helpers/docker"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
"github.com/mudler/luet/pkg/helpers/imgworker"
. "github.com/mudler/luet/pkg/logger"
)
@@ -64,7 +65,7 @@ func (c *DockerClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.
artifactName := path.Base(a.Path)
cacheFile := filepath.Join(config.LuetCfg.GetSystem().GetSystemPkgsCacheDirPath(), artifactName)
Debug("Cache file", cacheFile)
- if err := helpers.EnsureDir(cacheFile); err != nil {
+ if err := fileHelper.EnsureDir(cacheFile); err != nil {
return nil, errors.Wrapf(err, "could not create cache folder %s for %s", config.LuetCfg.GetSystem().GetSystemPkgsCacheDirPath(), cacheFile)
}
ok := false
@@ -77,7 +78,7 @@ func (c *DockerClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.
// is done in such cases (see repository.go)
// Check if file is already in cache
- if helpers.Exists(cacheFile) {
+ if fileHelper.Exists(cacheFile) {
Debug("Cache hit for artifact", artifactName)
resultingArtifact = a
resultingArtifact.Path = cacheFile
@@ -102,7 +103,7 @@ func (c *DockerClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.
}
// imageName := fmt.Sprintf("%s/%s", uri, artifact.GetCompileSpec().GetPackage().GetPackageImageName())
- info, err := helpers.DownloadAndExtractDockerImage(contentstore, imageName, temp, c.auth, c.RepoData.Verify)
+ info, err := docker.DownloadAndExtractDockerImage(contentstore, imageName, temp, c.auth, c.RepoData.Verify)
if err != nil {
Warning(fmt.Sprintf(errImageDownloadMsg, imageName, err.Error()))
continue
@@ -161,10 +162,10 @@ func (c *DockerClient) DownloadFile(name string) (string, error) {
continue
}
- imageName := fmt.Sprintf("%s:%s", uri, helpers.StripInvalidStringsFromImage(name))
+ imageName := fmt.Sprintf("%s:%s", uri, docker.StripInvalidStringsFromImage(name))
Info("Downloading", imageName)
- info, err = helpers.DownloadAndExtractDockerImage(contentstore, imageName, temp, c.auth, c.RepoData.Verify)
+ info, err = docker.DownloadAndExtractDockerImage(contentstore, imageName, temp, c.auth, c.RepoData.Verify)
if err != nil {
Warning(fmt.Sprintf(errImageDownloadMsg, imageName, err.Error()))
continue
@@ -174,7 +175,7 @@ func (c *DockerClient) DownloadFile(name string) (string, error) {
Info(fmt.Sprintf("Size: %s", units.BytesSize(float64(info.ContentSize))))
Debug("\nCopying file ", filepath.Join(temp, name), "to", file.Name())
- err = helpers.CopyFile(filepath.Join(temp, name), file.Name())
+ err = fileHelper.CopyFile(filepath.Join(temp, name), file.Name())
if err != nil {
continue
}
diff --git a/pkg/installer/client/docker_test.go b/pkg/installer/client/docker_test.go
index 0a2f8b30..6b0e0c2c 100644
--- a/pkg/installer/client/docker_test.go
+++ b/pkg/installer/client/docker_test.go
@@ -22,8 +22,8 @@ import (
"github.com/mudler/luet/pkg/compiler/types/artifact"
compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
- helpers "github.com/mudler/luet/pkg/helpers"
pkg "github.com/mudler/luet/pkg/package"
. "github.com/mudler/luet/pkg/installer/client"
@@ -32,7 +32,7 @@ import (
)
// This test expect that the repository defined in UNIT_TEST_DOCKER_IMAGE is in zstd format.
-// the repository is built by the 01_simple_docker.sh integration test file.
+// the repository is built by the 01_simple_docker.sh integration test fileHelper.
// This test also require root. At the moment, unpacking docker images with 'img' requires root permission to
// mount/unmount layers.
var _ = Describe("Docker client", func() {
@@ -51,7 +51,7 @@ var _ = Describe("Docker client", func() {
It("Downloads single files", func() {
f, err := c.DownloadFile("repository.yaml")
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(f)).To(ContainSubstring("Test Repo"))
+ Expect(fileHelper.Read(f)).To(ContainSubstring("Test Repo"))
os.RemoveAll(f)
})
@@ -71,8 +71,8 @@ var _ = Describe("Docker client", func() {
Expect(err).ToNot(HaveOccurred())
defer os.RemoveAll(tmpdir) // clean up
Expect(f.Unpack(tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Read(filepath.Join(tmpdir, "c"))).To(Equal("c\n"))
- Expect(helpers.Read(filepath.Join(tmpdir, "cd"))).To(Equal("c\n"))
+ Expect(fileHelper.Read(filepath.Join(tmpdir, "c"))).To(Equal("c\n"))
+ Expect(fileHelper.Read(filepath.Join(tmpdir, "cd"))).To(Equal("c\n"))
os.RemoveAll(f.Path)
})
})
diff --git a/pkg/installer/client/http.go b/pkg/installer/client/http.go
index 0f79f084..4f66bd95 100644
--- a/pkg/installer/client/http.go
+++ b/pkg/installer/client/http.go
@@ -25,12 +25,11 @@ import (
"time"
"github.com/mudler/luet/pkg/compiler/types/artifact"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/logger"
- "github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
-
"github.com/cavaliercoder/grab"
+ "github.com/mudler/luet/pkg/config"
"github.com/schollz/progressbar/v3"
)
@@ -77,7 +76,7 @@ func (c *HttpClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.Pa
ok := false
// Check if file is already in cache
- if helpers.Exists(cacheFile) {
+ if fileHelper.Exists(cacheFile) {
Debug("Use artifact", artifactName, "from cache.")
} else {
@@ -156,7 +155,7 @@ func (c *HttpClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.Pa
fmt.Sprintf("%.2f", (float64(resp.BytesPerSecond())/1024)/1024), "MiB/s )")
Debug("\nCopying file ", filepath.Join(temp, artifactName), "to", cacheFile)
- err = helpers.CopyFile(filepath.Join(temp, artifactName), cacheFile)
+ err = fileHelper.CopyFile(filepath.Join(temp, artifactName), cacheFile)
bar.Finish()
ok = true
@@ -218,7 +217,7 @@ func (c *HttpClient) DownloadFile(name string) (string, error) {
fmt.Sprintf("%.2f", (float64(resp.BytesComplete())/1000)/1000), "MB (",
fmt.Sprintf("%.2f", (float64(resp.BytesPerSecond())/1024)/1024), "MiB/s )")
- err = helpers.CopyFile(filepath.Join(temp, name), file.Name())
+ err = fileHelper.CopyFile(filepath.Join(temp, name), file.Name())
if err != nil {
continue
}
diff --git a/pkg/installer/client/http_test.go b/pkg/installer/client/http_test.go
index 5dc92a2c..ee8ecfc2 100644
--- a/pkg/installer/client/http_test.go
+++ b/pkg/installer/client/http_test.go
@@ -23,8 +23,7 @@ import (
"path/filepath"
"github.com/mudler/luet/pkg/compiler/types/artifact"
- helpers "github.com/mudler/luet/pkg/helpers"
-
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/installer/client"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
@@ -47,7 +46,7 @@ var _ = Describe("Http client", func() {
c := NewHttpClient(RepoData{Urls: []string{ts.URL}})
path, err := c.DownloadFile("test.txt")
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(path)).To(Equal("test"))
+ Expect(fileHelper.Read(path)).To(Equal("test"))
os.RemoveAll(path)
})
@@ -65,7 +64,7 @@ var _ = Describe("Http client", func() {
c := NewHttpClient(RepoData{Urls: []string{ts.URL}})
path, err := c.DownloadArtifact(&artifact.PackageArtifact{Path: "test.txt"})
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(path.Path)).To(Equal("test"))
+ Expect(fileHelper.Read(path.Path)).To(Equal("test"))
os.RemoveAll(path.Path)
})
diff --git a/pkg/installer/client/local.go b/pkg/installer/client/local.go
index 200e4701..ce6c29d8 100644
--- a/pkg/installer/client/local.go
+++ b/pkg/installer/client/local.go
@@ -22,9 +22,8 @@ import (
"github.com/mudler/luet/pkg/compiler/types/artifact"
"github.com/mudler/luet/pkg/config"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/logger"
-
- "github.com/mudler/luet/pkg/helpers"
)
type LocalClient struct {
@@ -50,7 +49,7 @@ func (c *LocalClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.P
}
// Check if file is already in cache
- if helpers.Exists(cacheFile) {
+ if fileHelper.Exists(cacheFile) {
Debug("Use artifact", artifactName, "from cache.")
} else {
ok := false
@@ -61,7 +60,7 @@ func (c *LocalClient) DownloadArtifact(a *artifact.PackageArtifact) (*artifact.P
Info("Downloading artifact", artifactName, "from", uri)
//defer os.Remove(file.Name())
- err = helpers.CopyFile(filepath.Join(uri, artifactName), cacheFile)
+ err = fileHelper.CopyFile(filepath.Join(uri, artifactName), cacheFile)
if err != nil {
continue
}
@@ -104,7 +103,7 @@ func (c *LocalClient) DownloadFile(name string) (string, error) {
}
//defer os.Remove(file.Name())
- err = helpers.CopyFile(filepath.Join(uri, name), file.Name())
+ err = fileHelper.CopyFile(filepath.Join(uri, name), file.Name())
if err != nil {
continue
}
diff --git a/pkg/installer/client/local_test.go b/pkg/installer/client/local_test.go
index 83fc9422..de9cb19e 100644
--- a/pkg/installer/client/local_test.go
+++ b/pkg/installer/client/local_test.go
@@ -21,8 +21,7 @@ import (
"path/filepath"
"github.com/mudler/luet/pkg/compiler/types/artifact"
- helpers "github.com/mudler/luet/pkg/helpers"
-
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/installer/client"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
@@ -42,7 +41,7 @@ var _ = Describe("Local client", func() {
c := NewLocalClient(RepoData{Urls: []string{tmpdir}})
path, err := c.DownloadFile("test.txt")
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(path)).To(Equal("test"))
+ Expect(fileHelper.Read(path)).To(Equal("test"))
os.RemoveAll(path)
})
@@ -58,7 +57,7 @@ var _ = Describe("Local client", func() {
c := NewLocalClient(RepoData{Urls: []string{tmpdir}})
path, err := c.DownloadArtifact(&artifact.PackageArtifact{Path: "test.txt"})
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(path.Path)).To(Equal("test"))
+ Expect(fileHelper.Read(path.Path)).To(Equal("test"))
os.RemoveAll(path.Path)
})
diff --git a/pkg/installer/installer.go b/pkg/installer/installer.go
index 4f3c69b9..b4bc8fce 100644
--- a/pkg/installer/installer.go
+++ b/pkg/installer/installer.go
@@ -24,16 +24,16 @@ import (
"strings"
"sync"
- artifact "github.com/mudler/luet/pkg/compiler/types/artifact"
-
- . "github.com/logrusorgru/aurora"
"github.com/mudler/luet/pkg/bus"
+ artifact "github.com/mudler/luet/pkg/compiler/types/artifact"
"github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
+ "github.com/mudler/luet/pkg/helpers/match"
. "github.com/mudler/luet/pkg/logger"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/solver"
+ . "github.com/logrusorgru/aurora"
"github.com/pkg/errors"
)
@@ -597,7 +597,7 @@ func (l *LuetInstaller) Reclaim(s *System) error {
"from", repo.GetName(), "is installed")
FILES:
for _, f := range artefact.Files {
- if helpers.Exists(filepath.Join(s.Target, f)) {
+ if fileHelper.Exists(filepath.Join(s.Target, f)) {
p, err := repo.GetTree().GetDatabase().FindPackage(artefact.CompileSpec.GetPackage())
if err != nil {
return err
@@ -915,7 +915,7 @@ func pruneEmptyFilePath(path string) {
currentPath = filepath.Join(currentPath, p)
allPaths = append(allPaths, currentPath)
}
- helpers.ReverseAny(allPaths)
+ match.ReverseAny(allPaths)
for _, p := range allPaths {
checkAndPrunePath(p)
}
@@ -943,7 +943,7 @@ func (l *LuetInstaller) uninstall(p pkg.Package, s *System) error {
cp.Map(files)
}
- toRemove, notPresent := helpers.OrderFiles(s.Target, files)
+ toRemove, notPresent := fileHelper.OrderFiles(s.Target, files)
// Remove from target
for _, f := range toRemove {
diff --git a/pkg/installer/installer_test.go b/pkg/installer/installer_test.go
index 4a33de28..63324466 100644
--- a/pkg/installer/installer_test.go
+++ b/pkg/installer/installer_test.go
@@ -27,6 +27,7 @@ import (
"github.com/mudler/luet/pkg/compiler/types/options"
compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
"github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/installer"
pkg "github.com/mudler/luet/pkg/package"
@@ -84,34 +85,34 @@ var _ = Describe("Installer", func() {
a, err := c.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(a.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(a.Path)).To(BeTrue())
Expect(helpers.Untar(a.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
- Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
repo, err := stubRepo(tmpdir, "../../tests/fixtures/buildable")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -136,8 +137,8 @@ urls:
err = inst.Install([]pkg.Package{&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"}}, system)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).ToNot(HaveOccurred())
@@ -154,8 +155,8 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
@@ -199,21 +200,21 @@ urls:
artifact, err := c.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
- Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
repo, err := stubRepo(tmpdir, "../../tests/fixtures/buildable")
Expect(err).ToNot(HaveOccurred())
@@ -223,15 +224,15 @@ urls:
repo.SetRepositoryFile(REPOFILE_TREE_KEY, treeFile)
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -256,8 +257,8 @@ urls:
err = inst.Install([]pkg.Package{&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"}}, system)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).ToNot(HaveOccurred())
@@ -274,8 +275,8 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
@@ -319,21 +320,21 @@ urls:
artifact, err := c.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
- Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
repo, err := GenerateRepository(
"test",
@@ -345,15 +346,15 @@ urls:
pkg.NewInMemoryDatabase(false), nil, "", false, false, false, nil)
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -383,8 +384,8 @@ urls:
err = inst.Install([]pkg.Package{&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"}}, system)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).ToNot(HaveOccurred())
@@ -401,8 +402,8 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
_, err = system.Database.GetPackageFiles(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
@@ -444,21 +445,21 @@ urls:
artifact, err := c.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
- Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
repo, err := GenerateRepository(
"test",
@@ -471,15 +472,15 @@ urls:
pkg.NewInMemoryDatabase(false), nil, "", false, false, false, nil)
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -531,7 +532,7 @@ urls:
artifact, err = c.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
repo, err = stubRepo(tmpdir2, "../../tests/fixtures/alpine")
Expect(err).ToNot(HaveOccurred())
@@ -604,15 +605,15 @@ urls:
repo, err := stubRepo(tmpdir, "../../tests/fixtures/upgrade")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -642,8 +643,8 @@ urls:
err = inst.Install([]pkg.Package{&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"}}, system)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).ToNot(HaveOccurred())
@@ -660,11 +661,11 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
// New version - new files
- Expect(helpers.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
_, err = system.Database.GetPackageFiles(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
_, err = system.Database.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
@@ -729,9 +730,9 @@ urls:
repo, err := stubRepo(tmpdir, "../../tests/fixtures/upgrade_old_repo")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
@@ -774,8 +775,8 @@ urls:
err = inst.Install([]pkg.Package{&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"}}, system)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).ToNot(HaveOccurred())
@@ -793,11 +794,11 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
// New version - new files
- Expect(helpers.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
_, err = system.Database.GetPackageFiles(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
_, err = system.Database.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
@@ -856,17 +857,17 @@ urls:
repo, err := stubRepo(tmpdir, "../../tests/fixtures/upgrade")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("b-test-1.1.package.tar.gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.1.package.tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.1.package.tar.gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.1.package.tar"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -896,8 +897,8 @@ urls:
err = inst.Install([]pkg.Package{&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"}}, system)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeTrue())
_, err = systemDB.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).ToNot(HaveOccurred())
@@ -914,11 +915,11 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
// New version - new files
- Expect(helpers.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
_, err = system.Database.GetPackageFiles(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
_, err = system.Database.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
@@ -1014,17 +1015,17 @@ urls:
repo, err := stubRepo(tmpdir, "../../tests/fixtures/upgrade")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("b-test-1.1.package.tar.gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.1.package.tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.1.package.tar.gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.1.package.tar"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -1059,13 +1060,13 @@ urls:
Expect(err).To(HaveOccurred())
Expect(len(system.Database.World())).To(Equal(0))
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeFalse())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeFalse())
- Expect(helpers.Exists(filepath.Join(fakeroot, "c"))).To(BeFalse())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeFalse())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeFalse())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "c"))).To(BeFalse())
- Expect(helpers.Touch(filepath.Join(fakeroot, "test5"))).ToNot(HaveOccurred())
- Expect(helpers.Touch(filepath.Join(fakeroot, "test6"))).ToNot(HaveOccurred())
- Expect(helpers.Touch(filepath.Join(fakeroot, "c"))).ToNot(HaveOccurred())
+ Expect(fileHelper.Touch(filepath.Join(fakeroot, "test5"))).ToNot(HaveOccurred())
+ Expect(fileHelper.Touch(filepath.Join(fakeroot, "test6"))).ToNot(HaveOccurred())
+ Expect(fileHelper.Touch(filepath.Join(fakeroot, "c"))).ToNot(HaveOccurred())
err = inst.Reclaim(system)
Expect(err).ToNot(HaveOccurred())
@@ -1115,15 +1116,15 @@ urls:
repo, err := stubRepo(tmpdir, "../../tests/fixtures/upgrade_old_repo")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, false)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("repository.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
Expect(repo.GetUrls()[0]).To(Equal(tmpdir))
Expect(repo.GetType()).To(Equal("disk"))
@@ -1158,13 +1159,13 @@ urls:
Expect(err).To(HaveOccurred())
Expect(len(system.Database.World())).To(Equal(0))
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).To(BeFalse())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).To(BeFalse())
- Expect(helpers.Exists(filepath.Join(fakeroot, "c"))).To(BeFalse())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).To(BeFalse())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).To(BeFalse())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "c"))).To(BeFalse())
- Expect(helpers.Touch(filepath.Join(fakeroot, "test5"))).ToNot(HaveOccurred())
- Expect(helpers.Touch(filepath.Join(fakeroot, "test6"))).ToNot(HaveOccurred())
- Expect(helpers.Touch(filepath.Join(fakeroot, "c"))).ToNot(HaveOccurred())
+ Expect(fileHelper.Touch(filepath.Join(fakeroot, "test5"))).ToNot(HaveOccurred())
+ Expect(fileHelper.Touch(filepath.Join(fakeroot, "test6"))).ToNot(HaveOccurred())
+ Expect(fileHelper.Touch(filepath.Join(fakeroot, "c"))).ToNot(HaveOccurred())
err = inst.Reclaim(system)
Expect(err).ToNot(HaveOccurred())
@@ -1218,11 +1219,11 @@ urls:
Expect(err).ToNot(HaveOccurred())
// Nothing should be there anymore (files, packagedb entry)
- Expect(helpers.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
- Expect(helpers.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test5"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "test6"))).ToNot(BeTrue())
// New version - new files
- Expect(helpers.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
+ Expect(fileHelper.Exists(filepath.Join(fakeroot, "newc"))).To(BeTrue())
_, err = system.Database.GetPackageFiles(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
Expect(err).To(HaveOccurred())
_, err = system.Database.FindPackage(&pkg.DefaultPackage{Name: "b", Category: "test", Version: "1.0"})
diff --git a/pkg/installer/repository.go b/pkg/installer/repository.go
index 07b5690f..7a458b25 100644
--- a/pkg/installer/repository.go
+++ b/pkg/installer/repository.go
@@ -28,11 +28,11 @@ import (
artifact "github.com/mudler/luet/pkg/compiler/types/artifact"
compression "github.com/mudler/luet/pkg/compiler/types/compression"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
"go.uber.org/multierr"
"github.com/mudler/luet/pkg/compiler"
"github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
"github.com/mudler/luet/pkg/installer/client"
. "github.com/mudler/luet/pkg/logger"
pkg "github.com/mudler/luet/pkg/package"
@@ -723,7 +723,7 @@ func (r *LuetSystemRepository) SyncBuildMetadata(path string) error {
if err != nil {
return errors.Wrapf(err, "while downloading metadata for %s", ai.HumanReadableString())
}
- if err := helpers.Move(file, filepath.Join(path, ai.GetMetadataFilePath())); err != nil {
+ if err := fileHelper.Move(file, filepath.Join(path, ai.GetMetadataFilePath())); err != nil {
return err
}
}
@@ -810,7 +810,7 @@ func (r *LuetSystemRepository) Sync(force bool) (*LuetSystemRepository, error) {
if r.Cached {
// Copy updated repository.yaml file to repo dir now that the tree is synced.
- err = helpers.CopyFile(file, filepath.Join(repobasedir, REPOSITORY_SPECFILE))
+ err = fileHelper.CopyFile(file, filepath.Join(repobasedir, REPOSITORY_SPECFILE))
if err != nil {
return nil, errors.Wrap(err, "Error on update "+REPOSITORY_SPECFILE)
}
diff --git a/pkg/installer/repository_docker.go b/pkg/installer/repository_docker.go
index c581bdd3..f2f46009 100644
--- a/pkg/installer/repository_docker.go
+++ b/pkg/installer/repository_docker.go
@@ -24,16 +24,16 @@ import (
"strings"
"time"
- artifact "github.com/mudler/luet/pkg/compiler/types/artifact"
-
+ "github.com/mudler/luet/pkg/bus"
+ compiler "github.com/mudler/luet/pkg/compiler"
"github.com/mudler/luet/pkg/compiler/backend"
+ artifact "github.com/mudler/luet/pkg/compiler/types/artifact"
+ "github.com/mudler/luet/pkg/config"
+ "github.com/mudler/luet/pkg/helpers"
+ "github.com/mudler/luet/pkg/helpers/docker"
. "github.com/mudler/luet/pkg/logger"
pkg "github.com/mudler/luet/pkg/package"
- "github.com/mudler/luet/pkg/bus"
- compiler "github.com/mudler/luet/pkg/compiler"
- "github.com/mudler/luet/pkg/config"
- "github.com/mudler/luet/pkg/helpers"
"github.com/pkg/errors"
)
@@ -166,7 +166,7 @@ func (d *dockerRepositoryGenerator) pushImageFromArtifact(a *artifact.PackageArt
if err != nil {
return errors.Wrap(err, "failed generating checksums for tree")
}
- imageTree := fmt.Sprintf("%s:%s", d.imagePrefix, helpers.StripInvalidStringsFromImage(a.GetFileName()))
+ imageTree := fmt.Sprintf("%s:%s", d.imagePrefix, docker.StripInvalidStringsFromImage(a.GetFileName()))
if checkIfExists && d.imagePush && d.b.ImageAvailable(imageTree) && !d.force {
Info("Image", imageTree, "already present, skipping. use --force-push to override")
return nil
diff --git a/pkg/installer/repository_test.go b/pkg/installer/repository_test.go
index 5b63c9da..66e589e3 100644
--- a/pkg/installer/repository_test.go
+++ b/pkg/installer/repository_test.go
@@ -26,14 +26,15 @@ import (
"github.com/mudler/luet/pkg/compiler"
backend "github.com/mudler/luet/pkg/compiler/backend"
- compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
-
artifact "github.com/mudler/luet/pkg/compiler/types/artifact"
+ compilerspec "github.com/mudler/luet/pkg/compiler/types/spec"
config "github.com/mudler/luet/pkg/config"
"github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/installer"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/tree"
+
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
@@ -83,34 +84,34 @@ var _ = Describe("Repository", func() {
artifact, err := compiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
- Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
repo, err := stubRepo(tmpdir, "../../tests/fixtures/buildable")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, true)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_SPECFILE))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_SPECFILE))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
})
It("Generate repository metadata of files ONLY referenced in a tree", func() {
@@ -156,41 +157,41 @@ var _ = Describe("Repository", func() {
artifact, err := compiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact.Path)).To(BeTrue())
Expect(helpers.Untar(artifact.Path, tmpdir, false)).ToNot(HaveOccurred())
artifact2, err := compiler2.Compile(false, spec2)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(artifact2.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(artifact2.Path)).To(BeTrue())
Expect(helpers.Untar(artifact2.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
- content1, err := helpers.Read(spec.Rel("test5"))
+ content1, err := fileHelper.Read(spec.Rel("test5"))
Expect(err).ToNot(HaveOccurred())
- content2, err := helpers.Read(spec.Rel("test6"))
+ content2, err := fileHelper.Read(spec.Rel("test6"))
Expect(err).ToNot(HaveOccurred())
Expect(content1).To(Equal("artifact5\n"))
Expect(content2).To(Equal("artifact6\n"))
- Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
- Expect(helpers.Exists(spec2.Rel("alpine-seed-1.0.package.tar"))).To(BeTrue())
- Expect(helpers.Exists(spec2.Rel("alpine-seed-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec2.Rel("alpine-seed-1.0.package.tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec2.Rel("alpine-seed-1.0.metadata.yaml"))).To(BeTrue())
repo, err := stubRepo(tmpdir, "../../tests/fixtures/buildable")
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(tmpdir, false, true)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_SPECFILE))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_SPECFILE))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).To(BeTrue())
// We check now that the artifact not referenced in the tree
// (spec2) is not indexed in the repository
@@ -267,18 +268,18 @@ urls:
a, err := localcompiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(a.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(a.Path)).To(BeTrue())
Expect(helpers.Untar(a.Path, tmpdir, false)).ToNot(HaveOccurred())
- Expect(helpers.Exists(spec.Rel("test5"))).To(BeTrue())
- Expect(helpers.Exists(spec.Rel("test6"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test5"))).To(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel("test6"))).To(BeTrue())
repo, err := dockerStubRepo(tmpdir, "../../tests/fixtures/buildable", repoImage, true, true)
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(repoImage, false, true)
Expect(err).ToNot(HaveOccurred())
@@ -295,7 +296,7 @@ urls:
f, err := c.DownloadFile("repository.yaml")
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(f)).To(ContainSubstring("name: test"))
+ Expect(fileHelper.Read(f)).To(ContainSubstring("name: test"))
a, err = c.DownloadArtifact(&artifact.PackageArtifact{
Path: "test.tar",
@@ -310,7 +311,7 @@ urls:
Expect(err).ToNot(HaveOccurred())
Expect(a.Unpack(extracted, false)).ToNot(HaveOccurred())
- Expect(helpers.Read(filepath.Join(extracted, "test6"))).To(Equal("artifact6\n"))
+ Expect(fileHelper.Read(filepath.Join(extracted, "test6"))).To(Equal("artifact6\n"))
})
It("generates images of virtual packages", func() {
@@ -341,15 +342,15 @@ urls:
a, err := localcompiler.Compile(false, spec)
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Exists(a.Path)).To(BeTrue())
+ Expect(fileHelper.Exists(a.Path)).To(BeTrue())
Expect(helpers.Untar(a.Path, tmpdir, false)).ToNot(HaveOccurred())
repo, err := dockerStubRepo(tmpdir, "../../tests/fixtures/virtuals", repoImage, true, true)
Expect(err).ToNot(HaveOccurred())
Expect(repo.GetName()).To(Equal("test"))
- Expect(helpers.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
- Expect(helpers.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_SPECFILE))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(TREE_TARBALL + ".gz"))).ToNot(BeTrue())
+ Expect(fileHelper.Exists(spec.Rel(REPOSITORY_METAFILE + ".tar"))).ToNot(BeTrue())
err = repo.Write(repoImage, false, true)
Expect(err).ToNot(HaveOccurred())
@@ -366,7 +367,7 @@ urls:
f, err := c.DownloadFile("repository.yaml")
Expect(err).ToNot(HaveOccurred())
- Expect(helpers.Read(f)).To(ContainSubstring("name: test"))
+ Expect(fileHelper.Read(f)).To(ContainSubstring("name: test"))
a, err = c.DownloadArtifact(&artifact.PackageArtifact{
Path: "test.tar",
@@ -382,7 +383,7 @@ urls:
Expect(a.Unpack(extracted, false)).ToNot(HaveOccurred())
- Expect(helpers.DirectoryIsEmpty(extracted)).To(BeFalse())
+ Expect(fileHelper.DirectoryIsEmpty(extracted)).To(BeFalse())
content, err := ioutil.ReadFile(filepath.Join(extracted, ".virtual"))
Expect(err).ToNot(HaveOccurred())
diff --git a/pkg/installer/system.go b/pkg/installer/system.go
index 5cea19ad..496651cc 100644
--- a/pkg/installer/system.go
+++ b/pkg/installer/system.go
@@ -3,6 +3,7 @@ package installer
import (
"github.com/hashicorp/go-multierror"
"github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
. "github.com/mudler/luet/pkg/logger"
pkg "github.com/mudler/luet/pkg/package"
"github.com/mudler/luet/pkg/tree"
@@ -23,7 +24,7 @@ func (s *System) ExecuteFinalizers(packs []pkg.Package) error {
var errs error
executedFinalizer := map[string]bool{}
for _, p := range packs {
- if helpers.Exists(p.Rel(tree.FinalizerFile)) {
+ if fileHelper.Exists(p.Rel(tree.FinalizerFile)) {
out, err := helpers.RenderFiles(p.Rel(tree.FinalizerFile), p.Rel(tree.DefinitionFile))
if err != nil {
Warning("Failed rendering finalizer for ", p.HumanReadableString(), err.Error())
diff --git a/pkg/package/package.go b/pkg/package/package.go
index bf0c650a..91eb1a22 100644
--- a/pkg/package/package.go
+++ b/pkg/package/package.go
@@ -26,7 +26,8 @@ import (
"strconv"
"strings"
- "github.com/mudler/luet/pkg/helpers"
+ "github.com/mudler/luet/pkg/helpers/docker"
+ "github.com/mudler/luet/pkg/helpers/match"
version "github.com/mudler/luet/pkg/versioner"
gentoo "github.com/Sabayon/pkgs-checker/pkg/gentoo"
@@ -324,7 +325,7 @@ func (p *DefaultPackage) GetPackageName() string {
}
func (p *DefaultPackage) ImageID() string {
- return helpers.StripInvalidStringsFromImage(p.GetFingerPrint())
+ return docker.StripInvalidStringsFromImage(p.GetFingerPrint())
}
// GetBuildTimestamp returns the package build timestamp
@@ -359,19 +360,19 @@ func (p *DefaultPackage) IsHidden() bool {
}
func (p *DefaultPackage) HasLabel(label string) bool {
- return helpers.MapHasKey(&p.Labels, label)
+ return match.MapHasKey(&p.Labels, label)
}
func (p *DefaultPackage) MatchLabel(r *regexp.Regexp) bool {
- return helpers.MapMatchRegex(&p.Labels, r)
+ return match.MapMatchRegex(&p.Labels, r)
}
func (p *DefaultPackage) HasAnnotation(label string) bool {
- return helpers.MapHasKey(&p.Annotations, label)
+ return match.MapHasKey(&p.Annotations, label)
}
func (p *DefaultPackage) MatchAnnotation(r *regexp.Regexp) bool {
- return helpers.MapMatchRegex(&p.Annotations, r)
+ return match.MapMatchRegex(&p.Annotations, r)
}
// AddUse adds a use to a package
diff --git a/pkg/tree/compiler_recipe.go b/pkg/tree/compiler_recipe.go
index 7bd4bcb1..d95207fb 100644
--- a/pkg/tree/compiler_recipe.go
+++ b/pkg/tree/compiler_recipe.go
@@ -26,6 +26,7 @@ import (
"path/filepath"
"github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
pkg "github.com/mudler/luet/pkg/package"
"github.com/pkg/errors"
)
@@ -61,7 +62,7 @@ type CompilerRecipe struct {
// and the build context required for reproducible builds
func (r *CompilerRecipe) Save(path string) error {
for _, p := range r.SourcePath {
- if err := helpers.CopyDir(p, filepath.Join(path, filepath.Base(p))); err != nil {
+ if err := fileHelper.CopyDir(p, filepath.Join(path, filepath.Base(p))); err != nil {
return errors.Wrap(err, "while copying source tree")
}
}
@@ -102,7 +103,7 @@ func (r *CompilerRecipe) Load(path string) error {
// Instead of rdeps, have a different tree for build deps.
compileDefPath := pack.Rel(CompilerDefinitionFile)
- if helpers.Exists(compileDefPath) {
+ if fileHelper.Exists(compileDefPath) {
dat, err := helpers.RenderFiles(compileDefPath, currentpath)
if err != nil {
@@ -149,7 +150,7 @@ func (r *CompilerRecipe) Load(path string) error {
// Instead of rdeps, have a different tree for build deps.
compileDefPath := pack.Rel(CompilerDefinitionFile)
- if helpers.Exists(compileDefPath) {
+ if fileHelper.Exists(compileDefPath) {
raw := packsRaw.Find(pack.GetName(), pack.GetCategory(), pack.GetVersion())
buildyaml, err := ioutil.ReadFile(compileDefPath)
diff --git a/pkg/tree/installer_recipe.go b/pkg/tree/installer_recipe.go
index 94f0713b..cc2496f3 100644
--- a/pkg/tree/installer_recipe.go
+++ b/pkg/tree/installer_recipe.go
@@ -26,8 +26,9 @@ import (
"os"
"path/filepath"
- "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
pkg "github.com/mudler/luet/pkg/package"
+
"github.com/pkg/errors"
)
@@ -61,8 +62,8 @@ func (r *InstallerRecipe) Save(path string) error {
}
// Instead of rdeps, have a different tree for build deps.
finalizerPath := p.Rel(FinalizerFile)
- if helpers.Exists(finalizerPath) { // copy finalizer file from the source tree
- helpers.CopyFile(finalizerPath, filepath.Join(dir, FinalizerFile))
+ if fileHelper.Exists(finalizerPath) { // copy finalizer file from the source tree
+ fileHelper.CopyFile(finalizerPath, filepath.Join(dir, FinalizerFile))
}
}
@@ -71,7 +72,7 @@ func (r *InstallerRecipe) Save(path string) error {
func (r *InstallerRecipe) Load(path string) error {
- if !helpers.Exists(path) {
+ if !fileHelper.Exists(path) {
return errors.New(fmt.Sprintf(
"Path %s doesn't exit.", path,
))
diff --git a/pkg/tree/recipes.go b/pkg/tree/recipes.go
index 8949706b..28a48e64 100644
--- a/pkg/tree/recipes.go
+++ b/pkg/tree/recipes.go
@@ -26,9 +26,10 @@ import (
"os"
"path/filepath"
- helpers "github.com/mudler/luet/pkg/helpers"
+ fileHelper "github.com/mudler/luet/pkg/helpers/file"
pkg "github.com/mudler/luet/pkg/package"
spectooling "github.com/mudler/luet/pkg/spectooling"
+
"github.com/pkg/errors"
)
@@ -77,7 +78,7 @@ func (r *Recipe) Load(path string) error {
// if err != nil {
// return err
// }
- if !helpers.Exists(path) {
+ if !fileHelper.Exists(path) {
return errors.New(fmt.Sprintf(
"Path %s doesn't exit.", path,
))