Performance Co-Pilot Grafana Plugin
Go to file
2026-07-09 17:42:00 -04:00
.fmf Initial set of gating tests for grafana-pcp on Fedora 2021-02-03 21:00:35 +01:00
.github/workflows update to upstream grafana-pcp 5.0.0 2022-07-07 18:59:33 +02:00
.gitignore update to upstream 3.2.0 2021-11-12 16:21:30 +01:00
0001-remove-faulty-metrics-table.patch Resolves: RHEL-169811 2026-05-29 12:52:58 -04:00
0002-fix-x-net-CVE.patch Resolves: RHEL-183701 2026-07-09 17:41:11 -04:00
1001-vendor-fix-idna-unicode-version-gate.patch Resolves: RHEL-183701 2026-07-09 17:41:11 -04:00
build_frontend.sh Resolves: RHEL-169811 2026-05-29 12:52:58 -04:00
ci.fmf Rework of the gating configuration (PTG-643) 2025-09-25 10:12:01 +02:00
CLAUDE.md Resolves: RHEL-166319 2026-04-22 16:19:22 -04:00
create_bundles_in_container.sh Resolves: RHEL-169811 2026-05-29 12:52:58 -04:00
create_bundles.sh Resolves: RHEL-183701 2026-07-09 17:41:11 -04:00
gating.yaml Rework of the gating configuration (PTG-643) 2025-09-25 10:12:01 +02:00
grafana-pcp.rpmlintrc Resolves: RHEL-169811 2026-05-29 12:52:58 -04:00
grafana-pcp.spec Resolves: RHEL-188288 2026-07-09 17:42:00 -04:00
list_bundled_nodejs_packages.py Resolves: RHEL-169811 2026-05-29 12:52:58 -04:00
README.md Resolves: RHEL-77946 2025-07-08 16:24:49 -04:00
sources Resolves: RHEL-183701 2026-07-09 17:41:11 -04:00

grafana-pcp

The grafana-pcp package

Setup instructions

  • clone the upstream sources: git clone https://github.com/performancecopilot/grafana-pcp && cd grafana-pcp
  • checkout the version of the specfile: git checkout <currentversion>
  • apply existing patches: git am ../0*.patch

Upgrade instructions

  • follow the Setup instructions above
  • rebase to the new version: git fetch && git rebase --onto <newversion> <oldversion>
    • rebasing remove-unused-frontend-crypto.patch: only apply the patch to package.json and run yarn install, then yarn.lock will get updated automatically
  • create new patches from the modified git commits: git format-patch -N --no-stat --no-signature <newversion> && mv *.patch ..
  • update Version, Release, %changelog and tarball NVRs in the specfile
  • create bundles and manifest: ./create_bundles_in_container.sh
  • update specfile with contents of the .manifest file
  • run local build: rpkg local
  • run rpmlint: rpmlint -r grafana-pcp.rpmlintrc /tmp/rpkg/grafana-pcp-*/grafana-pcp-*.src.rpm /tmp/rpkg/grafana-pcp-*/x86_64/grafana-pcp-*.x86_64.rpm
  • run a scratch build: centpkg scratch-build --srpm
  • upload new source tarballs: centpkg new-sources *.tar.gz *.tar.xz
  • commit new sources file

Patches

  • create the patch
  • declare and apply (%prep) the patch in the specfile
  • if the patch affects Go or Node.js dependencies, or the webpack
    • update the create_bundles.sh script and apply the patch
    • create new tarballs
    • update the specfile with new tarball name and contents of the .manifest file

General guidelines

  • aim to apply all patches in the specfile
  • avoid rebuilding the tarballs

Patches fall in several categories:

  • modify dependency versions
  • modify both sources and vendored dependencies (e.g. CVEs)
  • modify the Node.js source (i.e. affect the webpack)
  • some patches are conditional (e.g. FIPS)

Patches cannot be applied twice. It is not possible to unconditionally apply all patches in the Makefile, and great care must be taken to include the required patches at the correct stage of the build.

Reproducible Bundles

Run ./create_bundles_in_container.sh to generate a reproducible vendor and webpack bundle.