#!/bin/sh # # Usage: update-gnome.sh [-n] gnome-version # # -n prints the package that will be updated with their new versions # without making any changes # dry=0 if [ "$1" = "-n" ] ; then dry=1 shift fi ver=$1 major="${ver%.*}" rev="${ver##*.}" baseurl="http://ftp.gnome.org/pub/GNOME" urlplatform="$baseurl/platform/$major/$major.$rev/sources/" urldesktop="$baseurl/desktop/$major/$major.$rev/sources/" urlbindings="$baseurl/bindings/$major/$major.$rev/sources" urlbindings="$urlbindings/c++/ $urlbindings/java/ $urlbindings/mono/ $urlbindings/python/" urladmin="$baseurl/admin/$major/$major.$rev/sources/" for url in $urlplatform $urldesktop $urlbindings $urladmin; do wget -q -O - $url | \ sed -n '/id="body"/,/\/div/{/tar.bz2/p}' | \ sed -r 's/^.*href="([^"]*).tar.bz2".*$/\1/' | \ tr 'A-Z' 'a-z' | \ sed -e 's/gtk-doc/gtkdoc/' -e 's/libart_lgpl/libart_lgpl23/' | \ while read newver; do pkg="${newver%-*}" pkgver="${newver##*-}" if [ -d package/*/$pkg ]; then if [ $dry = 1 ] ; then echo $pkg-$pkgver else ./scripts/Create-PkgUpdPatch $pkg-$pkgver | \ patch -p0 fi else echo "$pkg is not a rock package yet" # echo "creating $pkg package" # bash misc/archive/newpackage.sh package/gnome2/$pkg $url$newver.tar.bz2 fi if [ -e package/*/$pkg/$pkg.desc -a $dry = 0 ] ; then sed -i -e "s,^\(\[D\] .*$newver.* \)http://.*,\1$url,g" package/*/$pkg/$pkg.desc fi done done grep "^\[D\] .* http://ftp.gnome.org/pub/GNOME/sources/" package/gnome2/*/*.desc | \ while IFS=":" read pkg download; do pkg=${pkg##*/} ; pkg=${pkg%.desc} read dtag cksum file durl < <(echo $download) durl="${durl%/}" ; durl="${durl%/*}" wget -q -O - $durl | \ sed -n -e 's,.*href="\([0-9.].*\)".*,\1,gp' | \ tail -n1 | \ while read newmajor ; do url="$durl/$newmajor" wget -q -O - $url | \ sed -n -e"s,.*\(LATEST-IS-[^<]*\).*,\1,gp" | \ while read newver; do pkgver="${newver#LATEST-IS-}" if [ -d package/*/$pkg ]; then if [ $dry = 1 ] ; then echo $pkg-$pkgver else ./scripts/Create-PkgUpdPatch $pkg-$pkgver | \ patch -p0 fi else echo "$pkg is not a rock package yet" # echo "creating $pkg package" # bash misc/archive/newpackage.sh package/gnome2/$pkg $url$newver.tar.bz2 fi if [ -e package/*/$pkg/$pkg.desc -a $dry = 0 ] ; then sed -i -e "s,^\(\[D\] .*$pkgver.* \)http://.*,\1$url,g" package/*/$pkg/$pkg.desc fi done done done