aboutsummaryrefslogtreecommitdiff
path: root/aux/workflow/assert-manpages.sh
diff options
context:
space:
mode:
Diffstat (limited to 'aux/workflow/assert-manpages.sh')
-rwxr-xr-xaux/workflow/assert-manpages.sh90
1 files changed, 46 insertions, 44 deletions
diff --git a/aux/workflow/assert-manpages.sh b/aux/workflow/assert-manpages.sh
index d609685..b26c7a4 100755
--- a/aux/workflow/assert-manpages.sh
+++ b/aux/workflow/assert-manpages.sh
@@ -2,8 +2,10 @@
set -eu
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
+
IN_PLACE=false
-while getopts 'n:m:i' flag; do
+while getopts 'l:n:m:i' flag; do
case "$flag" in
n)
PROJECT="$OPTARG"
@@ -14,6 +16,9 @@ while getopts 'n:m:i' flag; do
i)
IN_PLACE=true
;;
+ l)
+ LANGS="$OPTARG"
+ ;;
*)
exit 2
;;
@@ -28,11 +33,12 @@ assert_arg() {
fi
}
-assert_arg "${PROJECT:-}" '-n PROJECT'
+assert_arg "${PROJECT:-}" '-n PROJECT'
assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
+assert_arg "${LANGS:-}" '-l LANGS'
-EXPECTED_EN="$(mktemp)"
+EXPECTED_EN="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_EN"
@@ -59,7 +65,7 @@ Browse bugs
online
.UE .
.IP \(bu
-.UR https://$TLD/$PROJECT/
+.UR https://$TLD/$PROJECT/en/
Homepage
.UE .
.IP \(bu
@@ -68,7 +74,7 @@ Comments and discussions
.UE .
EOF
-EXPECTED_PT="$(mktemp)"
+EXPECTED_PT="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_PT"
@@ -95,7 +101,7 @@ Veja os bugs
online
.UE .
.IP \(bu
-.UR https://$TLD/$PROJECT/
+.UR https://$TLD/$PROJECT/pt/
Página inicial
.UE .
.IP \(bu
@@ -104,7 +110,7 @@ Comentários e discussões
.UE .
EOF
-EXPECTED_FR="$(mktemp)"
+EXPECTED_FR="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_FR"
@@ -133,7 +139,7 @@ en
ligne
.UE .
.IP \(bu
-.UR https://$TLD/$PROJECT/
+.UR https://$TLD/$PROJECT/fr/
Page d'accueil
.UE .
.IP \(bu
@@ -142,7 +148,7 @@ Commentaires et discussions
.UE .
EOF
-EXPECTED_EO="$(mktemp)"
+EXPECTED_EO="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_EO"
@@ -169,7 +175,7 @@ Foliumu misfunkcioj
rete
.UE .
.IP \(bu
-.UR https://$TLD/$PROJECT/
+.UR https://$TLD/$PROJECT/eo/
Ĉefpaĝo
.UE .
.IP \(bu
@@ -179,39 +185,35 @@ Komentoj kaj diskutoj
EOF
-# shellcheck disable=2044
-for f in $(find doc -type f -name '*.[0-9]'); do
- LINES="$(wc -l "$f" | cut -d\ -f1)"
- if [ "$LINES" = 1 ] && grep -Eq '^\.so man.+$' "$f"; then
- continue
- fi
-
- if [ ! -s "$f" ]; then
- continue
- fi
-
- lang="$(echo "$f" | cut -d. -f2)"
- case "$lang" in
- pt)
- EXPECTED="$EXPECTED_PT"
- ;;
- fr)
- EXPECTED="$EXPECTED_FR"
- ;;
- eo)
- EXPECTED="$EXPECTED_EO"
- ;;
- *)
- EXPECTED="$EXPECTED_EN"
- ;;
- esac
-
- if ! tail -n "$(wc -l < "$EXPECTED")" "$f" | diff - "$EXPECTED"; then
- echo "Missing metadata at the end of \"$f\" file"
- if [ "$IN_PLACE" = true ]; then
- cat "$EXPECTED" >> "$f"
- else
- exit 1
+for from_f in "$@"; do
+ for lang in $LANGS; do
+ case "$lang" in
+ en)
+ EXPECTED="$EXPECTED_EN"
+ ;;
+ pt)
+ EXPECTED="$EXPECTED_PT"
+ ;;
+ fr)
+ EXPECTED="$EXPECTED_FR"
+ ;;
+ eo)
+ EXPECTED="$EXPECTED_EO"
+ ;;
+ *)
+ printf 'Unsupported lang: %s\n' "$lang" >&2
+ exit 2
+ ;;
+ esac
+
+ f="$(echo "$from_f" | sed "s/\.en\./.$lang./")"
+ if ! tail -n "$(wc -l < "$EXPECTED")" "$f" | diff - "$EXPECTED"; then
+ echo "Missing metadata at the end of \"$f\" file"
+ if [ "$IN_PLACE" = true ]; then
+ cat "$EXPECTED" >> "$f"
+ else
+ exit 1
+ fi
fi
- fi
+ done
done