The grafana package
Version
, Release
, %changelog
and tarball NVRs in the specfilemake clean all
.manifest
filediff grafana-X.Y.Z/conf/defaults.ini distro-defaults.ini
and update distro-defaults.ini
if necessary002-manpages.patch
and other patches if requiredrpkg local
rpkg lint -r grafana.rpmlintrc
fedpkg scratch-build --srpm
fedpkg new-sources *.tar.gz *.tar.xz
sources
file%prep
) the patch in the specfilePATCHES_PRE_VENDOR
or PATCHES_PRE_WEBPACK
in the Makefile.manifest
filePatches 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.
Run ./create_bundles_in_container.sh
to generate a reproducible vendor and webpack bundle.
Alternatively, install the same software as in the container, create a bind mount from /tmp/grafana-build
to the directory of this repository, and run make
.
The bind mount is required because Webpack stores absolute paths in the JS source maps, and also resolves symlinks (i.e. symlinking /tmp/grafana-build
doesn't work).