]> Cypherpunks.ru repositories - goredo.git/blobdiff - makedist
Unnecessary .sh extension
[goredo.git] / makedist
diff --git a/makedist b/makedist
new file mode 100755 (executable)
index 0000000..7bc8311
--- /dev/null
+++ b/makedist
@@ -0,0 +1,145 @@
+#!/bin/sh -ex
+
+cur=$(pwd)
+tmp=$(mktemp -d)
+release=$1
+[ -n "$release" ]
+
+git clone . $tmp/goredo-$release
+cd $tmp/goredo-$release
+git checkout v$release
+go generate
+
+redo-ifchange VERSION
+
+########################################################################
+cd doc
+cat > download.texi <<EOF
+You can obtain releases source code prepared tarballs on
+@url{http://www.goredo.cypherpunks.ru/}.
+EOF
+
+mkinfo() {
+    ${MAKEINFO:-makeinfo} --plaintext \
+        --set-customization-variable ASCII_PUNCTUATION=1 \
+        -D "VERSION `cat ../VERSION`" $@
+}
+
+texi=$(mktemp)
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle NEWS
+@node News
+`sed -n '3,$p' < news.texi`
+@bye
+EOF
+mkinfo --output NEWS $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle INSTALL
+@include install.texi
+@bye
+EOF
+perl -i -p -e "s/.verbatiminclude .*PUBKEY.asc/Look in PUBKEY.asc file./" install.texi
+mkinfo --output INSTALL $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle THANKS
+`cat thanks.texi`
+@bye
+EOF
+mkinfo --output THANKS $texi
+
+rm $texi
+redo goredo.info
+mv goredo.info INSTALL NEWS THANKS ..
+cd ..
+
+########################################################################
+
+mkdir -p src
+mv *.go go.* src
+cd src
+go mod vendor
+modvendor -v -copy="**/*_test.go **/private-gen.go **/main.go **/vectors.json **/gen.go"
+rm -rf vendor/golang.org/x/sys/plan9 vendor/golang.org/x/sys/windows
+find vendor/golang.org/x/sys -name "*_test.go" -delete
+find . \( -name .gitignore -o -name .travis.yml \) -delete
+cd ..
+
+########################################################################
+
+rm -rf *.texi .redo .git .gitignore doc makedist VERSION.do
+find . -type d -exec chmod 755 {} +
+find . -type f -exec chmod 644 {} +
+find t/redo-sh.tests -name test -exec chmod +x {} +
+find t -name wrapper.rc -exec chmod +x {} +
+chmod +x t/apenwarr/sleep t/goredo-*.t
+
+cd ..
+tar cvf goredo-"$release".tar --uid=0 --gid=0 --numeric-owner goredo-"$release"
+zstd -19 -v goredo-"$release".tar
+tarball=goredo-"$release".tar.zst
+gpg --detach-sign --sign --local-user 3A528DDE952C7E93 "$tarball"
+gpg --enarmor < "$tarball".sig |
+    sed "/^Comment:/d ; s/ARMORED FILE/SIGNATURE/" > "$tarball".asc
+meta4-create -file "$tarball" -mtime "$tarball" -sig "$tarball".asc \
+    http://www.goredo.cypherpunks.ru/download/"$tarball" \
+    http://y.www.goredo.cypherpunks.ru/download/"$tarball" > "$tarball".meta4
+
+size=$(( $(stat -f %z $tarball) / 1024 ))
+hash=$(gpg --print-md SHA256 < $tarball)
+release_date=$(date "+%Y-%m-%d")
+
+release_underscored=`echo $release | tr . _`
+cat <<EOF
+An entry for documentation:
+@item @ref{Release $release_underscored, $release} @tab $release_date @tab $size KiB
+@tab
+    @url{download/$tarball.meta4, meta4}
+    @url{download/$tarball, link}
+    @url{download/$tarball.sig, sig}
+@tab @code{$hash}
+EOF
+
+mv $tmp/$tarball $tmp/"$tarball".sig $tarball.meta4 $cur/doc/goredo.html/download
+
+cat <<EOF
+Subject: goredo $release release announcement
+
+I am pleased to announce goredo $release release availability!
+
+goredo is Go implementation of djb's redo,
+Makefile replacement that sucks less.
+
+------------------------ >8 ------------------------
+
+The main improvements for that release are:
+
+
+------------------------ >8 ------------------------
+
+goredo's home page is: http://www.goredo.cypherpunks.ru/
+
+Source code and its signature for that version can be found here:
+
+    http://www.goredo.cypherpunks.ru/download/goredo-${release}.tar.zst ($size KiB)
+    http://www.goredo.cypherpunks.ru/download/goredo-${release}.tar.zst.sig
+
+SHA256 hash: $hash
+GPG key ID: 0x3A528DDE952C7E93 goredo releases <goredo@cypherpunks.ru>
+Fingerprint: 7531 BB84 FAF0 BF35 960C  63B9 3A52 8DDE 952C 7E93
+
+Please send questions regarding the use of goredo, bug reports and patches
+to mailing list: http://lists.cypherpunks.ru/goredo_002ddevel.html
+EOF
+
+echo mutt -s \"goredo $release release announcement\" \
+    goredo-devel@lists.cypherpunks.ru \
+    -a $cur/doc/goredo.html/download/"$tarball".meta4