pixman: Branch 'master' - 2 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 2 22:05:51 UTC 2024


 release.sh |  100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)

New commits:
commit f05a251d94d11b1890172cab7c7b4793c3aa95e9
Author: Matt Turner <mattst88 at gmail.com>
Date:   Mon Nov 25 13:14:20 2024 -0500

    release.sh: Some improvements
    
    - Upload tar.xz to both x.org and cairographics.org
    - Move `git push` and `scp` to the end
    - Do most of the work from within build/meson-dist/
    - Copy wayland's release.sh's code for getting the project version
    - Use bash

diff --git a/release.sh b/release.sh
index 55a2aea..5d3ac95 100755
--- a/release.sh
+++ b/release.sh
@@ -1,7 +1,34 @@
-#!/bin/sh -eu
+#!/bin/bash
 
-version=
-prev=
+set -eu
+
+build_dir=build-release
+
+case "$(git rev-parse --abbrev-ref HEAD)" in
+master | [0-9]*.[0-9]*)
+	;;
+*)
+	echo "Not on the master or a stable branch"
+	exit 1
+esac
+
+if [[ -n "$(git log origin..)" ]]; then
+	echo "The main branch has unpushed commits"
+	exit 1
+fi
+
+meson_options=""
+if [[ -e "$build_dir" ]]; then
+	meson_options="$meson_options --wipe"
+fi
+meson setup "$build_dir" $meson_options
+
+prev_version="$(git describe --tags --abbrev=0)"
+version="$(meson introspect "$build_dir" --projectinfo | jq -r .version)"
+if [[ "pixman-$version" == "$prev_version" ]]; then
+	echo "Version not bumped"
+	exit 1
+fi
 
 cairo_dest=cairographics.org:/srv/cairo.freedesktop.org/www/releases
 xorg_dest=xorg.freedesktop.org:/srv/xorg.freedesktop.org/archive/individual/lib
@@ -10,21 +37,26 @@ cairo_url=https://cairographics.org/releases
 xorg_url=https://www.x.org/releases/individual/lib
 
 tar_gz="pixman-$version.tar.gz"
-tar_xz="pixman-$version.tar.xz"
-
 sha512_tgz="$tar_gz.sha512"
-pgp_sig="$sha512_tgz.asc"
+pgp_sig_tgz="$sha512_tgz.asc"
+
+tar_xz="pixman-$version.tar.xz"
+sha512_txz="$tar_xz.sha512"
+pgp_sig_txz="$sha512_txz.asc"
 
 announce="pixman-$version.eml"
 
-meson dist -C build/ --formats xztar,gztar
-cd build/meson-dist/
+distdir="${build_dir}/meson-dist"
+
+git tag -m "pixman $version release" "pixman-$version"
+
+meson setup "${build_dir}"
+meson dist -C "${build_dir}" --formats xztar,gztar
+pushd "$distdir" >&/dev/null
 sha512sum "$tar_gz" >"$sha512_tgz"
+sha512sum "$tar_xz" >"$sha512_txz"
 gpg --armor --sign "$sha512_tgz"
-scp "$tar_gz" "$sha512_tgz" "$pgp_sig" "$cairo_dest"
-scp "$tar_gz" "$tar_xz" "$xorg_dest"
-git tag -m "pixman $version release" "pixman-$version"
-git push --follow-tags
+gpg --armor --sign "$sha512_txz"
 
 cat >"$announce" <<EOF
 To: cairo-announce at cairographics.org, xorg-announce at lists.freedesktop.org, pixman at lists.freedesktop.org
@@ -37,21 +69,32 @@ tar.gz:
 	$xorg_url/$tar_gz
 
 tar.xz:
+	$cairo_url/$tar_xz
 	$xorg_url/$tar_xz
 
 Hashes:
-	SHA256: $(sha256sum "$tar_gz")
-	SHA256: $(sha256sum "$tar_xz")
 	SHA512: $(sha512sum "$tar_gz")
 	SHA512: $(sha512sum "$tar_xz")
 
 PGP signature:
