Summary: Cloud native application connectivity and network policy Name: calico-node Version: 3.3.1 Release: 1 License: ASL 2.0 URL: http://www.projectcalico.org # Download https://github.com/projectcalico/node/archive/v3.3.1.tar.gz # cd node-3.3.1/ # Run glide install --strip-vendor Source0: node-3.3.1+vendor.tar.gz # git clone --depth 1 --single-branch --branch support-calicov3 https://github.com/fkakuma/calico-bgp-daemon.git # mv calico-bgp-daemon calico-bgp-daemon-calicov3 # cd calico-bgp-daemon-calicov3/ # rm -rf .git # glide install --strip-vendor Source1: calico-bgp-daemon-calicov3+vendor.tar.gz Source2: http://smarden.org/runit/runit-2.1.2.tar.gz Patch0: node-3.3.1-aix.patch Patch1: calico-bgp-daemon-calicov3-cgo-aix.patch Group: Applications/System BuildRequires: gcc BuildRequires: golang Requires: criwpar >= 0.2.0 %description Calico is an open source system enabling cloud native application connectivity and policy. Calico integrates with major orchestration systems like Kubernetes, Apache Mesos, Docker, OpenStack and more to provide a seamless experience for developers and operators. Calico is a Tigera open source project, and is primarily maintained by the Tigera team. %post mkwpari -e PATH=/usr/bin:/etc:/usr/sbin:/sbin:/opt/freeware/bin:/opt/freeware/sbin -c start_runit -w / /opt/freeware/share/kubernetes/calico-node.bff ibmcom/calico-node-aix:v3.3.1 >/dev/null rm -f /opt/freeware/share/kubernetes/calico-node.bff exit 0 %postun rmwpari ibmcom/calico-node-aix:v3.3.1 >/dev/null 2>&1 exit 0 %prep %setup -q -c -a 1 -a 2 cd node-3.3.1/ %patch0 -p1 cd ../calico-bgp-daemon-calicov3/ %patch1 -p1 %build export PATH=/usr/bin:/etc:/usr/sbin:/sbin:/opt/freeware/lib/golang/bin:/opt/freeware/bin mkdir -p ./_build/src/github.com/projectcalico/ ln -s $(pwd)/node-3.3.1 ./_build/src/github.com/projectcalico/node ln -s $(pwd)/calico-bgp-daemon-calicov3 ./_build/src/github.com/projectcalico/calico-bgp-daemon export GOPATH=$(pwd)/_build export GOFLAGS="-gcflags=all=-trimpath=$GOPATH" ulimit -d unlimited ulimit -m unlimited ulimit -s unlimited ulimit -f unlimited # calico-node go build -v -o dist/calico-node github.com/projectcalico/node/cmd/calico-node # calico-bgp-daemon go build -v -o dist/calico-bgp-daemon github.com/projectcalico/calico-bgp-daemon # runit cd admin/runit-2.1.2/ cp src/Makefile src/Makefile.orig /bin/sed -e 's/ -static//' < src/Makefile.orig > src/Makefile package/compile cp command/runsv ../../dist/runsv cp command/runsvdir ../../dist/runsvdir cp command/sv ../../dist/sv cp command/svlogd ../../dist/svlogd cd - # calico-node.bff rm -fr dist/calico-node-rootfs mkdir -p dist/calico-node-rootfs cd dist/calico-node-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 mkdir -p opt/freeware/bin mkdir -p opt/freeware/sbin mkdir -p etc/service/available mkdir -p etc/calico/confd/conf.d mkdir -p etc/calico/confd/config mkdir -p etc/calico/confd/templates cp $GOPATH/src/github.com/projectcalico/node/filesystem/etc/calico/felix.cfg etc/calico/ cp $GOPATH/src/github.com/projectcalico/node/filesystem/etc/calico/confd/templates/tunl-ip.template etc/calico/confd/templates/ cp $GOPATH/src/github.com/projectcalico/node/filesystem/etc/calico/confd/conf.d/tunl-ip.toml etc/calico/confd/conf.d/ mkdir -p var/log/calico mkdir -p var/run/calico cp ../calico-node ../calico-bgp-daemon opt/freeware/bin/ cp ../runsv ../runsvdir ../sv ../svlogd opt/freeware/sbin/ cp $GOPATH/src/github.com/projectcalico/node/filesystem/sbin/* opt/freeware/sbin/ cp $GOPATH/src/github.com/projectcalico/node/filesystem/etc/rc.local etc/ cp -R $GOPATH/src/github.com/projectcalico/node/filesystem/etc/service/available/calico-bgp-daemon etc/service/available/ cp -R $GOPATH/src/github.com/projectcalico/node/filesystem/etc/service/available/confd etc/service/available/ cp -R $GOPATH/src/github.com/projectcalico/node/filesystem/etc/service/available/felix etc/service/available/ cp -R $GOPATH/src/github.com/projectcalico/node/filesystem/licenses . find . | backup -iqf ../calico-node.bff cd - %install mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/kubernetes /usr/bin/install -M 0644 -f ${RPM_BUILD_ROOT}%{_datadir}/kubernetes dist/calico-node.bff %clean rm -rf ${RPM_BUILD_ROOT} %files %doc node-3.3.1/README.md %license node-3.3.1/LICENSE %config(missingok) %{_datadir}/kubernetes/calico-node.bff %changelog * Wed Mar 20 2019 Ayappan P - 3.3.1-1 - AIX Toolbox build * Fri Mar 1 2019 Damien Bergamini - 3.3.1-1 - Initial port of calico-node 3.3.1 to AIX - Switch from gccgo compiler to golang * Wed Aug 22 2018 Damien Bergamini - 3.0.4-1 - Initial port of calico-node 3.0.4 to AIX