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

  1. #!/bin/sh
  2. #
  3. # Usage: update-gnome.sh [-n] gnome-version
  4. #
  5. # -n prints the package that will be updated with their new versions
  6. # without making any changes
  7. #
  8. dry=0
  9. if [ "$1" = "-n" ] ; then
  10. dry=1
  11. shift
  12. fi
  13. ver=$1
  14. major="${ver%.*}"
  15. rev="${ver##*.}"
  16. baseurl="http://ftp.gnome.org/pub/GNOME"
  17. urlplatform="$baseurl/platform/$major/$major.$rev/sources/"
  18. urldesktop="$baseurl/desktop/$major/$major.$rev/sources/"
  19. urlbindings="$baseurl/bindings/$major/$major.$rev/sources"
  20. urlbindings="$urlbindings/c++/ $urlbindings/java/ $urlbindings/mono/ $urlbindings/python/"
  21. urladmin="$baseurl/admin/$major/$major.$rev/sources/"
  22. for url in $urlplatform $urldesktop $urlbindings $urladmin; do
  23. wget -q -O - $url | \
  24. sed -n '/id="body"/,/\/div/{/tar.bz2/p}' | \
  25. sed -r 's/^.*href="([^"]*).tar.bz2".*$/\1/' | \
  26. tr 'A-Z' 'a-z' | \
  27. sed -e 's/gtk-doc/gtkdoc/' -e 's/libart_lgpl/libart_lgpl23/' | \
  28. while read newver; do
  29. pkg="${newver%-*}"
  30. pkgver="${newver##*-}"
  31. if [ -d package/*/$pkg ]; then
  32. if [ $dry = 1 ] ; then
  33. echo $pkg-$pkgver
  34. else
  35. ./scripts/Create-PkgUpdPatch $pkg-$pkgver | \
  36. patch -p0
  37. fi
  38. else
  39. echo "$pkg is not a rock package yet"
  40. # echo "creating $pkg package"
  41. # bash misc/archive/newpackage.sh package/gnome2/$pkg $url$newver.tar.bz2
  42. fi
  43. if [ -e package/*/$pkg/$pkg.desc -a $dry = 0 ] ; then
  44. sed -i -e "s,^\(\[D\] .*$newver.* \)http://.*,\1$url,g" package/*/$pkg/$pkg.desc
  45. fi
  46. done
  47. done
  48. grep "^\[D\] .* http://ftp.gnome.org/pub/GNOME/sources/" package/gnome2/*/*.desc | \
  49. while IFS=":" read pkg download; do
  50. pkg=${pkg##*/} ; pkg=${pkg%.desc}
  51. read dtag cksum file durl < <(echo $download)
  52. durl="${durl%/}" ; durl="${durl%/*}"
  53. wget -q -O - $durl | \
  54. sed -n -e 's,.*href="\([0-9.].*\)".*,\1,gp' | \
  55. tail -n1 | \
  56. while read newmajor ; do
  57. url="$durl/$newmajor"
  58. wget -q -O - $url | \
  59. sed -n -e"s,.*\(LATEST-IS-[^<]*\).*,\1,gp" | \
  60. while read newver; do
  61. pkgver="${newver#LATEST-IS-}"
  62. if [ -d package/*/$pkg ]; then
  63. if [ $dry = 1 ] ; then
  64. echo $pkg-$pkgver
  65. else
  66. ./scripts/Create-PkgUpdPatch $pkg-$pkgver | \
  67. patch -p0
  68. fi
  69. else
  70. echo "$pkg is not a rock package yet"
  71. # echo "creating $pkg package"
  72. # bash misc/archive/newpackage.sh package/gnome2/$pkg $url$newver.tar.bz2
  73. fi
  74. if [ -e package/*/$pkg/$pkg.desc -a $dry = 0 ] ; then
  75. sed -i -e "s,^\(\[D\] .*$pkgver.* \)http://.*,\1$url,g" package/*/$pkg/$pkg.desc
  76. fi
  77. done
  78. done
  79. done