| // Copyright 2020 The Monogon Project Authors. | 
 | // | 
 | // SPDX-License-Identifier: Apache-2.0 | 
 | // | 
 | // 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. | 
 |  | 
 | package main | 
 |  | 
 | func depsContainerd(p *planner) { | 
 | 	p.collectOverride( | 
 | 		"github.com/containerd/containerd", "v1.4.3", | 
 | 		buildTags("no_zfs", "no_aufs", "no_devicemapper", "no_btrfs"), | 
 | 		disabledProtoBuild, | 
 | 	).use( | 
 | 		"github.com/BurntSushi/toml", | 
 | 		"github.com/Microsoft/go-winio", | 
 | 		"github.com/beorn7/perks", | 
 | 		"github.com/cespare/xxhash/v2", | 
 | 		"github.com/cilium/ebpf", | 
 | 		"github.com/containerd/btrfs", | 
 | 		"github.com/containerd/console", | 
 | 		"github.com/containerd/continuity", | 
 | 		"github.com/containerd/fifo", | 
 | 		"github.com/containerd/go-cni", | 
 | 		"github.com/containerd/go-runc", | 
 | 		"github.com/containerd/imgcrypt", | 
 | 		"github.com/containers/ocicrypt", | 
 | 		"github.com/containerd/typeurl", | 
 | 		"github.com/coreos/go-systemd/v22", | 
 | 		"github.com/cpuguy83/go-md2man/v2", | 
 | 		"github.com/davecgh/go-spew", | 
 | 		"github.com/docker/docker", | 
 | 		"github.com/docker/go-events", | 
 | 		"github.com/docker/go-metrics", | 
 | 		"github.com/docker/go-units", | 
 | 		"github.com/docker/spdystream", | 
 | 		"github.com/emicklei/go-restful", | 
 | 		"github.com/fullsailor/pkcs7", | 
 | 		"github.com/godbus/dbus/v5", | 
 | 		"github.com/gogo/protobuf", | 
 | 		"github.com/go-logr/logr", | 
 | 		"github.com/google/gofuzz", | 
 | 		"github.com/google/uuid", | 
 | 		"github.com/hashicorp/errwrap", | 
 | 		"github.com/hashicorp/go-multierror", | 
 | 		"github.com/hashicorp/golang-lru", | 
 | 		"github.com/imdario/mergo", | 
 | 		"github.com/json-iterator/go", | 
 | 		"github.com/konsorten/go-windows-terminal-sequences", | 
 | 		"github.com/matttproud/golang_protobuf_extensions", | 
 | 		"github.com/modern-go/concurrent", | 
 | 		"github.com/modern-go/reflect2", | 
 | 		"github.com/opencontainers/go-digest", | 
 | 		"github.com/opencontainers/image-spec", | 
 | 		"github.com/opencontainers/runc", | 
 | 		"github.com/opencontainers/runtime-spec", | 
 | 		"github.com/pkg/errors", | 
 | 		"github.com/prometheus/client_golang", | 
 | 		"github.com/prometheus/client_model", | 
 | 		"github.com/prometheus/common", | 
 | 		"github.com/prometheus/procfs", | 
 | 		"github.com/russross/blackfriday/v2", | 
 | 		"github.com/shurcooL/sanitized_anchor_name", | 
 | 		"github.com/sirupsen/logrus", | 
 | 		"github.com/syndtr/gocapability", | 
 | 		"github.com/tchap/go-patricia", | 
 | 		"github.com/urfave/cli", | 
 | 		"go.etcd.io/bbolt", | 
 | 		"go.opencensus.io", | 
 | 		"golang.org/x/crypto", | 
 | 		"golang.org/x/oauth2", | 
 | 		"golang.org/x/sync", | 
 | 		"google.golang.org/genproto", | 
 | 		"gopkg.in/inf.v0", | 
 | 		"gopkg.in/yaml.v2", | 
 | 		"k8s.io/klog/v2", | 
 | 		"sigs.k8s.io/yaml", | 
 | 	).with(disabledProtoBuild, patches("containerd-netns-statedir.patch")).use( | 
 | 		"github.com/containerd/cri", | 
 | 	).with(disabledProtoBuild).use( | 
 | 		"github.com/Microsoft/hcsshim", | 
 | 		"github.com/containerd/cgroups", | 
 |  | 
 | 		"github.com/gogo/googleapis", | 
 | 	).with(buildTags("selinux")).use( | 
 | 		"github.com/opencontainers/selinux", | 
 | 		"github.com/willf/bitset", | 
 | 	).with(patches( | 
 | 		"ttrpc-hacks.patch", | 
 | 	)).use( | 
 | 		"github.com/containerd/ttrpc", | 
 | 	).with(patches( | 
 | 		"cni-fix-cachepath.patch", | 
 | 	)).use("github.com/containernetworking/cni").replace( | 
 | 		// ttrpc is broken by go protobuf v2, this is a tentative PR that's | 
 | 		// not yet merged by upstream. | 
 | 		// See: https://github.com/containerd/ttrpc/pull/67 | 
 | 		// | 
 | 		// It also contains our own fix that builds up on the above and allows | 
 | 		// services to return the original status error library values. This is | 
 | 		// required for ttrpc to actually work from runsc and for results to be | 
 | 		// correctly interpreted by containerd. | 
 | 		// See: https://github.com/monogon-dev/ttrpc/commit/222b428f008e3ecb11cfff12e3fd92e3143a2f01 | 
 | 		// | 
 | 		// Note: this is not a good fix, and has known issues, like not being | 
 | 		// able to return Details in gRPC status errors. However, with the | 
 | 		// limited usage within gvisor/containerd it works. In the future | 
 | 		// upstream will have to resolve this properly, eg. port ttrpc away | 
 | 		// from gogo, or fix gogo to work with the new protobuf APU. | 
 | 		"github.com/containerd/ttrpc", | 
 | 		"github.com/monogon-dev/ttrpc", "222b428f008e3ecb11cfff12e3fd92e3143a2f01", | 
 | 	) | 
 |  | 
 | 	// This is depended on by github.com/containerd/containerd, but not mentioned in their | 
 | 	// vendor.conf. They seem to be moving off of vendoring to gomod, so this should be | 
 | 	// reverted on the next containerd bump (when fietsje will panic about vendor.conf | 
 | 	// missing). | 
 | 	p.collectOverride( | 
 | 		"github.com/checkpoint-restore/go-criu/v4", "v4.1.0", | 
 | 	) | 
 |  | 
 | 	// containernetworking/plugins | 
 | 	p.collectOverride( | 
 | 		"github.com/containernetworking/plugins", "v0.8.2", | 
 | 	).use( | 
 | 		"github.com/alexflint/go-filemutex", | 
 | 		"github.com/coreos/go-iptables", | 
 | 		"github.com/j-keck/arping", | 
 | 		"github.com/safchain/ethtool", | 
 | 	) | 
 | } |