forked from pool/grafana
_constraints | ||
_service | ||
_servicedata | ||
.gitattributes | ||
.gitignore | ||
0001-Add-source-code-reference.patch | ||
grafana-10.3.5.tar.gz | ||
grafana-rpmlintrc | ||
grafana.changes | ||
grafana.spec | ||
Makefile | ||
README | ||
vendor.tar.gz |
The tarball is generated via the OBS source service, but Grafana needs to ship the compiled frontend assets as well, which have to be built by running yarn inside the source tree (see https://github.com/grafana/grafana/blob/master/contribute/developer-guide.md#frontend). This can't be done at build time on OBS, because it involves downloading and installing packages from the internet, so instead we have a Makefile which does the following: - Runs `osc service disabledrun` to get the latest source tarball - Unpacks the tarball to a temporary directory - Runs `yarn install --pure-lockfile && yarn build` - Adds the generated "vendor" and "public" content to the tarball, then compresses it with xz. - The tarball can then be used by OBS to build an RPM. In order for this to work you need to have npm >= 14 and yarn installed. # zypper in npm14 # zypper in obs-service-download_files obs-service-go_modules \ obs-service-obs_scm # npm install -g yarn Then, to package a new release of Grafana, run `make` then `osc ci` and you should be good. If you have a patch for the Javascript frontend to apply you need to do the following: - Create the patch and add it with `osc add <PATCH>` to the repo - Open the Makefile - Add after the `cd $$basename && \` the patch with: `patch -p1 < ../../000x-<NAME>.patch && \` - Do NOT add the patch to the Specfile. - Then use the process of building Grafana as described above. Please direct any questions to Tim Serong <tserong@suse.com> If Tim is not available you may also contact Enno Gotthold <egotthold@suse.de>