Commit ddc08fa9 authored by Vitaly Lipatov's avatar Vitaly Lipatov

rpmgs: fix spec path using, fix download tarball for src.rpm, improve download

parent 28c8f4f9
...@@ -181,6 +181,12 @@ function get_source() ...@@ -181,6 +181,12 @@ function get_source()
GETSOURCE=$(eval_spec $1 | get_var "$2") GETSOURCE=$(eval_spec $1 | get_var "$2")
} }
# download GETSOURCE url to tar.bz2 or tar (set WEXT as without extension name)
download_any_tarball()
{
get_tarbz2 || get_targz || get_tgz || get_7z || get_zip || get_tbz2 || get_tbz || get_tar || get_rar || dir_name || fatal "Cannot retrieve $GETSOURCE"
}
# param: spec name number (f.i., url for Source-url) # param: spec name number (f.i., url for Source-url)
function source_ext() function source_ext()
{ {
...@@ -257,8 +263,8 @@ do ...@@ -257,8 +263,8 @@ do
print_error print_error
fi fi
#set_specdir $i set_specdir $i
SPECDIR=`pwd`
# Set version if needed # Set version if needed
if [ -n "$GSSETVERSION" ] ; then if [ -n "$GSSETVERSION" ] ; then
CURVER=$(get_version $i) CURVER=$(get_version $i)
...@@ -290,7 +296,7 @@ do ...@@ -290,7 +296,7 @@ do
mkdir -p $RPMSOURCEDIR/ && pushd $RPMSOURCEDIR/ || fatal "Can't create/chdir..." mkdir -p $RPMSOURCEDIR/ && pushd $RPMSOURCEDIR/ || fatal "Can't create/chdir..."
get_source_url $SPECDIR/$i $nn || get_source_svn $SPECDIR/$i $nn get_source_url $i $nn || get_source_svn $i $nn
if [ -n "${GETSOURCESVN}" ] ; then if [ -n "${GETSOURCESVN}" ] ; then
is_gear $SPECDIR || fatal "Source-svn works only with gear repo" is_gear $SPECDIR || fatal "Source-svn works only with gear repo"
...@@ -304,16 +310,16 @@ do ...@@ -304,16 +310,16 @@ do
download_url "$GETSOURCEURL" download_url "$GETSOURCEURL"
# FIXME: gear-update can use any tarball # FIXME: gear-update can use any tarball
copy_tarball_to_tar $(basename "$GETSOURCEURL") $FTB copy_tarball_to_tar $(basename "$GETSOURCEURL") $FTB
else elif [ -z "${GETSOURCE/*.tar/}" ] ; then
if [ -z "${GETSOURCE/*.tar/}" ] ; then # tar target: try to load and convert
# try to load and convert download_any_tarball
get_tarbz2 || get_targz || get_tgz || get_7z || get_zip || get_tbz2 || get_tbz || get_tar || get_rar || dir_name || fatal "Cannot retrieve $GETSOURCE" elif [ -z "${GETSOURCE/*.tar.bz2/}" ] ; then
# tar.bz2 target: for src.rpm policy compatibility
download_any_tarball
test -f $WEXT.tar.bz2 || bzipit $WEXT.tar || fatal "Cannot bzip $WEXT.tar"
else else
download_url "$GETSOURCE" download_url "$GETSOURCE"
fi fi
#echo "Get tarball $FTB for gear"
#FORGEAR=1
fi
else else
[ -z "${GETSOURCEURL}" ] || fatal "Source git works only with gear repo" [ -z "${GETSOURCEURL}" ] || fatal "Source git works only with gear repo"
echog "Try to load ${GETSOURCEURL:-$GETSOURCE} for $i" echog "Try to load ${GETSOURCEURL:-$GETSOURCE} for $i"
...@@ -324,15 +330,19 @@ do ...@@ -324,15 +330,19 @@ do
# UpUrl for rpm # UpUrl for rpm
download_url "$GETSOURCEURL" download_url "$GETSOURCEURL"
copy_tarball_to_tar_bz2 $(basename "$GETSOURCEURL") $FTB copy_tarball_to_tar_bz2 $(basename "$GETSOURCEURL") $FTB
elif [ -z "${GETSOURCE/*.tar.bz2/}" ] ; then elif [ -n "${GETSOURCE/*.tar.bz2/}" ] ; then
# if not tar.bz2 target, direct download
download_url "$GETSOURCE" download_url "$GETSOURCE"
elif [ -n "${GETSOURCE/*.bz2/}" ] ; then elif [ -z "${GETSOURCE/*.tar.bz2/}" ] ; then
get_tarbz2 || get_targz || get_tgz || get_7z || get_zip || get_tbz2 || get_tbz || get_tar || get_rar || dir_name || fatal "Cannot retrieve $GETSOURCE" # if tar.bz2 target
download_any_tarball
#echog -n "Compressing to $WEXT.tar.bz2..." #echog -n "Compressing to $WEXT.tar.bz2..."
test -f $WEXT.tar.bz2 || bzipit $WEXT.tar || fatal "Cannot bzip $WEXT.tar" test -f $WEXT.tar.bz2 || bzipit $WEXT.tar || fatal "Cannot bzip $WEXT.tar"
elif [ -n "${GETSOURCE/*.tar.bz2/}" ] ; then elif [ -z "${GETSOURCE/*.bz2/}" ] ; then
warning "It is not tarball (possible single file)..." warning "It is not tarball (possible single file)..."
get_bz2 || get_gz || get_raw || fatal "Cannot retrieve $GETSOURCE" get_bz2 || get_gz || get_raw || fatal "Cannot retrieve $GETSOURCE"
else
error "rpmgs: Logical error with $GETSOURCE"
fi fi
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment