diff options
author | EuAndreh <eu@euandre.org> | 2024-03-07 09:33:16 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-07 09:33:16 -0300 |
commit | b1942cadada951d664e38be15214e65be4c93530 (patch) | |
tree | 77215a0b0d98c2bcbc6ea66b862a8bc041efd9c1 | |
parent | src/hero.mjs: Better handling of default values for arguments (diff) | |
download | papod-b1942cadada951d664e38be15214e65be4c93530.tar.gz papod-b1942cadada951d664e38be15214e65be4c93530.tar.xz |
rm -rf tools/
-rw-r--r-- | tools/lib.sh | 44 | ||||
-rwxr-xr-x | tools/makehelp.sh | 149 | ||||
-rwxr-xr-x | tools/manpages.sh | 126 |
3 files changed, 0 insertions, 319 deletions
diff --git a/tools/lib.sh b/tools/lib.sh deleted file mode 100644 index 23953d2..0000000 --- a/tools/lib.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -assert_arg() { - if [ -z "$1" ]; then - printf 'Missing %s.\n\n' "$2" >&2 - cat <<-'EOF' - usage >&2 - exit 2 - EOF - fi -} - -uuid() { - 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)" - mkdir "$name" - echo "$name" -} - -END="\033[0m" -yellow() { - YELLOW="\033[0;33m" - printf "${YELLOW}${1}${END}" -} - -green() { - GREEN="\033[0;32m" - printf "${GREEN}${1}${END}" -} diff --git a/tools/makehelp.sh b/tools/makehelp.sh deleted file mode 100755 index e6118de..0000000 --- a/tools/makehelp.sh +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/sh -set -eu - -. tools/lib.sh - - -usage() { - cat <<-'EOF' - Usage: - makehelp.sh < MAKEFILE - makehelp.sh -h - EOF -} - -help() { - cat <<-'EOF' - - - Options: - -h, --help show this message - - - Generate a help message from the given Makefile. - - Any target or variable commented with two "#" characters gets - picked up. Multi-line comments are supported: - - VAR1 = 1 - # a comment - VAR2 = 2 - ## another comment -> this one is included in the docs - VAR3 = 3 - - ## with a big - ## comment, which is also included - a-target: - - - Examples: - - Generate help messages from "Makefile": - - $ aux/makehelp.sh < Makefile - - - Generate help messages for all targets: - - $ cat Makefile dev.mk | aux/makehelp.sh - EOF -} - - -for flag in "$@"; do - case "$flag" in - (--) - break - ;; - (--help) - usage - help - exit - ;; - (*) - ;; - esac -done - -while getopts 'h' flag; do - case "$flag" in - (h) - usage - help - exit - ;; - (*) - usage >&2 - exit 2 - ;; - esac -done -shift $((OPTIND - 1)) - - -TARGETS="$(mkstemp)" -VARIABLES="$(mkstemp)" -trap 'rm -f "$TARGETS" "$VARIABLES"' EXIT - -awk -vCOLUMN=15 -vTARGETS="$TARGETS" -vVARIABLES="$VARIABLES" ' -function indent(n, where) { - for (INDENT = 0; INDENT < n; INDENT++) { - printf " " > where - } -} - -/^## / { doc[len++] = substr($0, 4) } - -/^[-_a-zA-Z]+:/ && len { - printf "\033[36m%s\033[0m", substr($1, 1, length($1) - 1) > TARGETS - for (i = 0; i < len; i++) { - n = COLUMN - (i == 0 ? length($1) - 1 : 0) - indent(n, TARGETS) - printf "%s\n", doc[i] > TARGETS - } - len = 0 -} - -/^.++=/ && len { - printf "\033[36m%s\033[0m", $1 > VARIABLES - for (i = 0; i < len; i++) { - n = COLUMN - (i == 0 ? length($1) : 0) - indent(n, VARIABLES) - printf "%s\n", doc[i] > VARIABLES - } - len = 0 -}' - - - -indent() { - sed 's|^| |' -} - -cat <<-EOF - Usage: - - make [VARIABLE=value...] [target...] - - - Targets: - - $(indent < "$TARGETS") - - - Variables: - - $(indent < "$VARIABLES") - - - Examples: - - Build "all", the default target: - - $ make - - - Test and install, with \$(DESTDIR) set to "tmp/": - - $ make DESTDIR=tmp check install -EOF diff --git a/tools/manpages.sh b/tools/manpages.sh deleted file mode 100755 index 755ff77..0000000 --- a/tools/manpages.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -set -eu - -. tools/lib.sh - - -usage() { - cat <<-'EOF' - Usage: - sh doc/manpages.sh -i|-u -p MANDIR FILE... - sh doc/manpages.sh -h - EOF -} - -help() { - cat <<-'EOF' - - - Options: - -i set ACTION=install - -u set ACTION=uninstall - -p MANDIR use $MANDIR as the prefix directory - -h, --help show this message - - - Installs/uninstalls manpage files into MANDIR using the original - filename as a hint towards which subdirectory to pick: the - `prog.ru.1` file is installed under the `man1/` directory - hierarchy under the `ru/` language folder. When then language - is `en`, a the toplevel `man1/` gets a symlink to the `en/` - language folder: - - man/ - en/ - man1/ - prog.1 - ru/ - man1/ - prog.1 - man1/ - prog.1 -> ../en/man1/prog.1 - - - Examples: - - Install prog.en.1 under `/usr/man`: - - $ sh doc/manpages.sh -ip/usr/man prog.en.1 - - - Uninstall all files listed under doc/ from `$PREFIX`: - - sh doc/manpages.sh -up "$PREFIX" doc/*.[0-9] - EOF -} - - -for flag in "$@"; do - case "$flag" in - (--) - break - ;; - (--help) - usage - help - exit - ;; - (*) - ;; - esac -done - -while getopts 'iup:h' flag; do - case "$flag" in - (i) - ACTION=install - ;; - (u) - ACTION=uninstall - ;; - (p) - MANDIR="$OPTARG" - ;; - (h) - usage - help - exit - ;; - (*) - usage >&2 - exit 2 - ;; - esac -done -shift $((OPTIND - 1)) - -eval "$(assert_arg "${ACTION:-}" '-[iu] for choosing action')" -eval "$(assert_arg "${MANDIR:-}" '-p MANDIR')" -eval "$(assert_arg "${1:-}" 'FILE...')" - - -for f in "$@"; do - l="$(echo "$f" | awk -F. '{print $(NF-1)}')" - n="$(echo "$f" | awk -F. '{print $NF}')" - case "$ACTION" in - (install) - to_name="$(basename "${f%."$l"."$n"}.$n")" - mkdir -p "$MANDIR/$l/man$n" "$MANDIR/man$n" - cp "$f" "$MANDIR/$l/man$n/$to_name" - if [ "$l" = 'en' ]; then - ln -fs "../en/man$n/$to_name" \ - "$MANDIR/man$n/$to_name" - fi - ;; - (uninstall) - to_name="$(basename "${f%."$l"."$n"}.$n")" - rm -f \ - "$MANDIR/$l/man$n/$to_name" \ - "$MANDIR/man$n/$to_name" - ;; - (*) - echo "Bad ACTION: $ACTION" - exit 1 - ;; - esac -done |