diff --git a/.gitignore b/.gitignore index 94aff83..c286169 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ build/ *.apk packaging/archlinux/keepassgo-git/*.pkg.tar.zst +packaging/archlinux/keepassgo-git/PKGBUILD packaging/archlinux/keepassgo-git/pkg/ packaging/archlinux/keepassgo-git/src/ packaging/archlinux/keepassgo-git/keepassgo/ diff --git a/Makefile b/Makefile index a5056a8..b953fe9 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,10 @@ ANDROID_MIN_SDK ?= 28 ANDROID_TARGET_SDK ?= 35 SIGNKEY ?= SIGNPASS ?= +ARCH_PKG_DIR ?= packaging/archlinux/keepassgo-git +ARCH_PKG_TMPL ?= $(ARCH_PKG_DIR)/PKGBUILD.tmpl +ARCH_PKGBUILD ?= $(ARCH_PKG_DIR)/PKGBUILD +ARCH_PKGVER ?= $(shell printf 'r%s.%s' "$$(git rev-list --count HEAD 2>/dev/null || echo 0)" "$$(git rev-parse --short HEAD 2>/dev/null || echo dev)") GOGIO_SIGN_FLAGS := ifneq ($(strip $(SIGNKEY)),) @@ -20,7 +24,7 @@ ifneq ($(strip $(SIGNPASS)),) GOGIO_SIGN_FLAGS += -signpass $(SIGNPASS) endif -.PHONY: apk +.PHONY: apk archlinux-pkgbuild apk: android/keepassgo-android.jar @test -x "$(JAVA_HOME)/bin/java" || { echo "JAVA_HOME must point to a working JDK install"; exit 1; } @test -d "$(ANDROID_SDK_ROOT)" || { echo "ANDROID_SDK_ROOT must point to an Android SDK install"; exit 1; } @@ -56,3 +60,9 @@ android/keepassgo-android.jar: $(shell find androidsrc -type f | sort) -d "$$tmpdir" \ $$(find androidsrc -name '\''*.java'\'' | sort); \ "$(JAVA_HOME)/bin/jar" --create --file "$$(pwd)/android/keepassgo-android.jar" -C "$$tmpdir" .' + +$(ARCH_PKGBUILD): $(ARCH_PKG_TMPL) Makefile + @mkdir -p "$(ARCH_PKG_DIR)" + @sed "s/@PKGVER@/$(ARCH_PKGVER)/g" "$(ARCH_PKG_TMPL)" > "$(ARCH_PKGBUILD)" + +archlinux-pkgbuild: $(ARCH_PKGBUILD) diff --git a/packaging/archlinux/keepassgo-git/PKGBUILD b/packaging/archlinux/keepassgo-git/PKGBUILD.tmpl similarity index 98% rename from packaging/archlinux/keepassgo-git/PKGBUILD rename to packaging/archlinux/keepassgo-git/PKGBUILD.tmpl index 25c1b84..180ebf0 100644 --- a/packaging/archlinux/keepassgo-git/PKGBUILD +++ b/packaging/archlinux/keepassgo-git/PKGBUILD.tmpl @@ -1,5 +1,5 @@ pkgname=keepassgo-git -pkgver=r0.0000000 +pkgver=@PKGVER@ pkgrel=1 pkgdesc='KeePass-compatible password manager written in Go' arch=('x86_64' 'aarch64')