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.

99 lines
2.7 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. urladmin="$baseurl/admin/$major/$major.$rev/sources/"
  18. urlbindings="$baseurl/bindings/$major/$major.$rev/sources"
  19. urlbindings="$urlbindings/c++/ $urlbindings/java/ $urlbindings/mono/ $urlbindings/python/"
  20. urldesktop="$baseurl/desktop/$major/$major.$rev/sources/"
  21. urldevtools="$baseurl/devtools/$major/$major.$rev/sources/"
  22. urlplatform="$baseurl/platform/$major/$major.$rev/sources/"
  23. create_pkg() {
  24. echo "$pkg ($pkgver) is not a rock package yet"
  25. echo "creating $pkg package"
  26. bash misc/archive/newpackage.sh package/gnome2/$pkg $url$newver.tar.bz2
  27. sed -i package/gnome2/$pkg/$pkg.desc \
  28. -e "s,^\(\[C\]\).*,\1 extra/desktop/gnome," \
  29. -e "s,^\(\[V\]\).*,\1 $pkgver," \
  30. -e "s,^\(\[S\]\).*,\1 Stable," \
  31. -e "s,^\(\[A\]\).*,\1 The GNOME Project," \
  32. -e "s,^\(\[M\]\).*,\1 The ROCK Linux Project," \
  33. -e "s,^\(\[U\]\).*,\1 http://www.gnome.org,"
  34. }
  35. for url in $urladmin $urlbindings $urldesktop $urldevtools $urlplatform ; do
  36. wget -q -O - $url | \
  37. sed -n '/id="body"/,/\/div/{/tar.bz2/p}' | \
  38. sed -r 's/^.*href="([^"]*).tar.bz2".*$/\1/' | \
  39. tr 'A-Z' 'a-z' | \
  40. sed -e 's/gtk-doc/gtkdoc/' -e 's/libart_lgpl/libart_lgpl23/' | \
  41. while read newver; do
  42. pkg="${newver%-*}"
  43. pkgver="${newver##*-}"
  44. if [ -d package/*/$pkg ]; then
  45. if [ $dry = 1 ] ; then
  46. echo $pkg-$pkgver
  47. else
  48. ./scripts/Create-PkgUpdPatch $pkg-$pkgver | \
  49. patch -p0
  50. fi
  51. # else
  52. # create_pkg
  53. fi
  54. if [ -e package/*/$pkg/$pkg.desc -a $dry = 0 ] ; then
  55. sed -i -e "s,^\(\[D\] .*$newver.* \)http://.*,\1$url,g" package/*/$pkg/$pkg.desc
  56. fi
  57. done
  58. done
  59. grep "^\[D\] .* http://ftp.gnome.org/pub/GNOME/sources/" package/gnome2/*/*.desc | \
  60. while IFS=":" read pkg download; do
  61. pkg=${pkg##*/} ; pkg=${pkg%.desc}
  62. read dtag cksum file durl < <(echo $download)
  63. durl="${durl%/}" ; durl="${durl%/*}"
  64. wget -q -O - $durl | \
  65. sed -n -e 's,.*href="\([0-9.].*\)".*,\1,gp' | \
  66. tail -n1 | \
  67. while read newmajor ; do
  68. url="$durl/$newmajor"
  69. wget -q -O - $url | \
  70. sed -n -e"s,.*\(LATEST-IS-[^<]*\).*,\1,gp" | \
  71. while read newver; do
  72. pkgver="${newver#LATEST-IS-}"
  73. if [ -d package/*/$pkg ]; then
  74. if [ $dry = 1 ] ; then
  75. echo $pkg-$pkgver
  76. else
  77. ./scripts/Create-PkgUpdPatch $pkg-$pkgver | \
  78. patch -p0
  79. fi
  80. # else
  81. # create_pkg
  82. fi
  83. if [ -e package/*/$pkg/$pkg.desc -a $dry = 0 ] ; then
  84. sed -i -e "s,^\(\[D\] .*$pkgver.* \)http://.*,\1$url,g" package/*/$pkg/$pkg.desc
  85. fi
  86. done
  87. done
  88. done