--- trunk/pkgtools/up2date.sh 2013/05/13 11:35:14 2106 +++ trunk/pkgtools/up2date.sh 2013/05/13 11:40:55 2111 @@ -5,6 +5,7 @@ # timeout in seconds LYNX_CONNECT_TIMEOUT=10 +LYNX_READ_TIMEOUT=10 ## only for tests -> normally in /etc/rc.d/init.d/functions COLRED="\033[1;6m\033[31m" @@ -77,23 +78,27 @@ lasttarball() { local suffix=bz2 + local seperator="-" [[ ! -z $1 ]] && suffix="$1" + [[ ! -z ${UP2SEPERATOR} ]] && seperator="${UP2SEPERATOR}" + [[ ${UP2SEPERATOR} = NULL ]] && seperator="" + case ${suffix} in tbz2|tgz) if [[ ! -z ${UP2EXCLUDE} ]] then - grep "\(\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed -n "s/.*-\(.*\)\(\.${suffix}\).*/\1/;$ p" + grep "\(\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed -n "s/.*${seperator}\(.*\)\(\.${suffix}\).*/\1/;$ p" else - grep "\(\.${suffix}\)\(\$\|\#\)" | sed -n "s/.*-\(.*\)\(\.${suffix}\).*/\1/;$ p" + grep "\(\.${suffix}\)\(\$\|\#\)" | sed -n "s/.*${seperator}\(.*\)\(\.${suffix}\).*/\1/;$ p" fi ;; *) if [[ ! -z ${UP2EXCLUDE} ]] then - grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed -n "s/.*-\(.*\)\(\.tar\.${suffix}\).*/\1/;$ p" + grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed -n "s/.*${seperator}\(.*\)\(\.tar\.${suffix}\).*/\1/;$ p" else - grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | sed -n "s/.*-\(.*\)\(\.tar\.${suffix}\).*/\1/;$ p" + grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | sed -n "s/.*${seperator}\(.*\)\(\.tar\.${suffix}\).*/\1/;$ p" fi ;; esac @@ -102,23 +107,27 @@ firsttarball() { local suffix=bz2 + local seperator="-" [[ ! -z $1 ]] && suffix="$1" + [[ ! -z ${UP2SEPERATOR} ]] && seperator="${UP2SEPERATOR}" + [[ ${UP2SEPERATOR} = NULL ]] && seperator="" + case ${suffix} in tbz2|tgz) if [[ ! -z ${UP2EXCLUDE} ]] then - grep "\(\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed "s/.*-\(.*\)\(\.${suffix}\).*/\1/;q" + grep "\(\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed "s/.*${seperator}\(.*\)\(\.${suffix}\).*/\1/;q" else - grep "\(\.${suffix}\)\(\$\|\#\)" | sed "s/.*-\(.*\)\(\.${suffix}\).*/\1/;q" + grep "\(\.${suffix}\)\(\$\|\#\)" | sed "s/.*${seperator}\(.*\)\(\.${suffix}\).*/\1/;q" fi ;; *) if [[ ! -z ${UP2EXCLUDE} ]] then - grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed "s/.*-\(.*\)\(\.tar\.${suffix}\).*/\1/;q" + grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | grep -v -- "${UP2EXCLUDE}" | sed "s/.*${seperator}\(.*\)\(\.tar\.${suffix}\).*/\1/;q" else - grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | sed "s/.*-\(.*\)\(\.tar\.${suffix}\).*/\1/;q" + grep "\(\.tar\.${suffix}\)\(\$\|\#\)" | sed "s/.*${seperator}\(.*\)\(\.tar\.${suffix}\).*/\1/;q" fi ;; esac @@ -130,7 +139,7 @@ local useragent [[ ! -z ${UP2USERAGENT} ]] && useragent="-useragent '${UP2USERAGENT}'" - uppver=$(lynx -connect_timeout=${LYNX_CONNECT_TIMEOUT} -dump "${useragent}" $@) + uppver=$(lynx -connect_timeout=${LYNX_CONNECT_TIMEOUT} -read_timeout=${LYNX_READ_TIMEOUT} -dump "${useragent}" $@) if [[ $? -ne 0 ]] then echo "Error connecting '$@'" @@ -556,7 +565,7 @@ [[ ! -z ${UP2TARBALL} ]] && tarballname="${UP2TARBALL}" # exclude rc versions! - updatecmd "http://${pname}.freedesktop.org/releases${subdir}" | grep ${tarballname}- | grep -v rc[0-9] | lasttarball "${archive}" + updatecmd "http://${pname}.freedesktop.org/releases${subdir}?C=M;O=A" | grep ${tarballname}- | grep -v rc[0-9] | lasttarball "${archive}" } updatecmd_xorg()