aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODOs.md8
-rwxr-xr-xaux/80-columns.sh12
-rwxr-xr-xaux/assert-nixfmt.sh11
-rwxr-xr-xaux/assert-shellcheck.sh6
-rwxr-xr-xaux/ci/ci-build.sh66
-rwxr-xr-xaux/ci/git-post-receive.sh22
-rwxr-xr-xaux/ci/git-pre-push.sh22
-rwxr-xr-xaux/ci/report.sh109
-rw-r--r--aux/containers/guix/manifest.scm28
-rwxr-xr-xaux/containers/guix/with-container.sh19
-rw-r--r--aux/guix/manifest.scm21
-rwxr-xr-xaux/guix/with-container.sh17
-rwxr-xr-xaux/lib.sh30
-rw-r--r--aux/tld.txt1
l---------aux/with-container1
-rwxr-xr-xaux/workflow/TODOs.sh64
-rwxr-xr-xaux/workflow/assert-changelog.sh66
-rwxr-xr-xaux/workflow/assert-readme.sh108
-rwxr-xr-xaux/workflow/assert-todos.sh15
-rwxr-xr-xaux/workflow/commonmark.sh48
-rwxr-xr-xaux/workflow/dist.sh112
-rw-r--r--aux/workflow/favicon.html1
-rw-r--r--aux/workflow/favicon.svg62
-rwxr-xr-xaux/workflow/l10n.sh110
-rw-r--r--aux/workflow/preamble.md16
-rwxr-xr-xaux/workflow/public.sh83
-rwxr-xr-xaux/workflow/sign-tarballs.sh38
-rw-r--r--aux/workflow/style.css78
-rw-r--r--po/LC_MESSAGES/CHANGELOG.en.md/eo.po8
-rw-r--r--po/LC_MESSAGES/CHANGELOG.en.md/es.po8
-rw-r--r--po/LC_MESSAGES/CHANGELOG.en.md/fr.po8
-rw-r--r--po/LC_MESSAGES/CHANGELOG.en.md/pt.po8
-rw-r--r--po/LC_MESSAGES/README.en.md/eo.po128
-rw-r--r--po/LC_MESSAGES/README.en.md/es.po128
-rw-r--r--po/LC_MESSAGES/README.en.md/fr.po128
-rw-r--r--po/LC_MESSAGES/README.en.md/pt.po128
36 files changed, 8 insertions, 1710 deletions
diff --git a/TODOs.md b/TODOs.md
index b118a75..1274ace 100644
--- a/TODOs.md
+++ b/TODOs.md
@@ -196,3 +196,11 @@ https://blogs.gentoo.org/mgorny/2021/02/19/the-modern-packagers-security-nightma
https://lwn.net/Articles/867657/
https://www.debian.org/doc/manuals/packaging-tutorial/packaging-tutorial.en.pdf
+
+
+
+Re-setup:
+- aux/
+- po/
+
+"auto"-publish packages under ~/dev/publish/
diff --git a/aux/80-columns.sh b/aux/80-columns.sh
deleted file mode 100755
index ae4660e..0000000
--- a/aux/80-columns.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-set -eu
-
-# shellcheck disable=2068
-for f in ${@:-$(cat -)}; do
- if [ "$(file -i "$f" | cut -d' ' -f2 | cut -d/ -f1)" = 'text' ]; then
- sed 's/\t/ /g' "$f" |
- awk -v FNAME="$f" 'length > 80 {
- printf "%s:%s:%s\n", FNAME, NR, $0
- }'
- fi
-done
diff --git a/aux/assert-nixfmt.sh b/aux/assert-nixfmt.sh
deleted file mode 100755
index 19bd0a2..0000000
--- a/aux/assert-nixfmt.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-set -eux
-
-# shellcheck disable=2016
-find . -type f -name '*.nix' -print0 | xargs -0 -I{} sh -c '
- nixfmt < "$1" | diff - "$1" || {
- echo "The file \"$1\" is unformatted. To fix it, run:"
- echo " nixfmt $1"
- exit 1
- }
-' _ {} \;
diff --git a/aux/assert-shellcheck.sh b/aux/assert-shellcheck.sh
deleted file mode 100755
index 40fd364..0000000
--- a/aux/assert-shellcheck.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-set -eu
-
-find . -name '*.sh' -print0 |
- xargs -0 awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' |
- xargs shellcheck
diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh
deleted file mode 100755
index 8d49779..0000000
--- a/aux/ci/ci-build.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-set -eux
-
-PROJECT="$1"
-LOGS_DIR="$2"
-SHA="$3"
-FILENAME="$(date -Is)-$SHA.log"
-LOGFILE="$LOGS_DIR/$FILENAME"
-
-mkdtemp() {
- name="$(echo 'mkstemp(template)' |
- m4 -D template="${TMPDIR:-/tmp}/m4-tmpname.")"
- rm -f "$name"
- mkdir "$name"
- echo "$name"
-}
-
-{
- echo "Starting CI job at: $(date -Is)"
-
- finish() {
- STATUS="$?"
- printf "\n\n>>> exit status was %s\n" "$STATUS"
- echo "Finishing CI job at: $(date -Is)"
- cd -
- NOTE=$(cat <<EOF
-See CI logs with:
- git notes --ref=refs/notes/ci-logs show $SHA
- git notes --ref=refs/notes/ci-data show $SHA
-EOF
-)
- git notes --ref=refs/notes/ci-data add -f -m "$STATUS $FILENAME"
- git notes --ref=refs/notes/ci-logs add -f -F "$LOGFILE"
- git notes append -m "$NOTE"
-
- cd -
- git fetch origin refs/notes/*:refs/notes/*
- sh aux/ci/report.sh -n "$PROJECT" -o public
- rsync -av public/ "/opt/www/$TLD/static/$PROJECT/"
-
- tar \
- -C "/opt/www/$TLD/git/repos" \
- -c \
- -f "/opt/www/$TLD/static/$PROJECT/repo.tar.gz" \
- "$PROJECT".git
-
- printf '\n>>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s\n>>>\n\n' \
- "$STATUS"
- }
- trap finish EXIT
-
- unset GIT_DIR
- REMOTE="$PWD"
- cd "$(mkdtemp)"
- git clone "$REMOTE" .
- git config --global user.email git@euandre.org
- git config --global user.name 'EuAndreh CI'
-
- if [ -e aux/with-container ]; then
- RUNNER='sh aux/with-container'
- else
- RUNNER='sh -c'
- fi
-
- $RUNNER 'make clean dev-check'
-} 2>&1 | tee "$LOGFILE"
diff --git a/aux/ci/git-post-receive.sh b/aux/ci/git-post-receive.sh
deleted file mode 100755
index f813259..0000000
--- a/aux/ci/git-post-receive.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-set -eu
-
-for n in $(seq 0 $((GIT_PUSH_OPTION_COUNT - 1))); do
- opt="$(eval "echo \$GIT_PUSH_OPTION_$n")"
- if [ "$opt" = skip-ci ] || [ "$opt" = ci-skip ]; then
- printf "\n'%s' option detected, not running ci-build.sh\n\n" \
- "$opt"
- exit 0
- fi
-done
-
-# shellcheck disable=2034
-read -r _oldrev SHA _refname
-
-PROJECT="$(basename "$PWD" | cut -d. -f1)" # remove .git suffix
-LOGS_DIR="/opt/ci/$PROJECT/logs"
-sh "/opt/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR" "$SHA" ||:
-
-echo 'To retrigger the build, run:'
-echo "cd /opt/www/$TLD/git/repos/$PROJECT.git/"
-echo "sh /opt/www/$TLD/git/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR" "$SHA"
diff --git a/aux/ci/git-pre-push.sh b/aux/ci/git-pre-push.sh
deleted file mode 100755
index 9883769..0000000
--- a/aux/ci/git-pre-push.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-set -eux
-
-TLD="$(cat aux/tld.txt)"
-. aux/lib.sh
-
-PROJECT="$(basename "$PWD")"
-LOGS_DIR="/opt/www/$TLD/git/ci/$PROJECT/logs"
-REMOTE_GIT_DIR="/opt/www/$TLD/git/repos/$PROJECT.git"
-
-DESCRIPTION="$(mkstemp)"
-if [ -f description ]
-then
- cp description "$DESCRIPTION"
-else
- git config euandreh.description > "$DESCRIPTION"
-fi
-
-scp "$DESCRIPTION" "$TLD:$REMOTE_GIT_DIR/description"
-ssh "$TLD" mkdir -p "$LOGS_DIR"
-scp aux/ci/ci-build.sh "$TLD:$(dirname "$LOGS_DIR")/ci-build.sh"
-scp aux/ci/git-post-receive.sh "$TLD:$REMOTE_GIT_DIR/hooks/post-receive"
diff --git a/aux/ci/report.sh b/aux/ci/report.sh
deleted file mode 100755
index e900e26..0000000
--- a/aux/ci/report.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/sh
-set -eu
-
-TLD="$(cat aux/tld.txt)"
-. aux/lib.sh
-
-while getopts 'n:o:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- o)
- OUTDIR="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-assert_arg "${OUTDIR:-}" '-o OUTDIR'
-
-PASS='✅'
-FAIL='❌'
-
-mkdir -p "$OUTDIR/ci-logs" "$OUTDIR/ci-data"
-
-OUT="$(mkstemp)"
-chmod 644 "$OUT"
-
-for c in $(git notes list | cut -d\ -f2); do
- DATA="$(git notes --ref=refs/notes/ci-data show "$c")"
- FILENAME="$(echo "$DATA" | cut -d\ -f2)"
- echo "$DATA" > "$OUTDIR/ci-data/$FILENAME"
- git notes --ref=refs/notes/ci-logs show "$c" \
- > "$OUTDIR/ci-logs/$FILENAME"
-done
-
-{
- cat <<EOF
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <meta name="description" content="CI logs for $PROJECT" />
- <link rel="icon" type="image/svg+xml" href="favicon.svg" />
- <title>$PROJECT - CI logs</title>
-
-EOF
-
- cat aux/workflow/style.css
-
- cat <<EOF
-
- <style>
- pre {
- display: inline;
- }
- ol {
- list-style-type: disc;
- }
- </style>
- </head>
- <body>
- <main>
- <h1>
- CI logs for
- <a href="https://$TLD/$PROJECT/en/">$PROJECT</a>
- </h1>
- <ol>
-EOF
-} > "$OUT"
-
-for f in $(find "$OUTDIR/ci-data/" -type f | LANG=C.UTF-8 sort -r); do
- DATA="$(cat "$f")"
- STATUS="$(echo "$DATA" | cut -d\ -f1)"
- FILENAME="$(echo "$DATA" | cut -d\ -f2)"
-
- if [ "$STATUS" = 0 ]; then
- STATUS_MARKER="$PASS"
- else
- STATUS_MARKER="$FAIL"
- fi
-
- cat <<EOF >> "$OUT"
- <li>
- <a href="ci-logs/$FILENAME">$STATUS_MARKER <pre>$FILENAME</pre></a>
- </li>
-EOF
-done
-
-cat <<EOF >> "$OUT"
- </ol>
- </main>
- </body>
-</html>
-EOF
-
-mv "$OUT" "$OUTDIR/ci.html"
diff --git a/aux/containers/guix/manifest.scm b/aux/containers/guix/manifest.scm
deleted file mode 100644
index 98c03a3..0000000
--- a/aux/containers/guix/manifest.scm
+++ /dev/null
@@ -1,28 +0,0 @@
-(specifications->manifest
- (map symbol->string
- '(bash
- coreutils
- findutils
- diffutils
- grep
- sed
- m4
- git
- tar
- gawk
- make
- makefile2graph
- graphviz
- shellcheck
- pandoc
- gettext
- po4a-text
- mdpo-patched
- td-latest
- hunspell
- hunspell-dict-en-utf8
- hunspell-dict-pt-utf8
- hunspell-dict-fr-utf8
- hunspell-dict-eo-utf8
-
- jq)))
diff --git a/aux/containers/guix/with-container.sh b/aux/containers/guix/with-container.sh
deleted file mode 100755
index fcbb8b5..0000000
--- a/aux/containers/guix/with-container.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-set -eu
-
-CHANNEL_REMOTE='https://euandreh.xyz/package-repository.git'
-CHANNEL_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/euandreh-guix-channel"
-
-if [ ! -d "$CHANNEL_DIR" ]; then
- git clone "$CHANNEL_REMOTE" "$CHANNEL_DIR"
-fi
-
-git -C "$CHANNEL_DIR" pull
-
-ENV_CMD="guix environment -L $CHANNEL_DIR/src/ -m aux/containers/guix/manifest.scm"
-
-if [ -z "${1:-}" ]; then
- $ENV_CMD
-else
- $ENV_CMD --pure -C -- sh -c "$@"
-fi
diff --git a/aux/guix/manifest.scm b/aux/guix/manifest.scm
deleted file mode 100644
index d00d196..0000000
--- a/aux/guix/manifest.scm
+++ /dev/null
@@ -1,21 +0,0 @@
-(specifications->manifest
- (map symbol->string
- '(bash
- coreutils
- findutils
- diffutils
- grep
- sed
- git
- tar
- gzip
- gawk
- make
- perl
- shellcheck
- gettext
- groff
- pandoc
- nixfmt
- graphviz
- jq)))
diff --git a/aux/guix/with-container.sh b/aux/guix/with-container.sh
deleted file mode 100755
index 6e19691..0000000
--- a/aux/guix/with-container.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-set -eu
-
-if [ -z "${1:-}" ]; then
- guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
- environment --fallback -m aux/guix/manifest.scm
-elif [ "$1" = '-p' ]; then
- guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
- environment --fallback -m aux/guix/manifest.scm --pure -C
-elif [ "$1" = '-C' ]; then
- guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
- pack -f docker -S/bin=bin -m aux/guix/manifest.scm -v3
-else
- guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
- environment --fallback -m aux/guix/manifest.scm --pure -C \
- -- sh -c "$@"
-fi
diff --git a/aux/lib.sh b/aux/lib.sh
deleted file mode 100755
index ba18f9a..0000000
--- a/aux/lib.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-#
-# Generally, utilities that I expected to exist in POSIX, but don't.
-#
-
-uuid() {
- # Taken from:
- # https://serverfault.com/a/799198
- od -xN20 /dev/urandom |
- head -n1 |
- awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}'
-}
-
-tmpname() {
- echo "${TMPDIR:-/tmp}/uuid-tmpname with spaces.$(uuid)"
-}
-
-mkstemp() {
- name="$(tmpname)"
- touch "$name"
- echo "$name"
-}
-
-mkdtemp() {
- name="$(tmpname)"
- rm -f "$name"
- mkdir "$name"
- echo "$name"
-}
diff --git a/aux/tld.txt b/aux/tld.txt
deleted file mode 100644
index 0cb8b8b..0000000
--- a/aux/tld.txt
+++ /dev/null
@@ -1 +0,0 @@
-euandreh.xyz
diff --git a/aux/with-container b/aux/with-container
deleted file mode 120000
index b96cf67..0000000
--- a/aux/with-container
+++ /dev/null
@@ -1 +0,0 @@
-containers/guix/with-container.sh \ No newline at end of file
diff --git a/aux/workflow/TODOs.sh b/aux/workflow/TODOs.sh
deleted file mode 100755
index 05cf3cb..0000000
--- a/aux/workflow/TODOs.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh
-set -eu
-
-TLD="$(cat aux/tld.txt)"
-PROJECT_UC=
-while getopts 'n:N:m:o:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- N)
- PROJECT_UC="$OPTARG"
- ;;
- m)
- MAILING_LIST="$OPTARG"
- ;;
- o)
- OUTDIR="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
-assert_arg "${OUTDIR:-}" '-o OUTDIR'
-
-if [ -z "${PROJECT_UC:-}" ]; then
- PROJECT_UC="$PROJECT"
-fi
-
-
-td -H |
- cat aux/workflow/preamble.md - |
- sed \
- -e "s:@PROJECT_UC@:$PROJECT_UC:g" \
- -e "s:@PROJECT@:$PROJECT:g" \
- -e "s:@MAILING_LIST@:$MAILING_LIST:g" \
- -e "s:@TLD@:$TLD:g" |
- pandoc \
- --toc \
- --highlight-style pygments \
- --toc-depth=2 \
- -s \
- --metadata title="$PROJECT_UC - TODOs" \
- --metadata lang=en \
- -r commonmark \
- -w html \
- -H aux/workflow/favicon.html \
- -H aux/workflow/style.css |
- sed \
- -e 's:<a><a:<a:g' \
- -e 's:</a></a>:</a>:g' \
- > "$OUTDIR/TODOs.html"
diff --git a/aux/workflow/assert-changelog.sh b/aux/workflow/assert-changelog.sh
deleted file mode 100755
index c58a600..0000000
--- a/aux/workflow/assert-changelog.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-set -eu
-
-TLD="$(cat aux/tld.txt)"
-PROJECT_UC=
-while getopts 'n:N:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- N)
- PROJECT_UC="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-
-if [ -z "${PROJECT_UC:-}" ]; then
- PROJECT_UC="$PROJECT"
-fi
-
-HOMEPAGE_LINK="Changelog for [$PROJECT_UC](https://$TLD/$PROJECT/en/)."
-
-if ! grep -qF "$HOMEPAGE_LINK" CHANGELOG.md; then
- echo "Missing link to homepage in CHANGELOG.md:" >&2
- echo "$HOMEPAGE_LINK"
- exit 1
-fi
-
-assert() {
- DATE="$1"
- VVERSION="$2"
- VERSION="${2#v}"
- CHANGELOG_ENTRY="$(printf \
- '# [%s](https://euandreh.xyz/%s.git/commit/?id=%s) - %s' \
- "$VERSION" "$PROJECT" "$VVERSION" "$DATE")"
- if ! grep -qF "$CHANGELOG_ENTRY" CHANGELOG.md; then
- echo "Missing '$CHANGELOG_ENTRY' entry from CHANGELOG.md" >&2
- exit 1
- fi
-}
-
-if [ -e .git ]; then
- for VVERSION in $(git tag); do
- DATE="$(git log -1 --format=%cd --date=short "$VVERSION")"
- assert "$DATE" "$VVERSION"
- done
-fi
-
-# "$@" represents a list of tags to be also included in the verification.
-for VVERSION in "$@"; do
- DATE="$(date '+%Y-%m-%d')"
- assert "$DATE" "$VVERSION"
-done
diff --git a/aux/workflow/assert-readme.sh b/aux/workflow/assert-readme.sh
deleted file mode 100755
index 0a85221..0000000
--- a/aux/workflow/assert-readme.sh
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/sh
-set -eu
-
-if [ ! -e .git ]; then
- exit
-fi
-
-TLD="$(cat aux/tld.txt)"
-. aux/lib.sh
-
-while getopts 'n:m:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- m)
- MAILING_LIST="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
-
-EXPECTED="$(mkstemp)"
-cat <<EOF >> "$EXPECTED"
-
-For running the extra development-only checks, run:
-
-\`\`\`shell
-$ make dev-check
-\`\`\`
-
-and for generating the documentation HTML and website, run:
-
-\`\`\`shell
-$ make public
-\`\`\`
-
-Send contributions to the [mailing list] via
-[\`git send-email\`](https://git-send-email.io/).
-
-
-## Links
-
-- [homepage](https://$TLD/$PROJECT/en/)
-- [source code](https://euandreh.xyz/$PROJECT.git/)
-- [bug tracking](https://$TLD/$PROJECT/TODOs.html)
-- [mailing list]
-- [CI logs](https://$TLD/$PROJECT/ci.html)
-- [CHANGELOG](https://$TLD/$PROJECT/en/CHANGELOG.html)
-
-[mailing list]: https://lists.sr.ht/~euandreh/$MAILING_LIST?search=%5B$PROJECT%5D
-EOF
-
-RELEASES_LIST="$(mkstemp)"
-add_release() {
- DATE="$1"
- VVERSION="$2"
- echo "- [$VVERSION](https://euandreh.xyz/$PROJECT.git/commit/?id=$VVERSION) [$PROJECT-$VVERSION.tar.gz](https://euandreh.xyz/$PROJECT.git/snapshot/$PROJECT-$VVERSION.tar.gz) ([sig](https://euandreh.xyz/$PROJECT.git/snapshot/$PROJECT-$VVERSION.tar.gz.asc)) - $DATE" >> "$RELEASES_LIST"
-}
-
-for VVERSION in $(git tag); do
- DATE="$(git log -1 --format=%cd --date=short "$VVERSION")"
- add_release "$DATE" "$VVERSION"
-done
-
-# "$@" represents a list of tags to be also included in the verification.
-for VVERSION in "$@"; do
- if ! git tag | grep -qF "$VVERSION"; then
- DATE="$(date '+%Y-%m-%d')"
- add_release "$DATE" "$VVERSION"
- fi
-done
-
-if [ -s "$RELEASES_LIST" ]; then
- printf '\n\n## Releases\n\n' >> "$EXPECTED"
- sort -r "$RELEASES_LIST" >> "$EXPECTED"
-fi
-
-cat <<EOF >> "$EXPECTED"
-
-
-## License
-
-The code is licensed under
-[GNU Affero General Public License v3.0 or later][AGPL-3.0-or-later]
-(AGPL-3.0-or-later).
-
-[AGPL-3.0-or-later]: https://euandreh.xyz/$PROJECT.git/tree/COPYING
-EOF
-
-if ! tail -n "$(wc -l < "$EXPECTED")" README.md | diff - "$EXPECTED"; then
- echo 'Wrong metadata at the end of README.md file'
- echo "See expected content at: $EXPECTED"
- exit 1
-fi
diff --git a/aux/workflow/assert-todos.sh b/aux/workflow/assert-todos.sh
deleted file mode 100755
index f4fd965..0000000
--- a/aux/workflow/assert-todos.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-set -eu
-
-# shellcheck disable=2086
-if [ -e .git ] &&
- git grep FIXME ${1:-} |
- grep -v '^TODOs.md:' |
- grep -v '^aux/workflow/assert-todos.sh:'
-then
- echo "Found dangling FIXME markers on the project." >&2
- echo "You should write them down properly on TODOs.md." >&2
- exit 1
-fi
-
-td -L
diff --git a/aux/workflow/commonmark.sh b/aux/workflow/commonmark.sh
deleted file mode 100755
index 088d447..0000000
--- a/aux/workflow/commonmark.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-set -eu
-
-while getopts 'N:t:l:H:' flag; do
- case "$flag" in
- N)
- PROJECT_UC="$OPTARG"
- ;;
- t)
- TITLE="$OPTARG"
- ;;
- l)
- THE_LANG="$OPTARG"
- ;;
- H)
- ALTERNATES="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT_UC:-}" '-N PROJECT_UC'
-assert_arg "${TITLE:-}" '-t TITLE'
-assert_arg "${THE_LANG:-}" '-l THE_LANG'
-assert_arg "${ALTERNATES:-}" '-H ALTERNATES'
-
-pandoc \
- --toc \
- --highlight-style pygments \
- --toc-depth=2 \
- -s \
- --metadata title="$PROJECT_UC - $TITLE" \
- --metadata "lang=$THE_LANG" \
- -r commonmark \
- -w html \
- -H aux/workflow/favicon.html \
- -H aux/workflow/style.css \
- -H "$ALTERNATES"
diff --git a/aux/workflow/dist.sh b/aux/workflow/dist.sh
deleted file mode 100755
index 68f8849..0000000
--- a/aux/workflow/dist.sh
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-set -eu
-
-PROJECT_UC=
-while getopts 'd:V:n:N:m:' flag; do
- case "$flag" in
- d)
- DATE="$OPTARG"
- ;;
- V)
- VVERSION="v$OPTARG"
- ;;
- n)
- PROJECT="$OPTARG"
- ;;
- N)
- PROJECT_UC="$OPTARG"
- ;;
- m)
- MAILING_LIST="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${DATE:-}" '-d DATE'
-assert_arg "${VVERSION:-}" '-V VERSION'
-assert_arg "${PROJECT:-}" '-n PROJECT'
-assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
-
-if [ -z "${PROJECT_UC:-}" ]; then
- PROJECT_UC="$PROJECT"
-fi
-
-
-if [ "$(git rev-parse --abbrev-ref HEAD)" != 'main' ]; then
- echo 'Not on branch "main".' >&2
- exit 1
-fi
-
-if git show "$VVERSION" 1>/dev/null 2>/dev/null; then
- echo "Version '$VVERSION' already exists." >&2
- exit 1
-fi
-
-if [ "v$(awk '/^VERSION *=/{print $3; exit}' Makefile)" != "$VVERSION" ]; then
- echo "Version '$VVERSION' mismatch with \$(VERSION) in Makefile." >&2
- echo 'Make sure to invoke this script with "make dist".' >&2
- exit 1
-fi
-
-if ! printf '%s\n%s\n' "$(git tag)" "$VVERSION" | sort -nct. -k1 -k2 -k3; then
- echo 'New tag is not bigger than existing ones.' >&2
- exit 1
-fi
-
-if [ "$DATE" != "$(git log -1 --format=%cd --date=short HEAD)" ]; then
- echo "Date '$DATE' is not up-to-date." >&2
- exit 1
-fi
-
-if [ "$(awk '/^DATE *=/{print $3; exit}' Makefile)" != "$DATE" ]; then
- echo "Date '$DATE' mismatch with \$(DATE) in Makefile." >&2
- echo 'Make sure to invoke this script with "make dist".' >&2
- exit 1
-fi
-
-if [ "Release $VVERSION" != "$(git log --format=%B -1 HEAD | head -n1)" ]; then
- echo "Commit message isn't 'Release $VVERSION'." >&2
- exit 1
-fi
-
-make clean
-env ASSERT_NO_MISSING_TRANSLATIONS=1 make dev-check EXTRA_VERSION="$VVERSION"
-
-if ! (git diff --quiet && git diff --quiet --staged); then
- echo 'Dirty repository.'
- exit 1
-fi
-
-
-git tag "$VVERSION"
-sh aux/workflow/sign-tarballs.sh -n "$PROJECT"
-
-
-printf 'Publish version? [Y/n]: ' >&2
-read -r publish
-
-if [ "$publish" = 'n' ]; then
- cat <<EOF >&2
-Now push the tag and the signature before pushing the commit:
-
-git push origin refs/notes/signatures/tar.gz -o skip-ci --no-verify
-git push --tags -o skip-ci --no-verify
-git push
-
-EOF
-else
- git push origin refs/notes/signatures/tar.gz -o skip-ci --no-verify
- git push --tags -o skip-ci --no-verify
- git push
-fi
diff --git a/aux/workflow/favicon.html b/aux/workflow/favicon.html
deleted file mode 100644
index 8f9327c..0000000
--- a/aux/workflow/favicon.html
+++ /dev/null
@@ -1 +0,0 @@
-<link rel="icon" type="image/svg+xml" href="favicon.svg" />
diff --git a/aux/workflow/favicon.svg b/aux/workflow/favicon.svg
deleted file mode 100644
index ce566b2..0000000
--- a/aux/workflow/favicon.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16">
- <path d="M 0 8 L 1 8 L 1 9 L 0 9 L 0 8 Z" />
- <path d="M 0 13 L 1 13 L 1 14 L 0 14 L 0 13 Z" />
- <path d="M 1 8 L 2 8 L 2 9 L 1 9 L 1 8 Z" />
- <path d="M 1 13 L 2 13 L 2 14 L 1 14 L 1 13 Z" />
- <path d="M 2 8 L 3 8 L 3 9 L 2 9 L 2 8 Z" />
- <path d="M 2 13 L 3 13 L 3 14 L 2 14 L 2 13 Z" />
- <path d="M 3 8 L 4 8 L 4 9 L 3 9 L 3 8 Z" />
- <path d="M 3 13 L 4 13 L 4 14 L 3 14 L 3 13 Z" />
- <path d="M 4 7 L 5 7 L 5 8 L 4 8 L 4 7 Z" />
- <path d="M 4 8 L 5 8 L 5 9 L 4 9 L 4 8 Z" />
- <path d="M 4 13 L 5 13 L 5 14 L 4 14 L 4 13 Z" />
- <path d="M 5 6 L 6 6 L 6 7 L 5 7 L 5 6 Z" />
- <path d="M 5 7 L 6 7 L 6 8 L 5 8 L 5 7 Z" />
- <path d="M 5 13 L 6 13 L 6 14 L 5 14 L 5 13 Z" />
- <path d="M 6 5 L 7 5 L 7 6 L 6 6 L 6 5 Z" />
- <path d="M 6 6 L 7 6 L 7 7 L 6 7 L 6 6 Z" />
- <path d="M 6 14 L 7 14 L 7 15 L 6 15 L 6 14 Z" />
- <path d="M 7 1 L 8 1 L 8 2 L 7 2 L 7 1 Z" />
- <path d="M 7 14 L 8 14 L 8 15 L 7 15 L 7 14 Z" />
- <path d="M 7 15 L 8 15 L 8 16 L 7 16 L 7 15 Z" />
- <path d="M 7 2 L 8 2 L 8 3 L 7 3 L 7 2 Z" />
- <path d="M 7 3 L 8 3 L 8 4 L 7 4 L 7 3 Z" />
- <path d="M 7 4 L 8 4 L 8 5 L 7 5 L 7 4 Z" />
- <path d="M 7 5 L 8 5 L 8 6 L 7 6 L 7 5 Z" />
- <path d="M 8 1 L 9 1 L 9 2 L 8 2 L 8 1 Z" />
- <path d="M 8 15 L 9 15 L 9 16 L 8 16 L 8 15 Z" />
- <path d="M 9 1 L 10 1 L 10 2 L 9 2 L 9 1 Z" />
- <path d="M 9 2 L 10 2 L 10 3 L 9 3 L 9 2 Z" />
- <path d="M 9 6 L 10 6 L 10 7 L 9 7 L 9 6 Z" />
- <path d="M 9 15 L 10 15 L 10 16 L 9 16 L 9 15 Z" />
- <path d="M 10 2 L 11 2 L 11 3 L 10 3 L 10 2 Z" />
- <path d="M 10 3 L 11 3 L 11 4 L 10 4 L 10 3 Z" />
- <path d="M 10 4 L 11 4 L 11 5 L 10 5 L 10 4 Z" />
- <path d="M 10 5 L 11 5 L 11 6 L 10 6 L 10 5 Z" />
- <path d="M 10 6 L 11 6 L 11 7 L 10 7 L 10 6 Z" />
- <path d="M 11 6 L 12 6 L 12 7 L 11 7 L 11 6 Z" />
- <path d="M 11 8 L 12 8 L 12 9 L 11 9 L 11 8 Z" />
- <path d="M 10 15 L 11 15 L 11 16 L 10 16 L 10 15 Z" />
- <path d="M 11 10 L 12 10 L 12 11 L 11 11 L 11 10 Z" />
- <path d="M 11 12 L 12 12 L 12 13 L 11 13 L 11 12 Z" />
- <path d="M 11 14 L 12 14 L 12 15 L 11 15 L 11 14 Z" />
- <path d="M 11 15 L 12 15 L 12 16 L 11 16 L 11 15 Z" />
- <path d="M 12 6 L 13 6 L 13 7 L 12 7 L 12 6 Z" />
- <path d="M 12 8 L 13 8 L 13 9 L 12 9 L 12 8 Z" />
- <path d="M 12 10 L 13 10 L 13 11 L 12 11 L 12 10 Z" />
- <path d="M 12 12 L 13 12 L 13 13 L 12 13 L 12 12 Z" />
- <path d="M 12 14 L 13 14 L 13 15 L 12 15 L 12 14 Z" />
- <path d="M 13 6 L 14 6 L 14 7 L 13 7 L 13 6 Z" />
- <path d="M 13 8 L 14 8 L 14 9 L 13 9 L 13 8 Z" />
- <path d="M 13 10 L 14 10 L 14 11 L 13 11 L 13 10 Z" />
- <path d="M 13 12 L 14 12 L 14 13 L 13 13 L 13 12 Z" />
- <path d="M 13 13 L 14 13 L 14 14 L 13 14 L 13 13 Z" />
- <path d="M 13 14 L 14 14 L 14 15 L 13 15 L 13 14 Z" />
- <path d="M 14 7 L 15 7 L 15 8 L 14 8 L 14 7 Z" />
- <path d="M 14 8 L 15 8 L 15 9 L 14 9 L 14 8 Z" />
- <path d="M 14 9 L 15 9 L 15 10 L 14 10 L 14 9 Z" />
- <path d="M 14 10 L 15 10 L 15 11 L 14 11 L 14 10 Z" />
- <path d="M 14 11 L 15 11 L 15 12 L 14 12 L 14 11 Z" />
- <path d="M 14 12 L 15 12 L 15 13 L 14 13 L 14 12 Z" />
-</svg>
diff --git a/aux/workflow/l10n.sh b/aux/workflow/l10n.sh
deleted file mode 100755
index f220123..0000000
--- a/aux/workflow/l10n.sh
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/sh
-set -eu
-
-LANGS=
-MAX_JOBS=64
-while getopts 'l:L:j:' flag; do
- case "$flag" in
- l)
- LANGS="$OPTARG"
- ;;
- L)
- CONTRIBLANGS="$OPTARG"
- ;;
- j)
- MAX_JOBS="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${LANGS:-}" '-l LANGS'
-
-PARALLEL_N=0
-parallel_run() {
- {
- "$@"
- } &
- PARALLEL_N=$((PARALLEL_N + 1))
- if [ "$PARALLEL_N" = "$MAX_JOBS" ]; then
- wait
- PARALLEL_N=0
- fi
-}
-
-po_run() {
- from_f="$1"
- lang="$2"
- to_f="$(echo "$from_f" | sed "s/en\./$lang./")"
- printf 'Generating %s...\n' "$to_f" >&2
- pofile="po/LC_MESSAGES/$from_f/$lang.po"
- mkdir -p "$(dirname "$pofile")"
-
- case "$from_f" in
- *.en.[1-9].in)
- po4a-updatepo -f man -m "$from_f" -p "$pofile"
- po4a-translate -f man -m "$from_f" \
- -p "$pofile" -l "$to_f" -k 0 -v >&2
- ;;
- *.en.html)
- po4a-updatepo -f xhtml -m "$from_f" -p "$pofile"
- po4a-translate -f xhtml -m "$from_f" \
- -p "$pofile" -l "$to_f" -k 0 -v >&2
- ;;
- *.en.md)
- touch "$pofile"
- md2po --include-codeblocks --quiet --save \
- --po-filepath "$pofile" < "$from_f"
- po2md --pofiles "$pofile" --save "$to_f" \
- --quiet --wrapwidth 999 < "$from_f"
- ;;
- *.en.msg|*.en.txt)
- po4a-updatepo -f text -m "$from_f" -p "$pofile"
- po4a-translate -f text -m "$from_f" \
- -p "$pofile" -l "$to_f" -k 0 -v >&2
- ;;
- *)
- echo "Unsupported file format: $from_f" >&2
- exit 2
- ;;
- esac
-}
-
-for from_f in "$@"; do
- for lang in $LANGS ${CONTRIBLANGS:-}; do
- parallel_run po_run "$from_f" "$lang"
- done
-done
-wait
-
-EXIT_CODE=0
-
-end="\033[0m"
-yellowb="\033[1;33m"
-for lang in $LANGS; do
- # shellcheck disable=2044
- for pofile in $(find po/ -type f -name "$lang.po"); do
- if ! LANG=POSIX msgfmt --statistics "$pofile" 2>&1 |
- grep untranslated; then
- continue
- fi
- # shellcheck disable=2059
- printf "\n ${yellowb}WARNING${end}!" >&2
- printf "\n Missing translations for %s\n\n" "$pofile" >&2
- EXIT_CODE=1
- done
-done
-
-if [ -n "${ASSERT_NO_MISSING_TRANSLATIONS:-}" ]; then
- exit "$EXIT_CODE"
-fi
diff --git a/aux/workflow/preamble.md b/aux/workflow/preamble.md
deleted file mode 100644
index a699d04..0000000
--- a/aux/workflow/preamble.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# About
-
-TODOs for [@PROJECT_UC@](https://@TLD@/@PROJECT@/en/).
-
-Register a new one at
-<span id="new">[~euandreh/@MAILING_LIST@@lists.sr.ht](mailto:~euandreh/@MAILING_LIST@@lists.sr.ht?subject=%5B@PROJECT@%5D%20BUG%20or%20TASK%3A%20%3Cdescription%3E)</span>
-and see [existing discussions](https://lists.sr.ht/~euandreh/@MAILING_LIST@?search=%5B@PROJECT@%5D).
-
-*Você também pode escrever em português*.
-
-*Vous pouvez aussi écrire en français*.
-
-*Vi povas ankaŭ skribi esperante*.
-
-*Tu también puedes escribir en español*.
-
diff --git a/aux/workflow/public.sh b/aux/workflow/public.sh
deleted file mode 100755
index 2c8c36a..0000000
--- a/aux/workflow/public.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-set -eu
-
-TLD="$(cat aux/tld.txt)"
-. aux/lib.sh
-
-PROJECT_UC=
-while getopts 'n:N:m:o:l:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- N)
- PROJECT_UC="$OPTARG"
- ;;
- m)
- MAILING_LIST="$OPTARG"
- ;;
- o)
- OUTDIR="$OPTARG"
- ;;
- l)
- LANGS="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
-assert_arg "${OUTDIR:-}" '-o OUTDIR'
-assert_arg "${LANGS:-}" '-l LANGS'
-PROJECT_UC="${PROJECT_UC:-$PROJECT}"
-
-
-alternates_for() {
- ALTERNATES="$(mkstemp)"
- lang="$1"
- OUTNAME="$2"
- for l in $LANGS; do
- if [ "$l" = "$lang" ]; then
- continue
- fi
- cat <<EOF >> "$ALTERNATES"
-<link rel="alternate" href="https://$TLD/$PROJECT/$l/$OUTNAME" hreflang="$l" />
-EOF
- done
- echo "$ALTERNATES"
-}
-
-
-mkdir -p "$OUTDIR"
-
-sh aux/workflow/TODOs.sh \
- -N "$PROJECT_UC" -n "$PROJECT" -m "$MAILING_LIST" -o "$OUTDIR"
-
-for lang in $LANGS; do
- mkdir -p "$OUTDIR/$lang/"
- sh aux/workflow/commonmark.sh \
- -N "$PROJECT" -l "$lang" -t README \
- -H "$(alternates_for "$lang" '')" \
- < "README.$lang.md" > "$OUTDIR/$lang/index.html"
- sh aux/workflow/commonmark.sh \
- -N "$PROJECT" -l "$lang" -t CHANGELOG \
- -H "$(alternates_for "$lang" 'CHANGELOG.html')" \
- < "CHANGELOG.$lang.md" > "$OUTDIR/$lang/CHANGELOG.html"
- ln -fs ../favicon.svg "$OUTDIR/$lang"
-done
-
-ln -fs en/index.html "$OUTDIR/index.html"
-cp aux/workflow/favicon.svg "$OUTDIR"
-
-sh aux/ci/report.sh -n "$PROJECT" -o "$OUTDIR"
diff --git a/aux/workflow/sign-tarballs.sh b/aux/workflow/sign-tarballs.sh
deleted file mode 100755
index 3ab2bb8..0000000
--- a/aux/workflow/sign-tarballs.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-set -eu
-
-while getopts 'n:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND -1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-
-
-SIGNATURES="$(git notes --ref=refs/notes/signatures/tar.gz list | cut -d\ -f2)"
-for tag in $(git tag); do
- COMMIT="$(git rev-list -n1 "$tag")"
- if echo "$SIGNATURES" | grep -qF "$COMMIT"; then
- continue
- fi
- echo "Adding missing signature to $tag" >&2
- git notes --ref=refs/notes/signatures/tar.gz add -C "$(
- git archive --format tar.gz --prefix "$PROJECT-$tag/" "$tag" |
- gpg --output - --armor --detach-sign |
- git hash-object -w --stdin
- )" "$tag"
-done
diff --git a/aux/workflow/style.css b/aux/workflow/style.css
deleted file mode 100644
index 99980aa..0000000
--- a/aux/workflow/style.css
+++ /dev/null
@@ -1,78 +0,0 @@
-<style>
- body {
- max-width: 800px;
- margin: 0 auto 0 auto;
- }
-
- hr {
- background-color: #ccc;
- }
-
- .header-anchor {
- opacity: 0.5;
- display: inline-block;
- }
-
- .tag {
- font-family: monospace;
- font-size: 70%;
- background-color: lightgray;
- color: black;
- padding: 3px;
- border-radius: 5px;
- }
-
- .TODO {
- color: brown;
- }
-
- .DOING {
- color: yellowgreen;
- }
-
- .WAITING, .MEETING {
- color: orange;
- }
-
- .INACTIVE {
- color: gray;
- }
-
- .NEXT {
- color: red;
- }
-
- .CANCELLED, .DONE, .WONTFIX {
- color: green;
- }
-
- pre, code {
- background-color: #ddd;
- border-radius: 5px;
- padding: 5px;
- }
-
- pre > code {
- overflow: auto;
- white-space: pre;
- }
-
- @media(prefers-color-scheme: dark) {
- :root {
- color: white;
- background-color: black;
- }
-
- a {
- color: hsl(211, 100%, 60%);
- }
-
- a:visited {
- color: hsl(242, 100%, 80%);
- }
-
- pre, code {
- background-color: #222;
- }
- }
-</style>
diff --git a/po/LC_MESSAGES/CHANGELOG.en.md/eo.po b/po/LC_MESSAGES/CHANGELOG.en.md/eo.po
deleted file mode 100644
index 5795e64..0000000
--- a/po/LC_MESSAGES/CHANGELOG.en.md/eo.po
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid ""
-"Changelog for [package-repository](https://euandreh.xyz/package-"
-"repository/en/)."
-msgstr ""
diff --git a/po/LC_MESSAGES/CHANGELOG.en.md/es.po b/po/LC_MESSAGES/CHANGELOG.en.md/es.po
deleted file mode 100644
index 5795e64..0000000
--- a/po/LC_MESSAGES/CHANGELOG.en.md/es.po
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid ""
-"Changelog for [package-repository](https://euandreh.xyz/package-"
-"repository/en/)."
-msgstr ""
diff --git a/po/LC_MESSAGES/CHANGELOG.en.md/fr.po b/po/LC_MESSAGES/CHANGELOG.en.md/fr.po
deleted file mode 100644
index 5795e64..0000000
--- a/po/LC_MESSAGES/CHANGELOG.en.md/fr.po
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid ""
-"Changelog for [package-repository](https://euandreh.xyz/package-"
-"repository/en/)."
-msgstr ""
diff --git a/po/LC_MESSAGES/CHANGELOG.en.md/pt.po b/po/LC_MESSAGES/CHANGELOG.en.md/pt.po
deleted file mode 100644
index 5795e64..0000000
--- a/po/LC_MESSAGES/CHANGELOG.en.md/pt.po
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid ""
-"Changelog for [package-repository](https://euandreh.xyz/package-"
-"repository/en/)."
-msgstr ""
diff --git a/po/LC_MESSAGES/README.en.md/eo.po b/po/LC_MESSAGES/README.en.md/eo.po
deleted file mode 100644
index fa9bb95..0000000
--- a/po/LC_MESSAGES/README.en.md/eo.po
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid "EuAndreh's package-repository"
-msgstr ""
-
-msgid ""
-"Personal package repository for a variety of operating systems, mainly for "
-"packaging personal projects of mine and make it available for users and "
-"packagers."
-msgstr ""
-
-msgid "See the list of packages [online][online]."
-msgstr ""
-
-msgid "How to add this to different OSes"
-msgstr ""
-
-msgid "Guix"
-msgstr ""
-
-msgid "Add this channel to your `~/.config/guix/channels.scm`:"
-msgstr ""
-
-msgid ""
-"(cons*\n"
-" (channel\n"
-" (name 'xyz-euandreh)\n"
-" (url \"git://euandreh.xyz/package-repository\")\n"
-" (branch \"main\")\n"
-" (introduction\n"
-" (make-channel-introduction\n"
-" \"d749e053e6db365069cb9b2ef47a78b06f9e7361\"\n"
-" (openpgp-fingerprint\n"
-" \"5BDA E9B8 B2F6 C6BC BB0D 6CE5 81F9 0EC3 CD35 6060\"))))\n"
-" %default-channels)\n"
-msgstr ""
-
-msgid ""
-"See also the Guix manual for usage on channels: "
-"[https://guix.gnu.org/manual/en/guix.html#Channels](https://guix.gnu.org/manual/en/guix.html#Channels)"
-msgstr ""
-
-msgid "NixOS"
-msgstr ""
-
-msgid "Adding the overlay to your `/etc/nixos/configuration.nix`:"
-msgstr ""
-
-msgid ""
-" nixpkgs = {\n"
-" overlays = [\n"
-" (import (fetchTarball {\n"
-" url = \"https://euandreh.xyz/package-repository.git/snapshot/package-repository-main.tar.gz\";\n"
-" }) { inherit pkgs; })\n"
-" ];\n"
-" };\n"
-msgstr ""
-
-msgid "Contributing"
-msgstr ""
-
-msgid "For running the extra development-only checks, run:"
-msgstr ""
-
-msgid "$ make dev-check\n"
-msgstr ""
-
-msgid "and for generating the documentation HTML and website, run:"
-msgstr ""
-
-msgid "$ make public\n"
-msgstr ""
-
-msgid ""
-"Send contributions to the [mailing list][mailing list] via [`git send-"
-"email`](https://git-send-email.io/)."
-msgstr ""
-
-msgid "Links"
-msgstr ""
-
-msgid "[homepage](https://euandreh.xyz/package-repository/en/)"
-msgstr ""
-
-msgid "[source code](https://euandreh.xyz/package-repository.git/)"
-msgstr ""
-
-msgid "[bug tracking](https://euandreh.xyz/package-repository/TODOs.html)"
-msgstr ""
-
-msgid "[mailing list][mailing list]"
-msgstr ""
-
-msgid "[CI logs](https://euandreh.xyz/package-repository/ci.html)"
-msgstr ""
-
-msgid "[CHANGELOG](https://euandreh.xyz/package-repository/en/CHANGELOG.html)"
-msgstr ""
-
-msgid "License"
-msgstr ""
-
-msgid ""
-"The code is licensed under [GNU Affero General Public License v3.0 or "
-"later][AGPL-3.0-or-later] (AGPL-3.0-or-later)."
-msgstr ""
-
-#, fuzzy
-msgid "[online]: https://euandreh.xyz/package-repository/paku.html"
-msgstr "[online]: https://euandreh.xyz/package-repository/paku.html"
-
-#, fuzzy
-msgid ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-msgstr ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-
-#, fuzzy
-msgid ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
-msgstr ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
diff --git a/po/LC_MESSAGES/README.en.md/es.po b/po/LC_MESSAGES/README.en.md/es.po
deleted file mode 100644
index fa9bb95..0000000
--- a/po/LC_MESSAGES/README.en.md/es.po
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid "EuAndreh's package-repository"
-msgstr ""
-
-msgid ""
-"Personal package repository for a variety of operating systems, mainly for "
-"packaging personal projects of mine and make it available for users and "
-"packagers."
-msgstr ""
-
-msgid "See the list of packages [online][online]."
-msgstr ""
-
-msgid "How to add this to different OSes"
-msgstr ""
-
-msgid "Guix"
-msgstr ""
-
-msgid "Add this channel to your `~/.config/guix/channels.scm`:"
-msgstr ""
-
-msgid ""
-"(cons*\n"
-" (channel\n"
-" (name 'xyz-euandreh)\n"
-" (url \"git://euandreh.xyz/package-repository\")\n"
-" (branch \"main\")\n"
-" (introduction\n"
-" (make-channel-introduction\n"
-" \"d749e053e6db365069cb9b2ef47a78b06f9e7361\"\n"
-" (openpgp-fingerprint\n"
-" \"5BDA E9B8 B2F6 C6BC BB0D 6CE5 81F9 0EC3 CD35 6060\"))))\n"
-" %default-channels)\n"
-msgstr ""
-
-msgid ""
-"See also the Guix manual for usage on channels: "
-"[https://guix.gnu.org/manual/en/guix.html#Channels](https://guix.gnu.org/manual/en/guix.html#Channels)"
-msgstr ""
-
-msgid "NixOS"
-msgstr ""
-
-msgid "Adding the overlay to your `/etc/nixos/configuration.nix`:"
-msgstr ""
-
-msgid ""
-" nixpkgs = {\n"
-" overlays = [\n"
-" (import (fetchTarball {\n"
-" url = \"https://euandreh.xyz/package-repository.git/snapshot/package-repository-main.tar.gz\";\n"
-" }) { inherit pkgs; })\n"
-" ];\n"
-" };\n"
-msgstr ""
-
-msgid "Contributing"
-msgstr ""
-
-msgid "For running the extra development-only checks, run:"
-msgstr ""
-
-msgid "$ make dev-check\n"
-msgstr ""
-
-msgid "and for generating the documentation HTML and website, run:"
-msgstr ""
-
-msgid "$ make public\n"
-msgstr ""
-
-msgid ""
-"Send contributions to the [mailing list][mailing list] via [`git send-"
-"email`](https://git-send-email.io/)."
-msgstr ""
-
-msgid "Links"
-msgstr ""
-
-msgid "[homepage](https://euandreh.xyz/package-repository/en/)"
-msgstr ""
-
-msgid "[source code](https://euandreh.xyz/package-repository.git/)"
-msgstr ""
-
-msgid "[bug tracking](https://euandreh.xyz/package-repository/TODOs.html)"
-msgstr ""
-
-msgid "[mailing list][mailing list]"
-msgstr ""
-
-msgid "[CI logs](https://euandreh.xyz/package-repository/ci.html)"
-msgstr ""
-
-msgid "[CHANGELOG](https://euandreh.xyz/package-repository/en/CHANGELOG.html)"
-msgstr ""
-
-msgid "License"
-msgstr ""
-
-msgid ""
-"The code is licensed under [GNU Affero General Public License v3.0 or "
-"later][AGPL-3.0-or-later] (AGPL-3.0-or-later)."
-msgstr ""
-
-#, fuzzy
-msgid "[online]: https://euandreh.xyz/package-repository/paku.html"
-msgstr "[online]: https://euandreh.xyz/package-repository/paku.html"
-
-#, fuzzy
-msgid ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-msgstr ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-
-#, fuzzy
-msgid ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
-msgstr ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
diff --git a/po/LC_MESSAGES/README.en.md/fr.po b/po/LC_MESSAGES/README.en.md/fr.po
deleted file mode 100644
index fa9bb95..0000000
--- a/po/LC_MESSAGES/README.en.md/fr.po
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid "EuAndreh's package-repository"
-msgstr ""
-
-msgid ""
-"Personal package repository for a variety of operating systems, mainly for "
-"packaging personal projects of mine and make it available for users and "
-"packagers."
-msgstr ""
-
-msgid "See the list of packages [online][online]."
-msgstr ""
-
-msgid "How to add this to different OSes"
-msgstr ""
-
-msgid "Guix"
-msgstr ""
-
-msgid "Add this channel to your `~/.config/guix/channels.scm`:"
-msgstr ""
-
-msgid ""
-"(cons*\n"
-" (channel\n"
-" (name 'xyz-euandreh)\n"
-" (url \"git://euandreh.xyz/package-repository\")\n"
-" (branch \"main\")\n"
-" (introduction\n"
-" (make-channel-introduction\n"
-" \"d749e053e6db365069cb9b2ef47a78b06f9e7361\"\n"
-" (openpgp-fingerprint\n"
-" \"5BDA E9B8 B2F6 C6BC BB0D 6CE5 81F9 0EC3 CD35 6060\"))))\n"
-" %default-channels)\n"
-msgstr ""
-
-msgid ""
-"See also the Guix manual for usage on channels: "
-"[https://guix.gnu.org/manual/en/guix.html#Channels](https://guix.gnu.org/manual/en/guix.html#Channels)"
-msgstr ""
-
-msgid "NixOS"
-msgstr ""
-
-msgid "Adding the overlay to your `/etc/nixos/configuration.nix`:"
-msgstr ""
-
-msgid ""
-" nixpkgs = {\n"
-" overlays = [\n"
-" (import (fetchTarball {\n"
-" url = \"https://euandreh.xyz/package-repository.git/snapshot/package-repository-main.tar.gz\";\n"
-" }) { inherit pkgs; })\n"
-" ];\n"
-" };\n"
-msgstr ""
-
-msgid "Contributing"
-msgstr ""
-
-msgid "For running the extra development-only checks, run:"
-msgstr ""
-
-msgid "$ make dev-check\n"
-msgstr ""
-
-msgid "and for generating the documentation HTML and website, run:"
-msgstr ""
-
-msgid "$ make public\n"
-msgstr ""
-
-msgid ""
-"Send contributions to the [mailing list][mailing list] via [`git send-"
-"email`](https://git-send-email.io/)."
-msgstr ""
-
-msgid "Links"
-msgstr ""
-
-msgid "[homepage](https://euandreh.xyz/package-repository/en/)"
-msgstr ""
-
-msgid "[source code](https://euandreh.xyz/package-repository.git/)"
-msgstr ""
-
-msgid "[bug tracking](https://euandreh.xyz/package-repository/TODOs.html)"
-msgstr ""
-
-msgid "[mailing list][mailing list]"
-msgstr ""
-
-msgid "[CI logs](https://euandreh.xyz/package-repository/ci.html)"
-msgstr ""
-
-msgid "[CHANGELOG](https://euandreh.xyz/package-repository/en/CHANGELOG.html)"
-msgstr ""
-
-msgid "License"
-msgstr ""
-
-msgid ""
-"The code is licensed under [GNU Affero General Public License v3.0 or "
-"later][AGPL-3.0-or-later] (AGPL-3.0-or-later)."
-msgstr ""
-
-#, fuzzy
-msgid "[online]: https://euandreh.xyz/package-repository/paku.html"
-msgstr "[online]: https://euandreh.xyz/package-repository/paku.html"
-
-#, fuzzy
-msgid ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-msgstr ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-
-#, fuzzy
-msgid ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
-msgstr ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
diff --git a/po/LC_MESSAGES/README.en.md/pt.po b/po/LC_MESSAGES/README.en.md/pt.po
deleted file mode 100644
index fa9bb95..0000000
--- a/po/LC_MESSAGES/README.en.md/pt.po
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-msgid ""
-msgstr ""
-
-msgid "EuAndreh's package-repository"
-msgstr ""
-
-msgid ""
-"Personal package repository for a variety of operating systems, mainly for "
-"packaging personal projects of mine and make it available for users and "
-"packagers."
-msgstr ""
-
-msgid "See the list of packages [online][online]."
-msgstr ""
-
-msgid "How to add this to different OSes"
-msgstr ""
-
-msgid "Guix"
-msgstr ""
-
-msgid "Add this channel to your `~/.config/guix/channels.scm`:"
-msgstr ""
-
-msgid ""
-"(cons*\n"
-" (channel\n"
-" (name 'xyz-euandreh)\n"
-" (url \"git://euandreh.xyz/package-repository\")\n"
-" (branch \"main\")\n"
-" (introduction\n"
-" (make-channel-introduction\n"
-" \"d749e053e6db365069cb9b2ef47a78b06f9e7361\"\n"
-" (openpgp-fingerprint\n"
-" \"5BDA E9B8 B2F6 C6BC BB0D 6CE5 81F9 0EC3 CD35 6060\"))))\n"
-" %default-channels)\n"
-msgstr ""
-
-msgid ""
-"See also the Guix manual for usage on channels: "
-"[https://guix.gnu.org/manual/en/guix.html#Channels](https://guix.gnu.org/manual/en/guix.html#Channels)"
-msgstr ""
-
-msgid "NixOS"
-msgstr ""
-
-msgid "Adding the overlay to your `/etc/nixos/configuration.nix`:"
-msgstr ""
-
-msgid ""
-" nixpkgs = {\n"
-" overlays = [\n"
-" (import (fetchTarball {\n"
-" url = \"https://euandreh.xyz/package-repository.git/snapshot/package-repository-main.tar.gz\";\n"
-" }) { inherit pkgs; })\n"
-" ];\n"
-" };\n"
-msgstr ""
-
-msgid "Contributing"
-msgstr ""
-
-msgid "For running the extra development-only checks, run:"
-msgstr ""
-
-msgid "$ make dev-check\n"
-msgstr ""
-
-msgid "and for generating the documentation HTML and website, run:"
-msgstr ""
-
-msgid "$ make public\n"
-msgstr ""
-
-msgid ""
-"Send contributions to the [mailing list][mailing list] via [`git send-"
-"email`](https://git-send-email.io/)."
-msgstr ""
-
-msgid "Links"
-msgstr ""
-
-msgid "[homepage](https://euandreh.xyz/package-repository/en/)"
-msgstr ""
-
-msgid "[source code](https://euandreh.xyz/package-repository.git/)"
-msgstr ""
-
-msgid "[bug tracking](https://euandreh.xyz/package-repository/TODOs.html)"
-msgstr ""
-
-msgid "[mailing list][mailing list]"
-msgstr ""
-
-msgid "[CI logs](https://euandreh.xyz/package-repository/ci.html)"
-msgstr ""
-
-msgid "[CHANGELOG](https://euandreh.xyz/package-repository/en/CHANGELOG.html)"
-msgstr ""
-
-msgid "License"
-msgstr ""
-
-msgid ""
-"The code is licensed under [GNU Affero General Public License v3.0 or "
-"later][AGPL-3.0-or-later] (AGPL-3.0-or-later)."
-msgstr ""
-
-#, fuzzy
-msgid "[online]: https://euandreh.xyz/package-repository/paku.html"
-msgstr "[online]: https://euandreh.xyz/package-repository/paku.html"
-
-#, fuzzy
-msgid ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-msgstr ""
-"[mailing list]: https://lists.sr.ht/~euandreh/public-"
-"inbox?search=%5Bpackage-repository%5D"
-
-#, fuzzy
-msgid ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"
-msgstr ""
-"[AGPL-3.0-or-later]: https://euandreh.xyz/package-"
-"repository.git/tree/COPYING"