add manpage builder

This commit is contained in:
Simon Vieille 2024-07-29 12:11:02 +02:00
commit cdb98adcd3
3 changed files with 32 additions and 1 deletions

View file

@ -22,6 +22,15 @@ steps:
commands:
- make
"Test packaging":
image: deblan/fpm-packager
commands:
- VERSION=test
- ./bin/build-debs.sh "$VERSION"
- ./bin/rename-builds.sh "$VERSION"
when:
event: [push, pull_request]
"Create packages":
image: deblan/fpm-packager
commands:

View file

@ -16,6 +16,7 @@ BIN_DARWIN_AMD64 = $(DIR)/$(EXECUTABLE)-darwin-$(GO_ARCH_AMD)
BIN_DARWIN_ARM64 = $(DIR)/$(EXECUTABLE)-darwin-$(GO_ARCH_ARM)
BIN_LINUX_AMD64 = $(DIR)/$(EXECUTABLE)-linux-$(GO_ARCH_AMD)
BIN_LINUX_ARM64 = $(DIR)/$(EXECUTABLE)-linux-$(GO_ARCH_ARM)
MAN_OUTPUT = $(DIR)/expiration-check.1
CC = go build
CFLAGS = -trimpath
@ -24,7 +25,7 @@ GCFLAGS = all=
ASMFLAGS = all=
.PHONY: all
all: linux windows darwin
all: linux windows darwin man
.PHONY: linux
linux: $(BIN_LINUX_AMD64) $(BIN_LINUX_ARM64)
@ -39,6 +40,9 @@ darwin: $(BIN_DARWIN_AMD64) $(BIN_DARWIN_ARM64)
.PHONY: windows
windows: $(BIN_WIN_AMD64) $(BIN_WIN_ARM64)
.PHONY: man
man: $(BIN_LINUX_AMD64) $(MAN_OUTPUT)
.PHONY: $(BIN_LINUX_AMD64)
$(BIN_LINUX_AMD64):
GO111MODULE=$(GOMOD) \
@ -93,6 +97,10 @@ $(BIN_DARWIN_ARM64):
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_DARWIN_ARM64) .
.PHONY: $(MAN_OUTPUT)
$(MAN_OUTPUT):
./bin/create-manpage.sh
.PHONY: clean
clean:
rm -rf $(DIR)/*

14
bin/create-manpage.sh Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
(
printf ".TH expiration-check 1 \"%s\" \"Manual of expiration-check\"\n" "$(date +'%Y-%m-%d')"
printf ".LO 1\n"
./build/expiration-check-linux-amd64 -h \
| sed -E 's/^([A-Z ]+):$/.SH \1/g' \
| sed -E 's/^ (.+) (.+)/.TP\n.B \1\n\2\n\n/g' \
| sed -E 's/^ (\w+)/\1/g' \
| sed -E 's/\\{0}-([a-z]+)/\\-\1/g' \
| sed -E 's/-\\-/\\-\\-/g' \
| sed -E 's/\s+$//g'
) | gzip -9 > ./build/expiration-check.1.gz