386 lines
14 KiB
RPMSpec
386 lines
14 KiB
RPMSpec
|
%if 0%{?rhel} && ! 0%{?epel}
|
||
|
%bcond_with ansible
|
||
|
%else
|
||
|
%bcond_without ansible
|
||
|
%endif
|
||
|
|
||
|
%bcond_with collection_artifact
|
||
|
|
||
|
%if 0%{?fedora} || 0%{?rhel} > 8
|
||
|
%bcond_without html
|
||
|
%else
|
||
|
# pandoc is not supported in rhel 7 and older,
|
||
|
# which is needed for converting .md to .html.
|
||
|
%bcond_with html
|
||
|
%endif
|
||
|
|
||
|
%global collection_name sap_install
|
||
|
%if 0%{?rhel}
|
||
|
%define package_name rhel-system-roles-sap
|
||
|
%global collection_namespace redhat
|
||
|
%else
|
||
|
%define package_name linux-system-roles-sap
|
||
|
%global collection_namespace community
|
||
|
%endif
|
||
|
|
||
|
# collection_version has to be increased by every rebuild
|
||
|
# otherwise, it cannot be uploaded to Automation Hub and Galaxy
|
||
|
# due to version conflict
|
||
|
%define collection_version 1.2.1
|
||
|
|
||
|
%global mainid e2a233f5a0cb68363798bf014b16552cca681bd0
|
||
|
%global commit_id_sap_install f0deb287aaa0fb7d992b95a04b14e263b6690c23
|
||
|
%global rolename1 sap_general_preconfigure
|
||
|
%global rolename2 sap_hana_preconfigure
|
||
|
%global rolename3 sap_netweaver_preconfigure
|
||
|
%global rolename4 sap_hana_install
|
||
|
%global rolename5 sap_ha_pacemaker_cluster
|
||
|
%global rolename6 sap_ha_set_netweaver
|
||
|
%global rolename7 sap_hostagent
|
||
|
%global rolename8 sap_install_media_detect
|
||
|
%global rolename9 sap_storage
|
||
|
%global rolename10 sap_swpm
|
||
|
%global rolename11 sap_ha_install_hana_hsr
|
||
|
%global src_owner linux-system-roles
|
||
|
%global github_repo_sap_install community.sap_install
|
||
|
%global rolename_rhel %{rolename1} %{rolename2} %{rolename3} %{rolename4} %{rolename5} %{rolename10} %{rolename11}
|
||
|
%global rolename_community %{rolename_rhel} %{rolename1} %{rolename6} %{rolename7} %{rolename8} %{rolename9}
|
||
|
%if 0%{?fedora}
|
||
|
%global rolenames %{rolename_community}
|
||
|
%else
|
||
|
%global rolenames %{rolename_rhel}
|
||
|
%endif
|
||
|
|
||
|
Name: %{package_name}
|
||
|
Summary: System Roles to configure RHEL for running SAP NetWeaver- or SAP HANA-based products
|
||
|
Version: 3.4.0
|
||
|
Release: 3%{?dist}
|
||
|
License: GPLv3+
|
||
|
Url: https://github.com/berndfinger/community.sap_install
|
||
|
Source0: https://github.com/linux-system-roles/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
|
||
|
Source1: https://github.com/berndfinger/%{github_repo_sap_install}/archive/%{commit_id_sap_install}/%{github_repo_sap_install}-%{commit_id_sap_install}.tar.gz
|
||
|
# files/README.md, files/roles/sap_swpm/README.md from https://gitlab.cee.redhat.com/sap-linuxlab/prepare-redhat.sap_install
|
||
|
Source2: prepare-redhat.sap_install-main.tar.bz2
|
||
|
Patch1: community.sap_install-shebang.patch
|
||
|
|
||
|
BuildArch: noarch
|
||
|
|
||
|
|
||
|
%if %{with html}
|
||
|
# Requirements for md2html.sh to build the documentation
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 9
|
||
|
BuildRequires: rubygem-kramdown-parser-gfm
|
||
|
%else
|
||
|
BuildRequires: pandoc
|
||
|
BuildRequires: asciidoc
|
||
|
BuildRequires: highlight
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
# Requirements for galaxy_transform.py
|
||
|
BuildRequires: python3
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||
|
BuildRequires: python3dist(ruamel.yaml)
|
||
|
Requires: python3-jmespath
|
||
|
Requires: python3-netaddr
|
||
|
%else
|
||
|
BuildRequires: python3-ruamel-yaml
|
||
|
Requires: python-jmespath
|
||
|
Requires: python-netaddr
|
||
|
%endif
|
||
|
|
||
|
%if %{with ansible}
|
||
|
BuildRequires: ansible-core >= 2.9.10
|
||
|
%endif
|
||
|
|
||
|
%if %{undefined __ansible_provides}
|
||
|
Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{version}
|
||
|
%endif
|
||
|
# be compatible with the usual Fedora Provides:
|
||
|
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release}
|
||
|
|
||
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||
|
%{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/}
|
||
|
%else
|
||
|
%if %{?ansible_collection_files:0}%{!?ansible_collection_files:1}
|
||
|
%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
|
||
|
%endif
|
||
|
%endif
|
||
|
|
||
|
|
||
|
%if %{without ansible}
|
||
|
%define ansible_collection_build_install() tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz .; mkdir -p %{buildroot}%{ansible_collection_files}%{collection_name}; (cd %{buildroot}%{ansible_collection_files}%{collection_name}; tar -xf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz)
|
||
|
%else
|
||
|
%define ansible_collection_build_install() ansible-galaxy collection build; ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
|
||
|
%endif
|
||
|
|
||
|
%description
|
||
|
Collection of Ansible roles which configures a RHEL system according
|
||
|
to applicable SAP notes so that any SAP software can be installed.
|
||
|
|
||
|
%if %{with collection_artifact}
|
||
|
%package collection-artifact
|
||
|
Summary: Collection artifact to import to Automation Hub / Ansible Galaxy
|
||
|
|
||
|
%description collection-artifact
|
||
|
Collection artifact for %{name}. This package contains %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
|
||
|
%endif
|
||
|
|
||
|
%prep
|
||
|
%setup -q -a1 -a2 -n auto-maintenance-%{mainid}
|
||
|
|
||
|
# add correct version and namespace for Automation Hub and Galaxy
|
||
|
cp %{github_repo_sap_install}-%{commit_id_sap_install}/galaxy.yml .
|
||
|
sed -i -e "s|^namespace: .*|namespace: %{collection_namespace}|" galaxy.yml
|
||
|
sed -i -e "s|^version: .*|version: %{collection_version}|" galaxy.yml
|
||
|
|
||
|
# update README.md and roles/sap_swpm/README.md
|
||
|
cp prepare-redhat.sap_install-main/README.md %{github_repo_sap_install}-%{commit_id_sap_install}/
|
||
|
cp prepare-redhat.sap_install-main/files/roles/sap_swpm/README.md %{github_repo_sap_install}-%{commit_id_sap_install}/roles/sap_swpm/README.md
|
||
|
|
||
|
pushd %{github_repo_sap_install}-%{commit_id_sap_install}/
|
||
|
# workaround for md2html error
|
||
|
sed -i -e "s|for POWER ||g" roles/sap_hana_preconfigure/README.md
|
||
|
%patch1 -p1
|
||
|
|
||
|
# modify collection-requirements.yml, fedora.linux_system_roles -> redhat.rhel_system_roles
|
||
|
for r in %{rolenames} ; do
|
||
|
yml=roles/${r}/meta/collection-requirements.yml
|
||
|
[ -f ${yml} ] && sed -i "s,fedora.linux_system_roles,redhat.rhel_system_roles," ${yml}
|
||
|
done
|
||
|
|
||
|
# modify defaults/main.yml, fedora.linux_system_roles -> redhat.rhel_system_roles
|
||
|
for r in %{rolenames} ; do
|
||
|
yml=roles/${r}/defaults/main.yml
|
||
|
[ -f ${yml} ] && sed -i "s,system_roles_collection: 'fedora.linux_system_roles',system_roles_collection: 'redhat.rhel_system_roles'," ${yml}
|
||
|
done
|
||
|
popd
|
||
|
|
||
|
# remove zero file and symlinks
|
||
|
find . -type f -size 0 -delete
|
||
|
find . -type l -delete
|
||
|
|
||
|
pushd %{github_repo_sap_install}-%{commit_id_sap_install}/roles/
|
||
|
# remove all SLES stuff and RHEL 6 stuff
|
||
|
rm -rf */tasks/SLES/
|
||
|
rm -f */vars/SLES_15.yml
|
||
|
rm -rf sap_hana_preconfigure/tasks/sapnote/1275776 # SLES - sapconf, saptune, etc
|
||
|
rm -rf sap_hana_preconfigure/tasks/sapnote/1944799 # SLES - HANA install and config guidelines
|
||
|
rm -f sap_hana_preconfigure/tasks/sapnote/1944799.yml
|
||
|
rm -f sap_hana_preconfigure/tasks/sapnote/2013638.yml # RHEL 6.5 - OS settings
|
||
|
rm -f sap_hana_preconfigure/tasks/sapnote/2136965.yml # RHEL 6.6 - OS settings
|
||
|
rm -f sap_hana_preconfigure/tasks/sapnote/2247020.yml # RHEL 6.7 - OS settings
|
||
|
rm -rf sap_hana_preconfigure/tasks/sapnote/2578899 # SLES 15 - installation
|
||
|
rm -rf sap_hana_preconfigure/tasks/sapnote/2684254 # SLES 15 - OS settings for HANA
|
||
|
rm -f sap_hana_preconfigure/vars/RedHat_6.5.yml
|
||
|
rm -f sap_hana_preconfigure/vars/RedHat_6.6.yml
|
||
|
rm -f sap_hana_preconfigure/vars/RedHat_6.7.yml
|
||
|
popd
|
||
|
|
||
|
%build
|
||
|
%if %{with html}
|
||
|
readmes=""
|
||
|
for role in %{rolenames}; do
|
||
|
readmes="${readmes} %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role/README.md"
|
||
|
done
|
||
|
sh md2html.sh $readmes %{github_repo_sap_install}-%{commit_id_sap_install}/README.md
|
||
|
%endif
|
||
|
|
||
|
# create dest-path
|
||
|
mkdir .collections
|
||
|
|
||
|
for role in %{rolenames} ; do
|
||
|
LANG=en_US.utf-8 LC_ALL=en_US.utf-8 python3 lsr_role2collection.py --role "$role" \
|
||
|
--src-path %{github_repo_sap_install}-%{commit_id_sap_install}/roles/"$role" \
|
||
|
--src-owner %{src_owner} \
|
||
|
--dest-path .collections \
|
||
|
--namespace %{collection_namespace} \
|
||
|
--collection %{collection_name} \
|
||
|
--new-role "$new_role"
|
||
|
done
|
||
|
|
||
|
cp -p galaxy.yml .collections/ansible_collections/%{collection_namespace}/%{collection_name}
|
||
|
|
||
|
%install
|
||
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles \
|
||
|
$RPM_BUILD_ROOT%{_pkgdocdir}
|
||
|
|
||
|
# create file selection for documents
|
||
|
echo "%dir %{_pkgdocdir}" > files_section.txt
|
||
|
cp %{github_repo_sap_install}-%{commit_id_sap_install}/README.md $RPM_BUILD_ROOT%{_pkgdocdir}/
|
||
|
%if %{with html}
|
||
|
cp %{github_repo_sap_install}-%{commit_id_sap_install}/README.html $RPM_BUILD_ROOT%{_pkgdocdir}/
|
||
|
%endif
|
||
|
echo "%{_pkgdocdir}/README.*" >> files_section.txt
|
||
|
|
||
|
for role in %{rolenames} ; do
|
||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/$role
|
||
|
cp -pR %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role $RPM_BUILD_ROOT%{_datadir}/ansible/roles/
|
||
|
install -m 644 %{github_repo_sap_install}-%{commit_id_sap_install}/LICENSE \
|
||
|
%{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role/README.md \
|
||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/$role/
|
||
|
%if %{with html}
|
||
|
install -m 644 %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role/README.html \
|
||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/$role/
|
||
|
%endif
|
||
|
echo "%dir %{_pkgdocdir}/$role" >> files_section.txt
|
||
|
done
|
||
|
|
||
|
# install collection files
|
||
|
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
|
||
|
%ansible_collection_build_install
|
||
|
popd
|
||
|
|
||
|
# install collection_artifact
|
||
|
%if %{with collection_artifact}
|
||
|
# Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact
|
||
|
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
|
||
|
mv %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz $RPM_BUILD_ROOT%{_datadir}/ansible/collections/
|
||
|
popd
|
||
|
%endif
|
||
|
|
||
|
%files -f files_section.txt
|
||
|
%dir %{_datadir}/ansible
|
||
|
%dir %{_datadir}/ansible/roles
|
||
|
%doc %{_pkgdocdir}/*/README.md
|
||
|
%if %{with html}
|
||
|
%{_pkgdocdir}/*/README.html
|
||
|
%endif
|
||
|
%license %{_pkgdocdir}/*/LICENSE
|
||
|
%{_datadir}/ansible/roles/*
|
||
|
%{ansible_collection_files}
|
||
|
|
||
|
%if %{with collection_artifact}
|
||
|
%files collection-artifact
|
||
|
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
|
||
|
%endif
|
||
|
|
||
|
%changelog
|
||
|
* Mon Jan 30 2023 Than Ngo <than@redhat.com> - 3.4.0-3
|
||
|
- Related: #2155876, rebase sap roles to version 1.2.1
|
||
|
|
||
|
* Thu Jan 19 2023 Than Ngo <than@redhat.com> - 3.4.0-2
|
||
|
- Related: #2155876, compat-sap-c++-10 is not available for RHEL 8.2 and earlier on hardware platform s390x
|
||
|
|
||
|
* Wed Jan 11 2023 Than Ngo <than@redhat.com> - 3.4.0-1
|
||
|
- Resolves: #2155876, rebase sap roles to version 1.2.0
|
||
|
|
||
|
* Tue Nov 22 2022 Than Ngo <than@redhat.com> - 3.3.0-4
|
||
|
- Resolves: #2142957, drop deprecated paramater for Ansible 2.14
|
||
|
|
||
|
* Fri Jul 15 2022 Than Ngo <than@redhat.com> - 3.3.0-3
|
||
|
- update galaxy.yml and README.md and url
|
||
|
Related: #2103633
|
||
|
|
||
|
* Tue Jul 12 2022 Than Ngo <than@redhat.com> - 3.3.0-2
|
||
|
- make the role Ansible 2.13 compliant
|
||
|
- get rid of all the new ansible-lint 6.3.0 errors for preconfigure and sap_hana_install roles
|
||
|
Resolves: #2103633
|
||
|
|
||
|
* Mon Jul 04 2022 Than Ngo <than@redhat.com> - 3.3.0-1
|
||
|
- Resolves: #2103633, include roles for setting up a two-node SAP HANA pacemaker cluster
|
||
|
|
||
|
* Thu Jun 09 2022 Than Ngo <than@redhat.com> - 3.2.0-3
|
||
|
- sap_hana_preconfigure: Add vars for RHEL 9.1 managed nodes
|
||
|
- sap_general_preconfigure: fix variable inclusion for RHEL minor releases
|
||
|
Related: #2063050
|
||
|
|
||
|
* Wed Jun 08 2022 Than Ngo <than@redhat.com> - 3.2.0-2
|
||
|
- sap_general_preconfigure: do not attempt to enable HANA repos for s390x
|
||
|
- sap_hana_preconfigure: using wrong variable name
|
||
|
- sap_hana_preconfigure: Fix issue sap-linuxlab#154
|
||
|
Related: #2063050
|
||
|
|
||
|
* Mon Mar 21 2022 Than Ngo <than@redhat.com> - 3.2.0-1
|
||
|
- Resolves: #2063050, rebase to new upstream org sap-linuxlab
|
||
|
|
||
|
* Fri Dec 03 2021 Than Ngo <than@redhat.com> - 3.1.1-10
|
||
|
- Related: #2016858, increase release to avoid update conflict
|
||
|
|
||
|
* Fri Dec 03 2021 Than Ngo <than@redhat.com> - 3.1.1-8
|
||
|
- Related: #2016858, rebase
|
||
|
|
||
|
* Tue Nov 16 2021 Than Ngo <than@redhat.com> - 3.1.1-7
|
||
|
- Resolves: #2016858, ansible-lint cleanup
|
||
|
|
||
|
* Wed Sep 08 2021 Than Ngo <than@redhat.com> - 3.1.1-6
|
||
|
- set min kernel version for RHEL 8.4 x86_64
|
||
|
- use grubby for setting tsx=on
|
||
|
- add tsx=on to the kernel command line unconditionally
|
||
|
|
||
|
* Wed Sep 01 2021 Than Ngo <than@redhat.com> - 3.1.1-5
|
||
|
- Related: #1928398, fix yum group install errors on RHEL 7
|
||
|
|
||
|
* Fri Aug 20 2021 Than Ngo <than@redhat.com> - 3.1.1-4
|
||
|
- Related: #1928398, fix #149, #177, #193, #194
|
||
|
|
||
|
* Mon Jul 12 2021 Than Ngo <than@redhat.com> - 3.1.1-3
|
||
|
- add missing __sap_preconfigure_envgroups for RHEL 7.x
|
||
|
- add __sap_hana_preconfigure_req_repos variables for RHEL 8.5 and later
|
||
|
Related: #1928398
|
||
|
|
||
|
* Thu Jul 01 2021 Than Ngo <than@redhat.com> - 3.1.1-2
|
||
|
- Related: #1928398, add missing changelogs
|
||
|
|
||
|
* Tue Jun 29 2021 Than Ngo <than@redhat.com> - 3.1.1-1
|
||
|
- Resolves: #1928398, rebase to 3.1.1 for Ansible Collections
|
||
|
|
||
|
* Fri Mar 05 2021 Than Ngo <than@redhat.com> - 3.0.1-4
|
||
|
- fixed issue #130 in sap-preconfigure
|
||
|
- fixed typos in README.md in sap_hana_preconfigure
|
||
|
- added detailed explanations for sap_hana_preconfigure_kernel_parameters_ppc64le in README.md
|
||
|
- fixed issue #170 in sap_hana_preconfigure
|
||
|
Related: #1891642
|
||
|
|
||
|
* Wed Feb 24 2021 Than Ngo <than@redhat.com> - 3.0.1-3
|
||
|
- Related: #1891642, fixed issue #125 in sap-preconfigure and #163 and #164 in sap-hana-preconfigure
|
||
|
|
||
|
* Thu Feb 18 2021 Than Ngo <than@redhat.com> - 3.0.1-2
|
||
|
- Related: #1891642, update sap-hana-preconfigure 3.0.1 and fixed Urls
|
||
|
|
||
|
* Thu Feb 18 2021 Than Ngo <than@redhat.com> - 3.0.1-1
|
||
|
- Related: #1891642, rebase to 3.0.1
|
||
|
|
||
|
* Mon Feb 15 2021 Than Ngo <than@redhat.com> - 3.0.0-2
|
||
|
- Related: #1891642, more fixes #145, #148, #149, #150 #147
|
||
|
|
||
|
* Thu Jan 28 2021 Than Ngo <than@redhat.com> - 3.0.0-1
|
||
|
- Resolves: #1891638, bug fixes
|
||
|
- Resolves: #1891642, new features
|
||
|
|
||
|
* Mon Sep 21 2020 Than Ngo <than@redhat.com> - 2.0.0-7
|
||
|
- Related: #1867027, fix #119
|
||
|
|
||
|
* Thu Aug 20 2020 Than Ngo <than@redhat.com> - 2.0.0-6
|
||
|
- Related: #1867027, fix #92
|
||
|
|
||
|
* Fri Aug 07 2020 Than Ngo <than@redhat.com> - 2.0.0-5
|
||
|
- Resolves: #1867027, more fixes for #89, #109, #110, #111, #112, #113, #114, #116
|
||
|
|
||
|
* Tue Jul 21 2020 Than Ngo <than@redhat.com> - 2.0.0-4
|
||
|
- Related: #1844190, more fixes for #84, #85, #86, #88, #98, #104, #105, #107
|
||
|
|
||
|
* Fri Jul 03 2020 Than Ngo <than@redhat.com> - 2.0.0-3
|
||
|
- Related: #1844190, drop 1944799.yml
|
||
|
|
||
|
* Mon Jun 29 2020 Than Ngo <than@redhat.com> - 2.0.0-2
|
||
|
- Related: #1844190, more fixes for #78, #79, #81, #82, #94-#97, #99, #101-#102
|
||
|
|
||
|
* Mon Jun 08 2020 Than Ngo <than@redhat.com> - 2.0.0-1
|
||
|
- Resolves: #1844190, rebase to 2.0.0
|
||
|
|
||
|
* Thu May 07 2020 Than Ngo <than@redhat.com> - 1.1.1-2
|
||
|
- Resolves: #1829495, fix summary
|
||
|
|
||
|
* Mon Oct 21 2019 Than Ngo <than@redhat.com> - 1.1.1-1
|
||
|
- rebase to 1.1.1
|
||
|
- always use ansible_hostname + ansible_domain instead of ansible_fqdn
|
||
|
- use {{ ansible_hostname }}.{{ ansible_domain }} instead of {{ ansible_fqdn }}
|
||
|
- added LC_ALL=C before commands for which the outputs are to be evaluated
|
||
|
|
||
|
* Thu Sep 12 2019 Than Ngo <than@redhat.com> - 1.1-1
|
||
|
- rebase to 1.1
|
||
|
|
||
|
* Fri Jun 28 2019 Than Ngo <than@redhat.com> - 1.0-1
|
||
|
- Initial release.
|