506d721e42
Dependencies: - some upstream debian packages: cherry-pick https://review.opendev.org/c/starlingx/tools/+/817042 debdownloader $MY_REPO_ROOT_DIR/stx-tools/debian-mirror-tools/config/debian/common/base-bullseye.lst - golang 1.16.6 cherry-pick https://review.opendev.org/c/starlingx/compile/+/809321 add it to 'debian_pkg_dirs' in the compile folder build-pkgs -p golang 1.16.6 Build-image dependencies: - etcd - runc - containerd Skipped the generation of the man pages, focused only on building the package. Did build-pkgs Did build-iso Story: 2009101 Task: 43945 Change-Id: I5024e65f8c84d7b5d57e2a47b060b6ef4416053a Signed-off-by: Mihnea Saracin <Mihnea.Saracin@windriver.com>
139 lines
5.1 KiB
Makefile
Executable File
139 lines
5.1 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
|
|
kube_version := 1.21.3
|
|
kube_git_version := v${kube_version}
|
|
name := kubernetes-${kube_version}
|
|
go_version := 1.16.6
|
|
_stage1 := /usr/local/kubernetes/${kube_version}/stage1
|
|
_stage2 := /usr/local/kubernetes/${kube_version}/stage2
|
|
_bindir := /usr/bin
|
|
output_path := src/k8s.io/kubernetes/_output/bin
|
|
DEBIAN_DESTDIR := $(CURDIR)/debian/tmp
|
|
export DH_VERBOSE = 1
|
|
export PATH := /usr/lib/go-1.16/bin:$(PATH)
|
|
export KUBE_GIT_TREE_STATE="clean"
|
|
export KUBE_GIT_COMMIT=${kube_version}
|
|
export KUBE_GIT_VERSION=${kube_git_version}
|
|
export KUBE_EXTRA_GOPATH=$(pwd)/Godeps/_workspace
|
|
export PBR_VERSION=${kube_git_version}
|
|
|
|
|
|
%:
|
|
dh $@ --with=bash-completion --builddirectory=src --without=build-stamp
|
|
|
|
override_dh_auto_build:
|
|
|
|
mkdir -pv src/k8s.io/kubernetes/
|
|
mv -v $$(ls | grep -v "^src$$" | grep -v "^debian$$") src/k8s.io/kubernetes/.
|
|
|
|
go version
|
|
which go
|
|
|
|
cd src/k8s.io/kubernetes/ && make WHAT="cmd/kube-proxy cmd/kube-apiserver cmd/kube-controller-manager cmd/kubelet cmd/kubeadm cmd/kube-scheduler cmd/kubectl"
|
|
|
|
# TODO convert md to man
|
|
#./hack/generate-docs.sh || true
|
|
#pushd docs ;\
|
|
#pushd admin ;\
|
|
#cp kube-apiserver.md kube-controller-manager.md kube-proxy.md kube-scheduler.md kubelet.md .. ;\
|
|
#popd ;\
|
|
#bash genmanpages.sh ;\
|
|
#popd ;\
|
|
#popd ;\
|
|
|
|
|
|
override_dh_install:
|
|
|
|
install -m 755 -d ${DEBIAN_DESTDIR}${_bindir}
|
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage1}${_bindir}
|
|
install -m 755 -d ${DEBIAN_DESTDIR}${_stage2}${_bindir}
|
|
|
|
echo "+++ INSTALLING kube-apiserver"
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_bindir} ${output_path}/kube-apiserver
|
|
|
|
echo "+++ INSTALLING kubeadm"
|
|
install -p -m 755 -t ${DEBIAN_DESTDIR}${_stage1}${_bindir} ${output_path}/kubeadm
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d
|
|
install -p -m 0644 -t ${DEBIAN_DESTDIR}${_stage2}/etc/systemd/system/kubelet.service.d debian/kubeadm.conf
|
|
|
|
echo "+++ INSTALLING kubelet-cgroup-setup.sh"
|
|
install -p -m 0700 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} debian/kubelet-cgroup-setup.sh
|
|
|
|
echo "+++ INSTALLING kube-apiserver"\
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_bindir} ${output_path}/kube-apiserver
|
|
|
|
echo "+++ INSTALLING kube-controller-manager"
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_bindir} ${output_path}/kube-controller-manager
|
|
|
|
echo "+++ INSTALLING kube-scheduler"
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_bindir} ${output_path}/kube-scheduler
|
|
|
|
echo "+++ INSTALLING kube-proxy"
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_bindir} ${output_path}/kube-proxy
|
|
|
|
echo "+++ INSTALLING kubelet"
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_path}/kubelet
|
|
|
|
echo "+++ INSTALLING kubectl"
|
|
install -p -m 754 -t ${DEBIAN_DESTDIR}${_stage2}${_bindir} ${output_path}/kubectl
|
|
|
|
# install the bash completion
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}${_stage2}/usr/share/bash-completion/completions/
|
|
${DEBIAN_DESTDIR}${_stage2}${_bindir}/kubectl completion bash > ${DEBIAN_DESTDIR}${_stage2}/usr/share/bash-completion/completions/kubectl
|
|
|
|
# install specific cluster addons for optional use
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}/etc/${name}/addons
|
|
# Addon: volumesnapshots
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}/etc/${name}/addons/volumesnapshots
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}/etc/${name}/addons/volumesnapshots/crd
|
|
install -m 0644 -t ${DEBIAN_DESTDIR}/etc/${name}/addons/volumesnapshots/crd src/k8s.io/kubernetes/cluster/addons/volumesnapshots/crd/*
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}/etc/${name}/addons/volumesnapshots/volume-snapshot-controller
|
|
install -m 0644 -t ${DEBIAN_DESTDIR}/etc/${name}/addons/volumesnapshots/volume-snapshot-controller src/k8s.io/kubernetes/cluster/addons/volumesnapshots/volume-snapshot-controller/*
|
|
|
|
#TODO install manpages
|
|
#install -d ${DEBIAN_DESTDIR}/usr/share/man/man1
|
|
#install -p -m 644 docs/man/man1/* ${DEBIAN_DESTDIR}/usr/share/man/man1
|
|
#rm -Rf ${DEBIAN_DESTDIR}/usr/share/man/man1/cloud-controller-manager.*
|
|
# from k8s tarball copied docs/man/man1/*.1
|
|
#popd
|
|
|
|
#mv src/k8s.io/kubernetes/*.md .
|
|
#mv src/k8s.io/kubernetes/LICENSE .
|
|
|
|
|
|
# place files for unit-test rpm
|
|
install -d -m 0755 ${DEBIAN_DESTDIR}/var/lib/kubernetes-unit-test/
|
|
# basically, everything from the root directory is needed
|
|
# unit-tests needs source code
|
|
# integration tests needs docs and other files
|
|
# test-cmd.sh atm needs cluster, examples and other
|
|
cp -a src ${DEBIAN_DESTDIR}/var/lib/kubernetes-unit-test/
|
|
rm -rf ${DEBIAN_DESTDIR}/var/lib/kubernetes-unit-test/src/k8s.io/kubernetes/_output
|
|
|
|
#TODO with install manpages
|
|
#cp -a *.md ${DEBIAN_DESTDIR}/var/lib/kubernetes-unit-test/src/k8s.io/kubernetes/
|
|
|
|
dh_install
|
|
|
|
override_dh_auto_test:
|
|
|
|
echo "******Testing the commands*****"
|
|
src/k8s.io/kubernetes/hack/test-cmd.sh
|
|
|
|
echo "******Benchmarking kube********"
|
|
src/k8s.io/kubernetes/hack/benchmark-go.sh
|
|
|
|
echo "******Testing the go code******"
|
|
src/k8s.io/kubernetes/hack/test-go.sh
|
|
|
|
echo "******Testing integration******"
|
|
src/k8s.io/kubernetes/hack/test-integration.sh --use_go_build
|
|
|
|
override_dh_fixperms:
|
|
dh_fixperms -Xkube-apiserver -Xkubeadm -Xkubeadm.conf \
|
|
-Xkubelet-cgroup-setup.sh -Xkube-apiserver \
|
|
-Xkube-controller-manager -Xkube-scheduler \
|
|
-Xkube-proxy -Xkubelet -Xkubectl
|
|
|
|
override_dh_usrlocal:
|