From 2fd81b454fccdcb915f78b08e70b00743a17b19c Mon Sep 17 00:00:00 2001 From: Michal Pospisil Date: Fri, 21 Jun 2024 20:27:55 +0200 Subject: [PATCH] pcs-0.12.0a1-1 - Rebased to the latest sources (see CHANGELOG.md) Resolves: RHEL-29739, RHEL-34783, RHEL-38480, RHEL-38484, RHEL-38486 - Fixed grammatical error in pcs-web-ui Resolves: RHEL-38496 - Support tilde in version - for correct sorting of prerelease upstream version by RPM - %{version} expands with the tilde, use %{clean_version} to get upstream version - Added pkgconfig file for pcs - Added previously omitted autotools as build dependencies - Changed BuildRequires for cluster stack components to use pkgconfig virtual provides to prevent breakage if pkgconfig is ever moved to a different package - Removed BuildRequires: python3-wheel - we are not building wheels with setuptools - Removed BuildRequires: nodejs-npm from main package and fixed the name in cockpit-ha-cluster subpackage - the idea is that BuildRequires become Requires of the srpm which are then used during the main build phase when subpackages are built (so BuildRequires are effectively inherited by this logic) - Bumped minimum python and ruby versions --- .gitignore | 1 + ...t-cluster-setup-with-udp-u-transport.patch | 5 +- fix-grammatical-error.patch | 30 +++++++++++ pcs.spec | 53 ++++++++++++------- sources | 2 +- support-bundling-pycurl.patch | 32 ----------- 6 files changed, 67 insertions(+), 56 deletions(-) create mode 100644 fix-grammatical-error.patch delete mode 100644 support-bundling-pycurl.patch diff --git a/.gitignore b/.gitignore index e3f408f..7bf6e43 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ /pcs-web-ui-0.1.19.tar.gz /pcs-web-ui-node-modules-0.1.19.tar.xz /pcs-5b7d498915e0cc876b29fe9ebd709c061ac754db.tar.gz +/pcs-0.12.0a1.tar.gz diff --git a/do-not-support-cluster-setup-with-udp-u-transport.patch b/do-not-support-cluster-setup-with-udp-u-transport.patch index 292d1df..465b297 100644 --- a/do-not-support-cluster-setup-with-udp-u-transport.patch +++ b/do-not-support-cluster-setup-with-udp-u-transport.patch @@ -1,8 +1,7 @@ -From 83a69bddcafcbfb945734621cb3cddc479e5e132 Mon Sep 17 00:00:00 2001 +From 7bfa2ad4f4f5f59fd501b0cec23cdc489f90a09e Mon Sep 17 00:00:00 2001 From: Michal Pospisil Date: Thu, 23 May 2024 17:22:12 +0200 -Subject: [PATCH 1/2] do not support cluster setup with udp(u) transport in - RHEL10 +Subject: [PATCH] do not support cluster setup with udp(u) transport in RHEL10 --- pcs/pcs.8.in | 2 ++ diff --git a/fix-grammatical-error.patch b/fix-grammatical-error.patch new file mode 100644 index 0000000..9f4786a --- /dev/null +++ b/fix-grammatical-error.patch @@ -0,0 +1,30 @@ +From ead22ee414ba35546701d6bb85504af12fd6501e Mon Sep 17 00:00:00 2001 +From: Michal Pospisil +Date: Tue, 28 May 2024 16:06:53 +0200 +Subject: [PATCH] fix grammatical error + +--- + .../app/view/cluster/share/utilization/UtilizationView.tsx | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/packages/app/src/app/view/cluster/share/utilization/UtilizationView.tsx b/packages/app/src/app/view/cluster/share/utilization/UtilizationView.tsx +index 3b140975..a8c7494c 100644 +--- a/packages/app/src/app/view/cluster/share/utilization/UtilizationView.tsx ++++ b/packages/app/src/app/view/cluster/share/utilization/UtilizationView.tsx +@@ -29,11 +29,11 @@ export const UtilizationView = (props: { + ).toLowerCase() === "default" && ( + +

+- Utilization attributes has no effect because the cluster ++ Utilization attributes have no effect because the cluster + property placement-strategy is + {clusterProperties["placement-strategy"] + ? " set to value default. " +-- +2.45.1 + diff --git a/pcs.spec b/pcs.spec index 828d0ad..3cb4e6c 100644 --- a/pcs.spec +++ b/pcs.spec @@ -1,6 +1,6 @@ Name: pcs -Version: 0.11.7 -Release: 5%{?dist} +Version: 0.12.0~a1 +Release: 1%{?dist} # https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/ # https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses # GPL-2.0-only: pcs @@ -19,9 +19,11 @@ Summary: Pacemaker/Corosync Configuration System # Building only for architectures with pacemaker and corosync available ExclusiveArch: x86_64 s390x ppc64le aarch64 +# Remove a tilde used by RPM to get the correct upstream version +%global clean_version %(echo %{version} | sed 's/~//') # When specifying a commit, use its long hash -# %%global version_or_commit %%{version} -%global version_or_commit 5b7d498915e0cc876b29fe9ebd709c061ac754db +%global version_or_commit %{clean_version} +# %%global version_or_commit 5b7d498915e0cc876b29fe9ebd709c061ac754db %global pcs_source_name %{name}-%{version_or_commit} # ui_commit can be determined by hash, tag or branch @@ -78,7 +80,7 @@ ExclusiveArch: x86_64 s390x ppc64le aarch64 %global pkg_cockpit_ha_cluster cockpit-ha-cluster # prepend v for folder in GitHub link when using tagged tarball -%if "%{version}" == "%{version_or_commit}" +%if "%{clean_version}" == "%{version_or_commit}" %global v_prefix v %endif @@ -115,25 +117,29 @@ Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_comm # pcs patches: <= 200 # Patch1: name.patch Patch1: do-not-support-cluster-setup-with-udp-u-transport.patch -Patch2: support-bundling-pycurl.patch # ui patches: >200 # Patch201: name-web-ui.patch +Patch201: fix-grammatical-error.patch # git for patches BuildRequires: git-core +# for building pcs tarballs +BuildRequires: autoconf +BuildRequires: automake BuildRequires: make # printf from coreutils is used in makefile, head is used in spec BuildRequires: coreutils # python for pcs -BuildRequires: python3 >= 3.9 +BuildRequires: python3 >= 3.12 BuildRequires: python3-cryptography BuildRequires: python3-dateutil >= 2.7.0 BuildRequires: python3-devel BuildRequires: python3-lxml BuildRequires: python3-pip BuildRequires: python3-pyparsing +# pcs build backend is setuptools BuildRequires: python3-setuptools # for building bundled python packages BuildRequires: python3-wheel @@ -162,29 +168,29 @@ BuildRequires: pam # for working with qdevice certificates (certutil) - used in configure.ac BuildRequires: nss-tools -# for building web ui -BuildRequires: nodejs-npm - # cluster stack packages for pkg-config -BuildRequires: booth -BuildRequires: corosync-qdevice-devel -BuildRequires: corosynclib-devel >= 3.0 +# corosync has different package names on distributions but all provide +# corosync-devel +# corosync and pacemaker need versions and it's not working in virtual provides +BuildRequires: corosync-devel >= 3.0 BuildRequires: pacemaker-libs-devel >= %{required_pacemaker_version} -BuildRequires: sbd +BuildRequires: pkgconfig(booth) +BuildRequires: pkgconfig(corosync-qdevice) +BuildRequires: pkgconfig(sbd) # for validating cockpit-ha-cluster metainfo BuildRequires: libappstream-glib # python and libraries for pcs, setuptools for pcs entrypoint -Requires: python3 >= 3.9 +Requires: python3 >= 3.12 Requires: python3-cryptography Requires: python3-dateutil >= 2.7.0 Requires: python3-lxml Requires: python3-pyparsing Requires: python3-setuptools # ruby and gems for pcsd -Requires: ruby >= 2.5.0 +Requires: ruby >= 3.3.0 Requires: rubygems Requires: rubygem-json Requires: rubygem-rexml @@ -263,7 +269,7 @@ URL: https://github.com/ClusterLabs/pcs-web-ui BuildArch: noarch BuildRequires: make -BuildRequires: npm +BuildRequires: nodejs-npm Requires: pcs = %{version}-%{release} Requires: cockpit-bridge @@ -329,18 +335,18 @@ update_times_patch(){ %autosetup -D -T -b 100 -a 101 -S git -n %{ui_src_name} -N %autopatch -p1 -m 201 # update_times_patch %%{PATCH201} +update_times_patch %{PATCH201} # patch pcs sources %autosetup -S git -n %{pcs_source_name} -N %autopatch -p1 -M 200 # update_times_patch %%{PATCH1} update_times_patch %{PATCH1} -update_times_patch %{PATCH2} # generate .tarball-version if building from an untagged commit, not a released version # autogen uses git-version-gen which uses .tarball-version for generating version number -%if "%{version}" != "%{version_or_commit}" - echo "%version+$(echo "%{version_or_commit}" | head -c 8)" > %{_builddir}/%{pcs_source_name}/.tarball-version +%if "%{clean_version}" != "%{version_or_commit}" + echo "%{clean_version}+$(echo "%{version_or_commit}" | head -c 8)" > %{_builddir}/%{pcs_source_name}/.tarball-version %endif # prepare dirs/files necessary for building python bundles @@ -584,6 +590,7 @@ run_all_tests %{_sbindir}/pcs %{_sbindir}/pcsd %{_libdir}/pcs/* +%{_libdir}/pkgconfig/pcs.pc %{_libdir}/pcsd/* %{_unitdir}/pcsd.service %{_unitdir}/pcsd-ruby.service @@ -626,6 +633,12 @@ run_all_tests %changelog +* Fri Jun 21 2024 Michal Pospíšil - 0.12.0a1-1 +- Rebased to the latest sources (see CHANGELOG.md) + Resolves: RHEL-29739, RHEL-34783, RHEL-38480, RHEL-38484, RHEL-38486 +- Fixed grammatical error in pcs-web-ui + Resolves: RHEL-38496 + * Thu May 23 2024 Michal Pospíšil - 0.11.7-5 - Rebased to the latest sources (see CHANGELOG.md) Resolves: RHEL-34783, RHEL-34792, RHEL-35428, RHEL-35670, RHEL-36612, RHEL-38478, RHEL-38479, RHEL-38481, RHEL-38487, RHEL-38489, RHEL-38491 diff --git a/sources b/sources index 5f72b55..c716f50 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (webrick-1.8.1.gem) = 3bf45e3a52190dccaa6e883923448b745a420eff2a1533eacdd SHA512 (tornado-6.4.0.tar.gz) = dc584acc14d93c7109e4744b690641ae318ee9ad2c42a4c3560c315fa8654de3a64574c7187f5afdbde2906b7cccf5725f45462e710effb6f025e5ec1a3810d4 SHA512 (pcs-web-ui-0.1.19.tar.gz) = 3aa407f2e90f236324949d33f6ee4701c1d4898deeed2fa0d3367f9a1a0d0687e44b966c106ff772e450c51be36abd3f17656432b5da4d0c9f1a80e6f80866c6 SHA512 (pcs-web-ui-node-modules-0.1.19.tar.xz) = 206658b964a3b1a6c7c4b171d6686ef9097ee7c36720088cdc220c50e44d09d58fb4d1aac8e2eb7bb44267f581b666d38b3148352f2f235b477e8a7ab7ee8551 -SHA512 (pcs-5b7d498915e0cc876b29fe9ebd709c061ac754db.tar.gz) = dfb891b3c0e635e6f87fe9d7fec2ee1b10c3fee9fd683dfd8e52fd5b53de1c328c2a4c056ccf2bb0d8c6bc6ebd522dd95304b6bbbbc671302ad34e4df48b37cd +SHA512 (pcs-0.12.0a1.tar.gz) = 1c455dcb24bc6ab0cac0c879f932d54ad8b36c0a937557a1e873ad9442e85ff81cae23c57236c6421cc5d1c36027d583b987e21a4ad80321728090498ef8f30c diff --git a/support-bundling-pycurl.patch b/support-bundling-pycurl.patch deleted file mode 100644 index 7eb9311..0000000 --- a/support-bundling-pycurl.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9585ee5285201828a67ffb15e4609d7523255c35 Mon Sep 17 00:00:00 2001 -From: Michal Pospisil -Date: Thu, 23 May 2024 17:23:57 +0200 -Subject: [PATCH 2/2] support bundling pycurl - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index b4ef2682..0f0ed255 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -339,7 +339,6 @@ if test "x$tests_only" != "xyes"; then - fi - PCS_CHECK_PYMOD([cryptography]) - PCS_CHECK_PYMOD([lxml]) -- PCS_CHECK_PYMOD([pycurl]) - PCS_CHECK_PYMOD([pyparsing]) - - # those are kind of problematic. -@@ -352,6 +351,7 @@ if test "x$tests_only" != "xyes"; then - if test "x$bundle_module" = "xyes" && test "x$cache_only" = "xyes"; then - PCS_CHECK_PYMOD([setuptools-scm]) - fi -+ PCS_CHECK_PYMOD([pycurl], [], [yes]) - - # special case, because we need to download from github - AC_PIP_MODULE([pyagentx]) --- -2.45.1 -