summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2019-04-04 17:04:30 -0700
committerShentubot <shentubot@google.com>2019-04-04 17:05:38 -0700
commit75c8ac38e0f6cc4eb3726c89aee41357cd592c4b (patch)
treeb8d9a574de6efa6272b2b34984d2a975c6a1f76d
parente9508967b0a1c9a8398adf5f6c28be79353f8a1f (diff)
BUILD: Add useful go_path target
Change-Id: Ibd6d8a1a63826af6e62a0f0669f8f0866c8091b4 PiperOrigin-RevId: 242037969
-rw-r--r--BUILD17
-rw-r--r--CONTRIBUTING.md18
-rw-r--r--pkg/sentry/syscalls/linux/sys_utsname.go2
3 files changed, 36 insertions, 1 deletions
diff --git a/BUILD b/BUILD
index 9ede10a9f..391791ca9 100644
--- a/BUILD
+++ b/BUILD
@@ -1,3 +1,7 @@
+package(licenses = ["notice"]) # Apache 2.0
+
+load("@io_bazel_rules_go//go:def.bzl", "go_path")
+
# The sandbox filegroup is used for sandbox-internal dependencies.
package_group(
name = "sandbox",
@@ -5,3 +9,16 @@ package_group(
"//...",
],
)
+
+# gopath defines a directory that is structured in a way that is compatible
+# with standard Go tools. Things like godoc, editors and refactor tools should
+# work as expected.
+#
+# The files in this tree are symlinks to the true sources.
+go_path(
+ name = "gopath",
+ mode = "link",
+ deps = [
+ "//runsc",
+ ],
+)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c2d686d18..b91244de8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -12,6 +12,24 @@ You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.
+### Using GOPATH
+
+Some editors may require the code to be structured in a `GOPATH` directory tree.
+In this case, you may use the `:gopath` target to generate a directory tree with
+symlinks to the original source files.
+
+```
+bazel build :gopath
+```
+
+You can then set the `GOPATH` in your editor to `bazel-bin/gopath`.
+
+If you use this mechanism, keep in mind that the generated tree is not the
+canonical source. You will still need to build and test with `bazel`. New files
+will need to be added to the appropriate `BUILD` files, and the `:gopath` target
+will need to be re-run to generate appropriate symlinks in the `GOPATH`
+directory tree.
+
### Coding Guidelines
All code should conform to the [Go style guidelines][gostyle].
diff --git a/pkg/sentry/syscalls/linux/sys_utsname.go b/pkg/sentry/syscalls/linux/sys_utsname.go
index 689f2f838..f7545b965 100644
--- a/pkg/sentry/syscalls/linux/sys_utsname.go
+++ b/pkg/sentry/syscalls/linux/sys_utsname.go
@@ -35,7 +35,7 @@ func Uname(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Syscall
copy(u.Nodename[:], uts.HostName())
copy(u.Release[:], version.Release)
copy(u.Version[:], version.Version)
- copy(u.Machine[:], "x86_64") // +build tag above.
+ copy(u.Machine[:], "x86_64") // build tag above.
copy(u.Domainname[:], uts.DomainName())
// Copy out the result.