summaryrefslogtreecommitdiffstats
path: root/recipes-containers
Commit message (Collapse)AuthorAgeFilesLines
* lxc: Add lua to PACKAGECONFIGJonatan Pålsson2017-03-281-0/+4
| | | | | | | | | | | | Lua support is automatically enabled when configuring LXC if lua is available in the sysroot. The packaging step will fail since the lua related files are not in FILES. This patch explicitly enables/disables lua support using PACKAGECONFIG, and also adds lua-related files to FILES. Signed-off-by: Jonatan Pålsson <jonatan.palsson@pelagicore.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: Remove gcc-5 specific workaroundKhem Raj2017-03-241-3/+0
| | | | | | | We are using gcc6 now Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: use oe-core go infrastructureBruce Ashfield2017-03-221-27/+4
| | | | | | | | The docker recipe has some outdated go hacks. While this doesn't remove them all, it does use more of the oe-core go infrastructure .. and that results in more consistent builds. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: rdepend on glibc-utils when using glibc onlyKhem Raj2017-03-211-0/+3
| | | | | | | | glibc-utils is only provided by glibc therefore add it with glibc overrides. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* recipes-containers: set GOROOTKhem Raj2017-03-215-5/+5
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go: replace explicit go-cross* with inherit go bbclassBruce Ashfield2017-03-204-6/+6
| | | | | | | | Rather than expliciting depending on go-cross-${TARGET_ARCH}, we can now simply inherit the oe-core go bbclass. This gets us the correct go dependencies and other variables properly set. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go: use inherit go versus explicit DEPENDSBruce Ashfield2017-03-201-2/+2
| | | | | | | We can now use the oe-core go bbclass to get our DEPENDS correct for building these go packages. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker-registry: provide via docker-distributionBruce Ashfield2017-03-123-10/+77
| | | | | | | | | | | | | | Follow the bouncing docker-registry package. Rather than use the docker hub registry container, we can have finer grained control if we clone and build the docker-distribution repository directly. Since this is distinct from the main docker package/codebase, we break the registry back out into its own package. We also create a baseline configuration and .service file that can be the basis for more complex implementations. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: remove obsolete docker-registry recipeBruce Ashfield2017-02-277-369/+30
| | | | | | | | | | | | | | | | | | | The docker v1 registry has long been depreciated and moved into the docker distribution library. The registry is run via the docker CLI and not through a standalone server. This change removes the old registry and adds a .service file + package for docker registry in the main docker recipe. Anyone that wants to run a local registry can install the docker-registry package and the service will start. Note: No full config.yml file is provided, since the default are sane. If tweaks are required, we can use ENV vars or consider adding a config overlay. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: add docker-proxyBruce Ashfield2017-02-261-3/+14
| | | | | | | | | | | | Most (all) distros package docker-proxy along with the docker CLI and daemon .. largely due to the fact that it is required to run the docker registry. docker-proxy is part of the libnetwork repository, so we add it to the docker recipe as a separate git repo and integrate it into the build and packaging process. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc/containerd: create virtual/runc and virtual/containerdBruce Ashfield2017-02-207-15/+40
| | | | | | | | | | | | | | Since there are two implementations of runc and containerd that may not always be in sync, the docker variant, and the opencontainers variable, we create a virtual/* namespace for these components. Anything requiring runc or containerd should set a preferred provider to get the desired/tested variant. We set the default provider to the docker variants, since they are the primary use case for these components. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* oci-image-tools: use go-cross-${ARCH}Bruce Ashfield2017-02-171-1/+1
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: use .service file from contribBruce Ashfield2017-02-171-2/+1
| | | | | | | | Oru existing docker.service file is using an out of date command. We can use the contrib .service file instead .. and hopefully it will stay up to date. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: uprev to version required by docker 1.13.0Mark Asselstine2017-02-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | At the moment we only use runc in conjunction with docker. In order to allow docker to function correctly we need to use the version specified in docker's vendor.conf file. Uprev runc to this version. NOTE that the docker folks have actually forked runc and I have used this fork as the SRC_URI. I could have chosen instead to use the old SRC_URI along with the fork point commit as the SRCREV, and then applied the 2 commits the docker team have added beyond the fork. I opted instead to use the fork such that 'docker info' would not complain about a version mismatch. This also makes it easier to google for issues since the commit ID matches. NOTE when we eventually have more users of runc we will have to determine a strategy to either have them all use the same version or allow for multiple versions of runc on the system. This is also true for containerd. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containerd: uprev to version required by docker 1.13.0Mark Asselstine2017-02-151-3/+3
| | | | | | | | | | | | Docker defines required dependency versions in its vendor.conf file. These can also be validated by running 'docker info' on the running system. In order to avoid issues, such as the current one where docker can't run containers, we need to ensure we match these versions. Uprev containerd to the version defined in docker's vendor.conf file. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* oci: introduce oci-image-tools (and dependencies)Bruce Ashfield2017-02-157-0/+306
| | | | | | | The oci image tools allow the easy manipulation of containers and bundles. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containerd: Fix build on 386Jan Kiszka2017-02-101-0/+3
| | | | | | | Go only understands "386" as target arch, not "i586". Adjust this. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: downgrade lxc/docker-registry/rt-tests to suggestsFathi Boudra2017-02-091-2/+2
| | | | | | | | | Regular users don't need lxc, docker-registry and rt-tests on the target. These tools aren't even needed or provide additional features when running docker at runtime. They also increase the size of the image uneccessarily. Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: fixup failing buildMark Asselstine2017-02-091-1/+5
| | | | | | | | | | | | | | Docker is failing to build because it is attempting to download missing go dependencies. Add new recipes for missing dependencies and update existing recipes to ensure the version defined in docker's vendor.conf is available. Note that this fixes the build only. At this time many docker functions are working, such as 'docker image', 'docker pull' and more, but 'docker run' is currently failing. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go-cross: add ${TARGET_ARCH} to PNMark Asselstine2017-02-095-5/+5
| | | | | | | | | | | | Since we are building a cross tool which produces something which is ARCH specific we should stick to the <toolname>-cross-<arch> naming convention. A variant of this patch has been floating around for a while but with the changes around per recipe sysroots, distributed builds, shared builds... we are best served to adopt this convention now. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: Make use of bitbake variables where appropriate.Amarnath Valluri2017-02-091-4/+3
| | | | | Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: Replace /usr/share with ${datadir}Amarnath Valluri2017-02-091-5/+5
| | | | | | | Make use of bitbake variable where appropriate, this makes the recipe portable. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containerd: Replace /lib/systemd/system with ${systemd_system_unitdir}Amarnath Valluri2017-02-091-1/+1
| | | | | | | Make use of bitbake variable where appropriate, this makes the recipe portable. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: fixup builds with newer glibcMark Asselstine2017-02-022-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | The poky/oe-core commit [glibc: Upgrade to 2.25 snapshot] brought with it a change that has apparently been in the works for a while, to move major() and minor() definitions from <sys/types.h> to <sys/sysmacros.h>. This version of glibc took the step of adding a warning about this change which results in the build failure of lxc since we build with -Werror: | lxclvm.c:139:13: error: In the GNU C Library, "major" is defined | by <sys/sysmacros.h>. For historical compatibility, it is | currently defined by <sys/types.h> as well, but we plan to | remove this soon. To use "major", include <sys/sysmacros.h> | directly. If you did not intend to use a system-defined macro | "major", you should undefine it after including <sys/types.h>. [-Werror] | major(statbuf.st_rdev), minor(statbuf.st_rdev)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Instead of dropping -Werror we are opting instead to apply the upstream fix for this since it is available and applies relatively cleanly. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containered|runc: override GOROOT at build timeLans Zhang2017-01-212-0/+2
| | | | | | | | Similar to commit 01aa8f1, runc and containered also need to set GOROOT explicitly. Signed-off-by: Lans Zhang <jia.zhang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: fixup builds broken by uprev to 1.13Mark Asselstine2017-01-202-1/+117
| | | | | | | | | | | | | | | | | | This new version of docker starts to assume that go 1.7 is used. Specifically in go 1.7 golang.org/x/net/context has been merged so the include is starting to be shortened to simply "context" which does not work when using go 1.6. We can continue to use go 1.6 by using the full pkg path. Additionally the docker-proxy is not built when using the hacks build mechanism, as we do to build docker (ie. we don't build docker in a docker container). We could probably find a way to build docker-proxy using the build hacks, but for now we will simply drop docker-proxy from the package. In an embedded env. using the proxy doesn't make a lot of sense anyways. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: update to 1.13.0 releaseFathi Boudra2017-01-201-2/+2
| | | | | | | Adjust SRCREV and DOCKER_VERSION to match docker 1.13.0 release. Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containers/oci: introduce riddler packageBruce Ashfield2017-01-161-0/+48
| | | | | | riddler is useful for converting docker container to runc OCI spec json. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: add rdepends to initscriptsfli2017-01-041-0/+1
| | | | | | | | | lxc's postinst will run populate-volatile.sh scripts, which is provided by initscripts package, thus it's better to add this rdepends. Signed-off-by: fli <fupan.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: cosmetic - fix indentationFathi Boudra2017-01-031-4/+5
| | | | | | | | | cosmetic only, no changes in behavior: * align all the DEPENDS, better readability * fix indentation in do_install(): space -> tab Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: use a switch to set GOARCH based on TARGET_ARCH valueFathi Boudra2017-01-031-8/+23
| | | | | | | | | It allows to: * easily extend future architecture added/supported * tune arm architecture and set GOARM as appropriate Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: update descriptionFathi Boudra2017-01-031-4/+4
| | | | | | | | * reword docker officially supported hosts section * bump minimal required kernel from 3.8 to 3.10 Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: update to docker 1.12.5 releaseFathi Boudra2017-01-031-2/+2
| | | | | Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* oci: introduce runtime toolsBruce Ashfield2016-11-211-0/+35
| | | | | | | | | | The oci runtime uses config.json to configure and control containers. Most of that file can be generated via the oci runtime tools. With this package we can generate container configurations dynamically on the target. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: introduce oci-systemd-hookBruce Ashfield2016-11-213-0/+100
| | | | | | | | | | To support running "OS containers" aka systemd as the entry point under runc, we provide the oci-systemd-hook. By adding this to the pre-start and stop hook points, coupled with the proper config.json, you can start systemd controlled containers via runc. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: move .debug directory to debug packageIgor Socec2016-11-111-1/+1
| | | | | | | | Bitbake reports a [debug-files] QA Issue for the following path: packages-split/lxc/usr/lib/lxc/lxc/hooks/.debug/unmount-namespace Signed-off-by: Igor Socec <igor.socec@pelagicore.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: install script config-check.shStefan Lengfeld2016-11-031-0/+6
| | | | | | | | | | | The script /usr/share/docker/config-check.sh is very useful to test all kernel requirements for docker. A lot of embedded boards will use a custom kernel config that does not have all kernel features enabled by default. Install the script so kernel developer can easily enable the missing features. Signed-off-by: Stefan Lengfeld <s.lengfeld@phytec.de> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containerd: use the target toolchain to build cgo componentsMark Asselstine2016-10-121-0/+2
| | | | | | | | | We need to ensure we are using the target toolchain and sysroot to avoid possible host contamination, and in the case of non x86-64 target builds, allow the build to complete successfully. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: add glibc-utils to rdependWenlin Kang2016-10-121-0/+1
| | | | | | | | getent is needed by lxc-net of lxc, but current system misses it, so add glibc-utils to lxc's rdepend, fix this issue. Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: uprev to 2.5Jianchuan Wang2016-09-124-82/+140
| | | | | Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* cgroup-lite: update to version 1.11Mark Asselstine2016-08-311-3/+3
| | | | | | | | This is a small package so despite the large version jump the changes are minor, mostly bug fixes and some work around systemd. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: update license md5sumMark Asselstine2016-08-311-1/+1
| | | | | | | | | Seems upstream adjusted their LICENSE file. The license is still Apache version 2 so no worries about having to update the LICENSE string for the recipe. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: cgroup-lite is not required with systemdMark Asselstine2016-08-311-1/+3
| | | | | | | | | Systemd takes care of setting up the various cgroup mounts at boot, and likewise the tearing down of these at shutdown. It is therefor a useless dependency when we are using systemd. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containers: uprev docker (1.12.0), runc (1.0.0-rc) and containerd (0.2.2)Bruce Ashfield2016-07-273-10/+11
| | | | | | | Bumping the version of docker and dependencies. This gets us closer to runc 1.0, which is the foundation for future OCI efforts. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: fix GNU hash QA warningBruce Ashfield2016-07-221-2/+2
| | | | | | | | | | | | | The docker build isn't properly using CFLAGS/LDFLAGS, which triggers the following QA error: ERROR: docker-1.11.1+git5604cbed50d51c4039b1abcb1cf87c4e01bce924-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'docker/1.11.1+git5604cbed50d51c4039b1abcb1cf87c4e01bce924-r0/packages-split/docker/usr/bin/docker' [ldflags] ERROR: docker-1.11.1+git5604cbed50d51c4039b1abcb1cf87c4e01bce924-r0 do_package_qa: QA run found fatal errors. Please consider fixing them ERROR: docker-1.11.1+git5604cbed50d51c4039b1abcb1cf87c4e01bce924-r0 do_package_qa: Function failed: do_package_qa ERROR: Logfile of failure stored in: tmp/work/core2-64-overc-linux/docker/1.11.1+git5604cbed50d51c4039b1abcb1cf87c4e01bce924-r0/temp/log.do_package_qa.63906 ERROR: Task meta-virtualization/recipes-containers/docker/docker_git.bb:do_package_qa (meta-virtualization/recipes-containers/docker/docker_git.bb:do_package_qa) failed with exit code '1' Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: fixes lxc segment fault issue on arm if it is compiled with GCC 5.2fli2016-07-151-0/+3
| | | | | | | | | | | | | If the lxc is compiled with gcc 5.2 -O2 optimization on arm, lxc-console/lxc-stop command always produce segment fault. The same issue also occurred on systemd: [YOCTO #8291] For lxc, after several testing, it only needs to disable schedule-insns2 to fix the segment fault issue. Signed-off-by: fli <fupan.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: Use go-osarchmap to set GOARCHPaul Barker2016-06-171-8/+3
| | | | | | | | | | | | When building for qemux86 the following error was encountered due to GOARCH being set incorrectly: compile: unknown architecture "i586" This can be fixed by using the go-osarchmap class. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: Backport fix for building against muslPaul Barker2016-06-172-0/+49
| | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker-registry: Make version dependence compatible with opkgFabio Berton2016-06-171-13/+13
| | | | | | | | | | | | | | | | | | | | | | | Some recipes in RDEPENDS are installing specific version of package, for example: gunicorn (= 19.1.1) If usigin ipk for PACKAGE_CLASSES, opkg prints error: Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for docker: * gunicorn (= 19.1.1) * * opkg_install: Cannot install package docker. This error is caused because opkg appends package revision to version. In this case: gunicorn_19.1.1-r0.1 If we use comparator >= this error doesn't appear. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: fix build-deps qa warningKai Kang2016-06-062-4/+34
| | | | | | | | | | | | | It shows warning when build crius if libselinux has been built already: WARNING: QA Issue: criu rdepends on libselinux, but it isn't a build dependency? [build-deps] Add a patch to disable selinux support when 'selinux' is not in PACKAGECONF. And update indentation at same time. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>