diff options
-rw-r--r-- | runsc/BUILD | 45 | ||||
-rw-r--r-- | runsc/debian/description | 5 | ||||
-rwxr-xr-x | runsc/debian/postinst.sh | 24 | ||||
-rw-r--r-- | runsc/tools/dockercfg/BUILD | 4 |
4 files changed, 75 insertions, 3 deletions
diff --git a/runsc/BUILD b/runsc/BUILD index eb7503502..4d2046ed3 100644 --- a/runsc/BUILD +++ b/runsc/BUILD @@ -1,6 +1,7 @@ package(licenses = ["notice"]) # Apache 2.0 load("@io_bazel_rules_go//go:def.bzl", "go_binary") +load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_deb", "pkg_tar") go_binary( name = "runsc", @@ -52,3 +53,47 @@ go_binary( "@com_github_google_subcommands//:go_default_library", ], ) + +pkg_tar( + name = "runsc-bin", + srcs = [":runsc"], + mode = "0755", + package_dir = "/usr/bin", + strip_prefix = "/runsc/linux_amd64_pure_stripped", +) + +pkg_tar( + name = "runsc-tools", + srcs = ["//runsc/tools/dockercfg"], + mode = "0755", + package_dir = "/usr/libexec/runsc", + strip_prefix = "/runsc/tools/dockercfg/linux_amd64_stripped", +) + +pkg_tar( + name = "debian-data", + extension = "tar.gz", + deps = [ + ":runsc-bin", + ":runsc-tools", + ], +) + +genrule( + name = "deb-version", + outs = ["version.txt"], + cmd = "cat bazel-out/volatile-status.txt | grep VERSION | sed 's/^[^0-9]*//' >$@", + stamp = 1, +) + +pkg_deb( + name = "runsc-debian", + architecture = "amd64", + data = ":debian-data", + description_file = "debian/description", + homepage = "https://gvisor.dev/", + maintainer = "The gVisor Authors <gvisor-dev@googlegroups.com>", + package = "runsc", + postinst = "debian/postinst.sh", + version_file = ":version.txt", +) diff --git a/runsc/debian/description b/runsc/debian/description new file mode 100644 index 000000000..6e3b1b2c0 --- /dev/null +++ b/runsc/debian/description @@ -0,0 +1,5 @@ +gVisor is a user-space kernel, written in Go, that implements a substantial +portion of the Linux system surface. It includes an Open Container Initiative +(OCI) runtime called runsc that provides an isolation boundary between the +application and the host kernel. The runsc runtime integrates with Docker and +Kubernetes, making it simple to run sandboxed containers. diff --git a/runsc/debian/postinst.sh b/runsc/debian/postinst.sh new file mode 100755 index 000000000..03a5ff524 --- /dev/null +++ b/runsc/debian/postinst.sh @@ -0,0 +1,24 @@ +#!/bin/sh -e + +# Copyright 2019 The gVisor Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +if [ "$1" != configure ]; then + exit 0 +fi + +if [ -f /etc/docker/daemon.json ]; then + /usr/libexec/runsc/dockercfg runtime-add runsc /usr/bin/runsc + systemctl restart docker +fi diff --git a/runsc/tools/dockercfg/BUILD b/runsc/tools/dockercfg/BUILD index fd406ab93..5cff917ed 100644 --- a/runsc/tools/dockercfg/BUILD +++ b/runsc/tools/dockercfg/BUILD @@ -5,8 +5,6 @@ package(licenses = ["notice"]) go_binary( name = "dockercfg", srcs = ["dockercfg.go"], - visibility = [ - "//runsc/test:__subpackages__", - ], + visibility = ["//visibility:public"], deps = ["@com_github_google_subcommands//:go_default_library"], ) |