mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.4 KiB

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