diff --git a/.gitignore b/.gitignore index 7ae5727..999daeb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ SOURCES/ClusterLabs-resource-agents-e76b7d3a.tar.gz -SOURCES/SAPHanaSR-ScaleOut-b2c5218.tar.gz +SOURCES/SAPHanaSR-ScaleOut-f716fd8.tar.gz diff --git a/.resource-agents-sap-hana-scaleout.metadata b/.resource-agents-sap-hana-scaleout.metadata index 8172c07..a557460 100644 --- a/.resource-agents-sap-hana-scaleout.metadata +++ b/.resource-agents-sap-hana-scaleout.metadata @@ -1,2 +1,2 @@ b1c1e65d690d94e080319217486f8dcd248b2a2a SOURCES/ClusterLabs-resource-agents-e76b7d3a.tar.gz -874bcb0898d1f8a99b2972c8f49a42c0fe7c0389 SOURCES/SAPHanaSR-ScaleOut-b2c5218.tar.gz +e85c6e55cb01e60b67b510d5db4014cb70e6c1c7 SOURCES/SAPHanaSR-ScaleOut-f716fd8.tar.gz diff --git a/SOURCES/bz2042921-SAPHanaController-SAPHanaTopology-fix-metadata-version.patch b/SOURCES/bz2042921-SAPHanaController-SAPHanaTopology-fix-metadata-version.patch deleted file mode 100644 index 773ed9c..0000000 --- a/SOURCES/bz2042921-SAPHanaController-SAPHanaTopology-fix-metadata-version.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 5206e517e190b3c8dfc4b075cb31b5070e9670d4 Mon Sep 17 00:00:00 2001 -From: Oyvind Albrigtsen -Date: Thu, 20 Jan 2022 10:54:54 +0100 -Subject: [PATCH] SAPHana*: follow OCF standard for version and OCF version in - metadata - ---- - heartbeat/SAPHanaController | 4 ++-- - heartbeat/SAPHanaTopology | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/heartbeat/SAPHanaController b/heartbeat/SAPHanaController -index 767af44..c365f4a 100755 ---- a/heartbeat/SAPHanaController -+++ b/heartbeat/SAPHanaController -@@ -166,8 +166,8 @@ function saphana_meta_data() { - cat < - -- --$SAPHanaControllerVersion -+ -+1.0 - - Manages two SAP HANA database systems in system replication (SR). - -diff --git a/heartbeat/SAPHanaTopology b/heartbeat/SAPHanaTopology -index 05014af..7f6f4d9 100755 ---- a/heartbeat/SAPHanaTopology -+++ b/heartbeat/SAPHanaTopology -@@ -132,8 +132,8 @@ function sht_meta_data() { - cat < - -- -- $SAPHanaTopologyVersion -+ -+ 1.0 - Analyzes SAP HANA System Replication Topology. - This RA analyzes the SAP HANA topology and "sends" all findings via the node status attributes to - all nodes in the cluster. These attributes are taken by the SAPHana RA to control the SAP Hana Databases. diff --git a/SPECS/resource-agents-sap-hana-scaleout.spec b/SPECS/resource-agents-sap-hana-scaleout.spec index 97d99ea..5151ea8 100644 --- a/SPECS/resource-agents-sap-hana-scaleout.spec +++ b/SPECS/resource-agents-sap-hana-scaleout.spec @@ -22,8 +22,8 @@ %global upstream_prefix ClusterLabs-resource-agents %global upstream_version e76b7d3a -%global saphana_scaleout_prefix SAPHanaSR-ScaleOut -%global saphana_scaleout_hash b2c5218 +%global saphana_prefix SAPHanaSR-ScaleOut +%global saphana_hash f716fd8 # Whether this platform defaults to using systemd as an init system # (needs to be evaluated prior to BuildRequires being enumerated and @@ -45,24 +45,23 @@ %bcond_with rgmanager %bcond_without linuxha -Name: resource-agents-sap-hana-scaleout -Summary: SAP HANA Scale-Out cluster resource agents -Epoch: 1 -Version: 0.164.2 -Release: 3%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} -License: GPLv2+ -URL: https://github.com/SUSE/SAPHanaSR-ScaleOut -Source0: %{upstream_prefix}-%{upstream_version}.tar.gz -Source1: %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}.tar.gz -Patch0: bz2042921-SAPHanaController-SAPHanaTopology-fix-metadata-version.patch +Name: resource-agents-sap-hana-scaleout +Summary: SAP HANA Scale-Out cluster resource agents +Epoch: 1 +Version: 0.185.3 +Release: 0%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}.1 +License: GPLv2+ +URL: https://github.com/SUSE/SAPHanaSR-ScaleOut +Source0: %{upstream_prefix}-%{upstream_version}.tar.gz +Source1: %{saphana_prefix}-%{saphana_hash}.tar.gz -BuildArch: noarch +BuildArch: noarch # Build dependencies BuildRequires: make BuildRequires: automake autoconf pkgconfig gcc -BuildRequires: perl-interpreter -BuildRequires: libxslt glib2-devel +BuildRequires: perl-interpreter perl-generators +BuildRequires: libxslt glib2-devel libqb-devel BuildRequires: systemd BuildRequires: which @@ -85,11 +84,11 @@ BuildRequires: libglue-devel BuildRequires: libxslt docbook_4 docbook-xsl-stylesheets %endif -Requires: resource-agents >= 4.8.0 -Conflicts: resource-agents-sap-hana +Requires: resource-agents >= 4.8.0 +Conflicts: resource-agents-sap-hana Requires: /bin/bash /usr/bin/grep /bin/sed /bin/gawk -Requires: perl +Requires: perl-interpreter %description The SAP HANA Scale-Out resource agents interface with Pacemaker @@ -101,17 +100,38 @@ environment. %setup -q -T -D -a 1 -n %{upstream_prefix}-%{upstream_version} # add SAPHana agents to Makefile.am -mv %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/ra/SAPHana* heartbeat -sed -i -e '/ SAPInstance \\/a\ SAPHanaController \\\n SAPHanaTopology \\' heartbeat/Makefile.am -sed -i -e '/ ocf_heartbeat_SAPInstance.7 \\/a\ ocf_heartbeat_SAPHanaController.7 \\\n ocf_heartbeat_SAPHanaTopology.7 \\' doc/man/Makefile.am +mv %{saphana_prefix}-%{saphana_hash}/SAPHana/ra/SAPHana* heartbeat -cp %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/doc/LICENSE . +# Find the existing SAPInstance entry in the list and add 2 new after in corresponding formatting. +# heartbeat/Makefile.am indents by 3 tabs in the target list +sed -i -e 's/\(\t\tSAPInstance\t\t\\\)/\1\n\t\t\tSAPHanaController\t\t\t\\\n\t\t\tSAPHanaTopology\t\\/' heartbeat/Makefile.am + +# Find the existing SAPInstance entry in the list and add 2 new after in corresponding formatting. +# doc/man/Makefile.am indents by 26 spaces in the target list +sed -i -e 's/\( \{26\}ocf_heartbeat_SAPInstance.7 \\\)/\1\n'\ +' ocf_heartbeat_SAPHanaController.7 \\\n'\ +' ocf_heartbeat_SAPHanaTopology.7 \\/' doc/man/Makefile.am + +# change provider company in hook scripts +sed -i -e 's/\("provider_company": \)"SUSE"/\1"Red Hat"/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/SAPHanaSR.py +sed -i -e 's/\("provider_company": \)"SUSE"/\1"Red Hat"/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/SAPHanaSrMultiTarget.py +sed -i -e 's/\("provider_company": \)"SUSE"/\1"Red Hat"/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/susChkSrv.py + +# rename patterns explicitly to remove "sus" prefix in files +sed -i -e 's/susChkSrv/ChkSrv/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/susChkSrv.py +sed -i -e 's/suschksrv/chksrv/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/susChkSrv.py +sed -i -e 's/sustkover_timeout/tkover_timeout/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/susChkSrv.py + +sed -i -e 's/susChkSrv/ChkSrv/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/global.ini_ChkSrv +sed -i -e 's/suschksrv/chksrv/g' %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/global.ini_ChkSrv + +# copy the license +cp %{saphana_prefix}-%{saphana_hash}/SAPHana/doc/LICENSE . -%patch0 -p1 %build if [ ! -f configure ]; then - ./autogen.sh + ./autogen.sh fi %if 0%{?fedora} >= 11 || 0%{?centos} > 5 || 0%{?rhel} > 5 @@ -136,9 +156,9 @@ export CFLAGS %configure \ %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version} - PYTHON="%{__python3}" \ + PYTHON="%{__python3}" \ %endif - %{conf_opt_fatal} \ + %{conf_opt_fatal} \ %if %{defined _unitdir} --with-systemdsystemunitdir=%{_unitdir} \ %endif @@ -146,35 +166,57 @@ export CFLAGS --with-systemdtmpfilesdir=%{_tmpfilesdir} \ --with-rsctmpdir=/run/resource-agents \ %endif - --with-pkg-name=resource-agents \ - --with-ras-set=%{rasset} + --with-pkg-name=resource-agents \ + --with-ras-set=%{rasset} -%if %{defined jobs} -JFLAGS="$(echo '-j%{jobs}')" -%else -JFLAGS="$(echo '%{_smp_mflags}')" -%endif - -make $JFLAGS +make %{_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} -# remove other agents +# Remove other agents find %{buildroot}/usr/lib/ocf ! -type d ! -iname "SAPHana*" -exec rm {} \; find %{buildroot}/%{_mandir} -type f ! -iname "*SAPHana*" -exec rm {} \; -install -m 0755 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/bin/{SAPHanaSR-monitor,SAPHanaSR-showAttr} %{buildroot}/%{_sbindir} -mkdir %{buildroot}/%{_usr}/lib/SAPHanaSR-ScaleOut -install -m 0444 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/test/SAPHanaSRTools.pm %{buildroot}/%{_usr}/lib/SAPHanaSR-ScaleOut/SAPHanaSRTools.pm -mkdir -p %{buildroot}/%{_datadir}/SAPHanaSR-ScaleOut/samples -install -m 0644 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/srHook/SAPHanaSR.py %{buildroot}/%{_datadir}/SAPHanaSR-ScaleOut -install -m 0444 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/crmconfig/* %{buildroot}/%{_datadir}/SAPHanaSR-ScaleOut/samples -install -m 0444 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/srHook/global.ini %{buildroot}/%{_datadir}/SAPHanaSR-ScaleOut/samples -gzip %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/man/SAPHanaSR*.? -cp %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/man/SAPHanaSR*.7.gz %{buildroot}/%{_mandir}/man7 -cp %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/man/SAPHanaSR*.8.gz %{buildroot}/%{_mandir}/man8 +# Dir structure +mkdir -p %{buildroot}/%{_datadir}/%{saphana_prefix}/samples +mkdir -p %{buildroot}/%{_sbindir} +mkdir -p %{buildroot}/%{_usr}/lib/%{saphana_prefix} + +# Perl scripts for some add-on functionality. +# SAPHanaSRTools is a lib imported by SAPHanaSR-* perl scripts. +install -m 0444 %{saphana_prefix}-%{saphana_hash}/SAPHana/test/SAPHanaSRTools.pm \ + %{buildroot}/%{_usr}/lib/%{saphana_prefix}/SAPHanaSRTools.pm +# Use 0755 instead of 0555 because it was shipped like this before. +install -m 0755 %{saphana_prefix}-%{saphana_hash}/SAPHana/bin/SAPHanaSR-showAttr \ + %{buildroot}/%{_sbindir} +# Keeping because it was shipped before. +install -m 0755 %{saphana_prefix}-%{saphana_hash}/SAPHana/bin/SAPHanaSR-monitor \ + %{buildroot}/%{_sbindir} + +# Hook scripts - sanitize upstream names where needed +install -m 0644 %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/SAPHanaSR.py \ + %{buildroot}/%{_datadir}/%{saphana_prefix} +install -m 0644 %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/SAPHanaSrMultiTarget.py \ + %{buildroot}/%{_datadir}/%{saphana_prefix} +install -m 0644 %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/susChkSrv.py \ + %{buildroot}/%{_datadir}/%{saphana_prefix}/ChkSrv.py + +# Sample config files +install -m 0444 %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/global.ini \ + %{buildroot}/%{_datadir}/%{saphana_prefix}/samples +install -m 0444 %{saphana_prefix}-%{saphana_hash}/SAPHana/srHook/global.ini_ChkSrv \ + %{buildroot}/%{_datadir}/%{saphana_prefix}/samples +# Keeping because it was shipped before. +install -m 0444 %{saphana_prefix}-%{saphana_hash}/SAPHana/crmconfig/* \ + %{buildroot}/%{_datadir}/%{saphana_prefix}/samples + +# Keeping the man pages because they were already shipped before. +# Removed in RHEL 10 for a cleaner solution. +gzip %{saphana_prefix}-%{saphana_hash}/SAPHana/man/SAPHanaSR*.? +cp %{saphana_prefix}-%{saphana_hash}/SAPHana/man/SAPHanaSR*.7.gz %{buildroot}/%{_mandir}/man7 +cp %{saphana_prefix}-%{saphana_hash}/SAPHana/man/SAPHanaSR*.8.gz %{buildroot}/%{_mandir}/man8 ## tree fixup # remove docs (there is only one and they should come from doc sections in files) @@ -184,11 +226,20 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents %defattr(-,root,root) %license LICENSE %{_usr}/lib/ocf/resource.d/heartbeat/SAPHana* -%{_mandir}/man7/*SAPHana* -%{_mandir}/man8/*SAPHana* %{_sbindir}/SAPHanaSR* -%{_usr}/lib/SAPHanaSR-ScaleOut -%{_datadir}/SAPHanaSR-ScaleOut +%{_usr}/lib/%{saphana_prefix} +%{_datadir}/%{saphana_prefix} +%{_mandir}/man7/ocf_heartbeat_SAPHanaController.7.gz +%{_mandir}/man7/ocf_heartbeat_SAPHanaTopology.7.gz +# Explicitly include these upstream man pages due to their previous presence. +%{_mandir}/man7/SAPHanaSR-ScaleOut.7.gz +%{_mandir}/man7/SAPHanaSR-ScaleOut_basic_cluster.7.gz +%{_mandir}/man7/SAPHanaSR.py.7.gz +%{_mandir}/man7/SAPHanaSR_maintenance_examples.7.gz +%{_mandir}/man8/SAPHanaSR-filter.8.gz +%{_mandir}/man8/SAPHanaSR-monitor.8.gz +%{_mandir}/man8/SAPHanaSR-replay-archive.8.gz +%{_mandir}/man8/SAPHanaSR-showAttr.8.gz %exclude /etc %exclude /usr/include @@ -200,10 +251,25 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents %exclude /usr/sbin/ocf* %exclude /usr/share/resource-agents %exclude /usr/share/pkgconfig/resource-agents.pc - %exclude /usr/src +# Exclude new man pages that were not part of previous packages. +%exclude %{_mandir}/man7/SAPHanaSR_upgrade_to_angi.7.gz +%exclude %{_mandir}/man8/SAPHanaSR-hookHelper.8.gz +%exclude %{_mandir}/man8/SAPHanaSR-manageAttr.8.gz +%exclude %{_mandir}/man8/SAPHanaSR-manageProvider.8.gz +%exclude %{_mandir}/man8/SAPHanaSR-show-hadr-runtimes.8.gz + %changelog +* Thu Aug 29 2024 Janine Fuchs - 0.185.3-0.1 +- Rebase to SAPHanaSR-ScaleOut 0.185.3 upstream and include the + optional hook scripts for hanging HDBindexserver services and + improved multi-target functionality. + Resolves: RHEL-2287 + +- Change perl dependency to perl-interpreter. + Resolves: RHEL-53822 + * Thu Jan 20 2022 Oyvind Albrigtsen - 0.164.2-3 - SAPHanaController/SAPHanaTopology: follow OCF standard for version and OCF version in metadata @@ -236,3 +302,5 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents - Initial build as separate package Resolves: rhbz#1705765 + +# vim:set ai ts=2 sw=2 sts=2 et: