slweb

Једноставни генератор статичких веб страна
git clone https://git.sr.ht/~strahinja/slweb
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување baa36a5cccc33ed195d07a359ea68c1b490fa2ac
родитељ c7d49f14a329684bf91e3e38c31180c069a37681
Аутор: Страхиња Радић <sr@strahinja.org>
Датум:   Mon,  8 Jul 2024 21:23:22 +0200

Synchronize build files with sled

Diffstat:
MMakefile | 4++--
Mlib/makedate | 15++++++++++++++-
Mlib/makeversion | 5+++--
Mlib/mkpack | 12++++++++++--
измењених датотека: 4, додавања: 29(+), брисања: 7(-)

diff --git a/Makefile b/Makefile @@ -2,6 +2,7 @@ include config.mk +.SUFFIXES: .SUFFIXES: .1.in .1 .h.in .h .c .o .slw .html .1.in.1: @@ -48,7 +49,6 @@ clean: rm -f version date version.h *.o *.xz *~ $(PROG) $(MANPAGE) install: all - umask 022 find examples -type f \( -name '*.slw' -o -name '*.html' \ -o -name '*.css' \) -exec sh -c 'umask 022; \ printf "%s\n" {} | sed 's,examples/,,' | \ @@ -74,7 +74,7 @@ uninstall: test: all sh lib/runtests -pack: all version +pack: sh -x lib/mkpack .PHONY: all clean examples install makedate makeversion pack test uninstall diff --git a/lib/makedate b/lib/makedate @@ -9,7 +9,20 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then awk ' /^date: / { sub(/^date: /,"",$0) - print $2 " " $3 ", " $5 + # Convert to proper form for `mandoc -Tlint` + month_names["Jan"] = "January" + month_names["Feb"] = "February" + month_names["Mar"] = "March" + month_names["Apr"] = "April" + month_names["May"] = "May" + month_names["Jun"] = "June" + month_names["Jul"] = "July" + month_names["Aug"] = "August" + month_names["Sep"] = "September" + month_names["Oct"] = "October" + month_names["Nov"] = "November" + month_names["Dec"] = "December" + print month_names[$2] " " $3 ", " $5 exit }' >date.new elif [ -d .git ] && command -v git >/dev/null 2>&1; then diff --git a/lib/makeversion b/lib/makeversion @@ -4,13 +4,13 @@ FALLBACKVER=${FALLBACKVER:-unknown} if [ -d .got ] && command -v got >/dev/null 2>&1; then lastcommit=$(got log | - awk '/^commit/ {print substr($2,1,9); exit}') + awk '/^commit/ {print substr($2,1,7); exit}') got tag -l | awk -v lastcommit="$lastcommit" ' /^object: commit/ { if (!lasttagcom) { - lasttagcom = substr($3,1,9) + lasttagcom = substr($3,1,7) } next } @@ -28,6 +28,7 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then { printf "-g%s", lastcommit } + printf "\n" }' >version.new elif [ -d .git ] && command -v git >/dev/null 2>&1; then LC_ALL=C diff --git a/lib/mkpack b/lib/mkpack @@ -1,9 +1,17 @@ #!/bin/sh -x # vim: set ft=bash: -DISTDIR=$(grep ^PROG config.mk | +DISTDIR=$(grep '^PROG[[:space:]]\{1,\}=' config.mk | sed -E 's,.*=[[:space:]]+([[:alpha:]]+),\1,')-$(cat version) mkdir "$DISTDIR" -for f in $(git ls-files); do +if [ -d .got ] && command -v got >/dev/null 2>&1; then + files=$(got tree | sed -e 's,[@/*$]$,,g') +elif [ -d .git ] && command -v git >/dev/null 2>&1; then + files=$(git ls-files) +else + printf "Either got or git are required for 'make pack'\n" >&2 + exit 1 +fi +for f in $files; do d="$DISTDIR"/"$(dirname "$f")" mkdir -p "$d" cp "$f" "$d"/