[pacman-dev] [PATCH] makepkg: Allow using sources with :: in them

William Giokas 1007380 at gmail.com
Mon Apr 28 15:16:04 EDT 2014


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.
---
 scripts/makepkg.sh.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index d8cdc88..7d6ecfa 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
-- 
2.0.0.rc0



More information about the pacman-dev mailing list