summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Giokas <1007380@gmail.com>2014-04-28 14:16:04 -0500
committerAllan McRae <allan@archlinux.org>2014-09-15 09:30:54 +1000
commit95e1a1ef8223dea2b8eb41e60428858b1c39f47f (patch)
tree79a55002756f0e80e1e80e9834920264a58904cb
parent38b6de937cdbf581d13b404b50183d1b7e457413 (diff)
downloadpacman-95e1a1ef8223dea2b8eb41e60428858b1c39f47f.tar.xz
makepkg: Allow using sources with :: in them
Git has the ability to use helper applications for interfacing with hg, and from what we had before, the following url:: foo::git+hg::http://foo.bar/foobar would get converted to something along the lines of: filename: foo URL: http://foo.bar/foobar and the 'git+hg' part would essentially be ignored when it's getting set up in the 'get_protocol' and 'get_downloadclient' functions. With this patch it is possible to have a source link with '::' in it, however it is not possible to have a filename with '::', which is the current behavior. Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in6
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 8e8a64ca..6f6d41c8 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -275,10 +275,10 @@ get_url() {
get_protocol() {
if [[ $1 = *://* ]]; then
# strip leading filename
- local proto="${1##*::}"
+ local proto="${1#*::}"
printf "%s\n" "${proto%%://*}"
elif [[ $1 = *lp:* ]]; then
- local proto="${1##*::}"
+ local proto="${1#*::}"
printf "%s\n" "${proto%%lp:*}"
else
printf "%s\n" local
@@ -293,7 +293,7 @@ get_downloadclient() {
for i in "${DLAGENTS[@]}"; do
local handler="${i%%::*}"
if [[ $proto = "$handler" ]]; then
- local agent="${i##*::}"
+ local agent="${i#*::}"
break
fi
done