summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/doclicense/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/doclicense/Makefile')
-rw-r--r--macros/latex/contrib/doclicense/Makefile46
1 files changed, 34 insertions, 12 deletions
diff --git a/macros/latex/contrib/doclicense/Makefile b/macros/latex/contrib/doclicense/Makefile
index 9f00b5930d..619cc7e3d9 100644
--- a/macros/latex/contrib/doclicense/Makefile
+++ b/macros/latex/contrib/doclicense/Makefile
@@ -8,39 +8,60 @@
TEXMFHOME ?= $(shell kpsewhich -var-value TEXMFHOME)
SHELL := /bin/bash -o nounset -o pipefail -o errexit
+RELEASE_OPENPGP_FINGERPRINT ?= C505B5C93B0DB3D338A1B6005FE92C12EE88E1F0
+DOCLICENSE_VERSION ?= $(shell sed --quiet --regexp-extended 's/.* v([0-9.]+) Support for putting documents under a license\]/\1/p;' doclicense.dtx)
+
.PHONY: all
-all: install build
+all: build
.PHONY: build
build: manifest.txt doclicense.sty doclicense.pdf
+# Duplicated in ../.github/workflows/ci.yml to have separate sections in the CI
+# output for each step.
.PHONY: ci
-ci: lint build
+ci: lint install-symlink build test-package-option-matrix-only-english
-.PHONY: install
-install:
+.PHONY: install-symlink
+install-symlink: doclicense.sty
mkdir --parents "$(TEXMFHOME)/tex/latex/"
- test -L "$(TEXMFHOME)/tex/latex/doclicense" || ln --no-target-directory --symbolic "$$PWD" "$(TEXMFHOME)/tex/latex/doclicense"
+ test -L "$(TEXMFHOME)/tex/latex/doclicense" || ln --no-target-directory --symbolic "$(shell pwd)" "$(TEXMFHOME)/tex/latex/doclicense"
.PHONY: check
check: check-copyright-date manifest.txt doclicense.sty lint
# Run before release.
.PHONY: check-full
-check-full: check run_tests
- ./run_tests
+check-full: check test-package-option-matrix
+
+.PHONY: test-package-option-matrix
+test-package-option-matrix:
+ ./test-package-option-matrix
+
+.PHONY: test-package-option-matrix-only-english
+test-package-option-matrix-only-english:
+ ./test-package-option-matrix "english"
# CTAN people want this when uploading a release.
.PHONY: check-copyright-date
-check-copyright-date: README.md
- grep --quiet 'SPDX-FileCopyrightText:.*$(shell date +%Y)\s' "$<"
+check-copyright-date: README.md doclicense.dtx
+ grep --quiet 'SPDX-FileCopyrightText:.*$(shell date +%Y)\s' README.md
+ grep --quiet 'SPDX-FileCopyrightText:.*$(shell date +%Y)\s' doclicense.dtx
+
+.PHONY: release-local
+release-local: check-copyright-date
+ git tag --sign --local-user "$(RELEASE_OPENPGP_FINGERPRINT)" --message "Released version $(DOCLICENSE_VERSION) of doclicense" "doclicense/v$(DOCLICENSE_VERSION)"
+
+.PHONY: release-publish
+release-publish:
+ git push --follow-tags
.PHONY: lint
lint: doclicense.dtx
chktex "$<"
find -regextype posix-egrep -iregex '.*\.(tex|ldf)' -and -not -iname '*-plaintext.tex' -print0 | xargs --null chktex
[[ -z "$(shell lacheck "$<" *.ldf | grep 'possible unwanted space')" ]]
- reuse lint
+ reuse --root . lint
.PHONY: clean
clean:
@@ -62,9 +83,10 @@ doclicense.pdf:
# The `cd .. && git archive` trick was needed with 2.29.2 so that evaluation of
# the `.gitattributes` file worked correctly.
-manifest.txt: manifest_header.txt Makefile
+.FORCE:
+manifest.txt: manifest_header.txt Makefile .FORCE
cat "$<" > "$@"
echo "% This work consists of the files:" >> "$@"
- cd .. && git archive --worktree-attributes HEAD doclicense | tar -t -f - | grep -v '/$$' | sort >> "$(PWD)/$@"
+ cd .. && git archive --worktree-attributes HEAD doclicense | tar -t -f - | grep -v '/$$' | sort >> "$(shell pwd)/$@"
echo "% and the derived files:" >> "$@"
echo doclicense.sty doclicense.pdf | tr ' ' '\n' >> "$@"