diff options
author | Erich Eckner <git@eckner.net> | 2017-07-27 12:07:16 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-07-27 12:07:16 +0200 |
commit | f5e79adb30cc33c51e99891f00fffaec8b1e8506 (patch) | |
tree | a7c19c9b64b571511d44dd067a164cdbafc89a06 /bin/common-functions | |
parent | 2f394fd511e9f9d8bce1f2eb1c4350554718e21a (diff) | |
download | builder-f5e79adb30cc33c51e99891f00fffaec8b1e8506.tar.xz |
bin/common-functions: do not "ls" in git archive
Diffstat (limited to 'bin/common-functions')
-rwxr-xr-x | bin/common-functions | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bin/common-functions b/bin/common-functions index cd2aa8d..412624e 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -67,6 +67,7 @@ find_git_repository_to_package_repository() { local repository local package_repository + local repo_path package_repository="$1" @@ -79,8 +80,11 @@ find_git_repository_to_package_repository() { if [ "${repository}" = "archlinux32" ]; then continue fi - if eval ls "$(printf '"${repo_paths__%s}"' "${repository}")/"*"/repos" | \ - grep -v ':$' | \ + eval 'repo_path="${repo_paths__'"${repository}"'}"' + if git -C "${repo_path}" archive "$(cat "${work_dir}/${repository}.revision")" -- | \ + tar -t --wildcards '*/repos' | \ + grep '^\([^/]\+/\)\{3\}PKGBUILD$' | \ + cut -d/ -f3 | \ sed 's|-[^-]\+$||' | \ sort -u | \ grep -qxF "${package_repository}"; then |