]> Sergey Matveev's repositories - vors.git/blob - makedist
Download link for 3.1.0 release
[vors.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/vors-$release
9 cd $tmp/vors-$release
10 git checkout v$release
11 perl -ne 'print "$1\n" if /Version.*"(.*)"$/' <internal/version.go >VERSION
12
13 ########################################################################
14
15 cd doc
16 cat >download.texi <<EOF
17 You can obtain releases source code prepared tarballs on
18 @url{http://www.vors.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 ./mk-info
40 mv vors.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 zstd -d <~/src/xiph/opus/opus-1.5.2.tar.zst >opus-1.5.2.tar
52 rm -rf .git makedist
53 find . -type d -exec chmod 755 {} +
54 find . -type f -exec chmod 644 {} +
55 chmod +x build mk-non-static
56
57 cd ..
58 tar cvf vors-"$release".tar --uid=0 --gid=0 --numeric-owner vors-"$release"
59 zstd --ultra -22 -v vors-"$release".tar
60 tarball=vors-"$release".tar.zst
61 ssh-keygen -Y sign -f ~/.ssh/sign/vors@stargrave.org -n file $tarball
62 meta4ra-create -fn "$tarball" -mtime "$tarball" \
63     -sig-ssh "$tarball".sig \
64     http://www.vors.stargrave.org/download/"$tarball" \
65     http://y.www.vors.stargrave.org/download/"$tarball" <"$tarball" >"$tarball".meta4
66
67 size=$(( $(stat -f %z $tarball) / 1024 ))
68 release_date=$(date "+%Y-%m-%d")
69
70 release_underscored=`echo $release | tr . _`
71 cat <<EOF
72 An entry for documentation:
73 @item $release @tab $release_date @tab $size KiB @tab
74     @url{download/$tarball.meta4, meta4}
75     @url{download/$tarball, tar}
76     @url{download/$tarball.sig, ssh}
77 EOF
78
79 mv $tmp/$tarball $tmp/"$tarball".sig $tarball.meta4 $cur/doc/vors.html/download