summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Podshumok <kpp.live+signed@gmail.com>2020-07-21 01:47:17 +0300
committerJoonas Niilola <juippis@gentoo.org>2020-08-12 10:59:40 +0300
commit4a77a7c4a87f6a387a7a628e62c2b852c9c236d7 (patch)
tree3c1970c50b2422da7622b937c46483f568b79384 /sys-cluster/kube-router/kube-router-1.0.1.ebuild
parentwww-client/chromium: Stabilize 84.0.4147.125 arm64, #736659 (diff)
downloadgentoo-4a77a7c4a87f6a387a7a628e62c2b852c9c236d7.tar.gz
gentoo-4a77a7c4a87f6a387a7a628e62c2b852c9c236d7.tar.bz2
gentoo-4a77a7c4a87f6a387a7a628e62c2b852c9c236d7.zip
sys-cluster/kube-router: bump v1.0.1.ebuild
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'sys-cluster/kube-router/kube-router-1.0.1.ebuild')
-rw-r--r--sys-cluster/kube-router/kube-router-1.0.1.ebuild198
1 files changed, 198 insertions, 0 deletions
diff --git a/sys-cluster/kube-router/kube-router-1.0.1.ebuild b/sys-cluster/kube-router/kube-router-1.0.1.ebuild
new file mode 100644
index 000000000000..f1c72e8048b8
--- /dev/null
+++ b/sys-cluster/kube-router/kube-router-1.0.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+EGO_PN="github.com/cloudnativelabs/${PN}"
+
+inherit golang-build golang-vcs-snapshot
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="A turnkey solution for Kubernetes networking"
+HOMEPAGE="https://kube-router.io"
+SRC_URI="https://github.com/cloudnativelabs/kube-router/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 MIT BSD BSD-2 MPL-2.0 ISC LGPL-3-with-linking-exception"
+
+SLOT="0"
+
+RDEPEND="
+ net-firewall/iptables[conntrack]
+ net-firewall/ipset
+ sys-cluster/ipvsadm
+"
+
+# Vendored dependencies (helps with LICENSE, see https://bugs.gentoo.org/694792):
+# github.com/PuerkitoBio/purell # BSD
+# github.com/PuerkitoBio/urlesc # BSD
+# github.com/armon/go-radix # MIT
+# github.com/aws/aws-sdk-go # Apache-2.0
+# github.com/beorn7/perks # MIT
+# github.com/containernetworking/cni # Apache-2.0
+# github.com/coreos/go-iptables # Apache-2.0
+# github.com/docker/distribution # Apache-2.0
+# github.com/docker/docker # Apache-2.0
+# github.com/docker/go-connections # Apache-2.0
+# github.com/docker/go-units # Apache-2.0
+# github.com/docker/libnetwork # Apache-2.0
+# github.com/davecgh/go-spew # ISC
+# github.com/dgryski/go-farm # MIT
+# github.com/eapache/channels # MIT
+# github.com/eapache/queue # MIT
+# github.com/emicklei/go-restful # MIT
+# github.com/emicklei/go-restful-swagger12 # MIT
+# github.com/fsnotify/fsnotify # BSD
+# github.com/ghodss/yaml # MIT BSD
+# github.com/go-ini/ini # Apache-2.0
+# github.com/go-openapi/jsonpointer # Apache-2.0
+# github.com/go-openapi/jsonreference # Apache-2.0
+# github.com/go-openapi/spec # Apache-2.0
+# github.com/go-openapi/swag # Apache-2.0
+# github.com/gogo/protobuf # BSD
+# github.com/golang/glog # Apache-2.0
+# github.com/golang/protobuf # BSD
+# github.com/google/btree # Apache-2.0
+# github.com/google/gofuzz # Apache-2.0
+# github.com/googleapis/gnostic # Apache-2.0
+# github.com/gregjones/httpcache # MIT
+# github.com/hashicorp/golang-lru # MPL-2.0
+# github.com/hashicorp/hcl # MPL-2.0
+# github.com/howeyc/gopass # ISC
+# github.com/imdario/mergo # BSD
+# github.com/influxdata/influxdb # MIT
+# github.com/jmespath/go-jmespath # Apache-2.0
+# github.com/json-iterator/go # MIT
+# github.com/juju/ratelimit # LGPL-3-with-linking-exception
+# github.com/magiconair/properties # BSD-2
+# github.com/mailru/easyjson # MIT
+# github.com/matttproud/golang_protobuf_extensions # Apache-2.0
+# github.com/mitchellh/mapstructure # MIT
+# github.com/modern-go/concurrent # Apache-2.0
+# github.com/modern-go/reflect2 # Apache-2.0
+# github.com/opencontainers/go-digest # Apache-2.0
+# github.com/opencontainers/image-spec # Apache-2.0
+# github.com/osrg/gobgp # Apache-2.0
+# github.com/pelletier/go-toml # MIT
+# github.com/peterbourgon/diskv # MIT
+# github.com/pkg/errors # BSD-2
+# github.com/prometheus/client_golang # Apache-2.0
+# github.com/prometheus/client_model # Apache-2.0
+# github.com/prometheus/common # Apache-2.0
+# github.com/prometheus/procfs # Apache-2.0
+# github.com/satori/go.uuid # MIT
+# github.com/sirupsen/logrus # MIT
+# github.com/spf13/afero # Apache-2.0
+# github.com/spf13/cast # MIT
+# github.com/spf13/jwalterweatherman # MIT
+# github.com/spf13/pflag # BSD
+# github.com/spf13/viper # MIT
+# github.com/vishvananda/netlink # Apache-2.0
+# github.com/vishvananda/netns # Apache-2.0
+# google.golang.org/genproto # Apache-2.0
+# google.golang.org/grpc # Apache-2.0
+# golang.org/x/crypto # BSD
+# golang.org/x/net # BSD
+# golang.org/x/sys # BSD
+# golang.org/x/text # BSD
+# k8s.io/api # Apache-2.0
+# k8s.io/apimachinery # Apache-2.0
+# k8s.io/client-go # Apache-2.0
+# k8s.io/kube-openapi # Apache-2.0
+# gopkg.in/inf.v0 # BSD
+# gopkg.in/tomb.v2 # BSD
+# gopkg.in/yaml.v2 # Apache-2.0 && MIT
+
+# Test dependencies:
+# github.com/onsi/ginkgo # MIT
+# github.com/onsi/gomega # MIT
+
+src_prepare() {
+ eapply_user
+ # we are going to remove some stuff that is not required for compoilation
+ # but may have some license issues
+ local unneeded_dir
+ local unneeded_dirs=(
+ github.com/howeyc/gopass/terminal_solaris.go
+ github.com/docker/libnetwork/client/mflag
+ github.com/prometheus/client_model/ruby
+ github.com/docker/docker/contrib
+
+ github.com/Microsoft/go-winio
+ github.com/inconshreveable/mousetrap
+
+ github.com/petar/GoLLRB
+ github.com/spf13/cobra
+ )
+ for unneeded_dir in ${unneeded_dirs[@]}; do
+ mv -v "${S}/src/${EGO_PN}/vendor/${unneeded_dir}" "${T}" || \
+ die "can't remove ${unneeded_dir}"
+ done
+}
+
+src_compile() {
+ pushd "src/${EGO_PN}" || die
+ GOPATH="${S}" go build -x -work -v \
+ -ldflags "-X 'github.com/cloudnativelabs/kube-router/pkg/cmd.version=${PV}' "\
+"-X 'github.com/cloudnativelabs/kube-router/pkg/cmd.buildDate=$(date -u +%FT%T%z)'" \
+ -o kube-router cmd/kube-router/kube-router.go || die
+ popd || die
+}
+
+src_test() {
+ local line
+ local testdirs="github.com/cloudnativelabs/kube-router/cmd/kube-router/
+ github.com/cloudnativelabs/kube-router/pkg/..."
+
+ local known_fail=(
+ Test_advertiseClusterIPs
+ Test_advertiseExternalIPs
+ Test_advertiseAnnotationOptOut
+ Test_advertiseAnnotationOptIn
+ Test_advertisePodRoute
+ Test_syncInternalPeers
+ Test_AddPolicies
+ Test_routeReflectorConfiguration
+ )
+
+ # concat as '|^Test1$|^Test2$|^Test3...$':
+ local known_fail_re="$(printf '|^%s$' "${known_fail[@]}" || die)"
+ # drop '|' in the begining:
+ known_fail_re="${known_fail_re:1}"
+
+ einfo "Looking for tests"
+ local working_tests_re="$(
+ # get list of all test:
+ {
+ GOFLLAGS="-mod=readonly" GOPATH="${S}" \
+ go test -list . ${testdirs} ||
+ die "Can't get list of tests";
+ } |
+ { while read line; do echo "${line}"; echo "${line}" >&2; done; } |
+ # skip "no tests" messages as well as know failures:
+ { grep -v -E " |${known_fail_re}" || die "Can't parse tests list"; } |
+ # format a regexp:
+ { sed -z 's/\n/$|^/g' || die; }
+ )"
+ # drop '|^' in the end:
+ working_tests_re="^${working_tests_re::-2}"
+
+ GOFLLAGS="-mod=readonly" GOPATH="${S}" \
+ go test -v -timeout 30s -run "${working_tests_re}" ${testdirs} || \
+ die "Tests failed"
+ GOFLLAGS="-mod=readonly" GOPATH="${S}" \
+ go test -v -timeout 30s -run "${known_fail_re}" ${testdirs} || \
+ ewarn "Known test failure"
+}
+
+src_install() {
+ pushd "src/${EGO_PN}" || die
+ dobin "${PN}"
+ einstalldocs
+ popd || die
+
+ newinitd "${FILESDIR}"/kube-router.initd kube-router
+ newconfd "${FILESDIR}"/kube-router.confd kube-router
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/kube-router.logrotated kube-router
+}