Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72f74d535a |
13 changed files with 311 additions and 771 deletions
|
|
@ -1 +0,0 @@
|
|||
1
|
||||
30
.gitignore
vendored
30
.gitignore
vendored
|
|
@ -96,32 +96,4 @@
|
|||
/pcs-web-ui-node-modules-0.1.9.tar.xz
|
||||
/pcs-web-ui-0.1.12.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.12.tar.xz
|
||||
/pcs-0.11.2.tar.gz
|
||||
/pcs-0.11.3.tar.gz
|
||||
/pcs-web-ui-0.1.14.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.14.tar.xz
|
||||
/pcs-0.11.4.15-f7301.tar.gz
|
||||
/pcs-web-ui-0.1.16.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.16.tar.xz
|
||||
/pcs-ee602830794f09a06880cd7e37a802b27113f185.tar.gz
|
||||
/dacite-1.8.0.tar.gz
|
||||
/pcs-0.11.5.tar.gz
|
||||
/pcs-web-ui-0.1.16.1.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.16.1.tar.xz
|
||||
/pcs-0.11.6.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.17.tar.xz
|
||||
/pcs-web-ui-0.1.17.tar.gz
|
||||
/dacite-1.8.1.tar.gz
|
||||
/pcs-0.11.7.tar.gz
|
||||
/pcs-web-ui-0.1.18.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.18.tar.xz
|
||||
/pcs-0.11.8.tar.gz
|
||||
/pcs-web-ui-0.1.20.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.20.tar.xz
|
||||
/pcs-0.12.0.tar.gz
|
||||
/pcs-web-ui-0.1.22.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.22.tar.xz
|
||||
/dacite-1.9.2.tar.gz
|
||||
/pcs-0.12.1.tar.gz
|
||||
/pcs-web-ui-0.1.23.tar.gz
|
||||
/pcs-web-ui-node-modules-0.1.23.tar.xz
|
||||
/pcs-0.10.13.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
From 72588f150e89b6f06810321245a13157b7e00b09 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Tue, 29 Jul 2025 23:42:00 +0200
|
||||
Subject: [PATCH] Do not require wheel when setuptools is new enough
|
||||
|
||||
Current version of setuptools creates wheels on its own.
|
||||
---
|
||||
README.md | 2 +-
|
||||
configure.ac | 7 +++++--
|
||||
rpm/pcs.spec.in | 2 +-
|
||||
3 files changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/README.md b/README.md
|
||||
index a06143eba..636485be6 100644
|
||||
--- a/README.md
|
||||
+++ b/README.md
|
||||
@@ -47,7 +47,7 @@ Apart from the dependencies listed above, these are also required for
|
||||
installation:
|
||||
|
||||
* python development files (packages python3-devel, python3-setuptools 66.1+,
|
||||
- python3-pip, python3-wheel)
|
||||
+ python3-pip, python3-wheel if python3-setuptools < 71)
|
||||
* ruby development files (package ruby-devel)
|
||||
* rubygems
|
||||
* rubygem bundler (package rubygem-bundler or ruby-bundler or bundler)
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4e7d36599..0a782bfa7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -347,12 +347,15 @@ AC_SUBST([PYAGENTX_VERSION])
|
||||
|
||||
# pip 19.0 required for PEP517 support
|
||||
PCS_CHECK_PYMOD([pip], [>= 23.0])
|
||||
-# pip builds a wheel first
|
||||
-PCS_CHECK_PYMOD([wheel])
|
||||
|
||||
if test "x$tests_only" != "xyes"; then
|
||||
# setuptools 61.0.0 required for PEP621 support
|
||||
PCS_CHECK_PYMOD([setuptools], [>= 66.1])
|
||||
+ # wheel is required if setuptools < 71
|
||||
+ AC_PIP_MODULE([setuptools], [>= 71], [], [], [need_wheel=yes])
|
||||
+ if test "x$need_wheel" = "xyes"; then
|
||||
+ PCS_CHECK_PYMOD([wheel])
|
||||
+ fi
|
||||
PCS_CHECK_PYMOD([cryptography])
|
||||
PCS_CHECK_PYMOD([lxml])
|
||||
PCS_CHECK_PYMOD([pyparsing], [>= 3.0.0])
|
||||
diff --git a/rpm/pcs.spec.in b/rpm/pcs.spec.in
|
||||
index 55881a398..639a3e974 100644
|
||||
--- a/rpm/pcs.spec.in
|
||||
+++ b/rpm/pcs.spec.in
|
||||
@@ -86,7 +86,7 @@ BuildRequires: python%{python3_version}-pip >= 23
|
||||
BuildRequires: python%{python3_version}-setuptools >= 66.1
|
||||
|
||||
# for building wheel during make install
|
||||
-BuildRequires: python%{python3_version}-wheel
|
||||
+BuildRequires: (python%{python3_version}-wheel if python%{python3_version}-setuptools < 71)
|
||||
|
||||
# for bundling dateutil
|
||||
%if "@cirpmworkarounds@" != "yes"
|
||||
--
|
||||
2.50.1
|
||||
|
||||
23
fix-backend-parameter-all-in-cluster-destroy.patch
Normal file
23
fix-backend-parameter-all-in-cluster-destroy.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
From fa75f40361bc39cbd645b8014713e4c0ad0cda18 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Devat <idevat@redhat.com>
|
||||
Date: Mon, 24 Jan 2022 14:08:54 +0100
|
||||
Subject: [PATCH 2/2] fix backend parameter "all" in cluster destroy
|
||||
|
||||
---
|
||||
src/app/backend/calls/destroyCluster.ts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/app/backend/calls/destroyCluster.ts b/src/app/backend/calls/destroyCluster.ts
|
||||
index b6e83a41..cf41ea42 100644
|
||||
--- a/src/app/backend/calls/destroyCluster.ts
|
||||
+++ b/src/app/backend/calls/destroyCluster.ts
|
||||
@@ -4,5 +4,5 @@ const { url } = endpoints.destroyCluster;
|
||||
|
||||
export const destroyCluster = (clusterName: string): CallResult =>
|
||||
http.post(url({ clusterName }), {
|
||||
- params: [["--all", "1"]],
|
||||
+ params: [["all", "1"]],
|
||||
});
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From a2899ef0e20bb638f47e74077281e73f4f18faf3 Mon Sep 17 00:00:00 2001
|
||||
From: Miroslav Lisik <mlisik@redhat.com>
|
||||
Date: Thu, 10 Jul 2025 19:48:28 +0200
|
||||
Subject: [PATCH 2/2] fix ruby NameError exception in pcsd/pcsd.rb occuring
|
||||
with older rack
|
||||
|
||||
---
|
||||
pcsd/pcsd.rb | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pcsd/pcsd.rb b/pcsd/pcsd.rb
|
||||
index e8ae9f106..c9f668851 100644
|
||||
--- a/pcsd/pcsd.rb
|
||||
+++ b/pcsd/pcsd.rb
|
||||
@@ -74,9 +74,11 @@ configure do
|
||||
CAPABILITIES_PCSD = capabilities_pcsd.freeze
|
||||
end
|
||||
|
||||
-error Rack::QueryParser::QueryLimitError do
|
||||
- $logger.warn(env['sinatra.error'].message)
|
||||
- return 400, env['sinatra.error'].message
|
||||
+if Rack.const_defined?(:QueryParser) and Rack::QueryParser.const_defined?(:QueryLimitError)
|
||||
+ error Rack::QueryParser::QueryLimitError do
|
||||
+ $logger.warn(env['sinatra.error'].message)
|
||||
+ return 400, env['sinatra.error'].message
|
||||
+ end
|
||||
end
|
||||
|
||||
get '/remote/?:command?' do
|
||||
--
|
||||
2.50.1
|
||||
|
||||
617
pcs.spec
617
pcs.spec
|
|
@ -1,107 +1,71 @@
|
|||
Name: pcs
|
||||
Version: 0.12.1
|
||||
Release: 5%{?dist}
|
||||
Version: 0.10.13
|
||||
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
|
||||
# MIT: dacite
|
||||
License: GPL-2.0-only AND MIT
|
||||
# GPLv2: pcs
|
||||
# MIT: dacite, ember, handlebars, jquery, jquery-ui
|
||||
# (GPLv2 or Ruby) and BSD: thin
|
||||
|
||||
License: GPLv2 and MIT and (GPLv2 or Ruby) and BSD
|
||||
URL: https://github.com/ClusterLabs/pcs
|
||||
Group: System Environment/Base
|
||||
Summary: Pacemaker/Corosync Configuration System
|
||||
BuildArch: noarch
|
||||
Summary: Pacemaker Configuration System
|
||||
|
||||
# Remove a tilde used by RPM to get the correct upstream version
|
||||
%global clean_version %(echo %{version} | sed 's/~//')
|
||||
|
||||
# To build an official pcs release, comment out branch_or_commit
|
||||
# Use long commit hash or branch name to build an unreleased version
|
||||
# %%global branch_or_commit 1353dfbb3af82d77f4de17a3fa4cbde185bb2b2d
|
||||
%global version_or_commit %{clean_version}
|
||||
%if 0%{?branch_or_commit:1}
|
||||
%global version_or_commit %{branch_or_commit}
|
||||
%global tarball_version %{clean_version}+%(echo %{branch_or_commit} | head -c 8)
|
||||
%endif
|
||||
%global version_or_commit %{version}
|
||||
# %%global version_or_commit %%{version}.210-9862
|
||||
%global pcs_source_name %{name}-%{version_or_commit}
|
||||
|
||||
# To build an official pcs-web-ui release, comment out ui_branch_or_commit
|
||||
# Last tagged version, also used as fallback version for untagged tarballs
|
||||
%global ui_version 0.1.23
|
||||
%global ui_modules_version 0.1.23
|
||||
# Use long commit hash or branch name to build an unreleased version
|
||||
# %%global ui_branch_or_commit 34372d1268f065ed186546f55216aaa2d7e76b54
|
||||
%global ui_version_or_commit %{ui_version}
|
||||
%if 0%{?ui_branch_or_commit:1}
|
||||
%global ui_version_or_commit %{ui_branch_or_commit}
|
||||
%global ui_tarball_version %{ui_version}-%(echo %{ui_branch_or_commit} | head -c 8)
|
||||
%endif
|
||||
%global ui_src_name pcs-web-ui-%{ui_version_or_commit}
|
||||
# ui_commit can be determined by hash, tag or branch
|
||||
%global ui_commit 0.1.12
|
||||
%global ui_modules_version 0.1.12
|
||||
%global ui_src_name pcs-web-ui-%{ui_commit}
|
||||
|
||||
%global pcs_snmp_pkg_name pcs-snmp
|
||||
|
||||
%global pyagentx_version 0.4.pcs.2
|
||||
%global dacite_version 1.9.2
|
||||
%global dacite_version 1.6.0
|
||||
|
||||
%global required_pacemaker_version 3.0.0
|
||||
%global version_rubygem_thin 1.8.1
|
||||
|
||||
# javascript bundled libraries for old web-ui
|
||||
%global ember_version 1.4.0
|
||||
%global handlebars_version 1.2.1
|
||||
%global jquery_ui_version 1.12.1
|
||||
%global jquery_version 3.6.0
|
||||
|
||||
%global pcs_bundled_dir pcs_bundled
|
||||
%global pcsd_webui_dir %{_prefix}/lib/pcsd/public/ui
|
||||
%global pcsd_public_dir pcsd/public
|
||||
%global rubygem_bundle_dir pcsd/vendor/bundle
|
||||
%global rubygem_cache_dir %{rubygem_bundle_dir}/cache
|
||||
|
||||
%global cockpit_dir %{_datadir}/cockpit/
|
||||
%global metainfo_dir %{_datadir}/metainfo
|
||||
%global ui_metainfo_name org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml
|
||||
%global ui_metainfo %{metainfo_dir}/%{ui_metainfo_name}
|
||||
|
||||
%global pkg_pcs_snmp pcs-snmp
|
||||
%global pkg_pcs_web_ui pcs-web-ui
|
||||
%global pkg_cockpit_ha_cluster cockpit-ha-cluster
|
||||
|
||||
# prepend v for folder in GitHub link when using tagged tarball
|
||||
%if "%{clean_version}" == "%{version_or_commit}"
|
||||
%global v_prefix v
|
||||
%endif
|
||||
|
||||
# part after the last slash is recognized as filename in look-aside cache
|
||||
Source0: %{url}/archive/%{?v_prefix}%{version_or_commit}/%{pcs_source_name}.tar.gz
|
||||
#part after last slash is recognized as filename in look-aside repository
|
||||
#desired name is achived by trick with hash anchor
|
||||
Source0: %{url}/archive/%{version_or_commit}/%{pcs_source_name}.tar.gz
|
||||
|
||||
Source41: https://github.com/ondrejmular/pyagentx/archive/v%{pyagentx_version}/pyagentx-%{pyagentx_version}.tar.gz
|
||||
Source42: https://github.com/konradhalas/dacite/archive/v%{dacite_version}/dacite-%{dacite_version}.tar.gz
|
||||
|
||||
Source100: https://github.com/ClusterLabs/pcs-web-ui/archive/%{ui_version_or_commit}/%{ui_src_name}.tar.gz
|
||||
Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_version_or_commit}/pcs-web-ui-node-modules-%{ui_modules_version}.tar.xz
|
||||
Source88: https://rubygems.org/downloads/thin-%{version_rubygem_thin}.gem
|
||||
|
||||
Source100: https://github.com/ClusterLabs/pcs-web-ui/archive/%{ui_commit}/%{ui_src_name}.tar.gz
|
||||
Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_commit}/pcs-web-ui-node-modules-%{ui_modules_version}.tar.xz
|
||||
|
||||
# pcs patches: <= 200
|
||||
# Patch1: name.patch
|
||||
Patch1: show-info-page-instead-of-webui.patch
|
||||
Patch2: fix-pcsd-not-starting-with-older-rack.patch
|
||||
Patch3: do-not-require-wheel.patch
|
||||
# Patch0: name.patch
|
||||
|
||||
# ui patches: >200
|
||||
# Patch201: name-web-ui.patch
|
||||
|
||||
|
||||
# Split pcs to pcs and pcs-web-ui, all packages that replace pcs must obsolete
|
||||
# the old monolithic package
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: pcs < 0.12.0
|
||||
# Web UI is an add-on that doesn't need to be installed for pcs to function.
|
||||
# Upgrades from before 0.12 will install it thanks to Obsoletes. But it will
|
||||
# be possible to uninstall web UI to disable it and then it will not be
|
||||
# installed during upgrades because it is a weak dependency.
|
||||
Recommends: %{pkg_pcs_web_ui} == %{version}-%{release}
|
||||
|
||||
# Patch201: name.patch
|
||||
Patch201: simplify-ternar-expression.patch
|
||||
Patch202: fix-backend-parameter-all-in-cluster-destroy.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
|
||||
#printf from coreutils is used in makefile
|
||||
BuildRequires: coreutils
|
||||
# find is used in Makefile and also somewhere else
|
||||
BuildRequires: findutils
|
||||
# python for pcs
|
||||
BuildRequires: python3 >= 3.6
|
||||
BuildRequires: python3-dateutil >= 2.7.0
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
|
|
@ -112,110 +76,135 @@ BuildRequires: python3-tornado
|
|||
BuildRequires: python3-cryptography
|
||||
BuildRequires: python3-lxml
|
||||
# for building bundled python packages
|
||||
# setuptools 71+ builds wheels by itself
|
||||
BuildRequires: (python3-wheel if python3-setuptools < 71)
|
||||
BuildRequires: python3-wheel
|
||||
# for bundled python dateutil
|
||||
BuildRequires: python3-setuptools_scm
|
||||
BuildRequires: python3-distro
|
||||
# ruby and gems for pcsd
|
||||
BuildRequires: ruby >= 2.5.0
|
||||
BuildRequires: ruby >= 2.2.0
|
||||
BuildRequires: ruby-devel
|
||||
BuildRequires: rubygem-backports
|
||||
BuildRequires: rubygem-childprocess
|
||||
BuildRequires: rubygem-daemons
|
||||
BuildRequires: rubygem-ethon
|
||||
BuildRequires: rubygem-eventmachine
|
||||
BuildRequires: rubygem-ffi
|
||||
BuildRequires: rubygem-io-console
|
||||
BuildRequires: rubygem-json
|
||||
BuildRequires: rubygem-mustermann
|
||||
BuildRequires: rubygem-puma
|
||||
BuildRequires: (rubygem(rack) < 3 or (rubygem(rack) >= 3 and rubygem(rackup)))
|
||||
BuildRequires: rubygem-open4
|
||||
BuildRequires: rubygem-rack
|
||||
BuildRequires: rubygem-rack-protection
|
||||
BuildRequires: rubygem-rack-test
|
||||
BuildRequires: rubygem-sinatra
|
||||
BuildRequires: rubygem-tilt
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 9
|
||||
%if 0%{?fedora} >= 34 || 0%{?eln} || 0%{?rhel} >= 9
|
||||
BuildRequires: rubygem(rexml)
|
||||
BuildRequires: rubygem(webrick)
|
||||
%endif
|
||||
# ruby libraries for tests
|
||||
BuildRequires: rubygem-test-unit
|
||||
# for bundled rubygems
|
||||
BuildRequires: rubygems
|
||||
BuildRequires: rubygem-bundler
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: openssl
|
||||
# for touching patch files (sanitization function)
|
||||
BuildRequires: diffstat
|
||||
# for systemd scriptlet macros
|
||||
BuildRequires: systemd-rpm-macros
|
||||
# pam is used for authentication inside daemon (python ctypes)
|
||||
# needed for tier0 tests during build
|
||||
BuildRequires: pam
|
||||
# for working with qdevice certificates (certutil) - used in configure.ac
|
||||
BuildRequires: nss-tools
|
||||
# pcs now provides a pc file
|
||||
BuildRequires: pkgconfig
|
||||
# for post, preun and postun macros
|
||||
BuildRequires: systemd
|
||||
# pcsd fonts and font management tools for creating symlinks to fonts
|
||||
BuildRequires: fontconfig
|
||||
BuildRequires: liberation-sans-fonts
|
||||
BuildRequires: overpass-fonts
|
||||
|
||||
# for building web ui
|
||||
BuildRequires: npm
|
||||
|
||||
# cluster stack packages for pkg-config
|
||||
# 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: pkgconfig(booth)
|
||||
BuildRequires: pkgconfig(corosync-qdevice)
|
||||
BuildRequires: pkgconfig(sbd)
|
||||
|
||||
# for validating cockpit-ha-cluster metainfo
|
||||
BuildRequires: libappstream-glib
|
||||
|
||||
BuildRequires: booth
|
||||
BuildRequires: corosync-qdevice-devel
|
||||
BuildRequires: corosynclib-devel >= 3.0
|
||||
BuildRequires: fence-agents-common
|
||||
BuildRequires: pacemaker-libs-devel >= 2.0.0
|
||||
BuildRequires: resource-agents
|
||||
BuildRequires: sbd
|
||||
|
||||
# python and libraries for pcs, setuptools for pcs entrypoint
|
||||
Requires: python3 >= 3.6
|
||||
Requires: python3-cryptography
|
||||
Requires: python3-dateutil >= 2.7.0
|
||||
Requires: python3-lxml
|
||||
Requires: python3-setuptools
|
||||
Requires: python3-pycurl
|
||||
Requires: python3-pyparsing
|
||||
Requires: python3-tornado
|
||||
# ruby and gems for pcsd
|
||||
Requires: ruby >= 3.3.0
|
||||
Requires: ruby >= 2.2.0
|
||||
Requires: rubygem-backports
|
||||
Requires: rubygem-childprocess
|
||||
Requires: rubygem-daemons
|
||||
Requires: rubygem-ethon
|
||||
Requires: rubygem-eventmachine
|
||||
Requires: rubygem-ffi
|
||||
Requires: rubygem-json
|
||||
Requires: rubygem-mustermann
|
||||
Requires: rubygem-puma
|
||||
Requires: (rubygem(rack) < 3 or (rubygem(rack) >= 3 and rubygem(rackup)))
|
||||
Requires: rubygem-open4
|
||||
Requires: rubygem-rack
|
||||
Requires: rubygem-rack-protection
|
||||
Requires: rubygem-rack-test
|
||||
Requires: rubygem-sinatra
|
||||
Requires: rubygem-tilt
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 9
|
||||
%if 0%{?fedora} >= 34 || 0%{?eln} || 0%{?rhel} >= 9
|
||||
Requires: rubygem(rexml)
|
||||
Requires: rubygem(webrick)
|
||||
%endif
|
||||
# ruby and gems for pcsd-ruby
|
||||
# for killall
|
||||
Requires: psmisc
|
||||
# cluster stack and related packages
|
||||
Requires: pcmk-cluster-manager >= %{required_pacemaker_version}
|
||||
Requires: pcmk-cluster-manager >= 2.0.0
|
||||
Suggests: pacemaker
|
||||
Requires: (corosync >= 3.0 if pacemaker)
|
||||
Requires: (corosync >= 2.99 if pacemaker)
|
||||
# pcs enables corosync encryption by default so we require libknet1-plugins-all
|
||||
Requires: (libknet1-plugins-all if corosync)
|
||||
Requires: pacemaker-cli >= %{required_pacemaker_version}
|
||||
Requires: pacemaker-cli >= 2.0.0
|
||||
# for post, preun and postun macros
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
# pam is used for authentication inside daemon (python ctypes)
|
||||
# more details: https://bugzilla.redhat.com/show_bug.cgi?id=1717113
|
||||
Requires: pam
|
||||
# pcsd fonts
|
||||
Requires: liberation-sans-fonts
|
||||
Requires: overpass-fonts
|
||||
# needs logrotate for /etc/logrotate.d/pcsd
|
||||
Requires: logrotate
|
||||
# for working with qdevice certificates (certutil)
|
||||
Requires: nss-tools
|
||||
|
||||
|
||||
Provides: bundled(dacite) = %{dacite_version}
|
||||
# bundled rubygems
|
||||
Provides: bundled(thin) = %{version_rubygem_thin}
|
||||
# javascript bundled libraries for old web-ui
|
||||
Provides: bundled(ember) = %{ember_version}
|
||||
Provides: bundled(handlebars) = %{handlebars_version}
|
||||
Provides: bundled(jquery) = %{jquery_version}
|
||||
Provides: bundled(jquery-ui) = %{jquery_ui_version}
|
||||
|
||||
# pcs-snmp subpackage definition
|
||||
%package -n %{pkg_pcs_snmp}
|
||||
%description
|
||||
pcs is a corosync and pacemaker configuration tool. It permits users to
|
||||
easily view, modify and create pacemaker based clusters.
|
||||
|
||||
# pcs-snmp package definition
|
||||
%package -n %{pcs_snmp_pkg_name}
|
||||
Group: System Environment/Base
|
||||
Summary: Pacemaker cluster SNMP agent
|
||||
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
||||
# GPL-2.0-only: pcs
|
||||
# GPLv2: pcs
|
||||
# BSD-2-Clause: pyagentx
|
||||
License: GPL-2.0-only AND BSD-2-Clause
|
||||
License: GPLv2 and BSD-2-Clause
|
||||
URL: https://github.com/ClusterLabs/pcs
|
||||
BuildArch: noarch
|
||||
|
||||
# tar for unpacking pyagentx source tarball
|
||||
# tar for unpacking pyagetx source tar ball
|
||||
BuildRequires: tar
|
||||
|
||||
Requires: pcs = %{version}-%{release}
|
||||
|
|
@ -224,58 +213,8 @@ Requires: net-snmp
|
|||
|
||||
Provides: bundled(pyagentx) = %{pyagentx_version}
|
||||
|
||||
# pcs-web-ui subpackage definition
|
||||
%package -n %{pkg_pcs_web_ui}
|
||||
Summary: Standalone web UI for Pacemaker/Corosync Configuration System
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/
|
||||
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
||||
# GPL-2.0-only: pcs
|
||||
License: GPL-2.0-only
|
||||
URL: https://github.com/ClusterLabs/pcs-web-ui
|
||||
|
||||
# Split pcs to pcs and pcs-web-ui, all packages that replace pcs must obsolete
|
||||
# the old monolithic package
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: pcs < 0.12.0
|
||||
|
||||
Requires: pcs = %{version}-%{release}
|
||||
|
||||
Provides: bundled(pcs-web-ui) = %{!?ui_tarball_version:%{ui_version}}%{?ui_tarball_version}
|
||||
|
||||
# cockpit-ha-cluster subpackage definition
|
||||
%package -n %{pkg_cockpit_ha_cluster}
|
||||
Group: System Environment/Base
|
||||
Summary: Cockpit application for managing Pacemaker based clusters
|
||||
License: GPL-2.0-only AND CC0-1.0
|
||||
URL: https://github.com/ClusterLabs/pcs-web-ui
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: nodejs-npm
|
||||
|
||||
Requires: pcs = %{version}-%{release}
|
||||
Requires: cockpit-bridge
|
||||
|
||||
Provides: bundled(pcs-web-ui) = %{!?ui_tarball_version:%{ui_version}}%{?ui_tarball_version}
|
||||
|
||||
|
||||
|
||||
%description
|
||||
pcs is a configuration tool for Corosync and Pacemaker. It permits users to
|
||||
easily view, modify and create high availability clusters based on Pacemaker.
|
||||
This package contains the pcs command-line utility and its server pcsd.
|
||||
|
||||
%description -n %{pkg_pcs_web_ui}
|
||||
Provides standalone web UI for Pacemaker/Corosync Configuration System (pcs).
|
||||
|
||||
%description -n %{pkg_pcs_snmp}
|
||||
SNMP agent that provides information about Pacemaker cluster to the main agent
|
||||
(snmpd).
|
||||
|
||||
%description -n %{pkg_cockpit_ha_cluster}
|
||||
Cockpit application for managing Pacemaker based clusters. Uses
|
||||
Pacemaker/Corosync Configuration System (pcs) in the background.
|
||||
|
||||
|
||||
%description -n %{pcs_snmp_pkg_name}
|
||||
SNMP agent that provides information about pacemaker cluster to the master agent (snmpd)
|
||||
|
||||
%prep
|
||||
# -- following is inspired by python-simplejon.el5 --
|
||||
|
|
@ -321,96 +260,53 @@ update_times_patch(){
|
|||
# * http://ftp.rpm.org/max-rpm/s1-rpm-inside-macros.html
|
||||
# * https://rpm-software-management.github.io/rpm/manual/autosetup.html
|
||||
# patch web-ui sources
|
||||
# -n <name> — Set Name of Build Directory
|
||||
# -T — Do Not Perform Default Archive Unpacking
|
||||
# -b <n> — Unpack The nth Sources Before Changing Directory
|
||||
# -a <n> — Unpack The nth Sources After Changing Directory
|
||||
# -N — disables automatic patch application, use autopatch to apply patches
|
||||
#
|
||||
# 1. unpack sources (-b 0)
|
||||
# 2. then cd into sources tree (the setup macro itself)
|
||||
# 3. then unpack node_modules into sources tree (-a 1).
|
||||
%autosetup -T -b 100 -a 101 -N -n %{ui_src_name}
|
||||
%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}
|
||||
update_times_patch %{PATCH202}
|
||||
|
||||
# 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}
|
||||
update_times_patch %{PATCH3}
|
||||
# update_times_patch %{PATCH0}
|
||||
|
||||
# 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 0%{?tarball_version:1}
|
||||
echo %{tarball_version} > %{_builddir}/%{pcs_source_name}/.tarball-version
|
||||
%endif
|
||||
# prepare dirs/files necessary for building all bundles
|
||||
# -----------------------------------------------------
|
||||
# 1) rubygems sources
|
||||
|
||||
%if 0%{?ui_tarball_version:1}
|
||||
echo %{ui_tarball_version} > %{_builddir}/%{ui_src_name}/.tarball-version
|
||||
%endif
|
||||
mkdir -p %{rubygem_cache_dir}
|
||||
cp -f %SOURCE88 %{rubygem_cache_dir}
|
||||
|
||||
# prepare dirs/files necessary for building python bundles
|
||||
# 2) prepare python bundles
|
||||
mkdir -p %{pcs_bundled_dir}/src
|
||||
cp -f %SOURCE41 rpm/
|
||||
cp -f %SOURCE42 rpm/
|
||||
|
||||
|
||||
|
||||
%build
|
||||
%define debug_package %{nil}
|
||||
|
||||
# We left off by setting up pcs, so we are in its directory now
|
||||
./autogen.sh
|
||||
%{configure} --enable-local-build --enable-use-local-cache-only \
|
||||
--enable-individual-bundling --enable-webui \
|
||||
--with-pcsd-default-cipherlist='PROFILE=SYSTEM' \
|
||||
--with-pcs-lib-dir="%{_prefix}/lib" PYTHON=%{__python3}
|
||||
%{configure} --enable-local-build --enable-use-local-cache-only --enable-individual-bundling PYTHON=%{__python3} ruby_CFLAGS="%{optflags}" ruby_LIBS="%{build_ldflags}"
|
||||
make all
|
||||
|
||||
# Web UI installation
|
||||
# Switch to web ui folder first
|
||||
cd ../%{ui_src_name}
|
||||
./autogen.sh
|
||||
%{configure} \
|
||||
--with-pcsd-webui-dir=%{pcsd_webui_dir} \
|
||||
--with-cockpit-dir=%{cockpit_dir} \
|
||||
--with-metainfo-dir=%{metainfo_dir}
|
||||
make all
|
||||
|
||||
|
||||
# build pcs-web-ui
|
||||
make -C %{_builddir}/%{ui_src_name} build BUILD_USE_EXISTING_NODE_MODULES=true
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
pwd
|
||||
|
||||
# Install cockpit pcs-web-ui
|
||||
cd ../%{ui_src_name}
|
||||
%make_install
|
||||
|
||||
# prepare pcs-web-ui files (not needed for pcs as pcs installs them in Makefile)
|
||||
mkdir -p %{buildroot}/%{_defaultlicensedir}/%{pkg_cockpit_ha_cluster}
|
||||
mkdir -p %{buildroot}/%{_defaultlicensedir}/%{pkg_pcs_web_ui}
|
||||
# install pcs-web-ui
|
||||
cp -r %{_builddir}/%{ui_src_name}/build ${RPM_BUILD_ROOT}%{_libdir}/%{pcsd_public_dir}/ui
|
||||
|
||||
cp COPYING %{buildroot}/%{_defaultlicensedir}/%{pkg_cockpit_ha_cluster}/COPYING_WUI.md
|
||||
mv COPYING %{buildroot}/%{_defaultlicensedir}/%{pkg_pcs_web_ui}/COPYING_WUI.md
|
||||
|
||||
mkdir -p %{buildroot}/%{_docdir}/%{pkg_cockpit_ha_cluster}
|
||||
mkdir -p %{buildroot}/%{_docdir}/%{pkg_pcs_web_ui}
|
||||
|
||||
cp CHANGELOG.md %{buildroot}/%{_docdir}/%{pkg_cockpit_ha_cluster}/CHANGELOG_WUI.md
|
||||
mv CHANGELOG.md %{buildroot}/%{_docdir}/%{pkg_pcs_web_ui}/CHANGELOG_WUI.md
|
||||
|
||||
cp README.md %{buildroot}/%{_docdir}/%{pkg_cockpit_ha_cluster}/README_WUI.md
|
||||
mv README.md %{buildroot}/%{_docdir}/%{pkg_pcs_web_ui}/README_WUI.md
|
||||
|
||||
# Install pcs
|
||||
cd ../%{pcs_source_name}
|
||||
%make_install
|
||||
# symlink favicon into pcsd directories
|
||||
ln -fs /etc/favicon.png ${RPM_BUILD_ROOT}%{_libdir}/%{pcsd_public_dir}/images/favicon.png
|
||||
|
||||
# prepare license files
|
||||
# some rubygems do not have a license file (thin)
|
||||
cp %{pcs_bundled_dir}/src/pyagentx-*/LICENSE.txt pyagentx_LICENSE.txt
|
||||
cp %{pcs_bundled_dir}/src/pyagentx-*/CONTRIBUTORS.txt pyagentx_CONTRIBUTORS.txt
|
||||
cp %{pcs_bundled_dir}/src/pyagentx-*/README.md pyagentx_README.md
|
||||
|
|
@ -418,12 +314,22 @@ cp %{pcs_bundled_dir}/src/pyagentx-*/README.md pyagentx_README.md
|
|||
cp %{pcs_bundled_dir}/src/dacite-*/LICENSE dacite_LICENSE
|
||||
cp %{pcs_bundled_dir}/src/dacite-*/README.md dacite_README.md
|
||||
|
||||
# We are not building debug package for pcs but we need to add MiniDebuginfo
|
||||
# to the bundled shared libraries from rubygem extensions in order to satisfy
|
||||
# rpmdiff's binary stripping checker.
|
||||
# Therefore we call find-debuginfo.sh script manually in order to strip
|
||||
# binaries and add MiniDebugInfo with .gnu_debugdata section
|
||||
/usr/lib/rpm/find-debuginfo.sh -j2 -m -i -S debugsourcefiles.list
|
||||
# find-debuginfo.sh generated some files into /usr/lib/debug and
|
||||
# /usr/src/debug/ that we don't want in the package
|
||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/debug
|
||||
rm -rf $RPM_BUILD_ROOT/usr/lib/debug
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/src/debug
|
||||
|
||||
# We can remove files required for gem compilation
|
||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{rubygem_bundle_dir}/gems/thin-%{version_rubygem_thin}/ext
|
||||
|
||||
%check
|
||||
# Run validation of cockpit metainfo
|
||||
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/%{ui_metainfo_name}
|
||||
|
||||
# In the building environment LC_CTYPE is set to C which causes tests to fail
|
||||
# due to python prints a warning about it to stderr. The following environment
|
||||
# variable disables the warning.
|
||||
|
|
@ -446,8 +352,8 @@ run_all_tests(){
|
|||
test_result_python=$?
|
||||
|
||||
#run pcsd tests and remove them
|
||||
ruby \
|
||||
-I%{buildroot}%{_prefix}/lib/pcsd \
|
||||
GEM_HOME=$RPM_BUILD_ROOT%{_libdir}/%{rubygem_bundle_dir} ruby \
|
||||
-I$RPM_BUILD_ROOT%{_libdir}/pcsd \
|
||||
-Ipcsd/test \
|
||||
pcsd/test/test_all_suite.rb
|
||||
test_result_ruby=$?
|
||||
|
|
@ -458,33 +364,42 @@ run_all_tests(){
|
|||
return $test_result_ruby
|
||||
}
|
||||
|
||||
remove_all_tests() {
|
||||
# remove javascript testing files
|
||||
rm -r -v $RPM_BUILD_ROOT%{_libdir}/%{pcsd_public_dir}/js/dev
|
||||
}
|
||||
|
||||
run_all_tests
|
||||
remove_all_tests
|
||||
|
||||
|
||||
# Mark pcsd and pcs_snmp_agent for restart after upgrade
|
||||
%posttrans
|
||||
%systemd_posttrans_with_restart pcsd.service
|
||||
|
||||
%posttrans -n %{pkg_pcs_snmp}
|
||||
%systemd_posttrans_with_restart pcs_snmp_agent.service
|
||||
|
||||
# Restart pcsd if it is running to reload the Tornado app so it detects
|
||||
# presence or absence of the webui backend handler on install/update
|
||||
# of pcs-web-ui that contains it
|
||||
# Systemd will not pick-up on this change because pcs-web-ui doesn't contain
|
||||
# a unit file that would mark it for restart
|
||||
# https://fedoraproject.org/wiki/Changes/Restart_services_at_end_of_rpm_transaction
|
||||
%posttrans -n %{pkg_pcs_web_ui}
|
||||
systemctl try-restart pcsd.service
|
||||
|
||||
# Runs only on pcs-web-ui uninstall
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/
|
||||
%postun -n %{pkg_pcs_web_ui}
|
||||
if [ $1 -eq 0 ] ; then
|
||||
systemctl try-restart pcsd.service
|
||||
fi
|
||||
# Make sure the new version of the daemon is runnning.
|
||||
# Also, make sure to start pcsd-ruby if it hasn't been started or even
|
||||
# installed before. This is done by restarting pcsd.service.
|
||||
%{_bindir}/systemctl daemon-reload
|
||||
%{_bindir}/systemctl try-restart pcsd.service
|
||||
|
||||
|
||||
%post
|
||||
%systemd_post pcsd.service
|
||||
%systemd_post pcsd-ruby.service
|
||||
|
||||
%post -n %{pcs_snmp_pkg_name}
|
||||
%systemd_post pcs_snmp_agent.service
|
||||
|
||||
%preun
|
||||
%systemd_preun pcsd.service
|
||||
%systemd_preun pcsd-ruby.service
|
||||
|
||||
%preun -n %{pcs_snmp_pkg_name}
|
||||
%systemd_preun pcs_snmp_agent.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart pcsd.service
|
||||
%systemd_postun_with_restart pcsd-ruby.service
|
||||
|
||||
%postun -n %{pcs_snmp_pkg_name}
|
||||
%systemd_postun_with_restart pcs_snmp_agent.service
|
||||
|
||||
%files
|
||||
%doc CHANGELOG.md
|
||||
|
|
@ -493,11 +408,10 @@ fi
|
|||
%license dacite_LICENSE
|
||||
%license COPYING
|
||||
%{python3_sitelib}/*
|
||||
%{_bindir}/pcs
|
||||
%{_bindir}/pcsd
|
||||
%{_prefix}/lib/pcs/*
|
||||
%{_prefix}/lib/pkgconfig/pcs.pc
|
||||
%{_prefix}/lib/pcsd/*
|
||||
%{_sbindir}/pcs
|
||||
%{_sbindir}/pcsd
|
||||
%{_libdir}/pcs/*
|
||||
%{_libdir}/pcsd/*
|
||||
%{_unitdir}/pcsd.service
|
||||
%{_unitdir}/pcsd-ruby.service
|
||||
%{_datadir}/bash-completion/completions/pcs
|
||||
|
|
@ -515,25 +429,13 @@ fi
|
|||
%ghost %config(noreplace) %attr(0644,root,root) %{_sharedstatedir}/pcsd/pcs_users.conf
|
||||
%{_mandir}/man8/pcs.*
|
||||
%{_mandir}/man8/pcsd.*
|
||||
%exclude %{_prefix}/lib/pcs/pcs_snmp_agent
|
||||
%exclude %{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||
%exclude %{cockpit_dir}
|
||||
%exclude %{ui_metainfo}
|
||||
%exclude %{python3_sitelib}/pcs/daemon/app/webui
|
||||
%exclude %{pcsd_webui_dir}
|
||||
%exclude %{_libdir}/pcs/pcs_snmp_agent
|
||||
%exclude %{_libdir}/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||
|
||||
%files -n %{pkg_pcs_web_ui}
|
||||
%doc CHANGELOG.md
|
||||
%doc %{_docdir}/%{pkg_pcs_web_ui}/CHANGELOG_WUI.md
|
||||
%doc %{_docdir}/%{pkg_pcs_web_ui}/README_WUI.md
|
||||
%license COPYING
|
||||
%license %{_defaultlicensedir}/%{pkg_pcs_web_ui}/COPYING_WUI.md
|
||||
%{python3_sitelib}/pcs/daemon/app/webui
|
||||
%{pcsd_webui_dir}
|
||||
|
||||
%files -n %{pkg_pcs_snmp}
|
||||
%{_prefix}/lib/pcs/pcs_snmp_agent
|
||||
%{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||
%files -n %{pcs_snmp_pkg_name}
|
||||
%{_libdir}/pcs/pcs_snmp_agent
|
||||
%{_libdir}/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||
%{_unitdir}/pcs_snmp_agent.service
|
||||
%{_datadir}/snmp/mibs/PCMK-PCS*-MIB.txt
|
||||
%{_mandir}/man8/pcs_snmp_agent.*
|
||||
|
|
@ -544,159 +446,10 @@ fi
|
|||
%license COPYING
|
||||
%license pyagentx_LICENSE.txt
|
||||
|
||||
%files -n %{pkg_cockpit_ha_cluster}
|
||||
%doc %{_docdir}/%{pkg_cockpit_ha_cluster}/CHANGELOG_WUI.md
|
||||
%doc %{_docdir}/%{pkg_cockpit_ha_cluster}/README_WUI.md
|
||||
%license %{_defaultlicensedir}/%{pkg_cockpit_ha_cluster}/COPYING_WUI.md
|
||||
%{cockpit_dir}
|
||||
%{ui_metainfo}
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 0.12.1-5
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 0.12.1-4
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
|
||||
* Wed Jul 30 2025 Michal Pospíšil <mpospisi@redhat.com> - 0.12.1-3
|
||||
- Remove BuildRequires: python3-wheel when using setuptools 71+
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Fri Jul 18 2025 Michal Pospíšil <mpospisi@redhat.com> - 0.12.1-1
|
||||
- Rebased pcs to the newest major version (see CHANGELOG.md)
|
||||
Resolves: rhbz#2371770
|
||||
- Updated standalone web UI and HA Cluster Management Cockpit application to pcs-web-ui 0.1.23 (see CHANGELOG_WUI.md)
|
||||
- There is now a changelog for the HA Cluster Management Cockpit application and the standalone web UI in both packages
|
||||
- The upstream version of pcs-web-ui can now be queried through RPM in both packages - see bundled(pcs-web-ui)
|
||||
- Updated bundled Python dependency dacite
|
||||
- Compatibility with rubygem-rack >= 3
|
||||
Resolves: rhbz#2372462
|
||||
|
||||
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 0.12.0-2
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Mon Jan 27 2025 Michal Pospíšil <mpospisi@redhat.com> - 0.12.0-1
|
||||
- Rebased pcs to the newest major version (see CHANGELOG.md)
|
||||
Resolves: rhbz#2341012
|
||||
- New subpackage pcs-web-ui - enables standalone web UI when the subpackage is installed on the system (default), uninstall the subpackage to disable the web UI
|
||||
- Updated standalone web UI and HA Cluster Management Cockpit application to pcs-web-ui 0.1.22
|
||||
- Fixes for compatibility with Ruby 3.4
|
||||
Resolves: rhbz#2331005
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Tue Aug 6 2024 Michal Pospíšil <mpospisi@redhat.com> - 0.11.8-1
|
||||
- Rebased to the latest sources (see CHANGELOG.md)
|
||||
- Updated pcs-web-ui to 0.1.20
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.7-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 0.11.7-4
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Mon Feb 5 2024 Michal Pospisil <mpospisi@redhat.com> - 0.11.7-3
|
||||
- Fixed a bug preventing the Cockpit Application from being installed from Cockpit
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 8 2024 Michal Pospisil <mpospisi@redhat.com> - 0.11.7-1
|
||||
- Rebased to the latest upstream sources (see CHANGELOG.md)
|
||||
- Updated pcs-web-ui to 0.1.18
|
||||
- TLS cipher setting in pcsd now follows system-wide crypto policies by default
|
||||
- Added cockpit-ha-cluster subpackage that adds pcs-web-ui as a Cockpit application
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Jun 28 2023 Python Maint <python-maint@redhat.com> - 0.11.6-2
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Wed Jun 21 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.6-1
|
||||
- Rebased to the latest upstream sources (see CHANGELOG.md)
|
||||
- Updated pcs-web-ui
|
||||
- Removed dependency fedora-logos - favicon is now correctly provided by pcs-web-ui
|
||||
- Resolves: rhbz#2109852 rhbz#2170648
|
||||
|
||||
* Wed Apr 12 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.5-2
|
||||
- Fix displaying differences between configuration checkpoints in “pcs config checkpoint diff” command
|
||||
- Fix “pcs stonith update-scsi-devices” command which was broken since Pacemaker-2.1.5-rc1
|
||||
- Fixed loading of cluster status in the web interface when fencing levels are configured
|
||||
- Fixed a vulnerability in pcs-web-ui-node-modules
|
||||
- Swapped BuildRequires: npm for BuildRequires: nodejs-npm in Fedora 37 because of NodeJS packaging change
|
||||
- Removed BuildRequires: rubygem-io-console
|
||||
- Removed dependency rubygem-eventmachine
|
||||
|
||||
* Thu Feb 16 2023 Michal Pospisil <mpospisi@redhat.com> - 0.11.5-1
|
||||
- Rebased to the latest upstream sources (see CHANGELOG.md)
|
||||
- Fixed broken filtering in create resource/fence device wizards in the web interface
|
||||
- Converted package to noarch
|
||||
- Added creation of .tarball-version file needed by autotools when building from untagged commits and fixed Source0 link to the tarball on GitHub
|
||||
- Modified build options of pcs for booth authfile fix for all Fedora versions
|
||||
- Added BuildRequires: pam for tier0 tests during build
|
||||
- Added BuildRequires: nodejs-npm for NodeJS packaging change since Fedora 38
|
||||
- Removed bundled rubygem thin and its associated BuildRequires: rubygems, rubygem-bundler, rubygem-daemons, gcc, gcc-c++
|
||||
- Added dependency rubygem-puma - replacement for rubygem thin
|
||||
- Added dependency nss-tools - for working with qdevice certificates
|
||||
- Added dependency fedora-logos - for the web interface favicon
|
||||
- Removed dependencies: rubygem-daemons, rubygem(webrick)
|
||||
- Resolves: rhbz#2166266
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jan 04 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.11.4-2
|
||||
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2
|
||||
- Workaround for dnf dependency resolution confusion between nodejs16 vs nodejs
|
||||
- Workaround for find-debuginfo.sh failure wrt ruby3.2 gem install change
|
||||
|
||||
* Mon Dec 12 2022 Michal Pospisil <mpospisi@redhat.com> - 0.11.4-1
|
||||
* Tue Feb 01 2022 Miroslav Lisik <mlisik@redhat.com> - 0.10.13-1
|
||||
- Rebased to latest upstream sources (see CHANGELOG.md)
|
||||
- Updated pcs-web-ui
|
||||
- Added dependency rubygem-childprocess
|
||||
- Removed dependency rubygem-open4
|
||||
|
||||
* Mon Dec 12 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.11.3-5
|
||||
- Backport upstream patch for rubygem-json 2.6.3 error message format change
|
||||
|
||||
* Wed Sep 07 2022 Miroslav Lisik <mlisik@redhat.com> - 0.11.3-4
|
||||
- Fixed ruby socket permissions
|
||||
- Resolves: rhbz#2123389
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Tue Jul 19 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.11.3-2
|
||||
- Rebuilt for pyparsing-3.0.9
|
||||
|
||||
* Tue Jun 28 2022 Miroslav Lisik <mlisik@redhat.com> - 0.11.3-1
|
||||
- Rebased to latest upstream sources (see CHANGELOG.md)
|
||||
- Updated pcs-web-ui
|
||||
- Resolves: rhbz#2068452
|
||||
|
||||
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 0.11.2-3
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Thu Jun 09 2022 Miroslav Lisik <mlisik@redhat.com> - 0.11.2-2
|
||||
- Python 3.11 related fixes
|
||||
- Resolves: rhbz#bz2093935
|
||||
|
||||
* Fri Feb 04 2022 Miroslav Lisik <mlisik@redhat.com> - 0.11.2-1
|
||||
- Rebased to latest upstream sources (see CHANGELOG.md)
|
||||
- Updated pcs-web-ui
|
||||
- Removed old web gui
|
||||
|
||||
* Thu Jan 27 2022 Vít Ondruch <vondruch@redhat.com> - 0.10.11-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_3.1
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.11-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Tue Oct 05 2021 Miroslav Lisik <mlisik@redhat.com> - 0.10.11-1
|
||||
- Rebased to latest upstream sources (see CHANGELOG.md)
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
summary: PCS gating test plan
|
||||
description: Runs upstream tier0, tier1 and smoke tests
|
||||
|
||||
discover:
|
||||
dist-git-source: true
|
||||
dist-git-install-builddeps: true
|
||||
how: shell
|
||||
tests:
|
||||
- name: tier0
|
||||
test: |
|
||||
./prepare-tests.sh
|
||||
$TMT_SOURCE_DIR/pcs-*/pcs_test/suite --tier0 -v --vanilla --installed
|
||||
duration: 10m
|
||||
tier: 0
|
||||
tag: fast
|
||||
- name: tier1
|
||||
test: |
|
||||
./prepare-tests.sh
|
||||
$TMT_SOURCE_DIR/pcs-*/pcs_test/suite --tier1 -v --vanilla --installed
|
||||
duration: 2h
|
||||
tier: 1
|
||||
- name: smoke
|
||||
test: |
|
||||
systemctl start pcsd
|
||||
./prepare-tests.sh
|
||||
$TMT_SOURCE_DIR/pcs-*/pcs_test/smoke.sh
|
||||
duration: 10m
|
||||
tier: smoke
|
||||
tag: fast
|
||||
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eo xtrace
|
||||
cd $TMT_SOURCE_DIR
|
||||
# Use stamp file to abort if this script already ran
|
||||
if [ -e tests-prepared-stamp ]; then exit 0; fi
|
||||
# RPM 4.20 changed the builddir structure - unpacked sources go to *-build but
|
||||
# tmt copies them back to pcs-*, so the pcs-*-build folder is empty
|
||||
# Remove pcs-web-ui, pcs-*-build for "cd pcs-*" to have exactly one match
|
||||
rm -rf pcs-web-ui-* pcs-*-build
|
||||
cd pcs-*/
|
||||
# Run autotools, use bundled dependencies from the system
|
||||
export PYTHONPATH=/usr/lib/pcs/pcs_bundled/packages/
|
||||
export GEM_HOME=/usr/lib/pcsd/vendor/bundle/
|
||||
# We need to use cd pcs-* because when pcs-web-ui starts using autotools, running
|
||||
# autogen and configure with expanded TMT_SOURCE_DIR will match that too
|
||||
./autogen.sh
|
||||
./configure --enable-webui --enable-local-build --enable-use-local-cache-only \
|
||||
--enable-individual-bundling --with-pcs-lib-dir=/usr/lib
|
||||
# Remove pcs sources to make sure tests are not using any of those files
|
||||
rm -rf pcs
|
||||
touch ../tests-prepared-stamp
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
xml:
|
||||
# exclude ruby templates from checks
|
||||
exclude_path: .*\.erb$
|
||||
|
||||
shellsyntax:
|
||||
# exclude ruby templates from checks
|
||||
ignore:
|
||||
- /usr/lib*/pcsd/vendor/bundle/gems/thin*/lib/thin/controllers/*.erb
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
From e7fa056f582c992d3d2b289911be20440fb839ac Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Devat <idevat@redhat.com>
|
||||
Date: Tue, 5 Nov 2024 16:35:02 +0100
|
||||
Subject: [PATCH 1/2] show info page instead of webui
|
||||
|
||||
---
|
||||
pcs/Makefile.am | 1 +
|
||||
pcs/daemon/app/webui_info_handler.py | 31 ++++++++++++++++++++++++++++
|
||||
pcs/daemon/run.py | 4 +++-
|
||||
pcs_test/smoke.sh.in | 4 ++--
|
||||
pcsd/public/ui_instructions.html | 24 ++++++++++-----------
|
||||
5 files changed, 48 insertions(+), 16 deletions(-)
|
||||
create mode 100644 pcs/daemon/app/webui_info_handler.py
|
||||
|
||||
diff --git a/pcs/Makefile.am b/pcs/Makefile.am
|
||||
index 1297473ff..8d4b93073 100644
|
||||
--- a/pcs/Makefile.am
|
||||
+++ b/pcs/Makefile.am
|
||||
@@ -219,6 +219,7 @@ EXTRA_DIST = \
|
||||
daemon/app/webui/core.py \
|
||||
daemon/app/webui/session.py \
|
||||
daemon/app/webui/sinatra_ui.py \
|
||||
+ daemon/app/webui_info_handler.py \
|
||||
daemon/async_tasks/__init__.py \
|
||||
daemon/async_tasks/scheduler.py \
|
||||
daemon/async_tasks/task.py \
|
||||
diff --git a/pcs/daemon/app/webui_info_handler.py b/pcs/daemon/app/webui_info_handler.py
|
||||
new file mode 100644
|
||||
index 000000000..3ab8275bf
|
||||
--- /dev/null
|
||||
+++ b/pcs/daemon/app/webui_info_handler.py
|
||||
@@ -0,0 +1,31 @@
|
||||
+from pcs.daemon.app.common import (
|
||||
+ BaseHandler,
|
||||
+ RoutesType,
|
||||
+)
|
||||
+
|
||||
+
|
||||
+class _WebuiInfoHandler(BaseHandler):
|
||||
+ __path = None
|
||||
+
|
||||
+ def initialize(self, path):
|
||||
+ self.__path = path
|
||||
+
|
||||
+ def get(self):
|
||||
+ self.set_status(404)
|
||||
+ self.render(self.__path)
|
||||
+
|
||||
+
|
||||
+def get_routes(path: str) -> RoutesType:
|
||||
+ return [
|
||||
+ # The following two rules can be compressed into one: r"/(ui/?)?".
|
||||
+ # However, the content of the parentheses used here should be captured
|
||||
+ # and passed in to the handler’s get method as an argument.
|
||||
+ # Unfortunately, it seems that tornado version 6.4.1 don't pass this
|
||||
+ # argument (unlike version 6.3.3). Maybe it's a bug (it needs further
|
||||
+ # inspection). These rules are a safe way to avoid surprises.
|
||||
+ # Moreover, the captured parameter is irrelevant to the functionality
|
||||
+ # of the handler.
|
||||
+ (r"/", _WebuiInfoHandler, dict(path=path)),
|
||||
+ (r"/ui/?", _WebuiInfoHandler, dict(path=path)),
|
||||
+ (r"/ui/.*", _WebuiInfoHandler, dict(path=path)),
|
||||
+ ]
|
||||
diff --git a/pcs/daemon/run.py b/pcs/daemon/run.py
|
||||
index 558315c23..cfe9999fc 100644
|
||||
--- a/pcs/daemon/run.py
|
||||
+++ b/pcs/daemon/run.py
|
||||
@@ -33,6 +33,7 @@ from pcs.daemon.app import (
|
||||
auth,
|
||||
sinatra_remote,
|
||||
sinatra_ui,
|
||||
+ webui_info_handler,
|
||||
)
|
||||
from pcs.daemon.app import capabilities as capabilities_app
|
||||
|
||||
@@ -168,7 +169,8 @@ def configure_app( # noqa: PLR0913
|
||||
# Even with disabled (standalone) webui the following routes must be
|
||||
# provided because they can be used via unix socket from cockpit.
|
||||
routes.extend(
|
||||
- sinatra_ui.get_routes(auth_provider, ruby_pcsd_wrapper)
|
||||
+ webui_info_handler.get_routes(webui_fallback)
|
||||
+ + sinatra_ui.get_routes(auth_provider, ruby_pcsd_wrapper)
|
||||
)
|
||||
|
||||
return Application(
|
||||
diff --git a/pcs_test/smoke.sh.in b/pcs_test/smoke.sh.in
|
||||
index fdfe8be2c..a9bb83447 100755
|
||||
--- a/pcs_test/smoke.sh.in
|
||||
+++ b/pcs_test/smoke.sh.in
|
||||
@@ -71,10 +71,10 @@ if [ "$webui_http_code_response" = "200" ]; then
|
||||
curl --insecure --cookie ${cookie_file} --header "X-Requested-With: XMLHttpRequest" --data "hidden[hidden_input]=&config[stonith-enabled]=false" https://localhost:2224/managec/${cluster_name}/update_cluster_settings > "${output_file}"
|
||||
cat "${output_file}"; echo ""
|
||||
[ "$(cat ${output_file})" = "Update Successful" ]
|
||||
-elif [ "$webui_http_code_response" = "401" ]; then
|
||||
+elif [ "$webui_http_code_response" = "404" ]; then
|
||||
curl --insecure https://localhost:2224/ui/ > "${output_file}"
|
||||
cat "${output_file}"; echo ""
|
||||
- [ "$(cat "${output_file}")" = '{"notauthorized":"true"}' ]
|
||||
+ grep "HA cluster management has been moved" "${output_file}"
|
||||
else
|
||||
echo "Unexpected response from https://localhost:2224/ui/ - http code: '${webui_http_code_response}'"
|
||||
exit 1
|
||||
diff --git a/pcsd/public/ui_instructions.html b/pcsd/public/ui_instructions.html
|
||||
index a120ed3d4..b9c1c3152 100644
|
||||
--- a/pcsd/public/ui_instructions.html
|
||||
+++ b/pcsd/public/ui_instructions.html
|
||||
@@ -1,27 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
- <title>Pcs WebUI instructions</title>
|
||||
+ <title>Web UI is disabled</title>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
- <h1>Pcs WebUI instructions</h1>
|
||||
+ <h1>Package <code>pcs-web-ui</code> is not installed</h1>
|
||||
<p>
|
||||
- WebUI is not a part of pcs repository but it has its own
|
||||
- <a href="https://github.com/ClusterLabs/pcs-web-ui">repository</a>.
|
||||
+ Since Fedora 42, pcsd web UI is distributed with pcs as <code>pcs-web-ui
|
||||
+ </code> package. This<br>package can be uninstalled to disable the web UI.
|
||||
</p>
|
||||
<p>
|
||||
- You can clone <a href="https://github.com/ClusterLabs/pcs-web-ui">WebUI repository</a>
|
||||
- and build the web application into pcs by:
|
||||
+ To re-enable pcsd web UI, install the <code>pcs-web-ui</code> RPM package.
|
||||
</p>
|
||||
- <pre><code>
|
||||
- $ npm install
|
||||
- $ npm run build
|
||||
- $ mv ./build [/path/to/]pcs/pcsd/public/ui
|
||||
- </code></pre>
|
||||
<p>
|
||||
- For more details, see instructions in
|
||||
- <a href="https://github.com/ClusterLabs/pcs-web-ui/blob/main/README.md">README.md</a>.
|
||||
+ Another option is to try pcsd web UI as an application for
|
||||
+ <a href="https://cockpit-project.org/">Cockpit</a>
|
||||
+ - a web-based<br>graphical interface for servers. The HA Cluster Management
|
||||
+ application can be<br>installed from within the Applications pane in
|
||||
+ Cockpit or by installing the<br><code>cockpit-ha-cluster</code> RPM
|
||||
+ package.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
--
|
||||
2.50.1
|
||||
|
||||
26
simplify-ternar-expression.patch
Normal file
26
simplify-ternar-expression.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
From f44cdc871a39da3960bd04565b4d1d5ffa19bd23 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Devat <idevat@redhat.com>
|
||||
Date: Thu, 20 Jan 2022 13:32:49 +0100
|
||||
Subject: [PATCH 1/2] simplify ternar expression
|
||||
|
||||
The motivation for this is that covscan complains about it.
|
||||
---
|
||||
src/app/view/share/useUrlTabs.ts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/app/view/share/useUrlTabs.ts b/src/app/view/share/useUrlTabs.ts
|
||||
index 7278dad8..a1136bf3 100644
|
||||
--- a/src/app/view/share/useUrlTabs.ts
|
||||
+++ b/src/app/view/share/useUrlTabs.ts
|
||||
@@ -13,7 +13,7 @@ export const useUrlTabs = <TABS extends ReadonlyArray<string>>(
|
||||
|
||||
return {
|
||||
currentTab,
|
||||
- matchedContext: tab !== null ? tab.matched : `/${defaultTab}`,
|
||||
+ matchedContext: tab?.matched ?? `/${defaultTab}`,
|
||||
tabList,
|
||||
};
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
9
sources
9
sources
|
|
@ -1,5 +1,6 @@
|
|||
SHA512 (pyagentx-0.4.pcs.2.tar.gz) = d4194fec9a3e5fefe3793d49b7fec1feafef294c7e613a06046c2993daeefc5cb39d7c5b2b402ff83e49b2d976953f862264288c758c0be09d997b5323cc558a
|
||||
SHA512 (dacite-1.9.2.tar.gz) = 69513bc1acd43e45a208ce4b4186072f92d9057a6a88c77d56f21405fbed7964d94fe4f6a37c99754a793caa2bd0584664dfab69169ef0d3564bb09d37769e59
|
||||
SHA512 (pcs-0.12.1.tar.gz) = 4f17a8d9c15b8c9208c94a264f5f79f03abc451e3f4ae4ba0fb338055a26407d4961466dd8f3565f6882c2c00f1d6a1ec8fd15dadcb0cf1a5586d37c56c77238
|
||||
SHA512 (pcs-web-ui-0.1.23.tar.gz) = 6bc709926f26a02d33fb3865d15a1cf15db51a07dd9b25c63f33277c427c3403c189e2ac5e7adc795b254ad0bdb50f1bc4be70f1385bc8522ca502142d41fc26
|
||||
SHA512 (pcs-web-ui-node-modules-0.1.23.tar.xz) = f39dd1fd391f10b874b5fec34da1a2f2496d66b31af736ee1dfc2ef6e0b518efd03053fd00312c84e10a33ffda492e12d48a898a21efb6241e5459828e500e80
|
||||
SHA512 (dacite-1.6.0.tar.gz) = 034255f095589d309fe5805413d8b148f430cd20a0de305b7954083b530d516da1d8f3f00ebb5264a8cfb77f2b2a76f1e2d863e78bd191f1d85021c5553815da
|
||||
SHA512 (thin-1.8.1.gem) = c200ea03b7876b2a17b5875557fa967b8d01db20cc401811f314f3285f8249b8793e4709b7bc033a9c5813b9a51e3093c55f717b4a98b8fda171aa82813b7419
|
||||
SHA512 (pcs-web-ui-0.1.12.tar.gz) = 0c1e3e71ce4cf5a1a39319b379985267642ed36d54bc18c6b0c4c5c9f8cd24e59c4f6137a64ffe704fe22a056960c3a205308dba17060680f3bbd92abe9ab9f4
|
||||
SHA512 (pcs-web-ui-node-modules-0.1.12.tar.xz) = 4f72f5f239613ab93ce1f32126050fae1b1c00ec3b73799a1ace3687c1a35370168ff1b6e070c2b661ece84e3ed4463189453247a2799f20dac1028b0c9b83f6
|
||||
SHA512 (pcs-0.10.13.tar.gz) = 6b32ee09430836364d7412edffce434f6c394027fddba56f5cd9f99d04da876ba79a9ea548633c2bb2fd418067a94296e3a540d9a6b250d473ac220a4f6be53d
|
||||
|
|
|
|||
71
tests/tests.yml
Normal file
71
tests/tests.yml
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
- hosts: localhost
|
||||
tags:
|
||||
- classic
|
||||
vars:
|
||||
# standard-test-basic directory for tests are relative to {{ tenv_workdir }}
|
||||
tenv_workdir: /var/test
|
||||
pre_tasks:
|
||||
- import_role:
|
||||
name: standard-test-source
|
||||
vars:
|
||||
fetch_only: True
|
||||
- name: Copy files including source to test environment
|
||||
synchronize:
|
||||
src: "{{ playbook_dir }}/.."
|
||||
dest: "{{ tenv_workdir }}"
|
||||
mode: push
|
||||
ssh_args: "-o UserKnownHostsFile=/dev/null"
|
||||
- name: Start pcsd
|
||||
systemd:
|
||||
state: started
|
||||
name: pcsd
|
||||
daemon_reload: yes
|
||||
|
||||
roles:
|
||||
# roles documentation:
|
||||
# https://pagure.io/standard-test-roles/blob/master/f/roles/standard-test-source
|
||||
- role: standard-test-basic
|
||||
required_packages:
|
||||
- autoconf
|
||||
- automake
|
||||
- make
|
||||
- rpm-build
|
||||
- ruby-devel
|
||||
- git-core
|
||||
- booth-site
|
||||
- fence-agents-apc
|
||||
- fence-agents-ipmilan
|
||||
- fence-agents-scsi
|
||||
- fence-virt
|
||||
- pcs
|
||||
- python3-setuptools_scm
|
||||
- python3-wheel
|
||||
- rubygem-test-unit
|
||||
- wget
|
||||
required_services:
|
||||
- pcsd
|
||||
tests:
|
||||
# dir: . -> dot means tests dir in distgit
|
||||
- prepare-source:
|
||||
dir: ./
|
||||
run: rpmbuild -bp {{tenv_workdir}}/*.spec --nodeps --define "_sourcedir {{tenv_workdir}}" --define "_builddir {{tenv_workdir}}/source"
|
||||
# pcs-web-ui sources are deleted because there are conflicts during move of sources
|
||||
# pcs-web-ui sources aren't needed during testing
|
||||
- flatten-source:
|
||||
dir: ./
|
||||
run: rm -rf {{tenv_workdir}}/source/pcs-web-ui-*; shopt -s dotglob; mv {{tenv_workdir}}/source/*/* {{tenv_workdir}}/source
|
||||
- build_sources:
|
||||
dir: ./source
|
||||
run: "export PYTHONPATH=/usr/lib64/pcs/pcs_bundled/packages/; export GEM_HOME=/usr/lib64/pcsd/vendor/bundle/; ./autogen.sh && ./configure --enable-tests-only"
|
||||
- remove_sources:
|
||||
dir: ./source
|
||||
run: rm -rfv pcs
|
||||
- run_upstream_tier0_tests:
|
||||
dir: ./source
|
||||
run: pcs_test/suite --tier0 -v --vanilla --installed
|
||||
- run_upstream_tier1_tests:
|
||||
dir: ./source
|
||||
run: pcs_test/suite --tier1 -v --vanilla --installed
|
||||
- run_smoke_tests:
|
||||
dir: ./source
|
||||
run: pcs_test/smoke.sh
|
||||
Loading…
Add table
Add a link
Reference in a new issue