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.

60 lines
1.3 KiB

  1. #!/bin/bash
  2. #
  3. # Usage:
  4. # cd package/xorg && bash xorg-update.sh X11R7.2
  5. xver="$1"
  6. URL="ftp://ftp.gwdg.de/pub/x11/x.org/pub/$xver/src"
  7. module_list=""
  8. while read N
  9. do
  10. N="${N%?}"
  11. [ "$N" == "update" ] && continue
  12. [ "$N" == "deprecated" ] && continue
  13. [ "$N" == "everything" ] && continue
  14. echo "Checking $URL/$N/ .."
  15. while read P
  16. do
  17. P="${P%?}"
  18. [[ "$P" = *bz2 ]] || continue
  19. pname="`echo $P | tr '[A-Z]' '[a-z]'`"
  20. pname="${pname%.tar.bz2}"
  21. pver="${pname#*-x11r*-}"
  22. pname="${pname%-x11r*}"
  23. if [ "$pver" = "$pname" ]; then
  24. pver="$( echo "$pname" | sed -r 's/.*-([0-9].*)/\1/'; )"
  25. pname="$( echo "$pname" | sed -r 's/(.*)-[0-9].*/\1/'; )"
  26. fi
  27. if [ ! -f "$pname/$pname.desc" ]; then
  28. echo "Not found: $pname/$pname.desc ($N)"
  29. else
  30. if ! egrep -q "^\[V\] $pver( |\$)" "$pname/$pname.desc"; then
  31. sed -i -e"s,\[V\].*,[V] $pver," "$pname/$pname.desc"
  32. fi
  33. if ! egrep -q "^\[D\] .* $P " "$pname/$pname.desc"; then
  34. sed -i -e"s,\[D\].*,\[D\] 0 $P $URL/$N/," "$pname/$pname.desc"
  35. fi
  36. fi
  37. module_list="$module_list $pname"
  38. done < <( curl -s -S -l "$URL/$N/"; )
  39. done < <( curl -s -S -l "$URL/"; )
  40. for pkg in *
  41. do
  42. [ -d "$pkg" ] || continue
  43. if grep -qv " $pkg " <( echo "$module_list "; ); then
  44. echo "Not found on FTP server: $pkg"
  45. fi
  46. done