From 66cc0e9f928218ca642a41fa67bb163197aa1f37 Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Mon, 17 Jun 2019 17:07:44 -0700 Subject: [PATCH] gvisor/bazel: use python2 to build runsc-debian $ bazel build runsc:runsc-debian File ".../bazel_tools/tools/build_defs/pkg/make_deb.py", line 311, in GetFlagValue: flagvalue = flagvalue.decode('utf-8') AttributeError: 'str' object has no attribute 'decode' make_deb.py is incompatible with Python3. https://github.com/bazelbuild/bazel/issues/8443 PiperOrigin-RevId: 253691923 --- Dockerfile | 2 +- runsc/BUILD | 5 +++++ tools/run_tests.sh | 10 ++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 32ac76f1b..6e9d870db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:bionic -RUN apt-get update && apt-get install -y curl gnupg2 git +RUN apt-get update && apt-get install -y curl gnupg2 git python3 RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list && \ curl https://bazel.build/bazel-release.pub.gpg | apt-key add - RUN apt-get update && apt-get install -y bazel && apt-get clean diff --git a/runsc/BUILD b/runsc/BUILD index 8a57c597b..0e4cf8e09 100644 --- a/runsc/BUILD +++ b/runsc/BUILD @@ -96,6 +96,11 @@ pkg_deb( maintainer = "The gVisor Authors ", package = "runsc", postinst = "debian/postinst.sh", + tags = [ + # TODO(b/135475885): pkg_deb requires python2: + # https://github.com/bazelbuild/bazel/issues/8443 + "manual", + ], version_file = ":version.txt", visibility = [ "//visibility:public", diff --git a/tools/run_tests.sh b/tools/run_tests.sh index 7a1f889dd..00b6b92b5 100755 --- a/tools/run_tests.sh +++ b/tools/run_tests.sh @@ -92,6 +92,14 @@ build_everything() { "${BUILD_PACKAGES[@]}" } +build_runsc_debian() { + cd ${WORKSPACE_DIR} + + # TODO(b/135475885): pkg_deb is incompatible with Python3. + # https://github.com/bazelbuild/bazel/issues/8443 + bazel build --host_force_python=py2 runsc:runsc-debian +} + # Run simple tests runs the tests that require no special setup or # configuration. run_simple_tests() { @@ -277,6 +285,8 @@ main() { run_syscall_tests run_runsc_do_tests + build_runsc_debian + # Build other flavors too. build_everything dbg