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.

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