Browse Source

Benjamin Schieder:


			
			
				rocklinux
			
			
		
Benjamin Schieder 20 years ago
parent
commit
d79c28f29e
1 changed files with 62 additions and 1 deletions
  1. +62
    -1
      scripts/Download

+ 62
- 1
scripts/Download

@ -533,7 +533,68 @@ download_file_now() {
# Download
#
if [[ $url = cvs://* ]] ; then
if [[ $url = svn://* ]] ; then
# svn://mode:[login[:password]@]server[:port]:/path::revision/
urlorig=${url}
url="${url#svn://}"; url="${url%/}"
mode="${url%%:*}"
url="${url#*:}"
if [ "${url%@*}" = "${url}" ] ; then
username=""
password=""
else
username="${url%%@*}"
if [ "${username%:*}" != "${username}" ] ; then
password="--password ${username#*:}"
username="${username%%:*}"
fi
username="--username ${username}"
fi
url="${url##*@}"
rev="${url##*::}"
if [ -z "${rev}" -o "${rev}" == "${url}" ] ; then
rev=""
else
rev="-r ${rev}"
fi
url="${url%::*}"
old=${PWD}
tmp="`mktemp`"
rm -rf ${tmp}
dir=${bzfile%.tar.bz2}
dir="`basename ${dir}`"
mkdir -p ${tmp}/${dir}
cd ${tmp}/${dir}
echo SVN ${username} ${password} ${rev} ${mode}://${url}
{ echo svn co ${username} ${password} ${rev} ${mode}://${url} .
if ! svn co ${username} ${password} ${rev} ${mode}://${url} .
then touch .svn_error ; fi
} &> .svn_output &
while fuser .svn_output &> /dev/null ; do
echo -ne `nice du -sh 2> /dev/null | cut -f1` 'downloaded from' \
'SVN archive so far...\r'
sleep 3
done
echo `du -sh 2> /dev/null | cut -f1` 'downloaded from' \
'SVN archive (download finished).'
if [ ! -f .svn_error ] ; then
rm -f .svn_output
cd ..
tar --owner root --group root \
--use-compress-program=bzip2 \
-cf ${dir}.tar.bz2 ${dir}
mv ${dir}.tar.bz2 ${old}/${bzfile}
cd ${old} ; rm -rf ${tmp}
else
cat .svn_output
cd $old ; rm -rf $tmp
echo ERROR: SVN co ${username} ${password} ${mode}://${url} . \
returned an error.
echo "0 $gzfile $urlorig" >> src/Download-Errors
fi
elif [[ $url = cvs://* ]] ; then
# cvs://mode:[login[:password]@]server[:port]:/path::module!revision/
# btw, at least current cvs supports password at CVSROOT.

Loading…
Cancel
Save