summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--runsc/BUILD45
-rw-r--r--runsc/debian/description5
-rwxr-xr-xrunsc/debian/postinst.sh24
-rw-r--r--runsc/tools/dockercfg/BUILD4
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"],
)