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.

100 lines
3.2 KiB

  1. #!/bin/bash
  2. update=0
  3. [ "$2" == "-update" ] && update=1
  4. xver="$1" # e.g. X11R7.1
  5. URL="ftp://ftp.gwdg.de/pub/x11/x.org/pub/$xver/src/"
  6. top_prio="110.800"
  7. prio_to_num() {
  8. echo ${1/.}
  9. }
  10. num_to_prio() {
  11. echo "${1:0:3}.${1:3:3}"
  12. }
  13. prio_plus() {
  14. num_to_prio $(( `prio_to_num $top_prio` + $1 ))
  15. }
  16. curl -l "$URL" |
  17. while read N ; do
  18. N="${N%?}"
  19. [ "$N" == "everything" ] && continue
  20. echo "$URL$N/"
  21. curl -l "$URL$N/" |
  22. while read P ; do
  23. P="${P%?}"
  24. [[ "$P" = *bz2 ]] || continue
  25. P="${P%.tar.bz2}"
  26. pname="${P%%-$xver-*}"
  27. lowpname="`echo $pname | tr '[A-Z]' '[a-z]'`"
  28. pver="${P##*-$xver-}"
  29. if [ "$update" = 0 ] ; then
  30. rm -rf package/xorg/"$lowpname"
  31. misc/archive/newpackage.sh package/xorg/"$lowpname" "$URL$N/$P.tar.bz2"
  32. case "$lowpname" in
  33. util-macros) delta=0 ;;
  34. xorg-sgml-doctools) delta=1 ;;
  35. xorg-docs) delta=2 ;;
  36. *proto*|evieext) delta=3 ;;
  37. xtrans) delta=4 ;;
  38. libxau) delta=5 ;;
  39. libxdmcp) delta=6 ;;
  40. libx11) delta=8 ;;
  41. libxext) delta=10 ;;
  42. libapplewm|libwindowswm|libdmx|libfontenc)
  43. delta=12 ;;
  44. libfs|libice|liblbxutil|liboldx)
  45. delta=14 ;;
  46. libsm) delta=16 ;;
  47. libxt) delta=18 ;;
  48. libxmu|libxpm) delta=20 ;;
  49. libxp|libxaw|libxfixes) delta=22 ;;
  50. libxrender) delta=23 ;;
  51. libxcomposite|libxdamage|libxcursor|libxevie|`
  52. `libxfont|libxfontcache|libxft|libxi|libxinerama|libxkbfile|libxkbui)
  53. delta=24 ;;
  54. libxprintutil) delta=25 ;;
  55. libxprintapputil|libxrandr|libxres|libxscrnsaver|libxtrap|`
  56. `libxtst|libxv|libxvmc|libxxf86dga|libxxf86misc|libxxf86vm)
  57. delta=26 ;;
  58. xbitmaps) delta=28 ;;
  59. # alls apps are delta=30, see below.
  60. xorg-server) delta=32 ;;
  61. xf86-input*) delta=34 ;;
  62. xf86-video*) delta=36 ;;
  63. xcursor-themes|xkbdata) delta=50 ;;
  64. font-util) delta=55 ;;
  65. font-*) delta=60 ;;
  66. xorg-cf-files|imake|makedepend|gccmakedep|lndir)
  67. delta=70 ;;
  68. *) delta=99 ;;
  69. esac
  70. [ "$N" == "app" ] && delta=30
  71. fi
  72. sed -i -e"s,\[V\].*,\[V\] $pver," package/xorg/"$lowpname"/"$lowpname".desc
  73. if [ "$update" = 0 ] ; then
  74. sed -i -e"s,\[P\] \(.*\) ...\....,\[P\] \1 `prio_plus $delta`," package/xorg/"$lowpname"/"$lowpname".desc
  75. sed -i -e"s,\[U\].*,\[U\] http://www.x.org," package/xorg/"$lowpname"/"$lowpname".desc
  76. sed -i -e"s,\[S\].*,\[S\] Stable," package/xorg/"$lowpname"/"$lowpname".desc
  77. sed -i -e"s,\[L\].*,\[L\] OpenSource," package/xorg/"$lowpname"/"$lowpname".desc
  78. sed -i -e"s,\[I\].*,\[I\] X.Org X11 $pname component," package/xorg/"$lowpname"/"$lowpname".desc
  79. sed -i -e"s,\[C\].*,\[C\] base/x11\n\[F\] CORE," package/xorg/"$lowpname"/"$lowpname".desc
  80. sed -i -e"s:\[T\].*:\[T\] The $pname component for the X.Org Foundation X11 Release 7 and above.:" package/xorg/"$lowpname"/"$lowpname".desc
  81. sed -i -e"s:\[A\].*:\[A\] The X.Org Foundation {The X.Org Sourcecode}\n[A] The Open Group X Project Team {Original Sourcecode}:" package/xorg/"$lowpname"/"$lowpname".desc
  82. else
  83. sed -i -e"s,\[D\].*,\[D\] 0 $P.tar.bz2 $URL$N," package/xorg/"$lowpname"/"$lowpname".desc
  84. fi
  85. uniq -c package/xorg/"$lowpname"/"$lowpname".desc | cut -f8- -d" " > tmp.desc
  86. mv tmp.desc package/xorg/"$lowpname"/"$lowpname".desc
  87. echo '. "$base/package/xorg/xorg_config.sh"' > package/xorg/"$lowpname/$lowpname.conf"
  88. done
  89. done