#!/usr/bin/make -f # export DH_VERBOSE = 1 export ROOT = debian/tmp export APP_FOLDER = $(ROOT)/usr/local/share/applications/helm export DEB_VERSION = $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ') export RELEASE = $(shell echo $(DEB_VERSION) | cut -f 1 -d '-') export REVISION = $(shell echo $(DEB_VERSION) | cut -f 4 -d '.') export APP_NAME = portieris export APP_VERSION = $(RELEASE)-$(REVISION) export APP_TARBALL_FLUXCD = $(APP_NAME)-$(APP_VERSION).tgz export HELM_FOLDER = /usr/lib/helm export HELM_REPO = stx-platform export STAGING = staging %: dh $@ override_dh_auto_build: # Host a server for the helm charts. chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" \ --storage-local-rootdir="." & sleep 2 helm repo add local http://localhost:8879/charts # Create the TGZ file. cd helm-charts && helm lint portieris-certs cd helm-charts && helm package portieris-certs # Terminate the helm chart server. pkill chartmuseum # Setup the staging directory. mkdir -p $(STAGING) cp files/metadata.yaml $(STAGING) mkdir -p $(STAGING)/charts cp helm-charts/portieris*.tgz $(STAGING)/charts cp $(HELM_FOLDER)/portieris*.tgz $(STAGING)/charts # Populate metadata. sed -i 's/APP_REPLACE_NAME/$(APP_NAME)/g' $(STAGING)/metadata.yaml sed -i 's/APP_REPLACE_VERSION/$(APP_VERSION)/g' $(STAGING)/metadata.yaml sed -i 's/HELM_REPLACE_REPO/$(HELM_REPO)/g' $(STAGING)/metadata.yaml # Copy the plugins: installed in the buildroot mkdir -p $(STAGING)/plugins cp /plugins/*.whl $(STAGING)/plugins # Prepare staging for fluxcd package cp -R fluxcd-manifests $(STAGING)/ # calculate checksum of all files in staging for the fluxcd app cd $(STAGING) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5 # package fluxcd app tar -zcf $(APP_TARBALL_FLUXCD) -C $(STAGING)/ . # Cleanup staging. rm -rf $(STAGING) override_dh_auto_install: # Install the app tar file. install -d -m 755 $(APP_FOLDER) install -p -D -m 755 $(APP_TARBALL_FLUXCD) $(APP_FOLDER) override_dh_usrlocal: