Commit Graph

592 Commits

Author SHA1 Message Date
Mark Asselstine
d3c6004e92 criu: force python to install in ${libdir}
Historically Yocto installs python modules in ${libdir} and not the
no-arch variant. The criu install was following every other distros
use of the non-arch variant, /usr/lib, which was being picked up by
the QA check. Modify the criu Makefile to enable us to overwrite this
location by using setup.py's install-lib directive.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-24 22:51:29 -04:00
Mark Asselstine
76c38f219d criu: depend on util-linux-native
To provide hexdump which is used as part of the build process. Resolves

| criu/pie/../../scripts/gen-offsets.sh: line 37: hexdump: command not found
| criu/pie/Makefile:96: recipe for target 'criu/pie/parasite-blob.h' failed

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-24 22:51:29 -04:00
Mark Asselstine
a0524380e8 crui: update selinux patch to apply to v2.5
I am not sure how the uprev to v2.5 was completed without seeing this
patch failure but regardless the file being patched was moved to the
'criu' directory as part of the v2.5 release. Update the path found in
the patch and update the context in the patch such that it applies.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-24 22:51:29 -04:00
Rob Woolley
67c86c4962 libvirt: Fix conditional dependencies on polkit
The DIRFILES variable was a temporary workaround to resolve a do_rootfs
RPM package conflict between libvirt and polkit.

This happened because of the different permissions and ownership that the
packages placed on ${datadir}/usr/share/polkit-1/rules.d.

The behaviour is now conditional based on how PACKAGECONFIG is set.  The
polkit rules will be removed from the package if polkit is not enabled.
If polkit is enabled the permissions and ownership are set to match those
set by the polkit recipe.

This uses the useradd enhancements for RSS.  It requires that shadow-native
be included as a DEPENDS to provide the useradd command in the native
sysroot.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-24 22:51:26 -04:00
Mark Asselstine
a20d51d5c6 housekeeping: swap out go-osarchmap in favor of goarch
Continue work to use go infra in oe-core instead of the support for go
previously found in meta-virt. This is a 1:1 drop in replacement and
removes one more go piece from meta-virt in favor of the common
support found in oe-core.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-11 23:09:01 -04:00
Bruce Ashfield
752fde1f87 runc/containerd: use go.bbclass for dependencies
Rather than explicit go-cross DEPENDS, we can inherit go.bbclass and
pick up them automatically.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-11 23:07:52 -04:00
Paul Barker
651bbe8bc4 cgroup-lite: Inherit allarch
This recipe just installs a pair of shell scripts.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-10 08:47:25 -04:00
Paul Barker
269a9208fb netns: Update to latest HEAD
There have been a couple of fixes and new features upstream, let's bring
them in. The upstream URL has also changed slightly.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-10 08:47:25 -04:00
Paul Barker
820050481f runc-opencontainers: Update to v1.0.0-rc3
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-10 08:47:25 -04:00
Bruce Ashfield
3786ca8902 kernel: drop 4.8 bbappend
4.8 is no longer in oe-core master, so we drop the bbappend

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-31 08:20:22 -04:00
Mark Asselstine
4e130b7165 openvswitch: uprev to the recently released v2.7.0
This version of OVS was released on Feb. 21. Bringing our recipe up to
date with the latest release ensure we have all the latest CVE fixes
as well as any new functionality that folks might be looking
for. Additionally we are better situated to support up to date
releases of DPDK (v16.11 in this case). No surprises with the uprev,
it passes all usecase tests (meta-overc) and ptest results are much
the same as the results we had in v2.6.1. While completing the uprev I
took the opportunity to do some cleanup of patches that were no longer
used or required.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-29 21:53:57 -04:00
Jonatan Pålsson
ea05b2693a lxc: Add lua to PACKAGECONFIG
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>
2017-03-28 09:09:41 -04:00
Khem Raj
bccfd5ddb9 kvmtool: Fix unaligned pointer access warning
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-24 09:28:24 -04:00
Khem Raj
e858c02c42 lxc: Remove gcc-5 specific workaround
We are using gcc6 now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-24 09:28:24 -04:00
Bruce Ashfield
7bf6863a5a docker: use oe-core go infrastructure
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>
2017-03-22 17:20:11 -04:00
Khem Raj
7c73258abc protobuf-native: Drop PR = 0
Drop PR setting to 0 its default anyway

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-21 16:28:09 -04:00
Khem Raj
ada96ec99c lxc: rdepend on glibc-utils when using glibc only
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>
2017-03-21 16:28:09 -04:00
Khem Raj
e62cc69909 protobuf-native: Enable shared libs
protobuf-c needs shared libraries, linking with static libs
ends up with undefined symbols

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-21 16:28:09 -04:00
Khem Raj
a8e3eddaec recipes-containers: set GOROOT
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-21 08:22:32 -04:00
Khem Raj
1b83c21436 openvswitch: Fix build with musl libc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-21 08:22:26 -04:00
Khem Raj
da1272171f seabios: Its x86 only package
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-21 08:22:23 -04:00
Khem Raj
92e9470ad9 kvmtool: Update to latest
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-21 08:22:20 -04:00
Bruce Ashfield
b199517966 libvirt: fix polkit file conflict
The switch to RPM4 and dnf results in this error during rootfs construction:

  Error: Transaction check error:
    file /usr/share/polkit-1/rules.d conflicts between attempted installs of libvirt-1.3.5-r0.13.core2_64 and polkit-0.113-r0.9.core2_64

