File kubernetes.spec of Package kubernetes

#
# spec file for package kubernetes
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


# baseversion - base minor version (n) of kubernetes for this package
%define baseversion 1.32

# baseversionminus1 - previous base minor (n-1) version of kubernetes
%define baseversionminus1 1.31
# versionminus1 - full previous base minor (n-1) version of kubernetes, including point revision
%define versionminus1 1.31.6

# baseversionminus2 - previous base minor (n-2) version of kubernetes
%define baseversionminus2 1.30
# versionminus2 - full previous base minor (n-2) version of kubernetes, including point revision
%define versionminus2 1.30.10

# baseversionminus3 - previous base minor (n-3) version of kubernetes
%define baseversionminus3 1.29
# versionminus3 - full previous base minor (n-3) version of kubernetes, including point revision
%define versionminus3 1.29.14


# etcdversion - version of etcd
%define etcdversion 3.5.16
# etcdversionminus1 - version of etcd for versionminus1
%define etcdversionminus1 3.5.15
# etcdversionminus2 - version of etcd for versionminus2
%define etcdversionminus2 3.5.15
# etcdversionminus3 - version of etcd for versionminus3
%define etcdversionminus3 3.5.16


# corednsversion - version of coredns
%define corednsversion 1.11.3
# corednsversionminus1 - version of coredns for versionminus1
%define corednsversionminus1 1.11.3
# corednsversionminus2 - version of coredns for versionminus2
%define corednsversionminus2 1.11.3
# corednsversionminus3 - version of coredns for versionminus3
%define corednsversionminus3 1.11.1

Name:           kubernetes
Version:        1.32.2
Release:        0
Summary:        Container Scheduling and Management
License:        Apache-2.0
Group:          System/Management
URL:            http://kubernetes.io
Source:         README.packaging
ExcludeArch:    %{ix86} s390 ppc64 %arm

%description
Kubernetes is a system for automating deployment, scaling, and
management of containerized applications.

It groups containers that make up an application into logical units
for management and discovery.

# packages for containerized control plane

%package apiserver
Summary:        Kubernetes apiserver for container image
Group:          System/Management
Requires:       kubernetes%{baseversion}-apiserver = %{version}

%description apiserver
This subpackage contains the kube-apiserver binary for Kubic images

%package controller-manager
Summary:        Kubernetes controller-manager for container image
Group:          System/Management
Requires:       kubernetes%{baseversion}-controller-manager = %{version}

%description controller-manager
This subpackage contains the kube-controller-manager binary for Kubic images

%package scheduler
Summary:        Kubernetes scheduler for container image
Group:          System/Management
Requires:       kubernetes%{baseversion}-scheduler = %{version}

%description scheduler
This subpackage contains the kube-scheduler binary for Kubic images

%package proxy
Summary:        Kubernetes proxy for container image
Group:          System/Management
Requires:       kubernetes%{baseversion}-proxy = %{version}

%description proxy
This subpackage contains the kube-proxy binary for Kubic images

# packages for containerised control plane relative to Kubernetes minor version (n-1)

%package apiserver-minus1
Summary:        Kubernetes apiserver for container image
Group:          System/Management
Version:        %{versionminus1}
Requires:       kubernetes%{baseversionminus1}-apiserver

%description apiserver-minus1
This subpackage contains the kube-apiserver binary for Kubic images

%package controller-manager-minus1
Summary:        Kubernetes controller-manager for container image
Group:          System/Management
Version:        %{versionminus1}
Requires:       kubernetes%{baseversionminus1}-controller-manager

%description controller-manager-minus1
This subpackage contains the kube-controller-manager binary for Kubic images

%package scheduler-minus1
Summary:        Kubernetes scheduler for container image
Group:          System/Management
Version:        %{versionminus1}
Requires:       kubernetes%{baseversionminus1}-scheduler

%description scheduler-minus1
This subpackage contains the kube-scheduler binary for Kubic images

%package proxy-minus1
Summary:        Kubernetes proxy for container image
Group:          System/Management
Version:        %{versionminus1}
Requires:       kubernetes%{baseversionminus1}-proxy
%description proxy-minus1
This subpackage contains the kube-proxy binary for Kubic images

# packages for containerised control plane relative to Kubernetes minor version (n-2)

%package apiserver-minus2
Summary:        Kubernetes apiserver for container image
Group:          System/Management
Version:        %{versionminus2}
Requires:       kubernetes%{baseversionminus2}-apiserver

%description apiserver-minus2
This subpackage contains the kube-apiserver binary for Kubic images

%package controller-manager-minus2
Summary:        Kubernetes controller-manager for container image
Group:          System/Management
Version:        %{versionminus2}
Requires:       kubernetes%{baseversionminus2}-controller-manager

%description controller-manager-minus2
This subpackage contains the kube-controller-manager binary for Kubic images

%package scheduler-minus2
Summary:        Kubernetes scheduler for container image
Group:          System/Management
Version:        %{versionminus2}
Requires:       kubernetes%{baseversionminus2}-scheduler

%description scheduler-minus2
This subpackage contains the kube-scheduler binary for Kubic images

%package proxy-minus2
Summary:        Kubernetes proxy for container image
Group:          System/Management
Version:        %{versionminus2}
Requires:       kubernetes%{baseversionminus2}-proxy

%description proxy-minus2
This subpackage contains the kube-proxy binary for Kubic images

# packages for containerised control plane relative to Kubernetes minor version (n-3)

%package apiserver-minus3
Summary:        Kubernetes apiserver for container image
Group:          System/Management
Version:        %{versionminus3}
Requires:       kubernetes%{baseversionminus3}-apiserver

