- Rebased pcs to the latest sources (see CHANGELOG.md)
Resolves: RHEL-114420
- Updated pcs-web-ui to 0.1.24 (see CHANGELOG_WUI.md)
Resolves: RHEL-132572
There is a key difference between Fedora and RHEL. Fedora has pcs as a
noarch package which causes it to be installed into /usr/lib rather
than /usr/lib64. This means that bundled packages have a different path.
This caused import errors in tests.
There is also a better way of setting the environment variables -
through tmt instead of the preparation script.
When backporting the gating changes in Fedora, I found out that they are
not backwards compatible with odl RPM. While I could just roll back the
incomptabile changes as I did in that older Fedora branch, I'm not going
to do that. Because this branch is supposed to be upstream of the eln
brnach with Fedora that includes the new RPM version, this should make
the testing run both with older and newer RPM versions.
Sometimes changes to the helper script for the gating plan are needed
without a ticket. Since this is a shell script, it is not exempt from
dist-git policy that requires a ticket for any non-test change. The
gating plan itself is a fmf file which is exempt, so only this used to
be a problem in the past.
Because of the STI test format, the whole tests folder is exempt too.
Moving the helper script there to avoid the need for tickets.
This should help ProdSec accurately detect versions of bundled
components in pcs. Security analysts usually filter the database based
on ecosystem. The ecosystem detection has been done from RPM metadata
for some time and that is when ProdSec stopped creating trackers
accurately. The problem is that we didn't follow the Fedora Packaging
Guidelines and didn't name the bundled components with package names as
if they were entering Fedora. The ecosystem detection in Deptopia (the
tool that ProdSec uses) expects "rubygem-" prefix for rubygems and
"python[X]-" prefix for Python ecosystem. See PSDEVOPS-4408 for more
details.
Pcs-web-ui added a changelog upstream, so I'm adding it downstream as
well. It turns out that I forgot to package the readme and license
before, so adding them too.
For pcs, readme and changelog are installed via automake variable
`dist_doc_DATA` [1] which gets automatically converted to its own target
ran during `make install`. The target installs it to %docdir/%TARNAME
(automake variables). This happens to align with RPM default of
%_docdir/%name (spec macros). This is rendered completely useless as
these later get replaced by RPM anyway. The path is therefore
/usr/share/doc/pcs.
RPM %doc directive has two modes. If there is a relative path, the %doc
directive runs a script that goes into builddir/BUILD/<Source0> and
copies the file to %_docdir. If there is an absolute path, the file is
only marked as a doc file in the RPM database. The same goes for
%license directive, except for it getting copied to %_defaultlicensedir.
[2][3]
The problem arises for pcs-web-ui files as they neither come from the
pcs tarball nor are to be owned by the pcs package. Additionally, the
package name changes for different downstreams. Because the package name
changes, it is not desirable to install the files in the upstream
Makefile which is not aware of RPM package names. I made a decision to
handle file copying entirely in the specfile for these reasons. It seems
like for relative paths, RPM searches the Source0 tarball, but ours are
located in Source100. Therefore, I explicitly used %_docdir and
%_defaultlicensedir in %install and %files.
Resolves: RHEL-86233
[1]: https://www.gnu.org/software/automake/manual/html_node/amhello_0027s-Makefile_002eam-Setup-Explained.html
[2]: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/
[3]: https://web.archive.org/web/20160927094629/https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s05s03.html
- Rebased pcs to the latest sources (see CHANGELOG.md)
Resolves: RHEL-35420, RHEL-76055, RHEL-76059, RHEL-76060, RHEL-76153, RHEL-76154, RHEL-76170, RHEL-76177, RHEL-82894
- Rebased pcs-web-ui to the latest sources
Resolves: RHEL-76310, RHEL-76311, RHEL-76312, RHEL-79317, RHEL-85196, RHEL-85197, RHEL-85745
- The upstream version of pcs-web-ui can now be queried through RPM - see bundled(pcs-web-ui)
Resolves: RHEL-86229
- Updated bundled rubygems: backports, childprocess, ffi, puma, rack, rack-protection, rack-session, rack-test, sinatra, tilt
Resolves: RHEL-90151
- Removed BuildRequires: python >= 3.9 - correct python requirement is generated by rpm based on the system interpreter
- Added BuildRequires: libffi-devel - this is present in upstream, but was missing here
- Removed duplicate BuildRequire: python3-cryptography
- Added BuildRequires: corosync-qdevice-devel - this is a buildroot only package with pc file for corosync-qdevice, without it, autotools use default paths
- Disallowed installation of pcs 0.11 with Pacemaker 3 to prevent incorrect behavior
- Bundled rubygem logger - logger 1.5.0 is required by childprocess 5.1.0. Logger is a standard gem in Ruby 3.0 which is available in RHEL 9, but it only provides logger 1.4.3 failing this requirement. Thus newer logger needs to be bundled
- Simplified tarball versioning mechanism and added tarball-version macro to simplify pcs-web-ui version reporting. Pcs-web-ui reported version uses the new ui_tarball_version macro or ui_version macros depending on whether the first one exists
- Rebased pcs to the latest sources (see CHANGELOG.md)
Resolves: RHEL-46303, RHEL-69040
- Rebased pcs-web-ui to the latest sources
Resolves: RHEL-69272, RHEL-69278, RHEL-69279, RHEL-69280, RHEL-69281, RHEL-69282
- Revamped and unified tarball version management between pcs and pcs-web-ui - version numbers are needed for untagged releases, as git-version-gen takes the version from a git tag present in official released tarballs. To build an unreleased version of pcs, a commit hash is declared in a macro and .tarball-version is generated from rpm version and the hash. For tagged releases, .tarball-version is not generated but rpm version is used for file names and such. Pcs-web-ui uses a different version than pcs, so the rpm version cannot be used. Instead, pcs-web-ui version always has to be declared in the spec file anyway, so it will now serve as the fallback version for generating the .tarball-version for pcs-web-ui.
- Putting autosetup and autopatch back for pcs-web-ui
- Rebased to the latest sources (see CHANGELOG.md)
Resolves: RHEL-16232, RHEL-46284, RHEL-46286, RHEL-46293, RHEL-55441, RHEL-61738, RHEL-61901
- Updated pcs-web-ui to 0.1.21
- Updated bundled rubygems: ffi, mustermann, puma, rack, rackup, tilt
- Removed bundled rubygem webrick
- New runtime dependency python3-tornado which has been bundled in previous versions
- Reenabled brp_mangle_shebangs after removing unnecessary files from rubygems that were flagged before
- Replaced ${RPM_BUILD_ROOT} in favor of %buildroot to match the upstream spec
- Removed webrick again because rackup stopped requiring it
- Unbundled Tornado to make maintenance easier since it is provided in RHEL
- Added pkgconf file for pcs
- Updated pcs-web-ui to 0.1.20
- Rebased to the latest sources (see CHANGELOG.md)
Resolves: RHEL-34781
- Fixed the case of a separator in SPDX license string
- Rebased to the latest sources (see CHANGELOG.md)
Resolves: RHEL-2977, RHEL-16231, RHEL-21051, RHEL-25854, RHEL-27492, RHEL-28749, RHEL-34781, RHEL-36514
- Updated pcs-web-ui to 0.1.19
Resolves: RHEL-7726, RHEL-21895, RHEL-21896, RHEL-21897
- Updated bundled rubygems: backports, childprocess, nio4r, puma, rack, rack-protection, sinatra
- Bundled new rubygems: base64, rack-session, rackup, webrick
- Started bundling webrick again as a dependency of rackup - we no longer use it but rackup requires webrick
- Rebased to the latest sources (see CHANGELOG.md)
Resolves: RHEL-7740
- Removed workaround for skipping copying of rubygems
- Removed workaround for unsupported distro in configure.ac
Prior to this fix, some gems were installed with write permissions for the
owner group and everyone. With this patch, write permissions are removed
with chmod for all rubygems.
Resolves: RHEL-7716
Gating environment has a different repository configuration than
production builds. This causes dnf config manager to fail when enabling
high availability and crb repositories. These repositories are enabled
on the images used for testing, so the failure can be ignored.
Resolves: RHEL-15217
The deprecated STI gating test definition is removed in favor of
flexible metadata format (fmf). This fixes testing in Testing Farm
which is enabled in CentOS Stream merge requests.
This is not the final version, some workarounds were needed. Most
notable ones are patching sources which is not yet supported by
tmt (test management tool - used to run tests in Testing Farm).
Tmt also does not download rubygems, so a macro was put in place
to avoid errors while trying to copy them in the prep phase of rpmbuild.
To ensure smooth build process in the future, we will test that the new
gating test definition will match the previous result without changing
the package content.
Resolves: RHEL-15217
- Added BuildRequires: debugedit - for generating MiniDebugInfo - triggered by removing find-debuginfo.sh from rpm
- Make use of filters when extracting tarballs to enhance security if provided by Python (pcs config restore command)
- Exporting constraints with rules in form of pcs commands now escapes # and fixes spaces in dates to make the commands valid
- Constraints containing options unsupported by pcs are not exported and a warning is printed instead
- Using spaces in dates in location constraint rules is deprecated
- 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
- Updated bundled rubygem rack
- Allow time values in stonith-watchdog-time property
- Resource/stonith agent self-validation of instance attributes is now
disabled by default, as many agents do not work with it properly.
- Updated bundled rubygems: rack, rack-protection, sinatra
- Added license for ruby2_keywords
- Fixed stopping of pcsd service using `systemctl stop pcsd` command
- Fixed smoke test execution during gating
- Added warning when omitting validation of misconfigured resource
- Fixed displaying of bool and integer values in `pcs resource config` command
- Updated bundled rubygems: ethon, rack-protection, sinatra
- Fixed enabling corosync-qdevice
- Fixed resource update command when unable to get agent metadata
- Fixed revert of disallowing to clone a group with a stonith