This update requires a few workaround for the non-standard vendor/ structure in the docker-engine repository. First, as the vendor/ directory exists, our go-post-process script does not do the vendoring, and exits early, which is exactly what we need. Second, docker-engine does not use the "new" go.mod mechanism, so it does not ship any go.mod file, so our go-post-proces, exiting early, does not check that the go.mod file exists, and thus does not fail, which is again exactly what we need. Third, docker-engine has an invalid vendor/modules.txt file that we need to remove or go would fail to build. Since our go-post-process exits early, there is no vendoring, and thus it does not break at download, which once more is exactly what we need. However, the missing go.mod and the problematic vendor/modules.txt cause go to fail at build time, which this time is not really, even really not, what we want... So, we fix it up in two ways. First, the easy part: we just remove the problematic vendor/modules.txt file. Second, we create a go.mod to tell the Go compiler the root import path prefix for the module and the language version. Note that the language version in go.mod is not required to be equal the version of the Go compiler. Reference: https://github.com/moby/moby/issues/44618#issuecomment-1343565705 Note that as of v23.0.0 docker-engine expects containerd to be started by systemd if --containerd= flag is set in dockerd.service, whereas in previous versions containerd was started by the docker daemon as a sub-process. There is no sysv unit for containerd, but this is OK: in the Docker sysv init file S60dockerd, we do not set the --containerd flag. The docker daemon will start containerd as a sub-process automatically due to the absence of this flag. Signed-off-by: Christian Stewart <christian@paral.in> [yann.morin.1998@free.fr: - run fixups in post-extract hook - rework commit log for (hopefully) better explanations ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches