From 37d6ea9e4a4c84354c612d303bf1110a8dba11b3 Mon Sep 17 00:00:00 2001 From: samuel Date: Sun, 8 Mar 2026 21:28:35 +0100 Subject: [PATCH] doc: add make help --- Makefile | 50 +++++++++++++++++++++++++++++++------------------- README.md | 12 ++++++------ 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/Makefile b/Makefile index a6787b6..e291504 100644 --- a/Makefile +++ b/Makefile @@ -17,50 +17,46 @@ RPM_UNITDIR = $(shell rpm --eval '%{_unitdir}') RPM_TARBALL_PATH = $(RPM_SOURCEDIR)/$(SOURCE0) RPM_BUILD_PATH = $(RPM_RPMDIR)/$(ARCH)/$(NAME)-$(VERSION)-$(RELEASE).$(ARCH).rpm +.PHONY: help +help: + @grep -E '^[a-zA-Z_-]+:.*?## .*' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + .PHONY: name -name: +name: ## Show project name @echo "$(NAME)" .PHONY: version -version: +version: ## Show current project version @echo "$(VERSION)" .PHONY: release -release: +release: ## Show current project release @echo "$(RELEASE)" .PHONY: arch -arch: +arch: ## Show rpm arch target @echo "$(ARCH)" .PHONY: owner -owner: +owner: # Show project owner name @echo "$(OWNER)" .PHONY: summary -summary: +summary: ## Show project summary @echo "$(SUMMARY)" .PHONY: license -license: +license: ## Show project license @echo "$(LICENSE)" .PHONY: url -url: +url: ## Show project homepage URL @echo "$(URL)" .PHONY: source0 -source0: +source0: ## Show source name @echo "$(SOURCE0)" -.PHONY: install -install: - install --directory $(DESTDIR)$(RPM_SYSCONFDIR)/nginx/conf.d $(DESTDIR)$(RPM_SYSCONFDIR)/certbot $(DESTDIR)$(RPM_UNITDIR) $(DESTDIR)$(RPM_SBINDIR) - install --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/nginx/conf.d files/nginx/0_security.conf files/nginx/z_default.conf - install --mode=600 --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/certbot files/certbot/ovh.ini - install --mode=644 --target-directory=$(DESTDIR)$(RPM_UNITDIR) files/systemd/certbot-renew.service files/systemd/certbot-renew.timer - install --mode=755 --target-directory=$(DESTDIR)$(RPM_SBINDIR) files/sbin/certbot_renew - $(RPM_TARBALL_PATH): * git archive --format=tar.gz \ --output="$@" \ @@ -69,8 +65,24 @@ $(RPM_TARBALL_PATH): * HEAD .PHONY: tarball -tarball: $(RPM_TARBALL_PATH) +tarball: $(RPM_TARBALL_PATH) ## Build rpm tarball + +.PHONY: install +install: ## Install files into rpm dest (requires env var DESTDIR) + @if [ -z "$(DESTDIR)" ]; then \ + printf "[CRITICAL] Missing env var DESTDIR\n[CRITICAL] This command is designed to be called by rpmbuild only!\n" 1>&2; \ + exit 1; \ + fi + install --directory $(DESTDIR)$(RPM_SYSCONFDIR)/nginx/conf.d $(DESTDIR)$(RPM_SYSCONFDIR)/certbot $(DESTDIR)$(RPM_UNITDIR) $(DESTDIR)$(RPM_SBINDIR) + install --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/nginx/conf.d files/nginx/0_security.conf files/nginx/z_default.conf + install --mode=600 --target-directory=$(DESTDIR)$(RPM_SYSCONFDIR)/certbot files/certbot/ovh.ini + install --mode=644 --target-directory=$(DESTDIR)$(RPM_UNITDIR) files/systemd/certbot-renew.service files/systemd/certbot-renew.timer + install --mode=755 --target-directory=$(DESTDIR)$(RPM_SBINDIR) files/sbin/certbot_renew .PHONY: upload -upload: +upload: ## Upload rpm package to Gitea repository (requires env var PKG_TOKEN) + @if [ -z "$(PKG_TOKEN)" ]; then \ + printf "[CRITICAL] Missing env var PKG_TOKEN\n[CRITICAL] This command is designed to be called by Gitea Actions only\n" 1>&2; \ + exit 1; \ + fi curl --fail-with-body --upload-file "$(RPM_BUILD_PATH)" --user "$(OWNER):$(PKG_TOKEN)" https://git.netoik.io/api/packages/$(OWNER)/rpm/upload diff --git a/README.md b/README.md index d94c711..8d49312 100644 --- a/README.md +++ b/README.md @@ -18,26 +18,26 @@ Build an RPM package which will install several tools. A `Makefile` is integrated to let you run some basic commands. -- To display some information about the project +- Display some information about the project ```shell + make help make name make version make release - make build_arch + make arch ``` -- To build a tarball: +- Build a tarball: ```shell make tarball ``` -- To build a rpm package: +- Build an rpm package: ```shell rpmbuild -ba netoik-rp.spec ``` -- To upload rpm package to Gitea repository -(env vars `GIT_PACKAGES_USERNAME` and `GIT_PACKAGES_TOKEN` needed): +- Upload rpm package to Gitea repository (env var `PKG_TOKEN` is required): ```shell make upload ```