summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-06-28 23:32:12 +0200
committerErich Eckner <git@eckner.net>2017-06-28 23:32:12 +0200
commitc6984b98277071bd0e2830adaac7e5925ed4130c (patch)
treee715035227c9748df1415e717210a5f1edd8820e
parentcdb3bcea206a7397686921ddacd50c1a39e42cd2 (diff)
downloadbuilder-c6984b98277071bd0e2830adaac7e5925ed4130c.tar.xz
properly escape eval expressions
-rwxr-xr-xbin/build-packages4
-rwxr-xr-xbin/common-functions8
-rwxr-xr-xbin/get-package-updates12
-rwxr-xr-xconf/default.conf2
4 files changed, 13 insertions, 13 deletions
diff --git a/bin/build-packages b/bin/build-packages
index b218b91..6ede573 100755
--- a/bin/build-packages
+++ b/bin/build-packages
@@ -129,7 +129,7 @@ while [ ${count} -ne 0 ]; do
# Update git repositories (official packages, community packages and the repository of package customizations).
for repo_name in ${repo_names}; do
- eval repo_path='$repo_paths__'"${repo_name}"
+ eval repo_path='"${repo_paths__'"${repo_name}"'}"'
git -C "${repo_path}" fetch
done
@@ -149,7 +149,7 @@ while [ ${count} -ne 0 ]; do
tmp_dir="$(mktemp -d "${work_dir}/tmp.XXXXXX")"
if [ -n "${PKGBUILD}" ]; then
- eval git -C "$(printf '$repo_paths__%s' "${git_repo}")/${PKGBUILD%/*}" archive "${git_revision}" | \
+ eval "git -C \"$(printf '${repo_paths__%s}' "${git_repo}")/${PKGBUILD%/*}\" archive '${git_revision}'" | \
tar -x -C "${tmp_dir}"
fi
if [ -n "${PKGBUILD_mod}" ]; then
diff --git a/bin/common-functions b/bin/common-functions
index 442f5b2..edec2fe 100755
--- a/bin/common-functions
+++ b/bin/common-functions
@@ -19,7 +19,7 @@ find_pkgbuilds() {
local mod_git_revision="$5"
PKGBUILD="$(
- eval git -C "$(printf '$repo_paths__%s' "${git_repository}")" archive "${git_revision}" -- "${package}/repos/" 2> /dev/null | \
+ eval git -C "$(printf '"${repo_paths__%s}"' "${git_repository}")" 'archive "${git_revision}" -- "${package}/repos/"' 2> /dev/null | \
tar -t 2> /dev/null | \
grep "^$(str_to_regex "${package}/repos/${repository}")"'-.*/PKGBUILD$' | \
grep -v -- '-i686/PKGBUILD$' | \
@@ -54,7 +54,7 @@ find_repository_with_commit() {
local repository
for repository in ${repo_names}; do
- if [ "$(eval git -C "$(printf '$repo_paths__%s' "${repository}")" cat-file -t "$1" 2> /dev/null)" = "commit" ]; then
+ if [ "$(eval git -C "$(printf '"${repo_paths__%s}"' "${repository}")" cat-file -t '"$1"' 2> /dev/null)" = "commit" ]; then
echo "${repository}"
return 0
fi
@@ -77,7 +77,7 @@ find_git_repository_to_package_repository() {
fi
if [ -n "$(
(
- eval ls "$(printf '$repo_paths__%s' "${repository}")/"*"/repos" | \
+ eval ls "$(printf '"${repo_paths__%s}"' "${repository}")/"*"/repos" | \
grep -v ':$' | \
sed 's|-[^-]\+$||' | \
sort -u
@@ -339,7 +339,7 @@ make_source_info() {
if [ -n "${PKGBUILD}" ]; then
content="$(
- eval git -C "$(printf '$repo_paths__%s' "${git_repo}")" archive "${git_revision}" -- "${PKGBUILD}" | \
+ eval git -C "$(printf '"${repo_paths__%s}"' "${git_repo}")" 'archive "${git_revision}" -- "${PKGBUILD}"' | \
tar -Ox
)"
else
diff --git a/bin/get-package-updates b/bin/get-package-updates
index 77819e6..e096eff 100755
--- a/bin/get-package-updates
+++ b/bin/get-package-updates
@@ -88,7 +88,7 @@ delete_package() {
# Update git repositories (official packages, community packages and the repository of package customizations).
for repo in ${repo_names}; do
- eval repo_path='$repo_paths__'"${repo}"
+ eval repo_path='"${repo_paths__'"${repo}"'}"'
# TODO:
# this is somewhat redundant and slow -- improve it!
git -C "${repo_path}" checkout -f master
@@ -106,7 +106,7 @@ for repo in ${repo_names}; do
cat "${work_dir}/${repo}.revision" 2> /dev/null || \
echo NONE
)'"
- eval repo_path='$repo_paths__'"${repo}"
+ eval repo_path='"${repo_paths__'"${repo}"'}"'
eval "new_repo_revisions__${repo}='$(
git -C "${repo_path}" rev-parse HEAD | \
tee "${work_dir}/${repo}.revision.new"
@@ -137,9 +137,9 @@ cp \
"${work_dir}/deletion-list.new"
for repo in ${repo_names}; do
- eval repo_path='$repo_paths__'"${repo}"
- eval old_repo_revision='$old_repo_revisions__'"${repo}"
- eval new_repo_revision='$new_repo_revisions__'"${repo}"
+ eval repo_path='"${repo_paths__'"${repo}"'}"'
+ eval old_repo_revision='"${old_repo_revisions__'"${repo}"'}"'
+ eval new_repo_revision='"${new_repo_revisions__'"${repo}"'}"'
(
# if old revision unknown, mimic "git diff"-output
if [ "${old_repo_revision}" = "NONE" ]; then
@@ -158,7 +158,7 @@ for repo in ${repo_names}; do
sed 's|^\(.\t\)\([^/]\+\)/\([^/]\+\)/\(.\+\)$|\2 \1\3/repos/\2-x86_64/\4|' | \
while read -r pkg_repo rest; do
eval "printf '%s %s\n'" \
- "$(printf '"$new_repo_revisions__%s"' "$(find_git_repository_to_package_repository "${pkg_repo}")")" \
+ "$(printf '"${new_repo_revisions__%s}"' "$(find_git_repository_to_package_repository "${pkg_repo}")")" \
"'${rest}'"
done
else
diff --git a/conf/default.conf b/conf/default.conf
index f27823c..7554e33 100755
--- a/conf/default.conf
+++ b/conf/default.conf
@@ -62,7 +62,7 @@ mkdir -p "${work_dir}/build-list.loops"
for repo in ${repo_names}; do
- eval repo_path='$repo_paths__'"${repo}"
+ eval repo_path='"${repo_paths__'"${repo}"'}"'
mkdir -p "${repo_path%/*}"