This fixes panics in the moby integration of buildkit when using cache.
Panics come from nil Differ in computeBlobChain which is called in GetRemote().
GetRemote() got moved from Worker to ImmutableRef during the lazy-pull refactor.
However, the ability to easily override GetRemote() got lost with that refactor.
This patch attempts to allow for the override while keeping changes minimal.
Signed-off-by: Tibor Vass <tibor@docker.com>
mountinfo v0.4.0
------------------------
Breaking changes:
* `PidMountInfo` is now deprecated and will be removed before v1.0; users should
switch to `GetMountsFromReader`
Fixes and improvements:
* run filter after all fields are parsed
* correct handling errors from `bufio.Scan`
* documentation formatting fixes
mountinfo v0.3.1
------------------------
Breaking changes:
* `FstypeFilter` is changed to `FSTypeFilter` to be in-line with the field name.
Fixes and improvements:
* Fixed `FilterFunc` doc.
mountinfo v0.3.0
------------------------
Breaking changes:
* Some field names of `struct Mountinfo` are changed to be more in-line with Go
naming conventions. Users need to be converted.
Fixes and improvements:
* Fixed per-package doc to be shown by `go doc`
* Make `GetMountsFromReader` Linux-specific.
* OpenBSD support added (same code as FreeBSD; not tested).
mountinfo v0.2.0
------------------------
Bug fixes:
* Fix path unescaping for paths with double quotes
Improvements:
* `Mounted`: speed up by adding fast paths using `openat2` (Linux-only, #29) and `stat`
* `Mounted`: relax path requirements (allow relative, non-cleaned paths, symlinks)
* Unescape `fstype` and `source` fields
* Documentation improvements
Testing/CI:
* Unit tests: exclude darwin
* CI: run tests under Fedora 32 to test openat2
* `TestGetMounts`: fix for Ubuntu build system
* Makefile: fix ignoring test failures
* CI: add cross build
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
mount v0.1.1
------------------------
Improvements:
- `RecursiveUnmount`: add a fast path
- `Unmount`: improve doc
- fix CI linter warning on Windows
Testing/CI:
- Unit tests: exclude darwin
- Makefile: fix ignoring test failures
- CI: add cross build
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
QEMU usermode emulation is robust enough for running `apk add --no-cache
git xz`, so can we can safely remove the pre-built git stage.
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Currently moby/buildkit image misses fuse dependency (fusermount) so currently
stargz support doesn't work on that image. This commit fixes this issue.
Signed-off-by: ktock <ktokunaga.mail@gmail.com>
full diff: 4634ce647c...c2cc352355
also adds github.com/cilium/ebpf as a dependency, which I set to the same
version as is set in containerd/cgroups version
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Strategy taken:
# install filter-repo (https://github.com/newren/git-filter-repo/blob/main/INSTALL.md)
brew install git-filter-repo
cd ~/projects
# create a temporary clone of docker
git clone https://github.com/docker/docker.git docker_TEMP
cd docker_TEMP
# remove the origin remote (just for safety)
git remote remove origin
# create branch to work with
git checkout -b migrate_dockerignore
# remove all code, except for builder/dockerignore, and rewrite the files to frontend/dockerfile/dockerignore.
git filter-repo --force --path builder/dockerignore --path-rename builder/dockerignore:frontend/dockerfile/dockerignore
# check the results
tree
.
└── frontend
└── dockerfile
└── dockerignore
├── dockerignore.go
└── dockerignore_test.go
3 directories, 2 files
# go to the target github.com/moby/sys repository
cd ~/projects/buildkit
# create a branch to work with
git checkout -b integrate_dockerignore
# add the temporary repository as an upstream and make sure it's up-to-date
git remote add docker_TEMP ~/projects/docker_TEMP
git fetch docker_TEMP
# merge the upstream code
git merge --allow-unrelated-histories --signoff -S docker_TEMP/migrate_dockerignore
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
`cmd/buildkitd/config` pkg is imported and used by other packages including
moby/moby.
Though stargz snapshotter configuration is currently effective only with
buildkitd + OCI worker, `cmd/buildkitd/config` consumer needs to introduce an
indirect dependency to stargz snapshotter's config pkg
(`github.com/containerd/stargz-snapshotter/stargz/config`), which is too much.
This commit solves this by delaying decoding the stargz config until OCI
worker's initialization phase.
Signed-off-by: ktock <ktokunaga.mail@gmail.com>