#!/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 cat /etc/build.info | grep SW_VERSION | cut -d'"' -f2) 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: # Setup the staging directory. mkdir -p $(STAGING) cp files/metadata.yaml $(STAGING) mkdir -p $(STAGING)/charts cp $(HELM_FOLDER)/portieris*.tgz $(STAGING)/charts # Prepare staging for fluxcd package cp -R fluxcd-manifests $(STAGING)/ # Adjust the helmrelease yamls based on the chart versions for c in $(STAGING)/charts/*; do \ chart=$$(basename $$c .tgz); \ chart_name=$${chart%-*}; \ chart_version=$${chart##*-}; \ echo "Found $$chart; name: $$chart_name, version: $$chart_version"; \ chart_manifest=$$(find $(STAGING)/fluxcd-manifests/$$chart_name -name helmrelease.yaml -exec grep -q $$chart_name {} \; -print); \ echo "Updating manifest: $$chart_manifest"; \ sed -i "s/REPLACE_HELM_CHART_VERSION/$$chart_version/g" $$chart_manifest; \ grep version $$chart_manifest; \ done # 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 # 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: