]> Cypherpunks.ru repositories - gogost.git/blobdiff - makedist.sh
Download link for 4.2.4 release
[gogost.git] / makedist.sh
index c427ee9af4e9e8d31a887c6ee6424b824a4bf0f2..5ca9e86a98caf29fd3a6a2118ee7f3a292ca0259 100755 (executable)
@@ -5,23 +5,75 @@ tmp=$(mktemp -d)
 release=$1
 [ -n "$release" ]
 
+redo-ifchange module-name streebog256
+mod_name=`cat module-name`
 git clone . $tmp/gogost-$release
 cd $tmp/gogost-$release
-git checkout $release
-git submodule update --init
-
-mkdir -p src/cypherpunks.ru/gogost/vendor
-cat > $tmp/includes <<EOF
-golang.org/x/crypto/AUTHORS
-golang.org/x/crypto/CONTRIBUTORS
-golang.org/x/crypto/LICENSE
-golang.org/x/crypto/PATENTS
-golang.org/x/crypto/README
-golang.org/x/crypto/pbkdf2
+git checkout v$release
+
+crypto_mod_path=$(sed -n 's#^require \(golang.org/x/crypto\) \(.*\)$#\1@\2#p' go.mod)
+mkdir -p src/$mod_name
+mv \
+    gost28147 \
+    gost3410 \
+    gost34112012256 \
+    gost34112012512 \
+    gost341194 \
+    gost3412128 \
+    gost341264 \
+    gost3413 \
+    mgm \
+    prfplus \
+    cmd internal gogost.go go.mod go.sum src/$mod_name
+
+rm module-name.do clean.do
+echo $mod_name > module-name
+find . -name "*.do" -exec perl -i -npe "s/^go/GOPATH=\`pwd\` go/" {} \;
+
+mkdir -p src/golang.org/x/crypto
+( cd $GOPATH/pkg/mod/$crypto_mod_path ; \
+    tar cf - AUTHORS CONTRIBUTORS LICENSE PATENTS README.md pbkdf2 hkdf ) |
+    tar xfC - src/golang.org/x/crypto
+
+cat > download.texi <<EOF
+You can obtain releases source code prepared tarballs on
+@url{http://gogost.cypherpunks.ru/}.
 EOF
-tar cfCI - src $tmp/includes | tar xfC - src/cypherpunks.ru/gogost/vendor
+
+texi=$(mktemp)
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle INSTALL
+@include install.texi
+@bye
+EOF
+makeinfo --plaintext -o INSTALL $texi
+rm $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle NEWS
+@include news.texi
+@bye
+EOF
+makeinfo --plaintext -o NEWS $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle FAQ
+@include faq.texi
+@bye
+EOF
+makeinfo --plaintext -o FAQ $texi
+
 find . -name .git -type d | xargs rm -fr
-rm -fr www* makedist* TODO src/golang.org $tmp/includes
+rm -f *.texi www.do style.css makedist.sh TODO .gitignore
+
+find . -type d -exec chmod 755 {} \;
+find . -type f -exec chmod 644 {} \;
 
 cd ..
 tar cvf gogost-"$release".tar --uid=0 --gid=0 --numeric-owner gogost-"$release"
@@ -29,7 +81,7 @@ xz -9 gogost-"$release".tar
 gpg --detach-sign --sign --local-user 82343436696FC85A gogost-"$release".tar.xz
 
 tarball=gogost-"$release".tar.xz
-size=$(( $(wc -c < $tarball) / 1024 ))
+size=$(( $(stat -f %z $tarball) / 1024 ))
 hash=$(gpg --print-md SHA256 < $tarball)
 hashsb=$($HOME/work/gogost/streebog256 < $tarball)
 release_date=$(date "+%Y-%m-%d")