-	$cairo_url/$pgp_sig
+	$cairo_url/$pgp_sig_tgz
+	$cairo_url/$pgp_sig_txz
+	$xorg_url/$pgp_sig_tgz
+	$xorg_url/$pgp_sig_txz
 
 Git:
 	https://gitlab.freedesktop.org/pixman/pixman.git
 	tag: pixman-$version
 
 Log:
-$(git log --no-merges "pixman-$prev".."pixman-$version" | git shortlog | awk '{ printf "\t"; print ; }' | cut -b1-80)
+$(git log --no-merges "${prev_version}..pixman-${version}" | git shortlog | awk '{ printf "\t"; print ; }' | cut -b1-80)
 EOF
+
+scp "$tar_gz" "$sha512_tgz" "$pgp_sig_tgz" "$tar_xz" "$sha512_txz" "$pgp_sig_txz" "$cairo_dest"
+scp "$tar_gz" "$sha512_tgz" "$pgp_sig_tgz" "$tar_xz" "$sha512_txz" "$pgp_sig_txz" "$xorg_dest"
+popd >& /dev/null
+
+git push --follow-tags
+
+echo "[ANNOUNCE] template generated in \"$distdir/$announce\" file."
+echo "      Please pgp sign and send it."
commit 5dd5a5d1c087fc7ba549599749e5c69927ce9a2d
Author: Simon Ser <contact at emersion.fr>
Date:   Mon Nov 25 13:08:06 2024 -0500

    release.sh: Add script
    
    Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/86

diff --git a/release.sh b/release.sh
new file mode 100755
index 0000000..55a2aea
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,57 @@
+#!/bin/sh -eu
+
+version=
+prev=
+
+cairo_dest=cairographics.org:/srv/cairo.freedesktop.org/www/releases
+xorg_dest=xorg.freedesktop.org:/srv/xorg.freedesktop.org/archive/individual/lib
+
+cairo_url=https://cairographics.org/releases
+xorg_url=https://www.x.org/releases/individual/lib
+
+tar_gz="pixman-$version.tar.gz"
+tar_xz="pixman-$version.tar.xz"
+
+sha512_tgz="$tar_gz.sha512"
+pgp_sig="$sha512_tgz.asc"
+
+announce="pixman-$version.eml"
+
+meson dist -C build/ --formats xztar,gztar
+cd build/meson-dist/
+sha512sum "$tar_gz" >"$sha512_tgz"
+gpg --armor --sign "$sha512_tgz"
+scp "$tar_gz" "$sha512_tgz" "$pgp_sig" "$cairo_dest"
+scp "$tar_gz" "$tar_xz" "$xorg_dest"
+git tag -m "pixman $version release" "pixman-$version"
+git push --follow-tags
+
+cat >"$announce" <<EOF
+To: cairo-announce at cairographics.org, xorg-announce at lists.freedesktop.org, pixman at lists.freedesktop.org
+Subject: [ANNOUNCE] pixman release $version now available
+
+A new pixman release $version is now available.
+
+tar.gz:
+	$cairo_url/$tar_gz
+	$xorg_url/$tar_gz
+
+tar.xz:
+	$xorg_url/$tar_xz
+
+Hashes:
+	SHA256: $(sha256sum "$tar_gz")
+	SHA256: $(sha256sum "$tar_xz")
+	SHA512: $(sha512sum "$tar_gz")
+	SHA512: $(sha512sum "$tar_xz")
+
+PGP signature:
+	$cairo_url/$pgp_sig
+
+Git:
+	https://gitlab.freedesktop.org/pixman/pixman.git
+	tag: pixman-$version
+
+Log:
+$(git log --no-merges "pixman-$prev".."pixman-$version" | git shortlog | awk '{ printf "\t"; print ; }' | cut -b1-80)
+EOF


More information about the xorg-commit mailing list