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

#!/bin/bash
#
# Usage:
# cd package/xorg && bash xorg-update.sh X11R7.2
xver="$1"
URL="ftp://ftp.gwdg.de/pub/x11/x.org/pub/$xver/src"
module_list=""
while read N
do
N="${N%?}"
[ "$N" == "update" ] && continue
[ "$N" == "deprecated" ] && continue
[ "$N" == "everything" ] && continue
echo "Checking $URL/$N/ .."
while read P
do
P="${P%?}"
[[ "$P" = *bz2 ]] || continue
pname="`echo $P | tr '[A-Z]' '[a-z]'`"
pname="${pname%.tar.bz2}"
pver="${pname#*-x11r*-}"
pname="${pname%-x11r*}"
if [ "$pver" = "$pname" ]; then
pver="$( echo "$pname" | sed -r 's/.*-([0-9].*)/\1/'; )"
pname="$( echo "$pname" | sed -r 's/(.*)-[0-9].*/\1/'; )"
fi
if [ ! -f "$pname/$pname.desc" ]; then
echo "Not found: $pname/$pname.desc ($N)"
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
module_list="$module_list $pname"
done < <( curl -s -S -l "$URL/$N/"; )
done < <( curl -s -S -l "$URL/"; )
for pkg in *
do
[ -d "$pkg" ] || continue
if grep -qv " $pkg " <( echo "$module_list "; ); then
echo "Not found on FTP server: $pkg"
fi
done