+dir=$(pwd)
+
+# extract version components from url
+# exports: $version; $release; $svndate; $svnver; $branch; $basever
+extract_version() {
+ local url=$1 part
+
+ part=${url#${pkg}[_-]}
+ if [[ $version = *~* ]]; then
+ # ubuntu urls
+ version=${part%~*}; part=${part#*${version}~}
+ else
+ version=${part%.tar.*}; part=${part#*${version}}
+ part=${part#.tar.xz}
+ part=${part#.tar.gz}
+ fi
+
+ # release always 1 :)
+ release=1
+ if [ "$part" != "${part%%svn*}" ]; then
+ svndate=${part#svn*}; svndate=${svndate%%r*}
+ part=${part#svn${svndate}}
+ else
+ svndate='%{nil}'
+ fi
+ svnver=${part#r}; svnver=${svnver%%.*}
+
+ branch=${version%.*}
+ basever=${version#${branch}.}
+
+ : EXTRACTED: version=$version release=$release svnver=$svnver branch=$branch basever=$basever
+}
+
+url2version() {
+ local url=$1
+
+ echo "${url}" | sed -e "
+ s,$version,%{version},g
+ s,$release,%{release},g
+ s,$svndate,%{svndate},g
+ s,$svnver,%{svnver},g
+ "
+}
+
+# setup url from template
+version2url() {
+ local url=$1
+
+ echo "${url}" | sed -e "
+ s,%{version},$version,g
+ s,%{release},$release,g
+ s,%{basever},$basever,g
+ s,%{branch},$branch,g
+ s,%{svndate},$svndate,g
+ s,%{svnver},$svnver,g
+ "
+}