Commit 6022a8f6 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm repo add: add support for various url forms

parent 139951e5
......@@ -96,6 +96,45 @@ __epm_addrepo_altlinux_dir()
done
}
__epm_addrepo_altlinux_url()
{
local url="$1"
local arch
local base
# URL to path/RPMS.addon
base="$(basename "$url")"
if echo "$base" | grep -q "^RPMS\." ; then
REPO_NAME="$(echo $base | sed -e 's|.*\.||')"
arch="$(basename $(dirname $url))"
url="$(dirname $(dirname $url))"
docmd epm repo add "rpm $url $arch $REPO_NAME"
return
fi
# URL to path (where RPMS.addon is exists)
local baseurl="$(eget --list "$url/RPMS.*")"
base="$(basename "$baseurl")"
if echo "$base" | grep -q "^RPMS\." ; then
REPO_NAME="$(echo $base | sed -e 's|.*\.||')"
arch="$(basename $url)"
url="$(dirname $url)"
docmd epm repo add "rpm $url $arch $REPO_NAME"
return
fi
# URL to {i586,x86_64,noarch}/RPMS.addon
local res=''
for arch in $(get_archlist) ; do
local rd="$(eget --list $url/$arch/RPMS.*)"
[ -d "$rd" ] || continue
local REPO_NAME="$(echo "$rd" | sed -e 's|.*\.||')"
docmd epm repo add "rpm $url $arch $REPO_NAME"
res='1'
done
[ -n "$res" ] || warning "There is no arch repos in $url"
}
__epm_addrepo_altlinux()
{
......@@ -121,6 +160,11 @@ __epm_addrepo_altlinux()
return
fi
if is_url "$1" ; then
__epm_addrepo_altlinux_url "$1"
return
fi
case "$1" in
etersoft)
info "add Etersoft's addon repo"
......
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