summaryrefslogtreecommitdiffstats
path: root/scripts/libmakepkg/source
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz93@gmail.com>2017-01-03 21:10:18 +0100
committerAllan McRae <allan@archlinux.org>2017-01-04 04:59:15 +0100
commiteaa82b4d0775252856a4e54a6f2a9ea191cf0b8f (patch)
tree9d974f15a153a11c619ba44e42957aeb70ea7858 /scripts/libmakepkg/source
parent42e7020281d3ae260e1e9693495f527b7f476625 (diff)
downloadpacman-eaa82b4d0775252856a4e54a6f2a9ea191cf0b8f.tar.gz
pacman-eaa82b4d0775252856a4e54a6f2a9ea191cf0b8f.tar.xz
makepkg: Verify git signatures
A git repository is marked as signed if it contains the query "signed" as defined by https://tools.ietf.org/html/rfc3986 Adds two utility functions in util/source.sh.in to extract fragments and queries, and modifies source/git.sh.in to use them. Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'scripts/libmakepkg/source')
-rw-r--r--scripts/libmakepkg/source/git.sh.in11
1 files changed, 3 insertions, 8 deletions
diff --git a/scripts/libmakepkg/source/git.sh.in b/scripts/libmakepkg/source/git.sh.in
index 63f66d94..6d7e0a67 100644
--- a/scripts/libmakepkg/source/git.sh.in
+++ b/scripts/libmakepkg/source/git.sh.in
@@ -39,6 +39,7 @@ download_git() {
local url=$(get_url "$netfile")
url=${url#git+}
url=${url%%#*}
+ url=${url%%\?*}
if [[ ! -d "$dir" ]] || dir_is_empty "$dir" ; then
msg2 "$(gettext "Cloning %s %s repo...")" "${repo}" "git"
@@ -66,14 +67,8 @@ download_git() {
extract_git() {
local netfile=$1
- local fragment=${netfile#*#}
- if [[ $fragment = "$netfile" ]]; then
- unset fragment
- fi
-
- local repo=${netfile##*/}
- repo=${repo%%#*}
- repo=${repo%%.git*}
+ local fragment=$(get_uri_fragment "$netfile")
+ local repo=$(get_filename "$netfile")
local dir=$(get_filepath "$netfile")
[[ -z "$dir" ]] && dir="$SRCDEST/$(get_filename "$netfile")"