#!/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
|