#!/bin/sh -ex
+PATH=$HOME/work/meta4ra/contrib:$PATH
cur=$(pwd)
tmp=$(mktemp -d)
release=$1
git clone . $tmp/nncp-$release
cd $tmp/nncp-$release
git checkout v$release
-redo VERSION
+./version > VERSION
cd src
go mod vendor
modvendor -v -copy="**/*_test.go **/words.go **/README.md **/main.go"
rm -r \
github.com/flynn/noise/vector* \
github.com/gorhill/cronexpr/APLv2 \
- github.com/hjson/hjson-go/build_release.sh \
+ github.com/hjson/hjson-go/v4/build_release.sh \
github.com/klauspost/compress/gen.sh \
github.com/klauspost/compress/gzhttp \
github.com/klauspost/compress/internal/snapref \
-name .goreleaser.yml -o \
-name .gitattributes \) -delete
-mkdir contrib
-cp ~/work/redo/apenwarr/minimal/do contrib/do
-
cat > doc/download.texi <<EOF
@node Tarballs
@section Prepared tarballs
@url{http://www.nncpgo.org/Mirrors.html, mirrors}.
EOF
perl -i -ne 'print unless /include pedro/' doc/index.texi doc/about.ru.texi
-perl -p -i -e 's/^(.verbatiminclude) .*$/$1 PUBKEY.asc/g' doc/integrity.texi
-mv doc/.well-known/openpgpkey/nncpgo.org/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc PUBKEY.asc
-ln -s ../PUBKEY.asc doc
+mv doc/.well-known/openpgpkey/nncpgo.org/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc PUBKEY-PGP.asc
redo doc/all
########################################################################
########################################################################
-perl -i -npe "s/GO build/GO build -mod=vendor/" bin/default.do bin/hjson-cli.do
-perl -i -npe "s/GO list/GO list -mod=vendor/" bin/default.do
-perl -i -npe "s/GO test/GO test -mod=vendor/" test.do
-rm makedist.sh VERSION.do
-rm -r .git
+perl -i -npe "s/GO build/GO build -mod=vendor/" bin/build
+perl -i -npe "s/GO list/GO list -mod=vendor/" bin/build
+rm makedist version
+rm -r .git t
redo-cleanup full
find . -type d -exec chmod 755 {} +
find . -type f -exec chmod 644 {} +
find . -type f -name "*.sh" -exec chmod +x {} +
-chmod +x contrib/do
+chmod +x bin/build install install-strip uninstall
cd ..
tar cvf nncp-"$release".tar --uid=0 --gid=0 --numeric-owner nncp-"$release"
xz -9v nncp-"$release".tar
tarball=nncp-"$release".tar.xz
-gpg --detach-sign --sign --local-user releases@nncpgo.org "$tarball"
-gpg --enarmor < "$tarball".sig |
- sed "/^Comment:/d ; s/ARMORED FILE/SIGNATURE/" > "$tarball".asc
-meta4-create -file "$tarball" -mtime "$tarball" -sig "$tarball".asc \
+ssh-keygen -Y sign -f ~/.ssh/sign/releases@nncpgo.org -n file $tarball
+gpg --armor --detach-sign --sign --local-user releases@nncpgo.org "$tarball"
+meta4-create -fn "$tarball" -mtime "$tarball" \
+ -sig-pgp "$tarball".asc -sig-ssh "$tarball".sig \
http://www.nncpgo.org/download/"$tarball" \
http://y.www.nncpgo.org/download/"$tarball" \
- https://nncp.mirrors.quux.org/download/"$tarball" > "$tarball".meta4
+ https://nncp.mirrors.quux.org/download/"$tarball" < "$tarball" > "$tarball".meta4
size=$(( $(stat -f %z $tarball) / 1024 ))
-hash=$(gpg --print-md SHA256 < $tarball)
release_date=$(date "+%Y-%m-%d")
-mv -v $tmp/"$tarball" $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/doc/download
+mv -v $tmp/"$tarball" $tmp/"$tarball".asc $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/doc/download
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/nncp-${release}.tar.xz.meta4, meta4}
- @url{download/nncp-${release}.tar.xz, link}
- @url{download/nncp-${release}.tar.xz.sig, sig}
-@tab @code{$hash}
+@item @ref{Release $release_underscored, $release} @tab $release_date @tab $size KiB @tab
+@url{download/nncp-${release}.tar.xz.meta4, meta4}
+@url{download/nncp-${release}.tar.xz, tar}
+@url{download/nncp-${release}.tar.xz.asc, pgp}
+@url{download/nncp-${release}.tar.xz.sig, ssh}
EOF
cd $cur
Source code and its signature for that version can be found here:
http://www.nncpgo.org/download/nncp-${release}.tar.xz ($size KiB)
+ http://www.nncpgo.org/download/nncp-${release}.tar.xz.asc
http://www.nncpgo.org/download/nncp-${release}.tar.xz.sig
-SHA256 hash: $hash
-GPG key ID: 0x2B25868E75A1A953 NNCP releases <releases@nncpgo.org>
-Fingerprint: 92C2 F0AE FE73 208E 46BF F3DE 2B25 868E 75A1 A953
+OpenPGP key: 92C2 F0AE FE73 208E 46BF F3DE 2B25 868E 75A1 A953
+ NNCP releases <releases@nncpgo.org>
+OpenSSH key: SHA256:FRiWawVNBkyS3jFn8uZ/JlT+PWKSFbhWe5XSixp1+SY
There are mirrors where you can also get the source code tarballs:
http://www.nncpgo.org/Mirrors.html
Исходный код и его подпись для этой версии находятся здесь:
http://www.nncpgo.org/download/nncp-${release}.tar.xz ($size KiB)
+ http://www.nncpgo.org/download/nncp-${release}.tar.xz.asc
http://www.nncpgo.org/download/nncp-${release}.tar.xz.sig
-SHA256 хэш: $hash
-Идентификатор GPG ключа: 0x2B25868E75A1A953 NNCP releases <releases@nncpgo.org>
-Отпечаток: 92C2 F0AE FE73 208E 46BF F3DE 2B25 868E 75A1 A953
+OpenPGP ключ: 92C2 F0AE FE73 208E 46BF F3DE 2B25 868E 75A1 A953
+ NNCP releases <releases@nncpgo.org>
+OpenSSH ключ: SHA256:FRiWawVNBkyS3jFn8uZ/JlT+PWKSFbhWe5XSixp1+SY
Есть и зеркала где вы также можете получить архивы с исходным кодом:
http://www.nncpgo.org/Mirrors.html