Commit Graph

1066 Commits

Author SHA1 Message Date
Bruce Ashfield
7e5219669f crun: switch branch to main
crun has renamed master -> main, so we adjust our fetching to
match.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-05-19 09:10:53 -04:00
Bruce Ashfield
16648c2e9c go-systemd: explicitly specify branch
The upstream project has removed the master branch in favour of
'main'.

We were relying on the fetcher default of master previously, and
now that master no longer exists, we get a fetch failure.

Adding an explicit branch=main gets things working again.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-05-12 15:05:51 -04:00
Bruce Ashfield
98883bf425 lxc: adjust SRC_URI to new location
linuxcontainers.org has moved where downloads can be found, so we
adjust our SRC_URI accordingly.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-12 08:28:11 -05:00
Zhixiong Chi
48ec1b4987 kubernetes: fix three CVE issues
Backport the patches from the upstream:
https://github.com/kubernetes/kubernetes.git  [branch: release-1.16]
ba3ca4929ed3887c95f94fcf97610f3449446804
68750fefd3df76b7b008ef7b18e8acd18d5c2f2e
d22a61e21d677f7527bc8a4aeb3288c5e11dd49b

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-30 15:52:50 -04:00
Zhixiong Chi
d2b3635dd3 kubernetes: CVE-2019-11254
Backport the CVE patch from the upstream:
https://github.com/kubernetes/kubernetes.git

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-30 15:52:45 -04:00
Zhixiong Chi
514ce5f6b2 kubernetes: CVE-2020-8555
Backport the CVE patch from the upstream:
https://github.com/kubernetes/kubernetes.git

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-06-22 09:36:11 -04:00
Zhixiong Chi
1a8a7996a1 kubernetes: CVE-2020-8551 and CVE-2020-8552
Backport the CVE patches from the upstream:
https://github.com/kubernetes/kubernetes.git

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-05-19 17:17:41 -04:00
Liu Haitao
1bb5156095 go-pty: change the source address
The go-pty module has moved to https://github.com/creack/pty.

Signed-off-by: Prashant Chikhalkar <prashant.chikhalkar@windriver.com>
Signed-off-by: Liu Haitao <haitao.liu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-05-08 15:55:36 -04:00
Ricardo Salveti
2f3c13ba3b docker-ce: allow custom build tags via packageconfig
As done by the docker-moby recipe, move the definition of the default
build tags outside do_compile and let the docker build tags be
customized via the packageconfig options set by the recipe.

This is required for enabling seccomp support during build time.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-04-13 13:53:26 -04:00
Martin Jansa
69f08a9f56 hyperstart: refresh 0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch to apply cleanly
ERROR: hyperstart-v0.2+gitAUTOINC+15bb718ad3-r0 do_patch: Fuzz detected:

Applying patch 0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch
patching file src/container.c
Hunk #2 succeeded at 118 with fuzz 1 (offset 17 lines).
Hunk #3 succeeded at 148 (offset 18 lines).
Hunk #4 succeeded at 158 (offset 18 lines).
Hunk #5 succeeded at 167 with fuzz 1 (offset 18 lines).
Hunk #6 succeeded at 197 (offset 20 lines).
Hunk #7 succeeded at 222 (offset 20 lines).
Hunk #8 succeeded at 240 (offset 20 lines).
Hunk #9 succeeded at 277 (offset 20 lines).
Hunk #10 succeeded at 285 (offset 20 lines).
Hunk #11 succeeded at 325 (offset 27 lines).
Hunk #12 succeeded at 583 (offset 30 lines).
Hunk #13 succeeded at 646 (offset 30 lines).
Hunk #14 succeeded at 664 (offset 30 lines).
Hunk #15 succeeded at 749 (offset 30 lines).
Hunk #16 succeeded at 769 (offset 30 lines).
Hunk #17 succeeded at 778 (offset 30 lines).

The context lines in the patches can be updated with devtool:

    devtool modify hyperstart
    devtool finish --force-patch-refresh hyperstart <layer_path>

