aboutsummaryrefslogtreecommitdiff
path: root/aux
diff options
context:
space:
mode:
Diffstat (limited to 'aux')
-rwxr-xr-xaux/ci/ci-build.sh9
-rwxr-xr-xaux/ci/git-pre-push.sh3
-rwxr-xr-xaux/ci/report.sh4
-rw-r--r--aux/guix/manifest.scm1
-rwxr-xr-xaux/lib.sh30
-rwxr-xr-xaux/workflow/assert-manpages.sh10
-rwxr-xr-xaux/workflow/assert-readme.sh6
-rwxr-xr-xaux/workflow/assert-spelling.sh8
8 files changed, 59 insertions, 12 deletions
diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh
index be97866..74e9558 100755
--- a/aux/ci/ci-build.sh
+++ b/aux/ci/ci-build.sh
@@ -7,6 +7,13 @@ read -r _ SHA _ # oldrev newrev refname
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)"
@@ -35,7 +42,7 @@ EOF
unset GIT_DIR
REMOTE="$PWD"
- cd "$(mktemp -d)"
+ cd "$(mkdtemp)"
git clone "$REMOTE" .
git config --global user.email git@euandre.org
git config --global user.name 'EuAndreh CI'
diff --git a/aux/ci/git-pre-push.sh b/aux/ci/git-pre-push.sh
index cccd6e5..4fcf733 100755
--- a/aux/ci/git-pre-push.sh
+++ b/aux/ci/git-pre-push.sh
@@ -2,12 +2,13 @@
set -eux
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
PROJECT="$(basename "$PWD")"
LOGS_DIR="/opt/ci/$PROJECT/logs"
REMOTE_GIT_DIR="/srv/git/$PROJECT.git"
-DESCRIPTION="$(mktemp)"
+DESCRIPTION="$(mkstemp)"
if [ -f description ]
then
cp description "$DESCRIPTION"
diff --git a/aux/ci/report.sh b/aux/ci/report.sh
index 710451c..a90d10a 100755
--- a/aux/ci/report.sh
+++ b/aux/ci/report.sh
@@ -2,6 +2,8 @@
set -eu
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
+
while getopts 'n:o:' flag; do
case "$flag" in
n)
@@ -32,7 +34,7 @@ FAIL='❌'
mkdir -p "$OUTDIR/ci-logs" "$OUTDIR/ci-data"
-OUT="$(mktemp)"
+OUT="$(mkstemp)"
chmod 644 "$OUT"
git fetch origin refs/notes/ci-data:refs/notes/ci-data ||: &
diff --git a/aux/guix/manifest.scm b/aux/guix/manifest.scm
index 58dbc6e..91a1b84 100644
--- a/aux/guix/manifest.scm
+++ b/aux/guix/manifest.scm
@@ -6,6 +6,7 @@
diffutils
grep
sed
+ m4
git
gawk
make
diff --git a/aux/lib.sh b/aux/lib.sh
new file mode 100755
index 0000000..c31c4fb
--- /dev/null
+++ b/aux/lib.sh
@@ -0,0 +1,30 @@
+#!/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 -1 | \
+ awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}'
+}
+
+tmpname() {
+ echo 'mkstemp(template)' | m4 -D template="${TMPDIR:-/tmp}/m4-tmpname."
+}
+
+mkstemp() {
+ name="$(tmpname)"
+ touch "$name"
+ echo "$name"
+}
+
+mkdtemp() {
+ name="$(tmpname)"
+ rm -f "$name"
+ mkdir "$name"
+ echo "$name"
+}
diff --git a/aux/workflow/assert-manpages.sh b/aux/workflow/assert-manpages.sh
index 8a3c497..b26c7a4 100755
--- a/aux/workflow/assert-manpages.sh
+++ b/aux/workflow/assert-manpages.sh
@@ -2,6 +2,8 @@
set -eu
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
+
IN_PLACE=false
while getopts 'l:n:m:i' flag; do
case "$flag" in
@@ -36,7 +38,7 @@ 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"
@@ -72,7 +74,7 @@ Comments and discussions
.UE .
EOF
-EXPECTED_PT="$(mktemp)"
+EXPECTED_PT="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_PT"
@@ -108,7 +110,7 @@ Comentários e discussões
.UE .
EOF
-EXPECTED_FR="$(mktemp)"
+EXPECTED_FR="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_FR"
@@ -146,7 +148,7 @@ Commentaires et discussions
.UE .
EOF
-EXPECTED_EO="$(mktemp)"
+EXPECTED_EO="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_EO"
diff --git a/aux/workflow/assert-readme.sh b/aux/workflow/assert-readme.sh
index 99ec692..843fd86 100755
--- a/aux/workflow/assert-readme.sh
+++ b/aux/workflow/assert-readme.sh
@@ -2,6 +2,8 @@
set -eu
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
+
while getopts 'n:m:' flag; do
case "$flag" in
n)
@@ -27,7 +29,7 @@ assert_arg() {
assert_arg "${PROJECT:-}" '-n PROJECT'
assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
-EXPECTED="$(mktemp)"
+EXPECTED="$(mkstemp)"
cat <<EOF >> "$EXPECTED"
For running the extra development-only checks, run:
@@ -57,7 +59,7 @@ Send contributions to the [mailing list] via [\`git send-email\`](https://git-se
[mailing list]: https://lists.sr.ht/~euandreh/$MAILING_LIST?search=%5B$PROJECT%5D
EOF
-RELEASES_LIST="$(mktemp)"
+RELEASES_LIST="$(mkstemp)"
add_release() {
DATE="$1"
VVERSION="$2"
diff --git a/aux/workflow/assert-spelling.sh b/aux/workflow/assert-spelling.sh
index cdc6d28..f1eef6f 100755
--- a/aux/workflow/assert-spelling.sh
+++ b/aux/workflow/assert-spelling.sh
@@ -1,11 +1,13 @@
#!/bin/sh
set -eu
+. aux/lib.sh
+
sort_dicts() {
for f in po/spelling/*.txt; do
if ! LANG=POSIX sort "$f" | diff - "$f"; then
if [ "$IN_PLACE" = true ]; then
- OUT="$(mktemp)"
+ OUT="$(mkstemp)"
LANG=POSIX sort "$f" | uniq > "$OUT"
mv "$OUT" "$f"
else
@@ -57,10 +59,10 @@ get_lang() {
'
}
-ACC="$(mktemp)"
+ACC="$(mkstemp)"
for f in "$@"; do
l="$(get_lang "$f")"
- CURR_DICT="$(mktemp)"
+ CURR_DICT="$(mkstemp)"
cat po/spelling/international.txt "po/spelling/$l.txt" | sort | uniq > "$CURR_DICT"
hunspell -u3 -H -d "$l" -p "$CURR_DICT" "$f" | tee -a "$ACC" >&2
done