pcs-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-pcs-web-ui subpackage that adds pcs-web-ui as a Cockpit application - Removed BuildRequires: python3-distro - was used to bundle dateutil - Replaced STI tests with fmf tests for gating - Change to prepare-env.sh script for rpm 4.19+ that creates SPECPARTS directories - Workaround used for distro in autotools
This commit is contained in:
parent
d102aae88e
commit
3a06ce659f
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -112,3 +112,6 @@
|
|||||||
/pcs-web-ui-node-modules-0.1.17.tar.xz
|
/pcs-web-ui-node-modules-0.1.17.tar.xz
|
||||||
/pcs-web-ui-0.1.17.tar.gz
|
/pcs-web-ui-0.1.17.tar.gz
|
||||||
/dacite-1.8.1.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
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From c878e1d06d834f0beb5579158ea5b98c42965058 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Yaakov Selkowitz <yselkowi@redhat.com>
|
|
||||||
Date: Mon, 10 Jul 2023 12:56:41 -0400
|
|
||||||
Subject: [PATCH] Fix DatatransferObjectTest for Python 3.12
|
|
||||||
|
|
||||||
This fixes a test error when run with Python 3.12:
|
|
||||||
```
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "pcs_test/tier0/common/interface/test_dto.py", line 41, in test_has_all_subclasses_are_dataclasses
|
|
||||||
_import_all(pcs.__path__)
|
|
||||||
File "pcs_test/tier0/common/interface/test_dto.py", line 31, in _import_all
|
|
||||||
loader.find_module(module_name).load_module(module_name)
|
|
||||||
^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'FileFinder' object has no attribute 'find_module'
|
|
||||||
```
|
|
||||||
Instead, use the spec-based APIs introduced in 3.4:
|
|
||||||
|
|
||||||
https://docs.python.org/3.12/library/importlib.html#importlib.machinery.FileFinder
|
|
||||||
https://docs.python.org/3.12/library/importlib.html#importlib.machinery.ModuleSpec
|
|
||||||
---
|
|
||||||
pcs_test/tier0/common/interface/test_dto.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/pcs_test/tier0/common/interface/test_dto.py b/pcs_test/tier0/common/interface/test_dto.py
|
|
||||||
index 4c3dcb8b..977f35c9 100644
|
|
||||||
--- a/pcs_test/tier0/common/interface/test_dto.py
|
|
||||||
+++ b/pcs_test/tier0/common/interface/test_dto.py
|
|
||||||
@@ -28,7 +28,7 @@ def _import_all(_path):
|
|
||||||
if module_name.startswith("_pcs.snmp."):
|
|
||||||
continue
|
|
||||||
del is_pkg
|
|
||||||
- loader.find_module(module_name).load_module(module_name)
|
|
||||||
+ loader.find_spec(module_name).loader.load_module(module_name)
|
|
||||||
|
|
||||||
|
|
||||||
def _all_subclasses(cls):
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
48
gating.fmf
Normal file
48
gating.fmf
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
summary: PCS gating test plan
|
||||||
|
description: Runs upstream tier0, tier1 and smoke tests
|
||||||
|
|
||||||
|
discover:
|
||||||
|
how: shell
|
||||||
|
dist-git-source: true
|
||||||
|
tests:
|
||||||
|
# Workaround until tmt supports patching sources
|
||||||
|
- name: Patch sources and run autotools
|
||||||
|
test: ./prepare-env.sh
|
||||||
|
duration: 30m
|
||||||
|
- name: Tier 0 tests
|
||||||
|
test: ./builddir/pcs-*/pcs_test/suite --tier0 -v --vanilla --installed
|
||||||
|
duration: 10m
|
||||||
|
- name: Tier 1 tests
|
||||||
|
test: ./builddir/pcs-*/pcs_test/suite --tier1 -v --vanilla --installed
|
||||||
|
duration: 2h
|
||||||
|
- name: Smoke tests
|
||||||
|
test: |
|
||||||
|
systemctl start pcsd
|
||||||
|
./builddir/pcs-*/pcs_test/smoke.sh
|
||||||
|
duration: 10m
|
||||||
|
prepare:
|
||||||
|
- name: Install packages
|
||||||
|
how: install
|
||||||
|
package:
|
||||||
|
- autoconf
|
||||||
|
- automake
|
||||||
|
- make
|
||||||
|
- rpm-build
|
||||||
|
- ruby-devel
|
||||||
|
- git-core
|
||||||
|
- booth-site
|
||||||
|
- fence-agents-apc
|
||||||
|
- fence-agents-ipmilan
|
||||||
|
- fence-agents-scsi
|
||||||
|
- fence-virt
|
||||||
|
- openssl
|
||||||
|
- pcs
|
||||||
|
- pcs-snmp
|
||||||
|
- python3-pip
|
||||||
|
- python3-setuptools_scm
|
||||||
|
- python3-wheel
|
||||||
|
- rubygem-json
|
||||||
|
- rubygem-test-unit
|
||||||
|
- wget
|
||||||
|
execute:
|
||||||
|
how: tmt
|
82
make-AppStream-metainfo-more-descriptive.patch
Normal file
82
make-AppStream-metainfo-more-descriptive.patch
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
From 9923d48095ac7a1376b108a0a3e722d3090fcea6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Pospisil <mpospisi@redhat.com>
|
||||||
|
Date: Thu, 18 Jan 2024 16:52:59 +0100
|
||||||
|
Subject: [PATCH] make AppStream metainfo more descriptive
|
||||||
|
|
||||||
|
---
|
||||||
|
...g.clusterlabs.cockpit_pcs_web_ui.metainfo.xml | 16 ++++++++++++++++
|
||||||
|
.../app/org.clusterlabs.pcs_web_ui.metainfo.xml | 16 ----------------
|
||||||
|
packages/app/package-lock.json | 4 ++--
|
||||||
|
3 files changed, 18 insertions(+), 18 deletions(-)
|
||||||
|
create mode 100644 packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml
|
||||||
|
delete mode 100644 packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml
|
||||||
|
|
||||||
|
diff --git a/packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml b/packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..a27525a9
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml
|
||||||
|
@@ -0,0 +1,16 @@
|
||||||
|
+<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
+<component type="addon">
|
||||||
|
+ <id>org.clusterlabs.cockpit_pcs_web_ui</id>
|
||||||
|
+ <metadata_license>CC0-1.0</metadata_license>
|
||||||
|
+ <name>HA Cluster Management</name>
|
||||||
|
+ <summary>Manage Pacemaker based clusters</summary>
|
||||||
|
+ <description>
|
||||||
|
+ <p>
|
||||||
|
+ Application for managing Pacemaker based clusters. Uses Pacemaker/Corosync
|
||||||
|
+ Configuration System (pcs) in the background.
|
||||||
|
+ </p>
|
||||||
|
+ </description>
|
||||||
|
+ <extends>cockpit.desktop</extends>
|
||||||
|
+ <launchable type="cockpit-manifest">ha-cluster</launchable>
|
||||||
|
+ <url type="homepage">https://github.com/ClusterLabs/pcs-web-ui</url>
|
||||||
|
+</component>
|
||||||
|
diff --git a/packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml b/packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml
|
||||||
|
deleted file mode 100644
|
||||||
|
index 83add879..00000000
|
||||||
|
--- a/packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,16 +0,0 @@
|
||||||
|
-<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
-<component type="addon">
|
||||||
|
- <id>org.clusterlabs.pcs_web_ui</id>
|
||||||
|
- <metadata_license>CC0-1.0</metadata_license>
|
||||||
|
- <name>Pcs Web UI</name>
|
||||||
|
- <summary>Manage pacemaker based clusters.</summary>
|
||||||
|
- <description>
|
||||||
|
- <p>
|
||||||
|
- Pcs Web UI is an application that allows you to easily view, modify and
|
||||||
|
- create pacemaker based clusters.
|
||||||
|
- </p>
|
||||||
|
- </description>
|
||||||
|
- <extends>cockpit.desktop</extends>
|
||||||
|
- <launchable type="cockpit-manifest">ha-cluster</launchable>
|
||||||
|
-</component>
|
||||||
|
-
|
||||||
|
diff --git a/packages/app/package-lock.json b/packages/app/package-lock.json
|
||||||
|
index 4bf1e89e..2f4049a5 100644
|
||||||
|
--- a/packages/app/package-lock.json
|
||||||
|
+++ b/packages/app/package-lock.json
|
||||||
|
@@ -3830,7 +3830,7 @@
|
||||||
|
},
|
||||||
|
"node_modules/caniuse-lite": {
|
||||||
|
"version": "1.0.30001563",
|
||||||
|
- "resolved": "https://repository.engineering.redhat.com/nexus/repository/registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz",
|
||||||
|
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz",
|
||||||
|
"integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
@@ -12590,7 +12590,7 @@
|
||||||
|
},
|
||||||
|
"caniuse-lite": {
|
||||||
|
"version": "1.0.30001563",
|
||||||
|
- "resolved": "https://repository.engineering.redhat.com/nexus/repository/registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz",
|
||||||
|
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz",
|
||||||
|
"integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
130
pcs.spec
130
pcs.spec
@ -1,6 +1,6 @@
|
|||||||
Name: pcs
|
Name: pcs
|
||||||
Version: 0.11.6
|
Version: 0.11.7
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/
|
||||||
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
||||||
# GPL-2.0-only: pcs
|
# GPL-2.0-only: pcs
|
||||||
@ -17,12 +17,10 @@ BuildArch: noarch
|
|||||||
%global pcs_source_name %{name}-%{version_or_commit}
|
%global pcs_source_name %{name}-%{version_or_commit}
|
||||||
|
|
||||||
# ui_commit can be determined by hash, tag or branch
|
# ui_commit can be determined by hash, tag or branch
|
||||||
%global ui_commit 0.1.17
|
%global ui_commit 0.1.18
|
||||||
%global ui_modules_version 0.1.17
|
%global ui_modules_version 0.1.18
|
||||||
%global ui_src_name pcs-web-ui-%{ui_commit}
|
%global ui_src_name pcs-web-ui-%{ui_commit}
|
||||||
|
|
||||||
%global pcs_snmp_pkg_name pcs-snmp
|
|
||||||
|
|
||||||
%global pyagentx_version 0.4.pcs.2
|
%global pyagentx_version 0.4.pcs.2
|
||||||
%global dacite_version 1.8.1
|
%global dacite_version 1.8.1
|
||||||
|
|
||||||
@ -30,6 +28,13 @@ BuildArch: noarch
|
|||||||
|
|
||||||
%global pcs_bundled_dir pcs_bundled
|
%global pcs_bundled_dir pcs_bundled
|
||||||
%global pcsd_public_dir pcsd/public
|
%global pcsd_public_dir pcsd/public
|
||||||
|
%global ui_build_dir_standalone build_standalone
|
||||||
|
%global ui_build_dir_cockpit build_cockpit
|
||||||
|
%global ui_cockpit_dest ha-cluster
|
||||||
|
%global ui_appstream_metainfo org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml
|
||||||
|
|
||||||
|
%global pkg_pcs_snmp pcs-snmp
|
||||||
|
%global pkg_cockpit_ha_cluster cockpit-ha-cluster
|
||||||
|
|
||||||
# prepend v for folder in GitHub link when using tagged tarball
|
# prepend v for folder in GitHub link when using tagged tarball
|
||||||
%if "%{version}" == "%{version_or_commit}"
|
%if "%{version}" == "%{version_or_commit}"
|
||||||
@ -48,11 +53,9 @@ Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_comm
|
|||||||
# pcs patches: <= 200
|
# pcs patches: <= 200
|
||||||
# Patch0: name.patch
|
# Patch0: name.patch
|
||||||
|
|
||||||
# https://github.com/ClusterLabs/pcs/pull/713
|
|
||||||
Patch0: 0001-Fix-DatatransferObjectTest-for-Python-3.12.patch
|
|
||||||
|
|
||||||
# ui patches: >200
|
# ui patches: >200
|
||||||
# Patch201: name-web-ui.patch
|
# Patch201: name-web-ui.patch
|
||||||
|
Patch201: make-AppStream-metainfo-more-descriptive.patch
|
||||||
|
|
||||||
# git for patches
|
# git for patches
|
||||||
BuildRequires: git-core
|
BuildRequires: git-core
|
||||||
@ -73,8 +76,8 @@ BuildRequires: python3-lxml
|
|||||||
# for building bundled python packages
|
# for building bundled python packages
|
||||||
BuildRequires: python3-wheel
|
BuildRequires: python3-wheel
|
||||||
# for bundled python dateutil
|
# for bundled python dateutil
|
||||||
|
# dateutil was unbundled in Fedora but our autotools still check for it
|
||||||
BuildRequires: python3-setuptools_scm
|
BuildRequires: python3-setuptools_scm
|
||||||
BuildRequires: python3-distro
|
|
||||||
# ruby and gems for pcsd
|
# ruby and gems for pcsd
|
||||||
BuildRequires: ruby >= 2.5.0
|
BuildRequires: ruby >= 2.5.0
|
||||||
BuildRequires: ruby-devel
|
BuildRequires: ruby-devel
|
||||||
@ -106,11 +109,7 @@ BuildRequires: pam
|
|||||||
BuildRequires: nss-tools
|
BuildRequires: nss-tools
|
||||||
|
|
||||||
# for building web ui
|
# for building web ui
|
||||||
%if 0%{?fedora} < 37
|
|
||||||
BuildRequires: npm
|
|
||||||
%else
|
|
||||||
BuildRequires: nodejs-npm
|
BuildRequires: nodejs-npm
|
||||||
%endif
|
|
||||||
|
|
||||||
# cluster stack packages for pkg-config
|
# cluster stack packages for pkg-config
|
||||||
BuildRequires: booth
|
BuildRequires: booth
|
||||||
@ -121,6 +120,10 @@ BuildRequires: pacemaker-libs-devel >= %{required_pacemaker_version}
|
|||||||
BuildRequires: resource-agents
|
BuildRequires: resource-agents
|
||||||
BuildRequires: sbd
|
BuildRequires: sbd
|
||||||
|
|
||||||
|
# for validating cockpit-ha-cluster metainfo
|
||||||
|
BuildRequires: libappstream-glib
|
||||||
|
|
||||||
|
|
||||||
# python and libraries for pcs, setuptools for pcs entrypoint
|
# python and libraries for pcs, setuptools for pcs entrypoint
|
||||||
Requires: python3 >= 3.9
|
Requires: python3 >= 3.9
|
||||||
Requires: python3-cryptography
|
Requires: python3-cryptography
|
||||||
@ -171,12 +174,9 @@ Requires: nss-tools
|
|||||||
|
|
||||||
Provides: bundled(dacite) = %{dacite_version}
|
Provides: bundled(dacite) = %{dacite_version}
|
||||||
|
|
||||||
%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
|
# pcs-snmp subpackage definition
|
||||||
%package -n %{pcs_snmp_pkg_name}
|
%package -n %{pkg_pcs_snmp}
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Summary: Pacemaker cluster SNMP agent
|
Summary: Pacemaker cluster SNMP agent
|
||||||
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
||||||
@ -195,8 +195,31 @@ Requires: net-snmp
|
|||||||
|
|
||||||
Provides: bundled(pyagentx) = %{pyagentx_version}
|
Provides: bundled(pyagentx) = %{pyagentx_version}
|
||||||
|
|
||||||
%description -n %{pcs_snmp_pkg_name}
|
# cockpit-ha-cluster subpackage definition
|
||||||
SNMP agent that provides information about pacemaker cluster to the master agent (snmpd)
|
%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: npm
|
||||||
|
|
||||||
|
Requires: pcs = %{version}-%{release}
|
||||||
|
Requires: cockpit-bridge
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
pcs is a corosync and pacemaker configuration tool. It permits users to
|
||||||
|
easily view, modify and create pacemaker based clusters.
|
||||||
|
|
||||||
|
%description -n %{pkg_pcs_snmp}
|
||||||
|
SNMP agent that provides information about pacemaker cluster to the master agent
|
||||||
|
(snmpd).
|
||||||
|
|
||||||
|
%description -n %{pkg_cockpit_ha_cluster}
|
||||||
|
Cockpit application for managing Pacemaker based clusters. Uses
|
||||||
|
Pacemaker/Corosync Configuration System (pcs) in the background.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
|
||||||
@ -263,34 +286,55 @@ mkdir -p %{pcs_bundled_dir}/src
|
|||||||
cp -f %SOURCE41 rpm/
|
cp -f %SOURCE41 rpm/
|
||||||
cp -f %SOURCE42 rpm/
|
cp -f %SOURCE42 rpm/
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
|
|
||||||
# Booth authfile fix support
|
# Booth authfile fix support
|
||||||
# Fedora 35, 36: set and unset
|
|
||||||
# Fedora 37, 38, ELN = RHEL10: unset only
|
# Fedora 37, 38, ELN = RHEL10: unset only
|
||||||
# Fedora 39+: no booth build options
|
# Fedora 39+: no booth build options
|
||||||
%if 0%{?fedora} <= 36
|
%if 0%{?fedora} <= 38 || 0%{?eln}
|
||||||
%define booth_build_options --enable-booth-enable-authfile-set --enable-booth-enable-authfile-unset
|
|
||||||
%elif 0%{?fedora} <= 38 || 0%{?eln}
|
|
||||||
%define booth_build_options --enable-booth-enable-authfile-unset
|
%define booth_build_options --enable-booth-enable-authfile-unset
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
%{configure} --enable-local-build --enable-use-local-cache-only --enable-individual-bundling %{?booth_build_options} --with-pcs-lib-dir="%{_prefix}/lib" PYTHON=%{__python3}
|
%{configure} --enable-local-build --enable-use-local-cache-only \
|
||||||
|
--enable-individual-bundling %{?booth_build_options} \
|
||||||
|
--with-pcsd-default-cipherlist='PROFILE=SYSTEM' \
|
||||||
|
--with-pcs-lib-dir="%{_prefix}/lib" PYTHON=%{__python3}
|
||||||
make all
|
make all
|
||||||
|
|
||||||
# build pcs-web-ui
|
# build pcs-web-ui
|
||||||
BUILD_USE_CURRENT_NODE_MODULES=true make -C %{_builddir}/%{ui_src_name} build
|
export BUILD_USE_CURRENT_NODE_MODULES=true
|
||||||
|
|
||||||
|
## standalone
|
||||||
|
export BUILD_DIR=%{_builddir}/%{ui_src_name}/%{ui_build_dir_standalone}
|
||||||
|
make -C %{_builddir}/%{ui_src_name} build
|
||||||
|
|
||||||
|
## cockpit
|
||||||
|
export BUILD_DIR=%{_builddir}/%{ui_src_name}/%{ui_build_dir_cockpit}
|
||||||
|
export BUILD_FOR_COCKPIT=true
|
||||||
|
make -C %{_builddir}/%{ui_src_name} build
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
%make_install
|
|
||||||
|
|
||||||
# install pcs-web-ui
|
%make_install
|
||||||
make -C %{_builddir}/%{ui_src_name} _install PCSD_DIR=${RPM_BUILD_ROOT}%{_prefix}/lib/pcsd
|
# install standalone pcs-web-ui
|
||||||
|
cp -r %{_builddir}/%{ui_src_name}/%{ui_build_dir_standalone} \
|
||||||
|
${RPM_BUILD_ROOT}%{_prefix}/lib/%{pcsd_public_dir}/ui
|
||||||
|
|
||||||
|
# install cockpit pcs-web-ui
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/cockpit/%{ui_cockpit_dest}
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/metainfo
|
||||||
|
cp -r %{_builddir}/%{ui_src_name}/%{ui_build_dir_cockpit}/* \
|
||||||
|
${RPM_BUILD_ROOT}%{_datadir}/cockpit/%{ui_cockpit_dest}
|
||||||
|
|
||||||
|
cp -r %{_builddir}/%{ui_src_name}/packages/app/%{ui_appstream_metainfo} \
|
||||||
|
${RPM_BUILD_ROOT}%{_datadir}/metainfo/
|
||||||
|
|
||||||
# prepare license files
|
# prepare license files
|
||||||
cp %{pcs_bundled_dir}/src/pyagentx-*/LICENSE.txt pyagentx_LICENSE.txt
|
cp %{pcs_bundled_dir}/src/pyagentx-*/LICENSE.txt pyagentx_LICENSE.txt
|
||||||
@ -300,7 +344,11 @@ 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-*/LICENSE dacite_LICENSE
|
||||||
cp %{pcs_bundled_dir}/src/dacite-*/README.md dacite_README.md
|
cp %{pcs_bundled_dir}/src/dacite-*/README.md dacite_README.md
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
# Run validation of cockpit metainfo
|
||||||
|
appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{ui_appstream_metainfo}
|
||||||
|
|
||||||
# In the building environment LC_CTYPE is set to C which causes tests to fail
|
# 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
|
# due to python prints a warning about it to stderr. The following environment
|
||||||
# variable disables the warning.
|
# variable disables the warning.
|
||||||
@ -349,21 +397,21 @@ run_all_tests
|
|||||||
%systemd_post pcsd.service
|
%systemd_post pcsd.service
|
||||||
%systemd_post pcsd-ruby.service
|
%systemd_post pcsd-ruby.service
|
||||||
|
|
||||||
%post -n %{pcs_snmp_pkg_name}
|
%post -n %{pkg_pcs_snmp}
|
||||||
%systemd_post pcs_snmp_agent.service
|
%systemd_post pcs_snmp_agent.service
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%systemd_preun pcsd.service
|
%systemd_preun pcsd.service
|
||||||
%systemd_preun pcsd-ruby.service
|
%systemd_preun pcsd-ruby.service
|
||||||
|
|
||||||
%preun -n %{pcs_snmp_pkg_name}
|
%preun -n %{pkg_pcs_snmp}
|
||||||
%systemd_preun pcs_snmp_agent.service
|
%systemd_preun pcs_snmp_agent.service
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%systemd_postun_with_restart pcsd.service
|
%systemd_postun_with_restart pcsd.service
|
||||||
%systemd_postun_with_restart pcsd-ruby.service
|
%systemd_postun_with_restart pcsd-ruby.service
|
||||||
|
|
||||||
%postun -n %{pcs_snmp_pkg_name}
|
%postun -n %{pkg_pcs_snmp}
|
||||||
%systemd_postun_with_restart pcs_snmp_agent.service
|
%systemd_postun_with_restart pcs_snmp_agent.service
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -396,9 +444,10 @@ run_all_tests
|
|||||||
%{_mandir}/man8/pcsd.*
|
%{_mandir}/man8/pcsd.*
|
||||||
%exclude %{_prefix}/lib/pcs/pcs_snmp_agent
|
%exclude %{_prefix}/lib/pcs/pcs_snmp_agent
|
||||||
%exclude %{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
%exclude %{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||||
|
%exclude %{_datadir}/cockpit
|
||||||
|
%exclude %{_datadir}/metainfo/%{ui_appstream_metainfo}
|
||||||
|
|
||||||
|
%files -n %{pkg_pcs_snmp}
|
||||||
%files -n %{pcs_snmp_pkg_name}
|
|
||||||
%{_prefix}/lib/pcs/pcs_snmp_agent
|
%{_prefix}/lib/pcs/pcs_snmp_agent
|
||||||
%{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
%{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||||
%{_unitdir}/pcs_snmp_agent.service
|
%{_unitdir}/pcs_snmp_agent.service
|
||||||
@ -411,7 +460,18 @@ run_all_tests
|
|||||||
%license COPYING
|
%license COPYING
|
||||||
%license pyagentx_LICENSE.txt
|
%license pyagentx_LICENSE.txt
|
||||||
|
|
||||||
|
%files -n %{pkg_cockpit_ha_cluster}
|
||||||
|
%{_datadir}/cockpit/%{ui_cockpit_dest}
|
||||||
|
%{_datadir}/metainfo/%{ui_appstream_metainfo}
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.6-3
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
18
prepare-env.sh
Executable file
18
prepare-env.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
set -eo xtrace
|
||||||
|
# Rpmbuild expects patches in the _sourcedir
|
||||||
|
find *.patch &> /dev/null && mv *.patch $TMT_SOURCE_DIR
|
||||||
|
mkdir builddir
|
||||||
|
rpmbuild -bp pcs.spec --nodeps --define "_sourcedir $TMT_SOURCE_DIR" \
|
||||||
|
--define "_builddir $(pwd)/builddir"
|
||||||
|
# Remove *SPECPARTS folders generated by rpmbuild
|
||||||
|
rm -rfv builddir/*SPECPARTS
|
||||||
|
# Remove pcs-web-ui in builddir for "cd pcs-*" to have exactly one match
|
||||||
|
rm -rf builddir/pcs-web-ui-*
|
||||||
|
cd builddir/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/
|
||||||
|
./autogen.sh
|
||||||
|
./configure --with-pcs-lib-dir=/usr/lib --with-distro=fedora
|
||||||
|
# Remove pcs sources to make sure tests are not using any of those files
|
||||||
|
rm -rf pcs
|
6
sources
6
sources
@ -1,5 +1,5 @@
|
|||||||
SHA512 (pyagentx-0.4.pcs.2.tar.gz) = d4194fec9a3e5fefe3793d49b7fec1feafef294c7e613a06046c2993daeefc5cb39d7c5b2b402ff83e49b2d976953f862264288c758c0be09d997b5323cc558a
|
SHA512 (pyagentx-0.4.pcs.2.tar.gz) = d4194fec9a3e5fefe3793d49b7fec1feafef294c7e613a06046c2993daeefc5cb39d7c5b2b402ff83e49b2d976953f862264288c758c0be09d997b5323cc558a
|
||||||
SHA512 (pcs-0.11.6.tar.gz) = ea439808070b171d02e1d6e071bd083fb4c4e30d92c2e637810c89cbb5feec2c56aabfbcda4c25eccb7ab46df2cd56f192dbd6a29f4c7c1fe7aca5a82f4a42ef
|
|
||||||
SHA512 (pcs-web-ui-node-modules-0.1.17.tar.xz) = 51f47be3b28a378542ebe862a333e8883bbcf4e40a2aea685986b9d17db91dab01cb3b58c9ffba56f335bedfe0a9477ebb1ff93824228ed5348f864afad5b98d
|
|
||||||
SHA512 (pcs-web-ui-0.1.17.tar.gz) = a5dd551c47040d9c9a2f714a83b835aaf5cca8d5dd05c83f641ddecdb7d99ac82a3b265df508c0ec1bc51ea572210d6255d79631f4680205c6302cb89460d14c
|
|
||||||
SHA512 (dacite-1.8.1.tar.gz) = 4b40c0bdcf5490bcc77de9e7f04b7267642bcfd41e4168607a5457f38abe3ad4b3041d8a23cb43af76de14eabee45f900ad5ddf7af8f70a2be4850bccc2d3af1
|
SHA512 (dacite-1.8.1.tar.gz) = 4b40c0bdcf5490bcc77de9e7f04b7267642bcfd41e4168607a5457f38abe3ad4b3041d8a23cb43af76de14eabee45f900ad5ddf7af8f70a2be4850bccc2d3af1
|
||||||
|
SHA512 (pcs-0.11.7.tar.gz) = 29d61bb945b25ced67e3a05f742ab6f557da8c4d3e8ee04db8caa9a51bb1c64e64cd5382f801173d95e9d62c53a52ad86f823c475ba790cb86b777a1eff658cc
|
||||||
|
SHA512 (pcs-web-ui-0.1.18.tar.gz) = edbe88d113e967b2d3f345e74e8c4409b013fb8474fe70a8813a1aba5ea8b4deb61a3bb8c4cd4b4d1a9dc9e67216e518ee5bf832a25188e95173317533d7bf69
|
||||||
|
SHA512 (pcs-web-ui-node-modules-0.1.18.tar.xz) = 237ff976d67a7bf881e45334261af1da32c6330fbf9e7436dcf33e63c9373f85f36db52622676f77e27bb6a853c046223cfe0cca25de68bd004c6535aa077fd7
|
||||||
|
@ -1,72 +0,0 @@
|
|||||||
- 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-pip
|
|
||||||
- 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/lib/pcs/pcs_bundled/packages/; ./autogen.sh && ./configure --enable-tests-only --with-pcs-lib-dir=/usr/lib"
|
|
||||||
- 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…
Reference in New Issue
Block a user