82d43af
#debuginfo not supported with Go
82d43af
%global debug_package %{nil}
82d43af
# modifying the Go binaries breaks the DWARF debugging
82d43af
%global __os_install_post %{_rpmconfigdir}/brp-compress
82d43af
82d43af
%global gopath      %{_datadir}/gocode
82d43af
%global import_path github.com/openshift/origin
82d43af
%global registry_import_path github.com/openshift/image-registry
82d43af
%global webconsole_import_path github.com/openshift/origin-web-console-server
82d43af
%global servicecat_import_path github.com/openshift/service-catalog
82d43af
%global clustercap_import_path github.com/openshift/cluster-capacity
82d43af
82d43af
# docker_version is the version of docker requires by packages
82d43af
%global docker_version 1.13
82d43af
# openvswitch_version is the version of openvswitch requires by packages
82d43af
%global openvswitch_version 2.6.1
82d43af
# this is the version we obsolete up to. The packaging changed for Origin
82d43af
# 1.0.6 and OSE 3.1 such that 'openshift' package names were no longer used.
82d43af
%global package_refactor_version 3.0.2.900
82d43af
%global golang_version 1.10
82d43af
# %%commit and %%os_git_vars are intended to be set by tito custom builders provided
82d43af
# in the .tito/lib directory. The values in this spec file will not be kept up to date.
82d43af
%{!?commit:
d760e8e
%global commit 20c5b86c88657888e4906ed7942b85515c650f96
82d43af
}
d760e8e
%global kube_commit b3b92b285f38984ad0b5b4d4ba6b150ac119dd2a
d760e8e
%global etcd_commit 135cf9b40738d17886f499b40bc176fc892ba5e9
d760e8e
%global registry_commit bffddbaeee29b7d32fe4cccc62f0049644c21705
82d43af
%global webconsole_commit ea422803d27e20a8a78eeaa2d9c5619ac979f834
d760e8e
%global servicecat_commit 2e6be86d6e11c14aaca5c62e291879c9c694f425
82d43af
%global clustercap_commit 22be164a90dc8d2705ce05638e6ce61839596dfc
82d43af
82d43af
%global shortcommit %(c=%{commit}; echo ${c:0:7})
82d43af
%global kube_shortcommit %(c=%{kube_commit}; echo ${c:0:7})
82d43af
%global etcd_shortcommit %(c=%{etcd_commit}; echo ${c:0:7})
82d43af
%global registry_shortcommit %(c=%{registry_commit}; echo ${c:0:7})
82d43af
%global webconsole_shortcommit %(c=%{webconsole_commit}; echo ${c:0:7})
82d43af
%global servicecat_shortcommit %(c=%{servicecat_commit}; echo ${c:0:7})
82d43af
%global clustercap_shortcommit %(c=%{clustercap_commit}; echo ${c:0:7})
82d43af
82d43af
# os_git_vars needed to run hack scripts during rpm builds
82d43af
# place to look for the kube, catalog and etcd commit hashes are the lock files in the origin tree, seems that origin build scripts are ignorant about what origin is bundling...
82d43af
%{!?os_git_vars:
82d43af
%global os_git_vars OS_GIT_COMMIT=%{shortcommit} OS_GIT_VERSION=v3.11.0+%{shortcommit} OS_GIT_MAJOR=3 OS_GIT_MINOR=11+ OS_GIT_PATCH=0 OS_GIT_TREE_STATE=clean KUBE_GIT_VERSION=v1.10.0+%{kube_shortcommit} KUBE_GIT_MAJOR=1 KUBE_GIT_MINOR=10+ KUBE_GIT_COMMIT=%{kube_shortcommit} ETCD_GIT_COMMIT=%{etcd_shortcommit} ETCD_GIT_VERSION=v3.2.16-0-%{etcd_shortcommit} OS_GIT_CATALOG_VERSION=v0.1.9}
82d43af
82d43af
%if 0%{?fedora} || 0%{?epel}
82d43af
%global need_redistributable_set 0
82d43af
%else
82d43af
# Due to library availability, redistributable builds only work on x86_64
82d43af
%ifarch x86_64
82d43af
%global need_redistributable_set 1
82d43af
%else
82d43af
%global need_redistributable_set 0
82d43af
%endif
82d43af
%endif
82d43af
%{!?make_redistributable: %global make_redistributable %{need_redistributable_set}}
82d43af
82d43af
%if "%{dist}" == ".el7aos"
82d43af
%global package_name atomic-openshift
82d43af
%global product_name Atomic OpenShift
82d43af
%else
82d43af
%global package_name origin
82d43af
%global product_name Origin
82d43af
%endif
82d43af
82d43af
Name:           %{package_name}
82d43af
# Version is not kept up to date and is intended to be set by tito custom
82d43af
# builders provided in the .tito/lib directory of this project
d760e8e
Version:        3.11.2
d760e8e
Release:        1%{?dist}
82d43af
Summary:        OpenShift Open Source Container Management by Red Hat
82d43af
License:        ASL 2.0
82d43af
URL:            https://%{import_path}
82d43af
82d43af
# If go_arches not defined fall through to implicit golang archs
82d43af
%if 0%{?go_arches:1}
82d43af
ExclusiveArch:  %{go_arches}
82d43af
%else
82d43af
ExclusiveArch:  x86_64 aarch64 ppc64le s390x
82d43af
%endif
82d43af
82d43af
ExcludeArch: ppc64
82d43af
82d43af
%global sversion %{version}
82d43af
82d43af
Source0:        https://%{import_path}/archive/%{commit}/%{name}-%{sversion}.tar.gz
82d43af
# Docker registry has been move to separate repository at https://github.com/openshift/image-registry along with other "integral" parts of openshift origin
82d43af
Source1:        https://%{registry_import_path}/archive/%{registry_commit}/registry-v%{sversion}.tar.gz
82d43af
Source2:        https://%{webconsole_import_path}/archive/%{webconsole_commit}/webconsole-v%{sversion}.tar.gz
82d43af
Source3:        https://%{servicecat_import_path}/archive/%{servicecat_commit}/servicecat-v%{sversion}.tar.gz
82d43af
Source4:        https://%{clustercap_import_path}/archive/%{clustercap_commit}/clustercap-v%{sversion}.tar.gz
82d43af
82d43af
# Patch to enable armv7hl and i386
82d43af
#
82d43af
# armv7hl parts submitted upstream:
82d43af
#   https://github.com/openshift/origin/pull/15686
82d43af
#
82d43af
# Upstream had this explcitly disabled for i386 but had client builds enabled.
82d43af
# Will follow up with upstream to find out if they want to leave this as is.
82d43af
Patch0:         origin-3.6.0-build.patch
82d43af
82d43af
BuildRequires:  systemd
82d43af
BuildRequires:  bsdtar
82d43af
BuildRequires:  golang >= %{golang_version}
82d43af
BuildRequires:  krb5-devel
82d43af
BuildRequires:  rsync
82d43af
Requires:       %{name}-clients = %{version}-%{release}
82d43af
Requires:       iptables
82d43af
Obsoletes:      openshift < %{package_refactor_version}
82d43af
82d43af
#
82d43af
# The following Bundled Provides entries are populated automatically by the
82d43af
# OpenShift Origin tito custom builder found here:
82d43af
#   https://github.com/openshift/origin/blob/master/.tito/lib/origin/builder/
82d43af
#
82d43af
# Can also be generated with the following:
82d43af
#   $ python -c 'import json; print "\n".join(["Provides: bundled(golang({})) = {}".format(dep[u"ImportPath"], dep[u"Rev"]) for dep in json.load(open("Godeps/Godeps.json", "r"))[u"Deps"]])'
82d43af
#
82d43af
# These are defined as per:
82d43af
# https://fedoraproject.org/wiki/Packaging:Guidelines#Bundling_and_Duplication_of_system_libraries
82d43af
# TODO add actual bundled list including recursive vendored deps, not just what origin BS can generate...
82d43af
Provides: bundled(golang(github.com/coreos/etcd/etcdserver)) = 121edf0467052d55876a817b89875fb39a99bf78
82d43af
Provides: bundled(golang(k8s.io/kubernetes/pkg/api)) = d4cacc043ac762235e16cb7361d527cb4189393c
82d43af
Provides: bundled(golang(github.com/openshift/image-registry)) = 0d49798e519cb36d27c97392e92a9bf41ef90b66
82d43af
Provides: bundled(golang(github.com/openshift/origin-web-console-server)) = 515b8e4fbaed78cb2dcad3f4d12b0e5493cb9bce
82d43af
Provides: bundled(golang(github.com/openshift/service-catalog)) = c0f3fe8b3d0127d1be39a6dfa56baf96153ad762
82d43af
Provides: bundled(golang(github.com/openshift/cluster-capacity)) = d8c344e0feb22cc9078081243b492b38a411e4cb
82d43af
82d43af
%description
82d43af
OpenShift Origin is a distribution of Kubernetes optimized for enterprise application
82d43af
development and deployment. OpenShift Origin adds developer and operational centric
82d43af
tools on top of Kubernetes to enable rapid application development, easy
82d43af
deployment and scaling, and long-term lifecycle maintenance for small and large
82d43af
teams and applications. It provides a secure and multi-tenant configuration for
82d43af
Kubernetes allowing you to safely host many different applications and workloads
82d43af
on a unified cluster.
82d43af
82d43af
%package hypershift
82d43af
Summary:        %{product_name} server commands
82d43af
82d43af
%description hypershift
82d43af
%{summary}
82d43af
82d43af
%package hyperkube
82d43af
Summary:        %{product_name} Kubernetes server commands
82d43af
Conflicts:  kubernetes-node, kubernetes-master, kubernetes-client
82d43af
82d43af
%description hyperkube
82d43af
%{summary}
82d43af
82d43af
%package master
82d43af
Summary:        %{product_name} Master
82d43af
Requires:       %{name} = %{version}-%{release}
82d43af
Obsoletes:      openshift-master < %{package_refactor_version}
82d43af
82d43af
%description master
82d43af
%{summary}
82d43af
82d43af
%package tests
82d43af
Summary: %{product_name} Test Suite
82d43af
82d43af
%description tests
82d43af
%{summary}
82d43af
82d43af
%package node
82d43af
Summary:        %{product_name} Node
82d43af
Requires:       %{name}-hyperkube = %{version}-%{release}
82d43af
Requires:       util-linux
82d43af
Requires:       socat
82d43af
Requires(post):   systemd
82d43af
Requires(preun):  systemd
82d43af
Requires(postun): systemd
82d43af
Obsoletes:      openshift-node < %{package_refactor_version}
49a51b0
Obsoletes:      tuned-profiles-%{name}-node < 3.6.1
49a51b0
Provides:       tuned-profiles-%{name}-node = %{version}-%{release}
82d43af
82d43af
%description node
82d43af
%{summary}
82d43af
82d43af
%package clients
82d43af
Summary:        %{product_name} Client binaries for Linux
82d43af
Obsoletes:      openshift-clients < %{package_refactor_version}
82d43af
Conflicts:      kubernetes-client
d5803ad
Recommends:     bash-completion
82d43af
82d43af
%description clients
82d43af
%{summary}
82d43af
82d43af
%if 0%{?make_redistributable}
82d43af
%package clients-redistributable
82d43af
Summary:        %{product_name} Client binaries for Linux, Mac OSX, and Windows
82d43af
Obsoletes:      openshift-clients-redistributable < %{package_refactor_version}
82d43af
82d43af
%description clients-redistributable
82d43af
%{summary}
82d43af
%endif
82d43af
82d43af
%package dockerregistry
82d43af
Summary:        Docker Registry v2 for %{product_name}
82d43af
Requires:       %{name} = %{version}-%{release}
82d43af
82d43af
%description dockerregistry
82d43af
%{summary}
82d43af
82d43af
%package pod
82d43af
Summary:        %{product_name} Pod
82d43af
82d43af
%description pod
82d43af
%{summary}
82d43af
82d43af
%package sdn-ovs
82d43af
Summary:          %{product_name} SDN Plugin for Open vSwitch
82d43af
Requires:         openvswitch >= %{openvswitch_version}
82d43af
# selinux-policy is required because openvswitch doesn't yet take a dependency on selinux-policy but changes the files
82d43af
Requires:         selinux-policy
82d43af
Requires:         %{name}-node = %{version}-%{release}
82d43af
Requires:         bridge-utils
82d43af
Requires:         ethtool
82d43af
Requires:         procps-ng
82d43af
Requires:         iproute
82d43af
Requires:         conntrack-tools
82d43af
Obsoletes:        openshift-sdn-ovs < %{package_refactor_version}
82d43af
82d43af
%description sdn-ovs
82d43af
%{summary}
82d43af
82d43af
%package service-catalog
82d43af
Summary:        %{product_name} Service Catalog
82d43af
Requires:       %{name} = %{version}-%{release}
82d43af
82d43af
%description service-catalog
82d43af
%{summary}
82d43af
82d43af
%package template-service-broker
82d43af
Summary: Template Service Broker
82d43af
%description template-service-broker
82d43af
%{summary}
82d43af
82d43af
%package cluster-capacity
82d43af
Summary:        %{product_name} Cluster Capacity Analysis Tool
82d43af
Requires:       %{name} = %{version}-%{release}
82d43af
82d43af
%description cluster-capacity
82d43af
%{summary}
82d43af
82d43af
%package excluder
82d43af
Summary:   Exclude openshift packages from updates
82d43af
BuildArch: noarch
82d43af
82d43af
%description excluder
82d43af
Many times admins do not want openshift updated when doing
82d43af
normal system updates.
82d43af
82d43af
%{name}-excluder exclude - No openshift packages can be updated
82d43af
%{name}-excluder unexclude - Openshift packages can be updated
82d43af
82d43af
%package docker-excluder
82d43af
Summary:   Exclude docker packages from updates
82d43af
BuildArch: noarch
82d43af
82d43af
%description docker-excluder
82d43af
Certain versions of OpenShift will not work with newer versions
82d43af
of docker.  Exclude those versions of docker.
82d43af
82d43af
%{name}-docker-excluder exclude - No major docker updates
82d43af
%{name}-docker-excluder unexclude - docker packages can be updated
82d43af
82d43af
%package web-console
82d43af
Summary: Web Console for the OpenShift Application Platform
82d43af
82d43af
%description web-console
82d43af
OpenShift is a distribution of Kubernetes optimized for enterprise application
82d43af
development and deployment. This is the web console server for OpenShift.
82d43af
82d43af
82d43af
%prep
82d43af
%setup -q -n %{name}-%{commit}
82d43af
gzip -dc %{SOURCE1} | tar -xof -
82d43af
gzip -dc %{SOURCE2} | tar -xof -
82d43af
gzip -dc %{SOURCE3} | tar -xof -
82d43af
gzip -dc %{SOURCE4} | tar -xof -
82d43af
82d43af
%patch0 -p1 -b .bsfix
82d43af
82d43af
%build
82d43af
echo "GOLANG DEBUG OUTPUT"
82d43af
go version
82d43af
export TRAVIS=true
49a51b0
export GO111MODULE=off
49a51b0
export GOPROXY=direct
49a51b0
export GOSUMDB=off
82d43af
%if 0%{make_redistributable}
82d43af
# Create Binaries for all supported arches
82d43af
%{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
%{os_git_vars} hack/build-go.sh vendor/github.com/onsi/ginkgo/ginkgo
82d43af
pushd image-registry-%{registry_commit}
82d43af
%{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
pushd origin-web-console-server-%{webconsole_commit}
82d43af
%{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
pushd service-catalog-%{servicecat_commit}
82d43af
%{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
pushd cluster-capacity-%{clustercap_commit}
82d43af
%{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
%else
82d43af
# Create Binaries only for building arch
82d43af
%ifarch x86_64
82d43af
  BUILD_PLATFORM="linux/amd64"
82d43af
%endif
82d43af
%ifarch %{ix86}
82d43af
  BUILD_PLATFORM="linux/386"
82d43af
%endif
82d43af
%ifarch ppc64le
82d43af
  BUILD_PLATFORM="linux/ppc64le"
82d43af
%endif
82d43af
%ifarch aarch64
82d43af
  BUILD_PLATFORM="linux/arm64"
82d43af
%endif
82d43af
%ifarch %{arm}
82d43af
  BUILD_PLATFORM="linux/arm"
82d43af
%endif
82d43af
%ifarch s390x
82d43af
  BUILD_PLATFORM="linux/s390x"
82d43af
%endif
82d43af
OS_ONLY_BUILD_PLATFORMS="${BUILD_PLATFORM}" %{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
pushd image-registry-%{registry_commit}
82d43af
OS_ONLY_BUILD_PLATFORMS="${BUILD_PLATFORM}" %{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
pushd origin-web-console-server-%{webconsole_commit}
82d43af
OS_ONLY_BUILD_PLATFORMS="${BUILD_PLATFORM}" %{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
pushd service-catalog-%{servicecat_commit}
82d43af
OS_ONLY_BUILD_PLATFORMS="${BUILD_PLATFORM}" %{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
pushd cluster-capacity-%{clustercap_commit}
82d43af
OS_ONLY_BUILD_PLATFORMS="${BUILD_PLATFORM}" %{os_git_vars} OS_BUILD_RELEASE_ARCHIVES=n make build-cross
82d43af
popd
82d43af
OS_ONLY_BUILD_PLATFORMS="${BUILD_PLATFORM}" %{os_git_vars} hack/build-go.sh vendor/github.com/onsi/ginkgo/ginkgo
82d43af
%endif
82d43af
82d43af
# Create extended.test
82d43af
%{os_git_vars} hack/build-go.sh test/extended/extended.test
82d43af
82d43af
# Create/Update man pages
82d43af
%{os_git_vars} hack/generate-docs.sh
82d43af
82d43af
%install
82d43af
82d43af
PLATFORM="$(go env GOHOSTOS)/$(go env GOHOSTARCH)"
82d43af
install -d %{buildroot}%{_bindir}
82d43af
82d43af
# Install linux components
82d43af
for bin in oc oadm openshift hypershift hyperkube template-service-broker openshift-node-config
82d43af
do
82d43af
  echo "+++ INSTALLING ${bin}"
82d43af
  install -p -m 755 _output/local/bin/${PLATFORM}/${bin} %{buildroot}%{_bindir}/${bin}
82d43af
done
82d43af
82d43af
echo "+++ INSTALLING dockerregistry"
82d43af
install -p -m 755 image-registry-%{registry_commit}/_output/local/bin/${PLATFORM}/dockerregistry %{buildroot}%{_bindir}/dockerregistry
82d43af
82d43af
echo "+++ INSTALLING web-console"
82d43af
install -p -m 755 origin-web-console-server-%{webconsole_commit}/_output/local/bin/${PLATFORM}/origin-web-console %{buildroot}%{_bindir}/origin-web-console
82d43af
82d43af
# Install tests
82d43af
install -d %{buildroot}%{_libexecdir}/%{name}
82d43af
install -p -m 755 _output/local/bin/${PLATFORM}/extended.test %{buildroot}%{_libexecdir}/%{name}/
82d43af
install -p -m 755 _output/local/bin/${PLATFORM}/ginkgo %{buildroot}%{_libexecdir}/%{name}/
82d43af
82d43af
%if 0%{?make_redistributable}
82d43af
# Install client executable for windows and mac
82d43af
install -d %{buildroot}%{_datadir}/%{name}/{linux,macosx,windows}
82d43af
install -p -m 755 _output/local/bin/linux/amd64/oc %{buildroot}%{_datadir}/%{name}/linux/oc
82d43af
install -p -m 755 _output/local/bin/linux/amd64/kubectl %{buildroot}%{_datadir}/%{name}/linux/kubectl
82d43af
install -p -m 755 _output/local/bin/darwin/amd64/oc %{buildroot}/%{_datadir}/%{name}/macosx/oc
82d43af
install -p -m 755 _output/local/bin/darwin/amd64/kubectl %{buildroot}/%{_datadir}/%{name}/macosx/kubectl
82d43af
install -p -m 755 _output/local/bin/windows/amd64/oc.exe %{buildroot}/%{_datadir}/%{name}/windows/oc.exe
82d43af
install -p -m 755 _output/local/bin/windows/amd64/kubectl.exe %{buildroot}/%{_datadir}/%{name}/windows/kubectl.exe
82d43af
# Install oadm client executable
82d43af
install -p -m 755 _output/local/bin/linux/amd64/oadm %{buildroot}%{_datadir}/%{name}/linux/oadm
82d43af
install -p -m 755 _output/local/bin/darwin/amd64/oadm %{buildroot}/%{_datadir}/%{name}/macosx/oadm
82d43af
install -p -m 755 _output/local/bin/windows/amd64/oadm.exe %{buildroot}/%{_datadir}/%{name}/windows/oadm.exe
82d43af
%endif
82d43af
# Install cluster capacity
82d43af
install -p -m 755 cluster-capacity-%{clustercap_commit}/_output/local/bin/${PLATFORM}/hypercc %{buildroot}%{_bindir}/
82d43af
ln -s hypercc %{buildroot}%{_bindir}/cluster-capacity
82d43af
82d43af
# Install service-catalog
82d43af
install -p -m 755 service-catalog-%{servicecat_commit}/_output/local/bin/${PLATFORM}/service-catalog %{buildroot}%{_bindir}/
82d43af
82d43af
# Install pod
82d43af
install -p -m 755 _output/local/bin/${PLATFORM}/pod %{buildroot}%{_bindir}/
82d43af
82d43af
install -d -m 0755 %{buildroot}%{_unitdir}
82d43af
82d43af
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
82d43af
82d43af
for cmd in \
82d43af
    openshift-deploy \
82d43af
    openshift-docker-build \
82d43af
    openshift-sti-build \
82d43af
    openshift-git-clone \
82d43af
    openshift-manage-dockerfile \
82d43af
    openshift-extract-image-content \
82d43af
    openshift-f5-router \
82d43af
    openshift-recycle \
82d43af
    openshift-router \
82d43af
    kubectl
82d43af
do
82d43af
    ln -s oc %{buildroot}%{_bindir}/$cmd
82d43af
done
82d43af
82d43af
install -d -m 0755 %{buildroot}%{_sysconfdir}/origin/{master,node}
82d43af
install -d -m 0755 %{buildroot}%{_sysconfdir}/kubernetes/manifests
82d43af
82d43af
# stub filed required to ensure config is not reverted during upgrades
82d43af
install -m 0644 contrib/systemd/origin-node.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/%{name}-node
82d43af
82d43af
# Install man1 man pages
82d43af
install -d -m 0755 %{buildroot}%{_mandir}/man1
82d43af
install -m 0644 docs/man/man1/* %{buildroot}%{_mandir}/man1/
82d43af
82d43af
mkdir -p %{buildroot}%{_sharedstatedir}/origin
82d43af
82d43af
# Install sdn scripts
82d43af
install -d -m 0755 %{buildroot}%{_sysconfdir}/cni/net.d
82d43af
install -d -m 0755 %{buildroot}/opt/cni/bin
82d43af
install -p -m 0755 _output/local/bin/${PLATFORM}/sdn-cni-plugin %{buildroot}/opt/cni/bin/openshift-sdn
82d43af
install -p -m 0755 _output/local/bin/${PLATFORM}/host-local %{buildroot}/opt/cni/bin
82d43af
install -p -m 0755 _output/local/bin/${PLATFORM}/loopback %{buildroot}/opt/cni/bin
82d43af
82d43af
install -d -m 0755 %{buildroot}%{_unitdir}/%{name}-node.service.d
82d43af
82d43af
# Install bash completions
82d43af
install -d -m 755 %{buildroot}%{_sysconfdir}/bash_completion.d/
82d43af
for bin in oc openshift
82d43af
do
82d43af
  echo "+++ INSTALLING BASH COMPLETIONS FOR ${bin} "
82d43af
  %{buildroot}%{_bindir}/${bin} completion bash > %{buildroot}%{_sysconfdir}/bash_completion.d/${bin}
82d43af
  chmod 644 %{buildroot}%{_sysconfdir}/bash_completion.d/${bin}
82d43af
done
82d43af
82d43af
# Install origin-accounting
82d43af
install -d -m 755 %{buildroot}%{_sysconfdir}/systemd/system.conf.d/
82d43af
install -p -m 644 contrib/systemd/origin-accounting.conf %{buildroot}%{_sysconfdir}/systemd/system.conf.d/
82d43af
82d43af
# Excluder variables
82d43af
mkdir -p $RPM_BUILD_ROOT/usr/sbin
82d43af
%if 0%{?fedora}
82d43af
  OS_CONF_FILE="/etc/dnf.conf"
82d43af
%else
82d43af
  OS_CONF_FILE="/etc/yum.conf"
82d43af
%endif
82d43af
82d43af
# Install openshift-excluder script
82d43af
sed "s|@@CONF_FILE-VARIABLE@@|${OS_CONF_FILE}|" contrib/excluder/excluder-template > $RPM_BUILD_ROOT/usr/sbin/%{name}-excluder
82d43af
sed -i "s|@@PACKAGE_LIST-VARIABLE@@|%{name} %{name}-clients %{name}-clients-redistributable %{name}-master %{name}-node %{name}-pod %{name}-recycle %{name}-hyperkube %{name}-tests|" $RPM_BUILD_ROOT/usr/sbin/%{name}-excluder
82d43af
chmod 0744 $RPM_BUILD_ROOT/usr/sbin/%{name}-excluder
82d43af
82d43af
# Install docker-excluder script
82d43af
sed "s|@@CONF_FILE-VARIABLE@@|${OS_CONF_FILE}|" contrib/excluder/excluder-template > $RPM_BUILD_ROOT/usr/sbin/%{name}-docker-excluder
82d43af
sed -i "s|@@PACKAGE_LIST-VARIABLE@@|docker*1.14* docker*1.15* docker*1.16* docker*1.17* docker*1.18* docker*1.19* docker*1.20*|" $RPM_BUILD_ROOT/usr/sbin/%{name}-docker-excluder
82d43af
chmod 0744 $RPM_BUILD_ROOT/usr/sbin/%{name}-docker-excluder
82d43af
82d43af
# Give the excluders a consistent timestamp between multi-arch builds
82d43af
touch --reference=%{SOURCE0} $RPM_BUILD_ROOT/usr/sbin/%{name}-excluder
82d43af
touch --reference=%{SOURCE0} $RPM_BUILD_ROOT/usr/sbin/%{name}-docker-excluder
82d43af
82d43af
%files
82d43af
%doc README.md
82d43af
%license LICENSE
82d43af
%{_bindir}/openshift
82d43af
%{_sharedstatedir}/origin
82d43af
%{_sysconfdir}/bash_completion.d/openshift
82d43af
%defattr(-,root,root,0700)
82d43af
%dir %config(noreplace) %{_sysconfdir}/origin
82d43af
%ghost %dir %config(noreplace) %{_sysconfdir}/origin
82d43af
%ghost %config(noreplace) %{_sysconfdir}/origin/.config_managed
82d43af
%{_mandir}/man1/openshift*
82d43af
82d43af
%files tests
82d43af
%license LICENSE
82d43af
%{_libexecdir}/%{name}
82d43af
%{_libexecdir}/%{name}/extended.test
82d43af
82d43af
%files hypershift
82d43af
%{_bindir}/hypershift
82d43af
%defattr(-,root,root,0700)
82d43af
82d43af
%files hyperkube
82d43af
%{_bindir}/hyperkube
82d43af
%defattr(-,root,root,0700)
82d43af
82d43af
%files master
82d43af
%license LICENSE
82d43af
%defattr(-,root,root,0700)
82d43af
%config(noreplace) %{_sysconfdir}/origin/master
82d43af
82d43af
%files node
82d43af
%license LICENSE
82d43af
%{_bindir}/openshift-node-config
82d43af
%{_sysconfdir}/systemd/system.conf.d/origin-accounting.conf
82d43af
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-node
82d43af
%defattr(-,root,root,0700)
82d43af
%config(noreplace) %{_sysconfdir}/origin/node
82d43af
%dir %{_sysconfdir}/kubernetes/manifests
82d43af
82d43af
%preun node
82d43af
%systemd_preun %{name}-node.service
82d43af
82d43af
%postun node
49a51b0
%systemd_postun %{name}-node.service
82d43af
82d43af
%files sdn-ovs
82d43af
%license LICENSE
82d43af
%dir %{_sysconfdir}/cni/net.d
82d43af
%dir /opt/cni/bin
82d43af
/opt/cni/bin/*
82d43af
82d43af
%files service-catalog
82d43af
%license LICENSE
82d43af
%{_bindir}/service-catalog
82d43af
82d43af
%files clients
82d43af
%license LICENSE
82d43af
%{_bindir}/oc
82d43af
%{_bindir}/kubectl
82d43af
%{_bindir}/oadm
82d43af
%{_bindir}/openshift-deploy
82d43af
%{_bindir}/openshift-docker-build
82d43af
%{_bindir}/openshift-sti-build
82d43af
%{_bindir}/openshift-git-clone
82d43af
%{_bindir}/openshift-extract-image-content
82d43af
%{_bindir}/openshift-manage-dockerfile
82d43af
%{_bindir}/openshift-f5-router
82d43af
%{_bindir}/openshift-recycle
82d43af
%{_bindir}/openshift-router
82d43af
%{_sysconfdir}/bash_completion.d/oc
82d43af
%{_mandir}/man1/oc*
82d43af
82d43af
%if 0%{?make_redistributable}
82d43af
%files clients-redistributable
82d43af
%dir %{_datadir}/%{name}/linux/
82d43af
%dir %{_datadir}/%{name}/macosx/
82d43af
%dir %{_datadir}/%{name}/windows/
82d43af
%{_datadir}/%{name}/linux/oc
82d43af
%{_datadir}/%{name}/linux/kubectl
82d43af
%{_datadir}/%{name}/macosx/oc
82d43af
%{_datadir}/%{name}/macosx/kubectl
82d43af
%{_datadir}/%{name}/windows/oc.exe
82d43af
%{_datadir}/%{name}/windows/kubectl.exe
82d43af
%{_datadir}/%{name}/linux/oadm
82d43af
%{_datadir}/%{name}/macosx/oadm
82d43af
%{_datadir}/%{name}/windows/oadm.exe
82d43af
%endif
82d43af
82d43af
%files dockerregistry
82d43af
%license LICENSE
82d43af
%{_bindir}/dockerregistry
82d43af
82d43af
%files pod
82d43af
%license LICENSE
82d43af
%{_bindir}/pod
82d43af
82d43af
%files excluder
82d43af
%license LICENSE
82d43af
/usr/sbin/%{name}-excluder
82d43af
82d43af
%pretrans excluder
82d43af
# we always want to clear this out using the last
82d43af
#   versions script.  Otherwise excludes might get left in
82d43af
if [ -s /usr/sbin/%{name}-excluder ] ; then
82d43af
  /usr/sbin/%{name}-excluder unexclude
82d43af
fi
82d43af
82d43af
%posttrans excluder
82d43af
# we always want to run this after an install or update
82d43af
/usr/sbin/%{name}-excluder exclude
82d43af
82d43af
%preun excluder
82d43af
# If we are the last one, clean things up
82d43af
if [ "$1" -eq 0 ] ; then
82d43af
  /usr/sbin/%{name}-excluder unexclude
82d43af
fi
82d43af
82d43af
%files docker-excluder
82d43af
%license LICENSE
82d43af
/usr/sbin/%{name}-docker-excluder
82d43af
82d43af
%files cluster-capacity
82d43af
%license LICENSE
82d43af
%{_bindir}/hypercc
82d43af
%{_bindir}/cluster-capacity
82d43af
82d43af
%files template-service-broker
82d43af
%{_bindir}/template-service-broker
82d43af
82d43af
%files web-console
82d43af
%license LICENSE
82d43af
%{_bindir}/origin-web-console
82d43af
82d43af
82d43af
%pretrans docker-excluder
82d43af
# we always want to clear this out using the last
82d43af
#   versions script.  Otherwise excludes might get left in
82d43af
if [ -s /usr/sbin/%{name}-docker-excluder ] ; then
82d43af
  /usr/sbin/%{name}-docker-excluder unexclude
82d43af
fi
82d43af
82d43af
%posttrans docker-excluder
82d43af
# we always want to run this after an install or update
82d43af
/usr/sbin/%{name}-docker-excluder exclude
82d43af
82d43af
%preun docker-excluder
82d43af
# If we are the last one, clean things up
82d43af
if [ "$1" -eq 0 ] ; then
82d43af
  /usr/sbin/%{name}-docker-excluder unexclude
82d43af
fi
82d43af
82d43af
%changelog
d760e8e
* Tue Jul 14 2020 Jakub Čajka <jcajka@fedoraproject.org> - 3.11.2-1
d760e8e
- Rebase to upstream 20c5b86c88657888e4906ed7942b85515c650f96, let's call it 3.11.2
d760e8e
- Fix for CVE-2020-8551, CVE-2020-8552, CVE-2020-8555, CVE-2020-8945
d760e8e
- Resolves: BZ#1816406, BZ#1816396, BZ#1842692, BZ#1802905
d760e8e
d5803ad
* Fri May 01 2020 Petr Pisar <ppisar@redhat.com> - 3.11.1-6
d5803ad
- Soften a dependency on bash-completion (bug #1493993)
d5803ad
393fb7e
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-5
393fb7e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
393fb7e
49a51b0
* Sat Nov 02 2019 Jakub Čajka <jcajka@fedoraproject.org> - 3.11.1-4
49a51b0
- Fix build
49a51b0
82d43af
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-3
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
82d43af
82d43af
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-2
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
82d43af
82d43af
* Wed Dec 05 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.11.1-1
82d43af
- Rebase to upstream 8de5c3442e56dbe05403990ce0821746673fd588, let's call it 3.11.1
82d43af
- Fix for CVE-2018-1002105
82d43af
- Resolves: BZ#1656650
82d43af
82d43af
* Wed Nov 07 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.11.0-2
82d43af
- fix OS_GIT_VERSION value
82d43af
- Resolves: BZ#1646995
82d43af
82d43af
* Fri Oct 19 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.11.0-1
82d43af
- Rebase to 3.11.0 proper
82d43af
- Addopt upstream sub-package layout
82d43af
- Add conflicts with kube
82d43af
82d43af
* Wed Sep 26 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.11.0-0.alpha1.0
82d43af
- Rebase to 3.11.alpha1
82d43af
- Resolves: BZ#1608505
82d43af
82d43af
* Wed Aug 29 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.10.0-2
82d43af
- Add openshift-node-config binary in to the node sub-package
82d43af
- Related: BZ#1598406
82d43af
82d43af
* Mon Aug 06 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.10.0-1
82d43af
- Rebase to 3.10
82d43af
- Resolves: BZ#1598406
82d43af
82d43af
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-4
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
82d43af
82d43af
* Fri Jun 29 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.9.0-3
82d43af
- incorporate changes from the upstream spec file
82d43af
- move to hyperkube
82d43af
- add alternatives for hyperkube
82d43af
82d43af
* Wed May 30 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.9.0-2
82d43af
- Add web-console sub-package
82d43af
82d43af
* Fri Mar 23 2018 Jakub Čajka <jcajka@fedoraproject.org> - 3.9.0-1
82d43af
- Rebase to 3.9.0
82d43af
- Obsolete tuned-profiles-origin-node
82d43af
82d43af
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.0-3
82d43af
- Escape macros in %%changelog
82d43af
82d43af
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-2
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
82d43af
82d43af
* Tue Aug 08 2017 Adam Miller <maxamillion@fedoraproject.org> - 3.6.0-1
82d43af
- Update to latest upstream
82d43af
- Switch to new upstream versioning scheme (jump from 1.5 -> 3.6)
82d43af
82d43af
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-5
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
82d43af
82d43af
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-4
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
82d43af
82d43af
* Fri Jul 21 2017 Adam Miller <maxamillion@fedoraproject.org> - 1.5.1-3
82d43af
- fix OS_CONF_FILE excluder path
82d43af
82d43af
* Wed Jul 05 2017 Adam Miller <maxamillion@fedoraproject.org> - 1.5.1-2
82d43af
- Exclude ppc64 since docker doesn't exist for that architecture
82d43af
82d43af
* Mon Jun 26 2017 Adam Miller <maxamillion@fedoraproject.org> - 1.5.1-1
82d43af
- Update to latest upstream - 1.5.1
82d43af
82d43af
* Tue Apr 25 2017 Adam Miller <maxamillion@fedoraproject.org> - 1.5.0-1
82d43af
- Update to latest upstream - 1.5.0
82d43af
82d43af
* Thu Feb 16 2017 Adam Miller <maxamillion@fedoraproject.org> - 1.4.1-1
82d43af
- Update to latest upstream - 1.4.1
82d43af
82d43af
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-2
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
82d43af
82d43af
* Mon Jan 23 2017 Adam Miller <maxamillion@fedoraproject.org> - 1.4.0-1
82d43af
- Update to latest upstream - 1.4.0
82d43af
82d43af
* Tue Oct 25 2016 Adam Miller <maxamillion@fedoraproject.org> - 1.3.1-1
82d43af
- Update to latest upstream - 1.3.1
82d43af
82d43af
* Fri Sep 16 2016 Adam Miller <maxamillion@fedoraproject.org> - 1.3.0-1
82d43af
- Update to latest upstream - 1.3.0
82d43af
- Rebase spec file on upstream spec
82d43af
82d43af
* Thu Jul 21 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2.git.0.2e62fab
82d43af
- https://fedoraproject.org/wiki/Changes/golang1.7
82d43af
82d43af
* Fri Jun 17 2016 Adam Miller 
82d43af
- build on i686, %%{arm}, aarch64
82d43af
82d43af
* Thu Apr 21 2016 Dennis Gilmore <dennis@ausil.us> - 1.1.6-2.git.0.ef1caba
82d43af
- build on i686, %%{arm}, aarch64
82d43af
82d43af
* Tue Apr 19 2016 Adam Miller <maxamillion@fedoraproject.org> - 1.1.6-1.git.0.ef1caba
82d43af
- Update to latest upstream release
82d43af
82d43af
* Wed Mar 23 2016 Adam Miller <maxamillion@fedoraproject.org> - 1.1.4-1.git.0.3941102
82d43af
- Update to latest upstream release
82d43af
82d43af
* Mon Feb 22 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.3-2.git.0.cffae05
82d43af
- https://fedoraproject.org/wiki/Changes/golang1.6
82d43af
82d43af
* Wed Feb 17 2016 Adam Miller <maxamillion@fedoraproject.org> - 1.1.3-1.git.0.cffae05
82d43af
- Update to latest upstream release
82d43af
82d43af
* Tue Feb 09 2016 Adam Miller <maxamillion@fedoraproject.org> - 1.1.1-1.git.0.86b5e46
82d43af
- Update to latest upstream release
82d43af
82d43af
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-5.git.0.ac7a99a
82d43af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
82d43af
82d43af
* Wed Dec 09 2015 Adam Miller <maxamillion@fedoraproject.org> - 1.1-4.git.0.ac7a99a
82d43af
- Add iproute and procpc-ng Requires for sdn-ovs
82d43af
- set .config_managed to %%ghost and %%config(noreplace)
82d43af
- Fix dir ownership for redistributable clients
82d43af
- Remove no longer needed basename reference
82d43af
82d43af
* Wed Dec 09 2015 Adam Miller <maxamillion@fedoraproject.org> - 1.1-3.git.0.ac7a99a
82d43af
- Fix dir listing for kube_plugin_path
82d43af
82d43af
* Wed Dec 09 2015 Adam Miller <maxamillion@fedoraproject.org> - 1.1-2.git.0.ac7a99a
82d43af
- Fix dir listing for sdn
82d43af
82d43af
* Wed Dec 09 2015 Adam Miller <maxamillion@fedoraproject.org> - 1.1-1.git.0.ac7a99a
82d43af
- Remove no longer needed defattr
82d43af
- Remove Obsoletes for package never in Fedora
82d43af
- Remove upstream specific conditionals for el7aos dist tag
82d43af
82d43af
* Wed Dec 02 2015 Adam Miller <maxamillion@fedoraproject.org> - 1.1-0.git.0.ac7a99a
82d43af
- First submission to Fedora
82d43af