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-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
|
||||
|
@ -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
|
||||
Version: 0.11.6
|
||||
Release: 3%{?dist}
|
||||
Version: 0.11.7
|
||||
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
|
||||
@ -17,12 +17,10 @@ BuildArch: noarch
|
||||
%global pcs_source_name %{name}-%{version_or_commit}
|
||||
|
||||
# ui_commit can be determined by hash, tag or branch
|
||||
%global ui_commit 0.1.17
|
||||
%global ui_modules_version 0.1.17
|
||||
%global ui_commit 0.1.18
|
||||
%global ui_modules_version 0.1.18
|
||||
%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.8.1
|
||||
|
||||
@ -30,6 +28,13 @@ BuildArch: noarch
|
||||
|
||||
%global pcs_bundled_dir pcs_bundled
|
||||
%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
|
||||
%if "%{version}" == "%{version_or_commit}"
|
||||
@ -48,11 +53,9 @@ Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_comm
|
||||
# pcs patches: <= 200
|
||||
# Patch0: name.patch
|
||||
|
||||
# https://github.com/ClusterLabs/pcs/pull/713
|
||||
Patch0: 0001-Fix-DatatransferObjectTest-for-Python-3.12.patch
|
||||
|
||||
# ui patches: >200
|
||||
# Patch201: name-web-ui.patch
|
||||
Patch201: make-AppStream-metainfo-more-descriptive.patch
|
||||
|
||||
# git for patches
|
||||
BuildRequires: git-core
|
||||
@ -73,8 +76,8 @@ BuildRequires: python3-lxml
|
||||
# for building bundled python packages
|
||||
BuildRequires: python3-wheel
|
||||
# for bundled python dateutil
|
||||
# dateutil was unbundled in Fedora but our autotools still check for it
|
||||
BuildRequires: python3-setuptools_scm
|
||||
BuildRequires: python3-distro
|
||||
# ruby and gems for pcsd
|
||||
BuildRequires: ruby >= 2.5.0
|
||||
BuildRequires: ruby-devel
|
||||
@ -106,11 +109,7 @@ BuildRequires: pam
|
||||
BuildRequires: nss-tools
|
||||
|
||||
# for building web ui
|
||||
%if 0%{?fedora} < 37
|
||||
BuildRequires: npm
|
||||
%else
|
||||
BuildRequires: nodejs-npm
|
||||
%endif
|
||||
|
||||
# cluster stack packages for pkg-config
|
||||
BuildRequires: booth
|
||||
@ -121,6 +120,10 @@ BuildRequires: pacemaker-libs-devel >= %{required_pacemaker_version}
|
||||
BuildRequires: resource-agents
|
||||
BuildRequires: 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-cryptography
|
||||
@ -171,12 +174,9 @@ Requires: nss-tools
|
||||
|
||||
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
|
||||
%package -n %{pcs_snmp_pkg_name}
|
||||
# pcs-snmp subpackage definition
|
||||
%package -n %{pkg_pcs_snmp}
|
||||
Group: System Environment/Base
|
||||
Summary: Pacemaker cluster SNMP agent
|
||||
# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses
|
||||
@ -195,8 +195,31 @@ Requires: net-snmp
|
||||
|
||||
Provides: bundled(pyagentx) = %{pyagentx_version}
|
||||
|
||||
%description -n %{pcs_snmp_pkg_name}
|
||||
SNMP agent that provides information about pacemaker cluster to the master agent (snmpd)
|
||||
# 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: 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
|
||||
|
||||
@ -263,34 +286,55 @@ mkdir -p %{pcs_bundled_dir}/src
|
||||
cp -f %SOURCE41 rpm/
|
||||
cp -f %SOURCE42 rpm/
|
||||
|
||||
|
||||
%build
|
||||
%define debug_package %{nil}
|
||||
|
||||
# Booth authfile fix support
|
||||
# Fedora 35, 36: set and unset
|
||||
# Fedora 37, 38, ELN = RHEL10: unset only
|
||||
# Fedora 39+: no booth build options
|
||||
%if 0%{?fedora} <= 36
|
||||
%define booth_build_options --enable-booth-enable-authfile-set --enable-booth-enable-authfile-unset
|
||||
%elif 0%{?fedora} <= 38 || 0%{?eln}
|
||||
%if 0%{?fedora} <= 38 || 0%{?eln}
|
||||
%define booth_build_options --enable-booth-enable-authfile-unset
|
||||
%endif
|
||||
|
||||
./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
|
||||
|
||||
# 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
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
pwd
|
||||
|
||||
%make_install
|
||||
|
||||
# install pcs-web-ui
|
||||
make -C %{_builddir}/%{ui_src_name} _install PCSD_DIR=${RPM_BUILD_ROOT}%{_prefix}/lib/pcsd
|
||||
%make_install
|
||||
# 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
|
||||
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-*/README.md dacite_README.md
|
||||
|
||||
|
||||
%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
|
||||
# due to python prints a warning about it to stderr. The following environment
|
||||
# variable disables the warning.
|
||||
@ -349,21 +397,21 @@ run_all_tests
|
||||
%systemd_post pcsd.service
|
||||
%systemd_post pcsd-ruby.service
|
||||
|
||||
%post -n %{pcs_snmp_pkg_name}
|
||||
%post -n %{pkg_pcs_snmp}
|
||||
%systemd_post pcs_snmp_agent.service
|
||||
|
||||
%preun
|
||||
%systemd_preun pcsd.service
|
||||
%systemd_preun pcsd-ruby.service
|
||||
|
||||
%preun -n %{pcs_snmp_pkg_name}
|
||||
%preun -n %{pkg_pcs_snmp}
|
||||
%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}
|
||||
%postun -n %{pkg_pcs_snmp}
|
||||
%systemd_postun_with_restart pcs_snmp_agent.service
|
||||
|
||||
%files
|
||||
@ -396,9 +444,10 @@ run_all_tests
|
||||
%{_mandir}/man8/pcsd.*
|
||||
%exclude %{_prefix}/lib/pcs/pcs_snmp_agent
|
||||
%exclude %{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||
%exclude %{_datadir}/cockpit
|
||||
%exclude %{_datadir}/metainfo/%{ui_appstream_metainfo}
|
||||
|
||||
|
||||
%files -n %{pcs_snmp_pkg_name}
|
||||
%files -n %{pkg_pcs_snmp}
|
||||
%{_prefix}/lib/pcs/pcs_snmp_agent
|
||||
%{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx*
|
||||
%{_unitdir}/pcs_snmp_agent.service
|
||||
@ -411,7 +460,18 @@ run_all_tests
|
||||
%license COPYING
|
||||
%license pyagentx_LICENSE.txt
|
||||
|
||||
%files -n %{pkg_cockpit_ha_cluster}
|
||||
%{_datadir}/cockpit/%{ui_cockpit_dest}
|
||||
%{_datadir}/metainfo/%{ui_appstream_metainfo}
|
||||
|
||||
|
||||
%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
|
||||
- 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 (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 (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