Blame


1 30f047cf 2022-08-25 op #!/bin/sh
2 7e8a403b 2023-05-04 op #
3 7e8a403b 2023-05-04 op # gotmarc was written by Omar Polo <op@openbsd.org> and is placed in the
4 7e8a403b 2023-05-04 op # public domain. The author hereby disclaims copyright to this source
5 7e8a403b 2023-05-04 op # code.
6 30f047cf 2022-08-25 op
7 39f537ac 2023-05-04 op progname="$(basename "$0")"
8 39f537ac 2023-05-04 op usage() {
9 469be48e 2023-05-05 op u="usage: $progname [-c cachedir] [-j n]"
10 469be48e 2023-05-05 op u="$u [-m maildir] [-o outdir] [-t tmpldir]"
11 469be48e 2023-05-05 op echo "$u">&2
12 39f537ac 2023-05-04 op exit 1
13 39f537ac 2023-05-04 op }
14 39f537ac 2023-05-04 op
15 ab1569ee 2023-05-06 op # changed at install-time
16 39f537ac 2023-05-04 op libexec=.
17 39f537ac 2023-05-04 op mblaze=.mblaze
18 469be48e 2023-05-05 op tmpldir=templates/
19 39f537ac 2023-05-04 op
20 39626f32 2023-05-06 op # fix perl include path for in-repo hacking
21 39626f32 2023-05-06 op if [ "$libexec" = . ]; then
22 39626f32 2023-05-06 op export PERL5LIB="$PWD${PERL5LIB:+:}$PERL5LIB"
23 39626f32 2023-05-06 op fi
24 39626f32 2023-05-06 op
25 16559639 2023-05-05 op cachedir=$HOME/.cache/gotmarc
26 16559639 2023-05-05 op mdir=$HOME/Mail/gotmarc
27 16559639 2023-05-05 op outdir=/var/www/gotmarc
28 39f537ac 2023-05-04 op
29 469be48e 2023-05-05 op while getopts c:j:m:o:t: flag; do
30 39f537ac 2023-05-04 op case $flag in
31 16559639 2023-05-05 op c) cachedir="$OPTARG" ;;
32 39f537ac 2023-05-04 op j) MAKE_JOBS="$OPTARG" ;;
33 39f537ac 2023-05-04 op m) mdir="$OPTARG" ;;
34 39f537ac 2023-05-04 op o) outdir="$OPTARG" ;;
35 469be48e 2023-05-05 op t) tmpldir="$OPTARG" ;;
36 39f537ac 2023-05-04 op ?) usage ;;
37 39f537ac 2023-05-04 op esac
38 39f537ac 2023-05-04 op done
39 39f537ac 2023-05-04 op
40 30f047cf 2022-08-25 op # set up the env
41 16559639 2023-05-05 op export CSUMDIR="$cachedir/threadsum"
42 30f047cf 2022-08-25 op export MAKE_JOBS="${MAKE_JOBS:-1}"
43 39f537ac 2023-05-04 op export MBLAZE="$mblaze"
44 30f047cf 2022-08-25 op export MBLAZE_PAGER=cat
45 39f537ac 2023-05-04 op export MDIR="$mdir"
46 16559639 2023-05-05 op export OUTDIR="${outdir:-/var/www/gotmarc}"
47 469be48e 2023-05-05 op export TMPLDIR="$tmpldir"
48 30f047cf 2022-08-25 op
49 39f537ac 2023-05-04 op # make sure the directories are there
50 39f537ac 2023-05-04 op set -e
51 16559639 2023-05-05 op mkdir -p "$CSUMDIR"
52 16559639 2023-05-05 op mkdir -p "$OUTDIR/mail"
53 16559639 2023-05-05 op mkdir -p "$OUTDIR/parts"
54 16559639 2023-05-05 op mkdir -p "$OUTDIR/text"
55 16559639 2023-05-05 op mkdir -p "$OUTDIR/thread"
56 39f537ac 2023-05-04 op set +e
57 30f047cf 2022-08-25 op
58 39f537ac 2023-05-04 op export PATH="$libexec:$PATH"
59 39f537ac 2023-05-04 op
60 8a090a17 2022-08-30 op fmt='%i-%R %16D<%64f>%128S'
61 39f537ac 2023-05-04 op mlist "${MDIR}" | mthread -r | mscan -f "$fmt" | pe | mkindex