*: add bazeldnf dependency
This adds https://github.com/rmohr/bazeldnf, a pure-Go RPM dependency
resolver. Requires a dummy import for proper Go dependency resolution.
Change-Id: I4d4e7716bfd7da7e3157f06dc1f1612c9e39c17e
Reviewed-on: https://review.monogon.dev/c/monogon/+/1028
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Leopold Schabel <leo@monogon.tech>
diff --git a/BUILD b/BUILD
index a6e19d7..e3e5528 100644
--- a/BUILD
+++ b/BUILD
@@ -1,5 +1,6 @@
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@io_bazel_rules_go//go:def.bzl", "go_path")
+load("@bazeldnf//:def.bzl", "bazeldnf")
# gazelle:prefix source.monogon.dev
# gazelle:go_naming_convention import
@@ -51,6 +52,9 @@
toolchain_type = "@rules_python//python:toolchain_type",
)
+# bazeldnf binary
+bazeldnf(name = "bazeldnf")
+
# Shortcuts for top-level binaries/tools
# Shortcut for kubectl when running through bazel run
diff --git a/WORKSPACE b/WORKSPACE
index d5e94fc..6461fb2 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -334,3 +334,18 @@
])
""",
)
+
+# bazeldnf is used to generate our sandbox root.
+http_archive(
+ name = "bazeldnf",
+ sha256 = "404fc34e6bd3b568a7ca6fbcde70267d43830d0171d3192e3ecd83c14c320cfc",
+ strip_prefix = "bazeldnf-0.5.4",
+ urls = [
+ "https://github.com/rmohr/bazeldnf/archive/v0.5.4.tar.gz",
+ "https://storage.googleapis.com/builddeps/404fc34e6bd3b568a7ca6fbcde70267d43830d0171d3192e3ecd83c14c320cfc",
+ ],
+)
+
+load("@bazeldnf//:deps.bzl", "bazeldnf_dependencies", "rpm")
+
+bazeldnf_dependencies()
diff --git a/go.mod b/go.mod
index d4a11bc..f0591df 100644
--- a/go.mod
+++ b/go.mod
@@ -59,6 +59,9 @@
// Override version for Bazel support
replace github.com/mwitkow/go-proto-validators => github.com/mwitkow/go-proto-validators v0.3.2
+// bazeldnf currently comes with a go-rpmutils patch
+replace github.com/sassoftware/go-rpmutils v0.1.1 => github.com/rmohr/go-rpmutils v0.1.2-0.20201215123907-5acf7436c00d
+
require (
github.com/adrg/xdg v0.4.0
github.com/bazelbuild/rules_go v0.30.0
@@ -94,6 +97,7 @@
github.com/pierrec/lz4/v4 v4.1.14
github.com/pkg/errors v0.9.1
github.com/rekby/gpt v0.0.0-20200614112001-7da10aec5566
+ github.com/rmohr/bazeldnf v0.5.4
github.com/sbezverk/nfproxy v0.0.0-20210112155058-0d98b4a69f0c
github.com/spf13/cobra v1.5.0
github.com/spf13/pflag v1.0.5
@@ -122,6 +126,7 @@
k8s.io/cli-runtime v0.24.2
k8s.io/client-go v0.24.2
k8s.io/component-base v0.24.2
+ k8s.io/klog v1.0.0
k8s.io/klog/v2 v2.60.1
k8s.io/kubectl v0.0.0
k8s.io/kubelet v0.0.0
@@ -161,6 +166,7 @@
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e // indirect
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect
github.com/aws/aws-sdk-go v1.44.9 // indirect
+ github.com/bazelbuild/buildtools v0.0.0-20201023142455-8a8e1e724705 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/bytecodealliance/wasmtime-go v0.39.0 // indirect
@@ -185,6 +191,7 @@
github.com/cosiner/argv v0.1.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/creack/pty v1.1.11 // indirect
+ github.com/crillab/gophersat v1.3.1 // indirect
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
@@ -320,6 +327,7 @@
github.com/russross/blackfriday v1.5.2 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1 // indirect
+ github.com/sassoftware/go-rpmutils v0.1.1 // indirect
github.com/sbezverk/nftableslib v0.0.0-20210111145735-b08b2d804e1f // indirect
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect
github.com/sirupsen/logrus v1.8.1 // indirect
@@ -335,6 +343,7 @@
github.com/urfave/cli v1.22.4 // indirect
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74 // indirect
github.com/vmware/govmomi v0.20.3 // indirect
+ github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca // indirect
go.etcd.io/bbolt v1.3.6 // indirect
@@ -384,7 +393,6 @@
k8s.io/controller-manager v0.24.2 // indirect
k8s.io/cri-api v0.23.1 // indirect
k8s.io/csi-translation-lib v0.24.2 // indirect
- k8s.io/klog v1.0.0 // indirect
k8s.io/kube-aggregator v0.0.0 // indirect
k8s.io/kube-controller-manager v0.0.0 // indirect
k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect
diff --git a/go.sum b/go.sum
index 4ca6d97..b916a8c 100644
--- a/go.sum
+++ b/go.sum
@@ -324,6 +324,8 @@
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
github.com/aws/smithy-go v1.11.0/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM=
github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I=
+github.com/bazelbuild/buildtools v0.0.0-20201023142455-8a8e1e724705 h1:M7gqMiatHWf9F3HL32QsFX8H3C/JFh1a8jYM5+F+5JI=
+github.com/bazelbuild/buildtools v0.0.0-20201023142455-8a8e1e724705/go.mod h1:5JP0TXzWDHXv8qvxRC4InIazwdyDseBDbzESUMKk1yU=
github.com/bazelbuild/rules_go v0.30.0 h1:kX4jVcstqrsRqKPJSn2mq2o+TI21edRzEJSrEOMQtr0=
github.com/bazelbuild/rules_go v0.30.0/go.mod h1:MC23Dc/wkXEyk3Wpq6lCqz0ZAYOZDw2DR5y3N1q2i7M=
github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
@@ -594,6 +596,8 @@
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/crillab/gophersat v1.3.1 h1:l4fgnEMmy1+b7pn3nvPwj1ja3Z9MgXE4hUIl9TU8v+M=
+github.com/crillab/gophersat v1.3.1/go.mod h1:S91tHga1PCZzYhCkStwZAhvp1rCc+zqtSi55I+vDWGc=
github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI=
github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
@@ -1405,6 +1409,7 @@
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
+github.com/klauspost/compress v1.11.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
@@ -1899,6 +1904,10 @@
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rmohr/bazeldnf v0.5.4 h1:xYSQoQHuCZY+2mZJtt+2KN0G6TmeEOPR6cxPZomTXX4=
+github.com/rmohr/bazeldnf v0.5.4/go.mod h1:rV4jYDY1+FU7dL+txgnwPJSfc0gc2AARRIlVcCwPr5g=
+github.com/rmohr/go-rpmutils v0.1.2-0.20201215123907-5acf7436c00d h1:IPm+rJWi7P9mkoFQjloDEGThxlM71dzDrC2DZSjgnL8=
+github.com/rmohr/go-rpmutils v0.1.2-0.20201215123907-5acf7436c00d/go.mod h1:+IkA78IVx67OWHxozgXevwH3PECuQI13uwsEV80ar/U=
github.com/robfig/cron v1.1.0 h1:jk4/Hud3TTdcrJgUOBgsqrZBarcxl6ADIjSC2iniwLY=
github.com/robfig/cron v1.1.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
@@ -2137,6 +2146,7 @@
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
+github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
@@ -2325,6 +2335,7 @@
golang.org/x/crypto v0.0.0-20191117063200-497ca9f6d64f/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index e24bd4a..c8654fe 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -442,6 +442,12 @@
sum = "h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=",
version = "v0.6.0",
)
+ go_repository(
+ name = "com_github_bazelbuild_buildtools",
+ importpath = "github.com/bazelbuild/buildtools",
+ sum = "h1:M7gqMiatHWf9F3HL32QsFX8H3C/JFh1a8jYM5+F+5JI=",
+ version = "v0.0.0-20201023142455-8a8e1e724705",
+ )
go_repository(
name = "com_github_bazelbuild_rules_go",
@@ -1074,6 +1080,12 @@
sum = "h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=",
version = "v1.1.11",
)
+ go_repository(
+ name = "com_github_crillab_gophersat",
+ importpath = "github.com/crillab/gophersat",
+ sum = "h1:l4fgnEMmy1+b7pn3nvPwj1ja3Z9MgXE4hUIl9TU8v+M=",
+ version = "v1.3.1",
+ )
go_repository(
name = "com_github_cyphar_filepath_securejoin",
@@ -4308,6 +4320,12 @@
sum = "h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=",
version = "v0.2.0",
)
+ go_repository(
+ name = "com_github_rmohr_bazeldnf",
+ importpath = "github.com/rmohr/bazeldnf",
+ sum = "h1:xYSQoQHuCZY+2mZJtt+2KN0G6TmeEOPR6cxPZomTXX4=",
+ version = "v0.5.4",
+ )
go_repository(
name = "com_github_robfig_cron",
@@ -4407,8 +4425,9 @@
go_repository(
name = "com_github_sassoftware_go_rpmutils",
importpath = "github.com/sassoftware/go-rpmutils",
- sum = "h1:+gCnWOZV8Z/8jehJ2CdqB47Z3S+SREmQcuXkRFLNsiI=",
- version = "v0.0.0-20190420191620-a8f1baeba37b",
+ replace = "github.com/rmohr/go-rpmutils",
+ sum = "h1:IPm+rJWi7P9mkoFQjloDEGThxlM71dzDrC2DZSjgnL8=",
+ version = "v0.1.2-0.20201215123907-5acf7436c00d",
)
go_repository(
name = "com_github_satori_go_uuid",
diff --git a/third_party/sandboxroot/tools.go b/third_party/sandboxroot/tools.go
new file mode 100644
index 0000000..578e592
--- /dev/null
+++ b/third_party/sandboxroot/tools.go
@@ -0,0 +1,8 @@
+//go:build tools
+// +build tools
+
+package sandboxroot
+
+import (
+ _ "github.com/rmohr/bazeldnf/cmd"
+)