%description apiserver-minus3
This subpackage contains the kube-apiserver binary for Kubic images

%package controller-manager-minus3
Summary:        Kubernetes controller-manager for container image
Group:          System/Management
Version:        %{versionminus3}
Requires:       kubernetes%{baseversionminus3}-controller-manager

%description controller-manager-minus3
This subpackage contains the kube-controller-manager binary for Kubic images

%package scheduler-minus3
Summary:        Kubernetes scheduler for container image
Group:          System/Management
Version:        %{versionminus3}
Requires:       kubernetes%{baseversionminus3}-scheduler

%description scheduler-minus3
This subpackage contains the kube-scheduler binary for Kubic images

%package proxy-minus3
Summary:        Kubernetes proxy for container image
Group:          System/Management
Version:        %{versionminus3}
Requires:       kubernetes%{baseversionminus3}-proxy

%description proxy-minus3
This subpackage contains the kube-proxy binary for Kubic images

# packages for running on hosts/clients

%package kubelet
Summary:        Kubernetes kubelet daemon
Group:          System/Management
Requires:       kubernetes%{baseversion}-kubelet = %{VERSION}

%description kubelet
Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops.
kubelet daemon

%package kubeadm
Summary:        Kubernetes kubeadm bootstrapping tool
Group:          System/Management
Requires:       kubernetes%{baseversion}-kubeadm = %{VERSION}
Requires:       kubernetes%{baseversion}-kubelet
Requires:       kubernetes%{baseversionminus1}-kubelet

%description kubeadm
Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops.
kubeadm bootstrapping tool

%package client
Summary:        Kubernetes client tools
Group:          System/Management
Requires:       kubernetes%{baseversion}-client = %{VERSION}

%description client
Kubernetes client tools like kubectl.

# etcd package relative to k8s base minor version (n)

%package etcd
Summary:        Kubernetes etcd daemon for container images
Group:          System/Management
Version:        %{etcdversion}
Requires:       etcd-for-k8s%{baseversion}

%description etcd
This subpackage contains the etcd binary for Kubic images

# etcd package relative to k8s base minor version (n-1)

%package etcd-minus1
Summary:        Kubernetes etcd daemon for container images
Group:          System/Management
Version:        %{etcdversionminus1}
Requires:       etcd-for-k8s%{baseversionminus1}

%description etcd-minus1
This subpackage contains the etcd binary for Kubic images

# etcd package relative to k8s base minor version (n-2)

%package etcd-minus2
Summary:        Kubernetes etcd daemon for container images
Group:          System/Management
Version:        %{etcdversionminus2}
Requires:       etcd-for-k8s%{baseversionminus2}

%description etcd-minus2
This subpackage contains the etcd binary for Kubic images

# etcd package relative to k8s base minor version (n-3)

%package etcd-minus3
Summary:        Kubernetes etcd daemon for container images
Group:          System/Management
Version:        %{etcdversionminus3}
Requires:       etcd-for-k8s%{baseversionminus3}

%description etcd-minus3
This subpackage contains the etcd binary for Kubic images

# coredns package relative to k8s base minor version (n)

%package coredns
Summary:        Kubernetes coredns daemon for container images
Group:          System/Management
Version:        %{corednsversion}
Requires:       coredns-for-k8s%{baseversion}

%description coredns
This subpackage contains the coredns binary for Kubic images

# coredns package relative to k8s base minor version (n-1)

%package coredns-minus1
Summary:        Kubernetes coredns daemon for container images
Group:          System/Management
Version:        %{corednsversionminus1}
Requires:       coredns-for-k8s%{baseversionminus1}

%description coredns-minus1
This subpackage contains the coredns binary for Kubic images

# coredns package relative to k8s base minor version (n-2)

%package coredns-minus2
Summary:        Kubernetes coredns daemon for container images
Group:          System/Management
Version:        %{corednsversionminus2}
Requires:       coredns-for-k8s%{baseversionminus2}

%description coredns-minus2
This subpackage contains the coredns binary for Kubic images

# coredns package relative to k8s base minor version (n-3)

%package coredns-minus3
Summary:        Kubernetes coredns daemon for container images
Group:          System/Management
Version:        %{corednsversionminus3}
Requires:       coredns-for-k8s%{baseversionminus3}

%description coredns-minus3
This subpackage contains the coredns binary for Kubic images

%prep
#Not Needed

%build
echo "This is a dummy package to provide a dependency on supported kubernetes versions." > README

%install

%files apiserver
%doc README

%files controller-manager
%doc README

%files scheduler
%doc README

%files proxy
%doc README

%files etcd
%doc README

%files coredns
%doc README

%files apiserver-minus1
%doc README

%files controller-manager-minus1
%doc README

%files scheduler-minus1
%doc README

%files proxy-minus1
%doc README

%files etcd-minus1
%doc README

%files coredns-minus1
%doc README

%files apiserver-minus2
%doc README

%files controller-manager-minus2
%doc README

%files scheduler-minus2
%doc README

%files proxy-minus2
%doc README

%files etcd-minus2
%doc README

%files coredns-minus2
%doc README

%files apiserver-minus3
%doc README

%files controller-manager-minus3
%doc README

%files scheduler-minus3
%doc README

%files proxy-minus3
%doc README

%files etcd-minus3
%doc README

%files coredns-minus3
%doc README

%files kubelet
%doc README

%files kubeadm
%doc README

%files client
%doc README

%changelog
openSUSE Build Service is sponsored by