app-admin/kubelet: add kubernetes kubelet

This commit is contained in:
Alex Crawford 2015-08-05 13:50:20 -07:00
parent 97a9b5afeb
commit b7808aa6c5
2 changed files with 161 additions and 0 deletions

View File

@ -0,0 +1,116 @@
From 15052509eab969b8ce5076be694ad28615a70dc9 Mon Sep 17 00:00:00 2001
From: Alex Crawford <alex.crawford@coreos.com>
Date: Wed, 5 Aug 2015 14:46:34 -0700
Subject: [PATCH] Plumb linker flags through from the Makefile
---
Makefile | 6 ++++++
hack/lib/golang.sh | 17 +++++++----------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index af0fc4f..3636ce5 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,9 @@ GODEPS_PKG_DIR = Godeps/_workspace/pkg
KUBE_GOFLAGS = $(GOFLAGS)
export KUBE_GOFLAGS
+KUBE_GOLDFLAGS = $(GOLDFLAGS)
+export KUBE_GOLDFLAGS
+
# Build code.
#
# Args:
@@ -19,6 +22,7 @@ export KUBE_GOFLAGS
# package, the build will produce executable files under $(OUT_DIR)/go/bin.
# If not specified, "everything" will be built.
# GOFLAGS: Extra flags to pass to 'go' when building.
+# GOLDFLAGS: Extra linking flags to pass to 'go' when building.
#
# Example:
# make
@@ -35,6 +39,7 @@ all:
# directories will be run. If not specified, "everything" will be tested.
# TESTS: Same as WHAT.
# GOFLAGS: Extra flags to pass to 'go' when building.
+# GOLDFLAGS: Extra linking flags to pass to 'go' when building.
#
# Example:
# make check
@@ -78,6 +83,7 @@ clean:
# vetted.
# TESTS: Same as WHAT.
# GOFLAGS: Extra flags to pass to 'go' when building.
+# GOLDFLAGS: Extra linking flags to pass to 'go' when building.
#
# Example:
# make vet
diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh
index f0fe3bd..8f2c5d4 100644
--- a/hack/lib/golang.sh
+++ b/hack/lib/golang.sh
@@ -369,7 +369,7 @@ kube::golang::build_binaries_for_platform() {
local outfile=$(kube::golang::output_filename_for_binary "${binary}" "${platform}")
CGO_ENABLED=0 go build -o "${outfile}" \
"${goflags[@]:+${goflags[@]}}" \
- -ldflags "${version_ldflags}" \
+ -ldflags "${goldflags}" \
"${binary}"
kube::log::progress "*"
done
@@ -377,7 +377,7 @@ kube::golang::build_binaries_for_platform() {
local outfile=$(kube::golang::output_filename_for_binary "${binary}" "${platform}")
go build -o "${outfile}" \
"${goflags[@]:+${goflags[@]}}" \
- -ldflags "${version_ldflags}" \
+ -ldflags "${goldflags}" \
"${binary}"
kube::log::progress "*"
done
@@ -386,12 +386,12 @@ kube::golang::build_binaries_for_platform() {
# Use go install.
if [[ "${#nonstatics[@]}" != 0 ]]; then
go install "${goflags[@]:+${goflags[@]}}" \
- -ldflags "${version_ldflags}" \
+ -ldflags "${goldflags}" \
"${nonstatics[@]:+${nonstatics[@]}}"
fi
if [[ "${#statics[@]}" != 0 ]]; then
CGO_ENABLED=0 go install -installsuffix cgo "${goflags[@]:+${goflags[@]}}" \
- -ldflags "${version_ldflags}" \
+ -ldflags "${goldflags}" \
"${statics[@]:+${statics[@]}}"
fi
fi
@@ -405,7 +405,7 @@ kube::golang::build_binaries_for_platform() {
pushd "$(dirname ${outfile})" >/dev/null
go test -c \
"${goflags[@]:+${goflags[@]}}" \
- -ldflags "${version_ldflags}" \
+ -ldflags "${goldflags}" \
"$(dirname ${test})"
popd >/dev/null
done
@@ -447,16 +447,13 @@ kube::golang::build_binaries() {
# Check for `go` binary and set ${GOPATH}.
kube::golang::setup_env
- # Fetch the version.
- local version_ldflags
- version_ldflags=$(kube::version::ldflags)
-
local host_platform
host_platform=$(kube::golang::host_platform)
# Use eval to preserve embedded quoted strings.
- local goflags
+ local goflags goldflags
eval "goflags=(${KUBE_GOFLAGS:-})"
+ goldflags="${KUBE_GOLDFLAGS:-} $(kube::version::ldflags)"
local use_go_build
local -a targets=()
--
2.3.6

View File

@ -0,0 +1,45 @@
#
# Copyright (c) 2015 CoreOS, Inc.. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
# $Header:$
#
EAPI=5
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Kubernetes Container Manager"
HOMEPAGE="http://kubernetes.io/"
KEYWORDS="amd64"
SRC_URI="https://github.com/GoogleCloudPlatform/kubernetes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/kubernetes-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
DEPEND="dev-lang/go"
RDEPEND="net-misc/socat"
src_prepare() {
epatch "${FILESDIR}/0001-Plumb-linker-flags-through-from-the-Makefile.patch"
if gcc-specs-pie; then
append-ldflags -nopie
fi
export CC=$(tc-getCC)
export CGO_ENABLED=${CGO_ENABLED:-1}
export CGO_CFLAGS="${CFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export CGO_LDFLAGS="${LDFLAGS}"
}
src_compile() {
emake all WHAT="cmd/${PN}" GOFLAGS="-x" GOLDFLAGS="-extldflags '${LDFLAGS}'"
}
src_install() {
dobin "${S}/_output/local/bin/linux/${ARCH}/${PN}"
}