[PATCH modular v2 14/15] jhbuild: Add script for updating moduleset tarball definitions
Dirk Wallenstein
halsmit at t-online.de
Sat Mar 12 01:45:52 PST 2011
On Fri, Mar 11, 2011 at 06:30:36AM -0800, Dan Nicholson wrote:
> update-moduleset.sh takes the sha1sum and tarball and updates the module
> definition in a given moduleset. This should make keeping the stable
> moduleset easier.
>
> The module name mangling list was reached by grepping for all the
> package names in the moduleset.
>
> Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
> ---
> V2: Fix the argument order in the usage and update the module mangling
> list.
>
> update-moduleset.sh | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 84 insertions(+), 0 deletions(-)
> create mode 100755 update-moduleset.sh
>
> diff --git a/update-moduleset.sh b/update-moduleset.sh
> new file mode 100755
> index 0000000..04f5ad0
> --- /dev/null
> +++ b/update-moduleset.sh
> @@ -0,0 +1,84 @@
> +#!/bin/sh
> +
> +module=
> +version=
> +
> +usage()
> +{
> + cat <<EOF
> +Usage: `basename $0` MODULESET SHA1SUM TARBALL
> +
> +Updates the module associated to TARBALL in MODULESET.
> +EOF
> +}
> +
> +# check input arguments
> +moduleset=$1
> +sha1sum=$2
> +tarball=$3
> +if [ -z "$moduleset" ] || [ -z "$sha1sum" ] || [ -z "$tarball" ]; then
> + echo "error: Not enough arguments" >&2
> + usage >&2
> + exit 1
> +fi
> +
> +# check that the moduleset exists and is writable
> +if [ ! -w "$moduleset" ]; then
> + echo "error: moduleset \"$moduleset\" does not exist or is not writable" >&2
> + exit 1
> +fi
> +
> +# we only want the tarball name
> +tarball=`basename $tarball`
> +
> +# pull the module and version from the tarball
> +module=${tarball%-*}
> +version=${tarball##*-}
> +version=${version%.tar*}
> +
> +# sometimes the jhbuild id doesn't match the tarball name
> +module_id=$module
> +case "$module" in
> + xorg-server)
> + module_id=xserver
> + ;;
> + util-macros)
> + module_id=macros
> + ;;
> + libXres)
> + module_id=libXRes
> + ;;
> + xtrans)
> + module_id=libxtrans
> + ;;
> + xbitmaps)
> + module_id=bitmaps
> + ;;
> + MesaLib)
> + module_id=libGL
> + ;;
> + xcursor-themes)
> + module_id=cursors
> + ;;
> + libpthread-stubs)
> + module_id=pthread-stubs
> + ;;
> + xproto)
> + module_id=x11proto
> + ;;
Several tabs in indentation.
> +esac
> +
> +# edit the moduleset
> +sed -i \
> + "/id=\"$module_id\"/{
> + # read the next line until we get />, which should be the end
> + # of the branch tag
> + :next
> + N
> + /\/>$/!b next
> +
> + # update the info
> + s/$module-[^\"]*\"/$tarball\"/
> + s/version=\"[^\"]*\"/version=\"$version\"/
> + s/hash=\"[^\"]*\"/hash=\"sha1:$sha1sum\"/
> + }" "$moduleset"
> --
> 1.7.3.4
>
Reviewed-by: Dirk Wallenstein <halsmit at t-online.de>
--
Greetings,
Dirk
More information about the xorg-devel
mailing list