|
|
@ -1,100 +1,55 @@ |
|
|
|
#!/bin/bash |
|
|
|
# |
|
|
|
# Usage: |
|
|
|
# cd package/xorg && bash xorg-update.sh X11R7.1 |
|
|
|
|
|
|
|
update=0 |
|
|
|
[ "$2" == "-update" ] && update=1 |
|
|
|
xver="$1" |
|
|
|
URL="ftp://ftp.gwdg.de/pub/x11/x.org/pub/$xver/src" |
|
|
|
|
|
|
|
xver="$1" # e.g. X11R7.1 |
|
|
|
URL="ftp://ftp.gwdg.de/pub/x11/x.org/pub/$xver/src/" |
|
|
|
module_list="" |
|
|
|
|
|
|
|
top_prio="110.800" |
|
|
|
|
|
|
|
prio_to_num() { |
|
|
|
echo ${1/.} |
|
|
|
} |
|
|
|
num_to_prio() { |
|
|
|
echo "${1:0:3}.${1:3:3}" |
|
|
|
} |
|
|
|
prio_plus() { |
|
|
|
num_to_prio $(( `prio_to_num $top_prio` + $1 )) |
|
|
|
} |
|
|
|
|
|
|
|
curl -l "$URL" | |
|
|
|
while read N ; do |
|
|
|
while read N |
|
|
|
do |
|
|
|
N="${N%?}" |
|
|
|
[ "$N" == "update" ] && continue |
|
|
|
[ "$N" == "deprecated" ] && continue |
|
|
|
[ "$N" == "everything" ] && continue |
|
|
|
echo "$URL$N/" |
|
|
|
curl -l "$URL$N/" | |
|
|
|
while read P ; do |
|
|
|
|
|
|
|
echo "Checking $URL/$N/ .." |
|
|
|
|
|
|
|
while read P |
|
|
|
do |
|
|
|
P="${P%?}" |
|
|
|
[[ "$P" = *bz2 ]] || continue |
|
|
|
P="${P%.tar.bz2}" |
|
|
|
pname="${P%%-$xver-*}" |
|
|
|
lowpname="`echo $pname | tr '[A-Z]' '[a-z]'`" |
|
|
|
pver="${P##*-$xver-}" |
|
|
|
|
|
|
|
if [ "$update" = 0 ] ; then |
|
|
|
rm -rf package/xorg/"$lowpname" |
|
|
|
misc/archive/newpackage.sh package/xorg/"$lowpname" "$URL$N/$P.tar.bz2" |
|
|
|
pname="`echo $P | tr '[A-Z]' '[a-z]'`" |
|
|
|
pname="${pname%.tar.bz2}" |
|
|
|
pver="${pname#*-x11r*-}" |
|
|
|
pname="${pname%-x11r*}" |
|
|
|
|
|
|
|
case "$lowpname" in |
|
|
|
util-macros) delta=0 ;; |
|
|
|
xorg-sgml-doctools) delta=1 ;; |
|
|
|
xorg-docs) delta=2 ;; |
|
|
|
*proto*|evieext) delta=3 ;; |
|
|
|
xtrans) delta=4 ;; |
|
|
|
libxau) delta=5 ;; |
|
|
|
libxdmcp) delta=6 ;; |
|
|
|
libx11) delta=8 ;; |
|
|
|
libxext) delta=10 ;; |
|
|
|
libapplewm|libwindowswm|libdmx|libfontenc) |
|
|
|
delta=12 ;; |
|
|
|
libfs|libice|liblbxutil|liboldx) |
|
|
|
delta=14 ;; |
|
|
|
libsm) delta=16 ;; |
|
|
|
libxt) delta=18 ;; |
|
|
|
libxmu|libxpm) delta=20 ;; |
|
|
|
libxp|libxaw|libxfixes) delta=22 ;; |
|
|
|
libxrender) delta=23 ;; |
|
|
|
libxcomposite|libxdamage|libxcursor|libxevie|` |
|
|
|
`libxfont|libxfontcache|libxft|libxi|libxinerama|libxkbfile|libxkbui) |
|
|
|
delta=24 ;; |
|
|
|
libxprintutil) delta=25 ;; |
|
|
|
libxprintapputil|libxrandr|libxres|libxscrnsaver|libxtrap|` |
|
|
|
`libxtst|libxv|libxvmc|libxxf86dga|libxxf86misc|libxxf86vm) |
|
|
|
delta=26 ;; |
|
|
|
xbitmaps) delta=28 ;; |
|
|
|
# alls apps are delta=30, see below. |
|
|
|
xorg-server) delta=32 ;; |
|
|
|
xf86-input*) delta=34 ;; |
|
|
|
xf86-video*) delta=36 ;; |
|
|
|
xcursor-themes|xkbdata) delta=50 ;; |
|
|
|
font-util) delta=55 ;; |
|
|
|
font-*) delta=60 ;; |
|
|
|
xorg-cf-files|imake|makedepend|gccmakedep|lndir) |
|
|
|
delta=70 ;; |
|
|
|
*) delta=99 ;; |
|
|
|
esac |
|
|
|
[ "$N" == "app" ] && delta=30 |
|
|
|
if [ ! -f "$pname/$pname.desc" ]; then |
|
|
|
echo "Not found: $pname/$pname.desc ($N) [$lowxver]" |
|
|
|
else |
|
|
|
if ! egrep -q "^\[V\] $pver( |\$)" "$pname/$pname.desc"; then |
|
|
|
sed -i -e"s,\[V\].*,[V] $pver," "$pname/$pname.desc" |
|
|
|
fi |
|
|
|
if ! egrep -q "^\[D\] .* $P " "$pname/$pname.desc"; then |
|
|
|
sed -i -e"s,\[D\].*,\[D\] 0 $P $URL/$N," "$pname/$pname.desc" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
sed -i -e"s,\[V\].*,\[V\] $pver," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
module_list="$module_list $pname" |
|
|
|
|
|
|
|
if [ "$update" = 0 ] ; then |
|
|
|
sed -i -e"s,\[P\] \(.*\) ...\....,\[P\] \1 `prio_plus $delta`," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
sed -i -e"s,\[U\].*,\[U\] http://www.x.org," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
sed -i -e"s,\[S\].*,\[S\] Stable," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
sed -i -e"s,\[L\].*,\[L\] OpenSource," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
sed -i -e"s,\[I\].*,\[I\] X.Org X11 $pname component," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
sed -i -e"s,\[C\].*,\[C\] base/x11\n\[F\] CORE," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
sed -i -e"s:\[T\].*:\[T\] The $pname component for the X.Org Foundation X11 Release 7 and above.:" package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
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 |
|
|
|
else |
|
|
|
sed -i -e"s,\[D\].*,\[D\] 0 $P.tar.bz2 $URL$N," package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
fi |
|
|
|
done < <( curl -s -S -l "$URL/$N/"; ) |
|
|
|
done < <( curl -s -S -l "$URL/"; ) |
|
|
|
|
|
|
|
uniq -c package/xorg/"$lowpname"/"$lowpname".desc | cut -f8- -d" " > tmp.desc |
|
|
|
mv tmp.desc package/xorg/"$lowpname"/"$lowpname".desc |
|
|
|
for pkg in * |
|
|
|
do |
|
|
|
[ -d "$pkg" ] || continue |
|
|
|
[ "$pkg" = "mesalib" ] && continue |
|
|
|
|
|
|
|
echo '. "$base/package/xorg/xorg_config.sh"' > package/xorg/"$lowpname/$lowpname.conf" |
|
|
|
done |
|
|
|
if grep -qv " $pkg " <( echo "$module_list "; ); then |
|
|
|
echo "Not found on FTP server: $pkg" |
|
|
|
fi |
|
|
|
done |
|
|
|
|