%global goipath go.ligato.io/vpp-agent/v3 %global forgeurl https://github.com/ligato/vpp-agent %global commit 723f8db0bf7a67908e2dda1d860444a4747a99d8 Version: 3.6.0 %gometa %global common_description %{expand: The VPP Agent is a Go implementation of a control/management plane for VPP based cloud-native Virtual Network Functions (VNFs). The VPP Agent is built on top of CN Infra, a framework for developing cloud-native VNFs (CNFs). The VPP Agent can be used as-is as a management/control agent for VNFs based on off-the-shelf VPP (e.g. a VPP-based vswitch), or as a framework for developing management agents for VPP-based CNFs. An example of a custom VPP-based CNF is the Contiv-VPP vswitch.} %global golicenses LICENSE %global godocs README.md Name: %{goname} Release: 0.1%{?dist} Summary: Go implementation of a control/management plane for VPP # Upstream license specification: Apache-2.0 License: ASL 2.0 URL: %{gourl} Source0: %{gosource} BuildRequires: golang(github.com/alecthomas/jsonschema) BuildRequires: golang(github.com/common-nighthawk/go-figure) BuildRequires: golang(github.com/coreos/go-iptables/iptables) BuildRequires: golang(github.com/docker/cli/cli/streams) BuildRequires: golang(github.com/docker/docker/api/types/versions) BuildRequires: golang(github.com/fsouza/go-dockerclient) BuildRequires: golang(github.com/ghodss/yaml) BuildRequires: golang(github.com/go-errors/errors) BuildRequires: golang(github.com/goccy/go-graphviz) BuildRequires: golang(github.com/goccy/go-yaml) BuildRequires: golang(github.com/google/go-cmp/cmp) BuildRequires: golang(github.com/gorilla/mux) BuildRequires: golang(github.com/grpc-ecosystem/go-grpc-prometheus) BuildRequires: golang(github.com/iancoleman/orderedmap) BuildRequires: golang(github.com/jhump/protoreflect/dynamic) BuildRequires: golang(github.com/lunixbochs/struc) BuildRequires: golang(github.com/mitchellh/go-ps) BuildRequires: golang(github.com/mitchellh/mapstructure) BuildRequires: golang(github.com/moby/term) BuildRequires: golang(github.com/namsral/flag) BuildRequires: golang(github.com/olekukonko/tablewriter) BuildRequires: golang(github.com/onsi/gomega) BuildRequires: golang(github.com/pkg/errors) BuildRequires: golang(github.com/pkg/profile) BuildRequires: golang(github.com/prometheus/client_golang/prometheus) BuildRequires: golang(github.com/segmentio/textio) BuildRequires: golang(github.com/sirupsen/logrus) BuildRequires: golang(github.com/spf13/cobra) BuildRequires: golang(github.com/spf13/pflag) BuildRequires: golang(github.com/spf13/viper) BuildRequires: golang(github.com/unrolled/render) BuildRequires: golang(github.com/vishvananda/netlink) BuildRequires: golang(github.com/vishvananda/netns) BuildRequires: golang(github.com/xeipuuv/gojsonschema) BuildRequires: golang(go.etcd.io/etcd/client/v3) BuildRequires: golang(go.fd.io/govpp) BuildRequires: golang(go.ligato.io/cn-infra/v2) BuildRequires: golang(golang.org/x/sys/unix) BuildRequires: golang(google.golang.org/grpc) BuildRequires: golang(google.golang.org/protobuf/proto) %description %{common_description} %godevelpkg %package -n vpp-agent Summary: %{summary} %description -n vpp-agent %{common_description} This package contains - agentctl - Agentctl lets you manage VPP agent configurations - vpp-agent - A control plane agent for a VPP data plane - vpp-agent-init - starts supervisor plugin managing other processes %prep %goprep %build for cmd in cmd/agentctl cmd/vpp-agent cmd/vpp-agent-init; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done %install %godevelinstall install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir} %gopkgfiles %files -n vpp-agent %license LICENSE %doc README.md CHANGELOG.md %{_bindir}/agentctl %{_bindir}/vpp-agent %{_bindir}/vpp-agent-init %changelog