Tested with the standalone controller.
Without this patch, the daemon fails to build an image:
ERRO[0008] /control.Control/Solve returned error: Lockfiles must be
given as absolute path names
error creating lockfile
.buildstate/content/ingest/b8bc9e0954dc1413b6ffd69c106a1d8967130398f50626b5c5a098c5149b0bf3/lock
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/content.(*store).ingestPaths
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/content/store.go:369
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/content.(*store).Writer
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/content/store.go:233
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/remotes.fetch
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/remotes/handlers.go:60
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/remotes.FetchHandler.func1
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/remotes/handlers.go:50
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images.HandlerFunc.Handle
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images/handlers.go:33
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images.Handlers.func1
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images/handlers.go:43
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images.HandlerFunc.Handle
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images/handlers.go:33
github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images.Dispatch.func1
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/github.com/containerd/containerd/images/handlers.go:103
github.com/tonistiigi/buildkit_poc/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
/home/suda/gopath/src/github.com/tonistiigi/buildkit_poc/vendor/golang.org/x/sync/errgroup/errgroup.go:58
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:2197
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
According to documentation (https://docs.docker.com/engine/reference/builder/#dockerignore-file), absolute paths like `/foo/bar` should have the same effect as `foo/bar`. This is not the case today.
This fix normalize paths when reading the .dockerignore file by removing
leading slashes.
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
This fix tries to address issues related to #23221 where Dockerignore
may consists of UTF-8 BOM. This likely happens when Notepad
tries to save a file as UTF-8 in Windows.
This fix skips the UTF-8 BOM bytes from the beginning of the
Dockerignore if exists.
Additional tests has been added to cover the changes in this fix.
This fix is related to #23221 (UTF-8 BOM in Dockerfile).
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This fix tries to address the issue raised in #20083 where
comment is not supported in `.dockerignore`.
This fix updated the processing of `.dockerignore` so that any
lines starting with `#` are ignored, which is similiar to the
behavior of `.gitignore`.
Related documentation has been updated.
Additional tests have been added to cover the changes.
This fix fixes#20083.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
filepath.Clean converts filenames to filenames with native path
separators. Use ToSlash to normalize.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>