diff --git a/Makefile b/Makefile index 8214b4e..2271465 100644 --- a/Makefile +++ b/Makefile @@ -2,11 +2,16 @@ BINARY_NAME := ${REPO_NAME} BUILD_DIR := ./build DIST_DIR := ./dist -VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev") +VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "0.1.0-dev") BUILD_TIME := $(shell date -u '+%Y-%m-%d_%H:%M:%S') GIT_COMMIT := $(shell git rev-parse HEAD 2>/dev/null || echo "unknown") DEB_PACKAGE_NAME := $(BINARY_NAME)_$(VERSION)_amd64.deb PKG_PATH=git.runcible.io/${REPO_OWNER}/${REPO_NAME}/cmd +# Strict, Debian-compliant version for packaging. +# It tries to find the latest tag (e.g., v1.2.3) and uses that. +# If no tags exist, it defaults to "0.1.0-1", which is a valid starting version for a Debian package. +DEB_VERSION := $(shell TAG=$$(git describe --tags --abbrev=0 2>/dev/null); if [ -n "$$TAG" ]; then echo $$TAG | sed 's/^v//'; else echo "0.1.0-1"; fi) + # Default target .PHONY: all @@ -32,9 +37,9 @@ clean: deb: build @echo "Building Debian package..." @mkdir -p $(DIST_DIR) - @mkdir -p $(DIST_DIR)/$(BINARY_NAME)_$(VERSION) - @mkdir -p $(DIST_DIR)/$(BINARY_NAME)_$(VERSION)/DEBIAN - @mkdir -p $(DIST_DIR)/$(BINARY_NAME)_$(VERSION)/opt/$(BINARY_NAME) + @mkdir -p $(DIST_DIR)/$(BINARY_NAME)_$(DEB_VERSION) + @mkdir -p $(DIST_DIR)/$(BINARY_NAME)_$(DEB_VERSION)/DEBIAN + @mkdir -p $(DIST_DIR)/$(BINARY_NAME)_$(DEB_VERSION)/opt/$(BINARY_NAME) # Copy binary @cp $(BUILD_DIR)/$(BINARY_NAME) $(DIST_DIR)/$(BINARY_NAME)_$(VERSION)/opt/$(BINARY_NAME)/