Hello community, here is the log from the commit of package cilium for openSUSE:Factory checked in at 2019-03-05 12:24:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cilium (Old) and /work/SRC/openSUSE:Factory/.cilium.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cilium" Tue Mar 5 12:24:02 2019 rev:9 rq:681493 version:1.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/cilium/cilium.changes 2019-02-28 21:44:22.657500138 +0100 +++ /work/SRC/openSUSE:Factory/.cilium.new.28833/cilium.changes 2019-03-05 12:24:08.644862981 +0100 @@ -1,0 +2,19 @@ +Mon Mar 4 14:43:27 UTC 2019 - Michał Rostecki <[email protected]> + +- Add gcc as a runtime dependency. BPF programs need to have libgcc + and libgcc_s linked in. + https://github.com/cilium/cilium/issues/7273 + +------------------------------------------------------------------- +Mon Mar 4 10:38:19 UTC 2019 - Michał Rostecki <[email protected]> + +- Provide an explanation why glibc-devel-32bit is needed. +- Ship cilium-cni and cilium-docker in separate packages. + +------------------------------------------------------------------- +Fri Mar 1 15:23:36 UTC 2019 - Michał Rostecki <[email protected]> + +- Add missing runtime dependencies which are needed to execute + scripts shipped with Cilium and to compile BPF programs. + +------------------------------------------------------------------- New: ---- cilium-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cilium.spec ++++++ --- /var/tmp/diff_new_pack.gtmGJZ/_old 2019-03-05 12:24:09.856862611 +0100 +++ /var/tmp/diff_new_pack.gtmGJZ/_new 2019-03-05 12:24:09.860862610 +0100 @@ -41,12 +41,15 @@ License: Apache-2.0 AND GPL-2.0-or-later Group: System/Management URL: https://github.com/cilium/cilium -Source: %{name}-%{version}.tar.gz +Source0: %{name}-%{version}.tar.gz +Source1: %{name}-rpmlintrc Patch0: cilium-allow-to-add-extra-go-build-flags.patch Patch1: cilium-allow-to-specify-cni-install-dirs.patch BuildRequires: clang BuildRequires: git BuildRequires: glibc-devel +# glibc-devel-32bit is needed to compile bpf objects +# https://github.com/cilium/cilium/issues/368 BuildRequires: glibc-devel-32bit BuildRequires: golang-github-jteeuwen-go-bindata BuildRequires: golang-packaging @@ -59,10 +62,30 @@ BuildRequires: shadow BuildRequires: unzip BuildRequires: golang(API) = 1.10 +Requires: awk +Requires: binutils +# clang and glibc headers are needed as runtime dependencies for compiling BPF +# programs by cilium Requires: clang +# Although clang is used as a compiler for BPF programs, they need to have +# libgcc and libgcc_s linked in. +# https://github.com/cilium/cilium/issues/7273 +Requires: gcc +Requires: glibc-devel +# glibc-devel-32bit is needed to compile bpf objects +# https://github.com/cilium/cilium/issues/368 +Requires: glibc-devel-32bit +Requires: iproute2 +# Despite the fact that cilium is using BPF programs and aims to replace +# iptables for container security policies, iptables is still needed for +# defining few rules which redirect the traffic from kube-proxy to cilium. Then +# cilium replaces some of kube-proxy functionality, using BPF programs. So, in +# fact, cilium uses few iptables rules to prevent iptables usage. :) +Requires: iptables Requires: llvm Requires: protobuf-c Requires: util-linux +Requires: which ExclusiveArch: aarch64 x86_64 Requires(post): %fillup_prereq @@ -72,6 +95,35 @@ services deployed using Linux container management platforms like Docker and Kubernetes. +%package cni +Summary: CNI plugin for Cilium +Group: System/Management +Requires: cilium +Requires: cni +Requires: cni-plugins + +%description cni +Cilium is a software for providing, and transparently securing, network +connectivity, and for load-balancing between application containers and +services deployed using Linux container management platforms like Docker and +Kubernetes. + +This package provides a CNI (Container Network Interface) plugin for Cilium. + +%package docker +Summary: Docker libnetwork plugin for Cilium +Group: System/Management +Requires: cilium +Requires: docker + +%description docker +Cilium is a software for providing, and transparently securing, network +connectivity, and for load-balancing between application containers and +services deployed using Linux container management platforms like Docker and +Kubernetes. + +This package provides a Docker libnetwork plugin for Cilium. + %package -n %{lname} Summary: Shared library for Cilium Group: System/Libraries @@ -168,51 +220,66 @@ %pre getent group cilium >/dev/null || groupadd -r cilium -%service_add_pre cilium-consul.service cilium-docker.service cilium-etcd.service cilium.service +%service_add_pre cilium-consul.service cilium-etcd.service cilium.service + +%pre docker +%service_add_pre cilium-docker.service %post %service_add_post cilium-consul.service cilium-docker.service cilium-etcd.service cilium.service -%service_add_post cilium.service %{fillup_only -n cilium} +%post docker +%service_add_post cilium-docker.service + %post -n %{lname} -p /sbin/ldconfig %preun -%service_del_preun cilium-consul.service cilium-docker.service cilium-etcd.service cilium.service +%service_del_preun cilium-consul.service cilium-etcd.service cilium.service + +%preun docker +%service_del_preun cilium-docker.service %postun -%service_del_postun cilium-consul.service cilium-docker.service cilium-etcd.service cilium.service +%service_del_postun cilium-consul.service cilium-etcd.service cilium.service + +%postun docker +%service_del_postun cilium-docker.service %postun -n %{lname} -p /sbin/ldconfig %files -%dir %{_sysconfdir}/cni -%dir %{_sysconfdir}/cni/net.d -%dir %{cni_bin_dir} - -%config(noreplace) %{_sysconfdir}/cni/net.d/10-cilium-cni.conf %{bash_completion_dir}/cilium %{_fillupdir}/sysconfig.cilium %{_unitdir}/cilium-consul.service -%{_unitdir}/cilium-docker.service %{_unitdir}/cilium-etcd.service %{_unitdir}/cilium.service %{_sbindir}/rccilium-consul -%{_sbindir}/rccilium-docker %{_sbindir}/rccilium-etcd %{_sbindir}/rccilium %{_bindir}/cilium %{_bindir}/cilium-agent %{_bindir}/cilium-bugtool -%{_bindir}/cilium-docker %{_bindir}/cilium-health %{_bindir}/cilium-map-migrate %{_bindir}/cilium-node-monitor %{_bindir}/cilium-operator %{_bindir}/cilium-ring-dump -%{cni_bin_dir}/cilium-cni %license LICENSE +%files cni +%dir %{_sysconfdir}/cni +%dir %{_sysconfdir}/cni/net.d +%dir %{cni_bin_dir} + +%files docker +%{_unitdir}/cilium-docker.service +%{_sbindir}/rccilium-docker +%{_bindir}/cilium-docker + +%config(noreplace) %{_sysconfdir}/cni/net.d/10-cilium-cni.conf +%{cni_bin_dir}/cilium-cni + %files -n %{lname} %{_libdir}/libcilium.so.%{sover} ++++++ cilium-rpmlintrc ++++++ # glibc-devel* packages are needed as a runtime dependency, cilium uses them to # compile BPF programs. addFilter("cilium.* devel-dependency")