We can temporarily work around it by instructing RPM to not package/process
the dirfiles.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-20 23:57:39 -04:00
Bruce Ashfield
7d66b0cc41 go: replace explicit go-cross* with inherit go bbclass
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>
2017-03-20 23:15:01 -04:00
Bruce Ashfield
a050e7a61d go: use inherit go versus explicit DEPENDS
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>
2017-03-20 15:55:03 -04:00
Bruce Ashfield
b44fce825d tools: remove go from meta-virtualization
go is now part of oe-core, so we can drop the meta-virt local recipes.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-20 12:45:10 -04:00
Bruce Ashfield
260add1874 kernel: add 4.9 and 4.10 bbappends
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-15 19:24:11 -04:00
Zhenbo Gao
f26d43b773 libvirt: fix QA warning caused by missing acl build dep
The patch fix the following QA warning:
--
WARNING: QA Issue: libvirt rdepends on libacl, but it isn't a build dependency? [build-deps]

Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-14 10:12:11 -04:00
Mark Asselstine
d90285a353 openvswitch: add missing depends on coreutils-native
I was getting the following error when building the latest master:

  ../git/build-aux/calculate-schema-cksum: cksum: not found
  ../git/build-aux/calculate-schema-cksum: cksum: not found

Adding coreutils-native which supplies 'cksum' resolved this.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-03-13 09:25:01 -04:00
Bruce Ashfield
5c501c8ec8 docker-registry: provide via docker-distribution
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>
2017-03-12 00:32:33 -05:00
Bruce Ashfield
c5cd21af5f docker: remove obsolete docker-registry recipe
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>
2017-02-27 15:25:39 -05:00
Bruce Ashfield
c85b181e7e docker: add docker-proxy
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>
2017-02-26 22:28:47 -05:00
Bruce Ashfield
7d6284a079 runc/containerd: create virtual/runc and virtual/containerd
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>
2017-02-20 02:06:22 -05:00
Bruce Ashfield
776422fa04 oci-image-tools: use go-cross-${ARCH}
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-17 13:26:56 -05:00
Bruce Ashfield
6d05401c38 docker: use .service file from contrib
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>
2017-02-17 13:26:09 -05:00
Mark Asselstine
9f8e6b8550 runc: uprev to version required by docker 1.13.0
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>
2017-02-15 14:58:44 -05:00
Mark Asselstine
debdd70e98 containerd: uprev to version required by docker 1.13.0
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>
2017-02-15 14:58:37 -05:00
Bruce Ashfield
b18acd8bc4 oci: introduce oci-image-tools (and dependencies)
The oci image tools allow the easy manipulation of containers and
bundles.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-15 14:57:35 -05:00
Jan Kiszka
88a28bbbeb containerd: Fix build on 386
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>
2017-02-10 16:16:55 -05:00
Fathi Boudra
c478d69c1b docker: downgrade lxc/docker-registry/rt-tests to suggests
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>
2017-02-09 09:15:25 -05:00
Mark Asselstine
b2c365c371 docker: fixup failing build
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>
2017-02-09 09:14:27 -05:00
Mark Asselstine
2ef58c264b go-cross: add ${TARGET_ARCH} to PN
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>
2017-02-09 09:14:27 -05:00
Mark Asselstine
d475adc71b go-native: rename to go-initial-native
With the new per recipe sysroots we were having build issues since the
bootstrap version of go (go-native 1.4) was being found and not the
go-cross (1.6) we are expecting. This results in errors such as the
following when building packages such as containerd:

  _cgo_.o: decoding dwarf section info at offset 0x4: unsupported version 0

This is caused by the dependency tree built up to prepare the per
recipe sysroot. Since recipes like containerd DEPEND on go-cross and
go-cross DEPENDS on go-native both are installed but unlike the old
global sysroot the dependency parsing order results in go-native being
last, overwriting go-cross. You can see this by running a devshell for
containerd and running 'go version'.

By adding '-initial' in the name we exploit functionality in
sstate.bbclass that is already in place to handle gcc-initial and
similar. This results in only explicit DEPENDS on go-native being
enforced, so in the case of containerd we only get a dependency on
go-cross and we therefor get go 1.6 as expected.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-09 09:14:26 -05:00
Amarnath Valluri
ee0b5e316a libvirt: Place systemd units at appropriate location.
Systemd untis should be placed as per ${systemd_system_unitdir}.

Patched the source code to support configure variable to set the systemd units
directory.

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-09 09:13:57 -05:00
Amarnath Valluri
0343d3f8bb lxc: Make use of bitbake variables where appropriate.
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-09 09:13:57 -05:00
Amarnath Valluri
0ea0ae357a docker: Replace /usr/share with ${datadir}
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>
2017-02-09 09:13:56 -05:00
Amarnath Valluri
a2e5525909 containerd: Replace /lib/systemd/system with ${systemd_system_unitdir}
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>
2017-02-09 09:13:56 -05:00
Mark Asselstine
a9616ca504 lxc: fixup builds with newer glibc
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>
2017-02-02 15:55:38 -05:00
Mark Asselstine
31522fd942 go-cross: depend on virtual/${TARGET_PREFIX}gcc
This fixes the compile time error

 #runtime/cgo
 exec: "x86_64-overc-linux-gcc": executable file not found in $PATH

Since we set CC_FOR_TARGET to ${TARGET_PREFIX}gcc we need to ensure
this is present by adding it to the recipe DEPENDS.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-01 13:02:47 -05:00
Lans Zhang
ab373099f5 containered|runc: override GOROOT at build time
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>
2017-01-21 23:17:34 -05:00