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.

62 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. echo "N: $N"
  11. N="${N%/}"
  12. [ "$N" == "update" ] && continue
  13. [ "$N" == "deprecated" ] && continue
  14. [ "$N" == "everything" ] && continue
  15. echo "Checking $URL/$N/ .."
  16. while read P
  17. do
  18. echo "P: $P"
  19. P="${P%/}"
  20. [[ "$P" = *bz2 ]] || continue
  21. pname="`echo $P | tr '[A-Z]' '[a-z]'`"
  22. pname="${pname%.tar.bz2}"
  23. pver="${pname#*-x11r*-}"
  24. pname="${pname%-x11r*}"
  25. if [ "$pver" = "$pname" ]; then
  26. pver="$( echo "$pname" | sed -r 's/.*-([0-9].*)/\1/'; )"
  27. pname="$( echo "$pname" | sed -r 's/(.*)-[0-9].*/\1/'; )"
  28. fi
  29. if [ ! -f "$pname/$pname.desc" ]; then
  30. echo "Not found: $pname/$pname.desc ($N)"
  31. else
  32. if ! egrep -q "^\[V\] $pver( |\$)" "$pname/$pname.desc"; then
  33. sed -i -e"s,\[V\].*,[V] $pver," "$pname/$pname.desc"
  34. fi
  35. if ! egrep -q "^\[D\] .* $P " "$pname/$pname.desc"; then
  36. sed -i -e"s,\[D\].*,\[D\] 0 $P $URL/$N/," "$pname/$pname.desc"
  37. fi
  38. fi
  39. module_list="$module_list $pname"
  40. done < <( curl -s -S -l "$URL/$N/"; )
  41. done < <( curl -s -S -l "$URL/"; )
  42. for pkg in *
  43. do
  44. [ -d "$pkg" ] || continue
  45. if grep -qv " $pkg " <( echo "$module_list "; ); then
  46. echo "Not found on FTP server: $pkg"
  47. fi
  48. done