commit c2bc30f6cea054b9c6220017aec6727eebf6f268 Author: User Date: Sun Oct 6 22:22:55 2019 +0300 Imported from SRPM diff --git a/.abf.yml b/.abf.yml new file mode 100644 index 0000000..7697ebe --- /dev/null +++ b/.abf.yml @@ -0,0 +1,2 @@ +sources: + kubernetes-1.13.11.tar.gz: c7df65ee06e563e373004809569f383b9b463262 diff --git a/kubernetes.rpmlintrc b/kubernetes.rpmlintrc new file mode 100644 index 0000000..3846ebc --- /dev/null +++ b/kubernetes.rpmlintrc @@ -0,0 +1 @@ +addFilter("") diff --git a/kubernetes.spec b/kubernetes.spec new file mode 100644 index 0000000..5733210 --- /dev/null +++ b/kubernetes.spec @@ -0,0 +1,140 @@ +%define debug %nil +%define debug_package %nil + +Name: kubernetes +Version: 1.13.11 +Release: 1 +Summary: Production-Grade Container Scheduling and Management +License: ASL 2.0 +URL: https://kubernetes.io +Source0: %{name}-%{version}.tar.gz +Source1000: %{name}.rpmlintrc +Group: Development/Other +BuildRequires: golang >= 1.12.1 +BuildRequires: git +BuildRequires: upx + +%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 kubectl +Summary: Container Cluster Manager - Kubernetes client tools + +%description -n kubectl +Command-line utility for interacting with a Kubernetes cluster + +%files -n kubectl +%{_bindir}/kubectl + +%package -n kubeadm +Summary: Container Cluster Manager - Kubernetes Cluster Bootstrapping Tool +Requires: kubelet >= 1.8.0 +Requires: kubectl >= 1.8.0 +Requires: cni-plugins >= 0.7.5 +Requires: cri-tools >= 1.11.0 + +%description -n kubeadm +Command-line utility for deploying a Kubernetes cluster + +%files -n kubeadm +%{_bindir}/kubeadm +%{_sysconfdir}/systemd/kubelet.service.d/10-kubeadm.conf +%{_sysconfdir}/sysconfig/kubelet +%dir %{_libexecdir}/modules-load.d +%{_libexecdir}/modules-load.d/kubeadm.conf +%{_prefix}/lib/sysctl.d/50-kubeadm.conf + +%package -n kubelet +Summary: Container Cluster Manager - Kubernetes Node Agent +Requires: conntrack +Requires: ebtables +Requires: ethtool +Requires: iproute +Requires: iptables >= 1.4.21 +Requires: cni-plugins >= 0.7.5 +Requires: socat +Requires: util-linux +Requires: systemd + +%description -n kubelet +The node agent of Kubernetes, the container cluster manager + +%files -n kubelet +%{_bindir}/kubelet +%attr(644,-,-) %{_unitdir}/kubelet.service +%{_sysconfdir}/kubernetes/manifests/ + +%package client +Summary: Kubernetes client tools +BuildRequires: golang >= 1.12.0 +Requires: kubectl == %{version} + +%description client +Kubernetes client tools like kubectl + +%files client +%doc *.md LICENSE +%{_bindir}/hyperkube + +%package docs +Summary: Kubernetes documentations + +%description docs +Kubernetes documentations + +%files docs +%doc docs/admin/*.md docs/user-guide/kubectl/*.md docs/yaml/kubectl/*.yaml docs/api-reference LICENSE +%{_mandir}/man1/* + +%prep +%setup -q + +%build +%define GOPATH $RPM_BUILD_DIR/go +GOPATH=%{GOPATH} make + +hack/generate-docs.sh + +upx _output/bin/kubeadm +upx _output/bin/kubelet +upx _output/bin/kubectl +upx _output/bin/hyperkube + +%install +install -dm0755 %{buildroot}%{_bindir} +install -dm0755 %{buildroot}%{_sysconfdir}/systemd/kubelet.service.d +install -dm0755 %{buildroot}%{_sysconfdir}/sysconfig +install -dm0755 %{buildroot}%{_sysconfdir}/kubernetes/manifests +install -dm0755 %{buildroot}%{_libexecdir}/modules-load.d +install -dm0755 %{buildroot}/usr/lib/sysctl.d +install -dm0755 %{buildroot}%{_mandir}/man1 +install -dm0755 %{buildroot}%{_unitdir} + +# kubeadm +install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubeadm +install -p -m 0644 -t %{buildroot}%{_sysconfdir}/systemd/kubelet.service.d/ build/rpms/10-kubeadm.conf + +install -p -m 0644 -T build/rpms/kubelet.env %{buildroot}%{_sysconfdir}/sysconfig/kubelet +install -p -m 0644 -t %{buildroot}%{_libexecdir}/modules-load.d/ build/rpms/kubeadm.conf +install -p -m 0644 -t %{buildroot}/usr/lib/sysctl.d/ build/rpms/50-kubeadm.conf + +# kubelet +install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubelet +install -p -m 0644 build/rpms/kubelet.service %{buildroot}%{_unitdir} + +# kubectl +install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubectl + +# docs +install -p -m 0644 docs/man/man1/* %{buildroot}%{_mandir}/man1/ + +# client +install -p -m 0755 _output/bin/hyperkube %{buildroot}%{_bindir} + +# fix perm docs +find docs/ -type f -exec chmod 0644 {} \; + +%files +%doc README.md LICENSE CHANGELOG-*.md