Don't forget to review changes done by devtool!

ERROR: hyperstart-v0.2+gitAUTOINC+15bb718ad3-r0 do_patch: QA Issue: Patch log indicates that patches do not apply cleanly. [patch-fuzz]

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-04-05 22:16:15 -04:00
Oleksii Kurochko
561b597d4b lxc: Backport patch that renames memfd_create() function
When Autotools makes configuration of LXC, the check of
the memfd_create() function fails because __stub_memfd_create and
__stub___memfd_create (The GNU C library defines this for functions
which it implements to always fail with ENOSYS) are defined in Glibc,
which leads to the fact that the macro HAVE_MEMFD_CREATE is not
defined and LXC provides defintion of the memfd_create() function as
static inline which in turn conflicts with a definition from
the <bits/mman-shared.h> file and causes an error:
| In file included from ../../../lxc-3.2.1/src/lxc/conf.c:79:
| <src_path>//lxc/syscall_wrappers.h:77:19: error: static declaration
| of 'memfd_create' follows non-static declaration
| | static inline int memfd_create(const char *name, unsigned int flags) {
| |                   ^~~~~~~~~~~~
| In file included from /usr/include/bits/mman-linux.h:111,
|                  from /usr/include/bits/mman.h:34,
|                  from /usr/include/sys/mman.h:41,
|                  from <src_path>/lxc-3.2.1/src/lxc/conf.c:42:
| /usr/include/bits/mman-shared.h:50:5: note: previous declaration
|  of 'memfd_create' was here
| | int memfd_create (const char *__name, unsigned int __flags) __THROW;
| |     ^~~~~~~~~~~~

Upstream PR: https://github.com/lxc/lxc/pull/3168 (merged)

Signed-off-by: Oleksii Kurochko <olkuroch@cisco.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
(cherry picked from commit 15e9fc23ec)
Signed-off-by: Oleksii Kurochko <olkuroch@cisco.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-02 15:07:34 -05:00
Stefan Agner
3ab5647d7c podman: bump to latest release 1.6.4
Bump to latest podman release 1.6.4. The changelog lists some new
features but mostly bugfixes between 1.6.1 and 1.6.4.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-03 17:12:40 -05:00
Stefan Agner
002acb5263 conmon: bump to version 2.0.2
Bump to latest version 2.0.2. This also makes our Makefile fix obsolete
as the fix has been aplied upstream.

Already Podman 1.6.0 actually recommended 2.0.1 and higher, with 1.6.3
this has been made mandatory. Use conmon 2.0.2 which is also used in
podmans build Dockerfile of the 1.6.4 release.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-03 17:12:40 -05:00
Bruce Ashfield
f4262ab75d README: update mailing list address
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-22 08:02:44 -05:00
Bruce Ashfield
062d9f1f4f docs: roadmap: add missing workflow items
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-28 11:56:10 -04:00
Bruce Ashfield
fd706b1c3f docs: add meta-virt planning / roadmap file
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-28 11:52:20 -04:00
Joakim Roubert
a348c03a1d kubernetes: Set correct PV release number
Commit c97fe5036ef3df2967d086711e6c0c405941e14b is Kubernetes v1.16.2
(see https://github.com/kubernetes/kubernetes/releases for verification)
and building with the current recipe generates v1.16.2 binaies although
the package names state v1.16.1.

Change-Id: I5701c18cc3ce205ad906eda2595d9ad7f5748b17
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-24 13:29:27 -04:00
Li Zhou
04e0d9de8c python3-docker-compose: upgrade to version 1.21.2
The python3-docker-compose_1.16.1 requires 'docker<3.0, >=2.5.1', while
python3-docker 3.4.0 is provided. Error occurs when running
'docker-compose --version'.
Upgrade to python3-docker-compose_1.21.2 to make it work.

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-19 00:32:30 -04:00
Bruce Ashfield
241405f616 k8s: bump to 1.16-relase branch
Updating kubernetes to use the 1.16 relese (instead of the 1.16) alpha.
No issues were found in build and runtime testing of this versus the
alpha release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-15 11:40:50 -04:00
Bruce Ashfield
986d873e7f oci-image-tools: use GO flags/compiler from recipe
The image tools were not building with the oe/cross GO compiler
and flags. As such, you could end up with a binary on target with
the wong elf interpreter (the host one).

With this, we properly use the settings from our build.

We also bump the SRCREV to pickup a few minor fixes to the package.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-15 11:38:53 -04:00
Stefan Agner
4d6edd4fc5 podman-compose: move into subdirectory
The layer does not expect recipes in the first subdir. Move the
podman-compose recipe into a podman-compose subdirectory.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-14 21:56:17 -04:00
Ruslan Piasetskyi
533f9aa5aa Fix criu build for aarch64
Makefile:
#
# Supported Architectures
ifneq ($(filter-out x86 arm aarch64 ppc64 s390,$(ARCH)),)
        $(error "The architecture $(ARCH) isn't supported")
endif

Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 19:44:49 -04:00
Stefan Agner
f58133be1f fuse-overlayfs: add FUSE implementation of overlayfs
Add recipe for the FUSE implementation of overlayfs. This is useful
to improve startup time for podman rootless containers.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
c65276ef5e podman-compose: initial version
Add podman-compose, a docker-compose implementation for podman. The
current version is not feature complete, hence not all docker-compose
file work.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
753ca26b41 skopeo: add default set of configuration files
Add a default registries.conf and storage.conf. Those config files
are used by several projects of the containers group like buildah or
podman. Provide it as part of skopeo like the other distributions do.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
cff94d5df6 podman: bump to latest release 1.6.1
Bump to latest podman release 1.6.1.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
d549242592 podman: remove comment about runc
It seems that docker uses nowadays a rather vanilla version of runc,
at the time of writing 1.0.0-rc8. This version has successfully
tested with podman, hence remove the obsolete comment.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Bruce Ashfield
a6ae07c0d3 crun: introduce crun (OCI runtime provider)
Create the initial recipe to provide crun as an alternative OCI runtime
provider.

This currently has a depdenency on seccomp, but it would be nice if we
can make that optional in the future to avoid pulling in all of
meta-security as a dependency.

Example:

  % skopeo copy docker://busybox oci:busybox-oci:latest
  % mkdir busybox-bundle
  % oci-image-tool create --ref platform.os=linux busybox-oci busybox-bundle
  % cd busybox-bundle/
  % rm config.json
  % runc spec
  % runc run foo
^D
  % crun run foo
^D

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:11:35 -04:00
Bruce Ashfield
018b001b76 layer: add zeus as compatible
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-08 19:06:45 -04:00
Bruce Ashfield
4e35b5d861 podman: fix layer check cut & paste errors
The layer check for podman was copied from cri-o .. and some non
podman elements came over as part of that copy. We drop selinux
as a check, and fix some comments.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-07 08:10:06 -04:00
Bruce Ashfield
9e7345d8ec podman: make docker wrapper configurable via packageconfig
podman can behave as transparent drop in replacement for docker
via a wrapper 'docker' script that simply calls podman when any
docker command is issues.

While this is an interesting feature, we want it to be optional
.. since it is possible that podman and docker might want to be
installed at the same time.

So we introduce a 'podman' PACKAGECONFIG, that controls whether
or not this wrapper is installed, and if it is installed it marks
the podman package as conflicting with docker (which gets us a
better message than a failed image assembly provides).

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-03 00:25:15 -04:00
Bruce Ashfield
14f14957c9 podman: add build flexibility to dependencies
In a similar manner to cri-o, we don't want to make meta-selinux
or meta-security a hard dependency to meta-virtualization. So we
implement a similar anonymous python check that allows the recipe
to be skipped if the dependent layers are not present (and hence
we are yocto compatible). If we get more than two recipes doing
layer checks (this is the 2nd), we can move the functionality to
a class.

We also make the runc dependency be virtual/runc versus picking
a specific provider (even if only runc-opencontainers has been
tested).

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 22:27:17 -04:00
Bruce Ashfield
805c77a518 cri-o: drop ostree from anonymous python warning
ostree is now provided by meta-oe, which is a required layer so
we can drop it from the anonymous python checks for layers.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 22:21:01 -04:00
Stefan Agner
c9316391df go-metalinter: add recipe for gometalinter
A tool that concurrently runs a whole bunch of go linters and
normalises their output to a standard format. Useful to build
podman.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
467ce521e7 conmon: initial add
Add conmon, a OCI container runtime monitor.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
6f55c61b5b go-md2man: add md2man
This tool converts markdown into roff (man pages). Useful to build
podman.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
aa509c629e cni: move cni tools to /usr/libexec/cni
Use a standard location to store the cni tools and plugins. This
is more in line how other distributions package cni. Keep a symlink
to /opt/cni/bin for backward compatibility.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
05db2367cc slirp4netns: add slirp4netns user-mode networking
slirp4netns allows connecting a network namespace to the Internet
in a completely unprivileged way, by connecting a TAP device in a
network namespace to the usermode TCP/IP stack ("slirp")."

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
9b234f5245 skopeo: add skopeo
skopeo is a command line utility that performs various operations on
container images and image repositories.

skopeo can work with OCI images as well as the original Docker v2
images.

The recipe originates from from meta-overc commit a497792. It has
been updated with the new project URL and v0.1.39.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
e5de94ab78 podman: add the Pod Manager tool
Podman is a daemonless container engine for developing, managing, and
running OCI Containers on your Linux System. Containers can either be
run as root or in rootless mode.

This patch adds the initial recipe for podman. Currently the build tags
systemd (if in DISTRO_FEATURES), seccomp, varlink and remoteclient are
enabled which allows to run podman with overlayfs as root and vfs in
rootless mode. The storage drivers btrfs and device-mapper have not
been tested and are disabled at the moment.

It seems that seccomp is mandatory, which makes meta-security which
provides libseccomp a mandatory dependency for this recipe.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Mark Asselstine
8a43b4f1b7 libvirt: fixup multiple shlib providers
Build libvirt results in the follow warning:
ERROR: libvirt-5.5.0-r0 do_package: libvirt-ptest: Multiple shlib providers for libvirt-admin.so.0: libvirt, libvirt-ptest
(used by files: ./tmp/work/aarch64-overc-linux/libvirt/5.5.0-r0/packages-split/libvirt-ptest/usr/lib/libvirt/ptest/tools/virt-admin)
ERROR: libvirt-5.5.0-r0 do_package: libvirt: Multiple shlib providers for libvirt-admin.so.0: libvirt, libvirt-ptest
(used by files: ./tmp/work/aarch64-overc-linux/libvirt/5.5.0-r0/packages-split/libvirt/usr/bin/virt-admin)

This is caused by the introduction of a shlib provider check added to
openembedded-core (commit 61c413690034 [package: Multiple
shlib_providers for the same file should error]). You can see the
issue and solution discussed more here
https://bugzilla.yoctoproject.org/show_bug.cgi?id=4628

Since the ptest version of the shared library will only be used by the
ptest package so we can use PRIVATE_LIBS to have the shlib providers
list.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:12:39 -04:00
Paul Barker
98cad7ae36 netns: Fix build on qemux86-64
The build has broken again on master, even for non-static builds of
netns. The simplest fix is to extend our existing patch to cover this
case as well.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 10:35:25 -04:00
Paul Barker
4663fee526 layer.conf: Change dependency on meta-selinux to recommendation
The recipe for cri-o already has an anonymous Python function in place
to skip the recipe if dependencies are not found so there's no need to
force inclusion of the meta-selinux layer.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 10:35:25 -04:00
Bruce Ashfield
6c48fddd30 docker/moby: 19.03.x update
Updating the moby recipes to the match the 19.03.x updates pulled
into docker/docker-ce

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 01:30:59 -04:00
Matt Spencer
150f1857bb docker: add transient configuration packageconfig
Since commit:

[
  Author: Tom Rini <trini@konsulko.com>
  Date:   Fri Feb 8 13:22:35 2019 -0500

      docker: Move /etc/docker to a symlink to volatiles

      The only thing which docker uses /etc/docker for is a TLS key for
      connecting with other TLS-enabled services.  Make /etc/docker a symlink
      to the existing docker volatiles directory so that we can use docker on
      a read-only rootfs.

      Signed-off-by: Tom Rini <trini@konsulko.com>
      Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

We've had a transient / volatile docker configuration since we point
our /etc configuration to /run. This is not always a good thing if
a static configuration for keys, etc, is desired.

We maintain this functionality under the 'transient-config'
PACKAGECONFIG, and also allow the existing static/permanent config
to be used.

Signed-off-by: Matt Spencer <matthew@thespencers.me.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-24 20:36:00 -04:00
Bruce Ashfield
7e2c4151c5 conf: set docker-ce as preferred provider for docker
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-24 20:25:14 -04:00
Bruce Ashfield
164408a170 docker: rename docker -> docker-moby and introduce virtual/docker
The recipe which was providing the default "docker" package was aligned
with the moby repositories. In order to make that alignment clear, we
rename that recipe docker-moby.

To allow easier switching between the docker providing recipes, we
introduce a virtual/docker PROVIDES to the common .inc file (and
hence each recipe). This allows users to chose what they want via
the standard PREFERRED_PROVIDER mechanism.

Also to allow existing package lists and image installs to
continue to work without changes, we make sure that the implementation
specific docker-<foo> packages RPROVIDE docker. If any packages are
missed, we'll add them to this list in future updates.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-24 17:46:57 -04:00
Stefan Agner
484a75a824 docker-ce: update to v19.03.2
Bump the git hashes to Docker CE v19.03.2.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-23 02:30:19 -04:00
Stefan Agner
e7787cb01b docker-ce: improve hardcoded CC for cross compile
Since commit applied in moby [61a3285 Support cross-compile for arm]
it hardcoded var-CC to support cross-compile for arm

Correct it with "${parameter:-word}" format, it is helpful for user
define toolchains

(Use Default Values.  If parameter is unset or null, the expansion of
word is substituted.  Otherwise, the value of parameter is substituted.)

61a3285864

This fixes a build issue seen when building docker-ce:
  exec: "aarch64-linux-gnu-gcc": executable file not found in $PATH

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-23 02:30:19 -04:00
Hongxu Jia
b626ea1d49 kubernetes: fix compiling failure: execvp: /bin/bash: Argument list too long
Use GNU Make 4.2.1(such as fedora-29) to build k8s in a long directory,
it failed with `execvp: /bin/bash: Argument list too long'
[snip]
$ cd /buildarea1/hjia/wrlinux-1019/I_/suspect_/that_/if_/you_/create_/your_/project_/in_/a_/very_/deep_/directory/build_master-wr_qemux86-64_faw_2019090509/build/tmp-glibc/work/core2-64-wrs-linux/kubernetes/v1.16.0-alpha+git7054e3ead7e1a00ca6ac3ec47ea355b76061a35a-r0/kubernetes-v1.16.0-alpha+git7054e3ead7e1a00ca6ac3ec47ea355b76061a35a/src/import
$ make cross KUBE_BUILD_PLATFORMS=linux/amd64 GOLDFLAGS=""
|+++ [0804 16:38:32] Building go targets for linux/amd64:
|    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
|make[1]: execvp: /bin/bash: Argument list too long
|make[1]: *** [Makefile.generated_files:184: pkg/kubectl/cmd/testing/zz_generated.deepcopy.go] Error 127
|make: *** [Makefile:557: generated_files] Error 2
...
[snip]

From make manual [1]
$?
  The names of all the prerequisites that are newer than the target, with spaces between them.

While two `$?' was passed to bash in a line, it caused above failure,
drop a duplicated one could workaround the issue.

[1] https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-18 13:53:29 -04:00