Summary: Production-Grade Container Scheduling and Management Name: kubernetes Version: 1.10.0 Release: 1 License: ASL 2.0 URL: http://kubernetes.io Source: https://github.com/kubernetes/kubernetes/archive/v1.10.0.tar.gz Patch: kubernetes-1.10.0-aix.patch Group: Applications/System BuildRequires: gcc-go >= 8.1.0 # We're linking kube-proxy statically so make sure we have # correct versions of libgo and libgcc BuildRequires: libgo >= 8.1.0-2 BuildRequires: libgcc >= 8.1.0-2 Requires: libgo >= 8.1.0-2 Requires: libgcc >= 8.1.0-2 %description Kubernetes is an open source system for managing containerized applications across multiple hosts; providing basic mechanisms for deployment, maintenance, and scaling of applications. %package -n kubernetes-node Summary: The node agent of Kubernetes, the container cluster manager. Requires: criwpar >= 0.1.0 Requires: libgo >= 8.1.0-2 Requires: libgcc >= 8.1.0-2 %description -n kubernetes-node The node agent of Kubernetes, the container cluster manager. %package -n kubectl Summary: Command-line utility for interacting with a Kubernetes cluster. Requires: libgo >= 8.1.0-2 Requires: libgcc >= 8.1.0-2 %description -n kubectl Command-line utility for interacting with a Kubernetes cluster. %post -n kubernetes-node mkwpari -e PATH=/usr/bin:/etc:/usr/sbin:/sbin -c /bin/sh -w / /opt/freeware/share/kubernetes/hyperkube.bff ibmcom/hyperkube-aix:v1.10.0 >/dev/null rm -f /opt/freeware/share/kubernetes/hyperkube.bff exit 0 %postun -n kubernetes-node rmwpari ibmcom/hyperkube-aix:v1.10.0 >/dev/null 2>&1 ifconfig vi0 detach >/dev/null 2>&1 exit 0 %prep %setup -q %patch -p1 -b .aix %build export PATH=/usr/bin:/etc:/usr/sbin:/sbin:/opt/freeware/bin mkdir -p ./_root mkdir -p ./_build/src/k8s.io/ ln -s $(pwd) ./_build/src/k8s.io/kubernetes export GOPATH=$(pwd)/_build export GOARCH=ppc64 export CGO_ENABLED=1 export GOROOT=$(pwd)/_root ulimit -d unlimited ulimit -m unlimited ulimit -s unlimited ulimit -f unlimited # Build openapi-gen, this is needed by hyperkube and genman go build -v -p=3 -o dist/openapi-gen k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/openapi-gen dist/openapi-gen --v 1 --logtostderr --go-header-file $GOPATH/src/k8s.io/kubernetes/hack/boilerplate/boilerplate.go.txt --output-file-base zz_generated.openapi --output-package k8s.io/kubernetes/pkg/generated/openapi # kubectl go build -v -p=3 -gccgoflags='all=-mcmodel=large -Wl,-bbigtoc' -o dist/kubectl k8s.io/kubernetes/cmd/kubectl # kubelet go build -v -p=3 -gccgoflags='all=-mcmodel=large -Wl,-bbigtoc' -o dist/kubelet k8s.io/kubernetes/cmd/kubelet # man pages generator go build -v -p=3 -gccgoflags='all=-mcmodel=large -Wl,-bbigtoc' -o dist/genman k8s.io/kubernetes/cmd/genman # kube-proxy go build -v -p=3 -gccgoflags='all=-mcmodel=large -Wl,-bbigtoc -static-libgo -static-libgcc' -o dist/kube-proxy k8s.io/kubernetes/cmd/kube-proxy # hyperkube.bff rm -rf dist/hyperkube-rootfs mkdir -p dist/hyperkube-rootfs cd dist/hyperkube-rootfs mkdir dev etc home tmp var ln -s /usr/bin/ bin ln -s /usr/lib/ lib ln -s /usr/lib/boot/unix_64 unix cp ../kube-proxy . strip -X64 -t ./kube-proxy find . | backup -iqf ../hyperkube.bff cd - %install mkdir -p ${RPM_BUILD_ROOT}%{_bindir} strip -X64 -t dist/kubectl /usr/bin/install -M 0755 -f ${RPM_BUILD_ROOT}%{_bindir} dist/kubectl strip -X64 -t dist/kubelet /usr/bin/install -M 0755 -f ${RPM_BUILD_ROOT}%{_bindir} dist/kubelet mkdir -p ${RPM_BUILD_ROOT}/etc/cni/net.d mkdir -p ${RPM_BUILD_ROOT}/opt/cni/bin mkdir -p ${RPM_BUILD_ROOT}//usr/libexec/kubernetes/kubelet-plugins/volume/exec mkdir -p ${RPM_BUILD_ROOT}/var/lib/kubelet mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/kubernetes /usr/bin/install -M 0644 -f ${RPM_BUILD_ROOT}%{_datadir}/kubernetes dist/hyperkube.bff mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1 dist/genman ${RPM_BUILD_ROOT}%{_mandir}/man1 kubelet dist/genman ${RPM_BUILD_ROOT}%{_mandir}/man1 kubectl %clean rm -rf ${RPM_BUILD_ROOT} %files -n kubernetes-node %doc LICENSE Godeps/LICENSES %{_bindir}/kubelet %config(missingok) %{_datadir}/kubernetes/hyperkube.bff %{_mandir}/man1/kubelet*.1* %dir /etc/cni/net.d %dir /opt/cni/bin %dir /usr/libexec/kubernetes/kubelet-plugins/volume/exec %dir /var/lib/kubelet %files -n kubectl %doc LICENSE Godeps/LICENSES %{_bindir}/kubectl %{_mandir}/man1/kubectl*.1* %changelog * Tue Aug 21 2018 Damien Bergamini - 1.10.0-1 - Initial port of Kubernetes 1.10.0 to AIX