]> Sergey Matveev's repositories - tofuproxy.git/blob - makedist
Armored signature
[tofuproxy.git] / makedist
1 #!/bin/sh -ex
2
3 cur=$(pwd)
4 tmp=$(mktemp -d)
5 release=$1
6 [ -n "$release" ]
7
8 git clone . $tmp/tofuproxy-$release
9 cd $tmp/tofuproxy-$release
10 git checkout v$release
11
12 redo-ifchange VERSION
13
14 ########################################################################
15 cd doc
16 cat > download.texi <<EOF
17 You can obtain releases source code prepared tarballs on
18 @url{http://www.tofuproxy.stargrave.org}.
19 EOF
20
21 mkinfo() {
22     ${MAKEINFO:-makeinfo} --plaintext \
23         --set-customization-variable ASCII_PUNCTUATION=1 \
24         -D "VERSION `cat ../VERSION`" $@
25 }
26
27 texi=$(mktemp)
28
29 cat > $texi <<EOF
30 \input texinfo
31 @documentencoding UTF-8
32 @settitle INSTALL
33 @include install.texi
34 @bye
35 EOF
36 mkinfo --output INSTALL $texi
37
38 rm $texi
39 redo tofuproxy.info
40 mv tofuproxy.info INSTALL ..
41 cd ..
42
43 ########################################################################
44
45 go mod vendor
46 rm -rf vendor/golang.org/x/sys/windows
47 find . \( -name .gitignore -o -name .travis.yml \) -delete
48
49 ########################################################################
50
51 rm -rf .redo .git makedist VERSION.do
52 find . -type d -exec chmod 755 {} +
53 find . -type f -exec chmod 644 {} +
54 chmod +x build state-init fifos/ensure fifos/multitail cmd/zstd/build
55
56 cd ..
57 tar cvf tofuproxy-"$release".tar --uid=0 --gid=0 --numeric-owner tofuproxy-"$release"
58 zstd -19 -v tofuproxy-"$release".tar
59 tarball=tofuproxy-"$release".tar.zst
60 gpg --armor --detach-sign --sign --local-user 12AD32689C660D426967FD75CB8205632107AD8A "$tarball"
61 meta4-create -fn "$tarball" -mtime "$tarball" -sig "$tarball".asc \
62     http://www.tofuproxy.stargrave.org/download/"$tarball" \
63     http://y.www.tofuproxy.stargrave.org/download/"$tarball" < "$tarball" > "$tarball".meta4
64
65 size=$(( $(stat -f %z $tarball) / 1024 ))
66 release_date=$(date "+%Y-%m-%d")
67
68 release_underscored=`echo $release | tr . _`
69 cat <<EOF
70 An entry for documentation:
71 @item $release @tab $release_date @tab $size KiB @tab
72     @url{download/$tarball.meta4, meta4}
73     @url{download/$tarball, tar}
74     @url{download/$tarball.asc, sig}
75 EOF
76
77 mv $tmp/$tarball $tmp/"$tarball".asc $tarball.meta4 $cur/doc/tofuproxy.html/download