#!/bin/sh -ex cur=$(pwd) tmp=$(mktemp -d) release=$1 [ -n "$release" ] MAKEINFO=${MAKEINFO:=makeinfo} git clone . $tmp/gocheese-$release cd $tmp/gocheese-$release git checkout v$release redo-ifchange module-name mod_name=`cat module-name` crypto_mod_path=$(sed -n 's#^require \(golang.org/x/crypto\) \(.*\)$#\1@\2#p' go.mod) mkdir -p src/$mod_name mv *.go go.mod go.sum src/$mod_name mods=" golang.org/x/crypto golang.org/x/net " for mod in $mods; do mod_path=$(sed -n "s# // indirect## ; s#^ \($mod\) \(.*\)\$#\1@\2#p" src/$mod_name/go.mod) [ -n "$mod_path" ] mkdir -p src/$mod ( cd $GOPATH/pkg/mod/$mod_path ; tar cf - --exclude ".git*" * ) | tar xfC - src/$mod chmod -R +w src/$mod done for mod in golang.org/x/sys; do mod_path=$(sed -n "s#^\($mod\) \(.*\) h1:.*\$#\1@\2#p" src/$mod_name/go.sum | sed /go.mod/d | sort -n -r | sed -n 1p) [ -n "$mod_path" ] mkdir -p src/$mod ( cd $GOPATH/pkg/mod/$mod_path ; tar cf - --exclude ".git*" * ) | tar xfC - src/$mod chmod -R +w src/$mod done cat > $tmp/includes < download.texi < $texi < gocheese.do echo 'GOPATH=`pwd` ${GO:=go} test `cat module-name`/... >&2' > test.do find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; chmod +x pyshop2packages.sh cd .. tar cvf gocheese-"$release".tar --uid=0 --gid=0 --numeric-owner gocheese-"$release" xz -9 gocheese-"$release".tar gpg --detach-sign --sign --local-user CD5CD01F55343D88 gocheese-"$release".tar.xz tarball=gocheese-"$release".tar.xz size=$(( $(stat -f %z $tarball) / 1024 )) hash=$(gpg --print-md SHA256 < $tarball) release_date=$(date "+%Y-%m-%d") cat <