Generated the list file when creating the distribution. Since the Go tool treat the list file on the proxy server as the source of truth, we do the same. The new list file is created by downloading the current list file, sorting it, and appending the current version.
Creating a distribution tarball requires now access to download.libguestfs.org. With this change the distribution tarball can be extract on the server without any additional manual process. Signed-off-by: Nir Soffer <nsof...@redhat.com> --- golang/make-dist.sh | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/golang/make-dist.sh b/golang/make-dist.sh index a590e6c6..5fe006ff 100755 --- a/golang/make-dist.sh +++ b/golang/make-dist.sh @@ -86,48 +86,42 @@ rm -rf libguestfs.org # # libguestfs.org # └── libnbd # ├── @latest # └── @v # ├── list # ├── v1.11.4.info # ├── v1.11.4.mod # └── v1.11.4.zip # -# We create @latest and @v/*{.info,mod,zip} here. -# -# The "@v/list" file must be created on the web server after uploading -# a new release: -# -# $ cd libguestfs.org/libnbd/@v -# $ ls -1 v*.info | awk -F.info '{print $1}' > list -# $ cat list -# v1.11.3 -# v1.11.4 -# # See https://golang.org/ref/mod#serving-from-proxy module_dir=libguestfs.org/libnbd v_dir=$module_dir/@v mkdir -p $v_dir # Go wants a string in RFC 3339 format, git strict ISO 8601 format is # compatible. info="{ \"Version\": \"$version\", \"Time\": \"$(git show -s --format=%cI)\" }" echo "$info" > $module_dir/@latest echo "$info" > $v_dir/$version.info cp go.mod $v_dir/$version.mod mv $version.zip $v_dir +# Create the list file by amending the curent file on the server. +list_url=https://download.libguestfs.org/libnbd/golang/libguestfs.org/libnbd/@v/list +curl --silent --show-error "$list_url" | sort > $v_dir/list +grep -q "$version" $v_dir/list || echo "$version" >> $v_dir/list + # Create tarball to upload and extract on the webserver. It should be # extracted in the directory pointed by the "go-import" meta tag. output=$PWD/libnbd-golang-$version.tar.gz tar czf $output libguestfs.org rm -rf libguestfs.org echo output written to $output -- 2.34.1 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs