File Makefile of Package grafana

NAME = grafana
SPEC = $(NAME).spec

default: verify-deps clean tar

verify-deps:
	@which yarn >/dev/null 2>&1 || ( echo "yarn not found; run \`sudo npm install -g yarn\`" && false )

clean:
	rm -f $(NAME)-*.tar $(NAME)-*.tar.gz

tar:
	osc service manualrun
	@version=$$( awk '/^Version:/ {print $$2}' $(SPEC) ) && \
	echo "Package version is $$version" && \
	basename=$(NAME)-$$version && \
	tar=$$basename.tar && \
	tmpdir=$$(mktemp -d -p .) && \
	cd $$tmpdir && \
        gunzip ../$$tar.gz && \
	tar -xf ../$$tar && \
	# recreate tarball explicitly in a format that handles long filenames \
	tar --format=posix -cf ../$$tar $$basename && \
	cd $$basename && \
	# Patches for the JS frontend go after here \
	patch --no-backup-if-mismatch -p1 -i ../../0001-Add-source-code-reference.patch && \
	# End patches section \
	go mod download && \
	go mod verify && \
	go mod vendor && \
	tar --format=posix -cf ../../vendor.tar vendor && \
	# avoid ".git can't be found" \
	git init && \
	# avoid "FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory" \
	export NODE_OPTIONS=--max_old_space_size=8192 && \
	yarn install --immutable && \
	yarn run build && \
	cd .. && \
	echo "Updating $$basename/public in tarball..." && \
	tar -rf ../$$tar $$basename/public && \
	cd .. && \
	gzip $$tar && \
	gzip -f vendor.tar && \
	rm -rf $$tmpdir
openSUSE Build Service is sponsored by