summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2017-09-19 15:40:32 -0700
committerZac Medico <zmedico@gentoo.org>2017-09-19 16:15:43 -0700
commitc4edb9ca3a6c1b23a748c057094ab5089523aada (patch)
treefdb070b291a180a2336913506e9bc02af26fd656
parentUpdates for portage-2.3.9 release (diff)
downloadportage-c4edb9ca3a6c1b23a748c057094ab5089523aada.tar.gz
portage-c4edb9ca3a6c1b23a748c057094ab5089523aada.tar.bz2
portage-c4edb9ca3a6c1b23a748c057094ab5089523aada.zip
postinst-qa-check.d: fix [[ ${files[@]} ]] logic in for loops
Use a separate all_files array to accumulate the results from all loops, so that [[ ${files[@]} ]] only checks for files found during the current loop.
-rw-r--r--bin/postinst-qa-check.d/50gnome2-utils9
-rw-r--r--bin/postinst-qa-check.d/50xdg-utils14
2 files changed, 13 insertions, 10 deletions
diff --git a/bin/postinst-qa-check.d/50gnome2-utils b/bin/postinst-qa-check.d/50gnome2-utils
index 84025ab83..077a04918 100644
--- a/bin/postinst-qa-check.d/50gnome2-utils
+++ b/bin/postinst-qa-check.d/50gnome2-utils
@@ -1,12 +1,12 @@
# check for missing calls to gnome2-utils regen functions
gnome2_icon_cache_check() {
- local d f files=() find_args
+ local d f all_files=() find_args
for d in usr/share/icons/*/; do
# gnome2_icon_cache_update updates only themes with an index
[[ -f ${d}/index.theme ]] || continue
- find_args=(
+ local files=() find_args=(
# gtk-update-icon-cache supports only specific file
# suffixes; match that to avoid false positives
'(' -name '*.png' -o -name '*.svg'
@@ -27,15 +27,16 @@ gnome2_icon_cache_check() {
# (note: yes, it will eagerly repeat the update for next dirs
# but that's a minor issue)
if [[ ${files[@]} ]]; then
+ all_files+=("${files[@]}")
addwrite "${d}"
gtk-update-icon-cache -qf "${d}"
fi
done
- if [[ ${files[@]} ]]; then
+ if [[ ${all_files[@]} ]]; then
eqawarn "QA Notice: new icons were found installed but GTK+ icon cache"
eqawarn "has not been updated:"
- eqatag -v gnome2-utils.icon-cache "${files[@]/#//}"
+ eqatag -v gnome2-utils.icon-cache "${all_files[@]/#//}"
eqawarn "Please make sure to call gnome2_icon_cache_update()"
eqawarn "in pkg_postinst() and pkg_postrm() phases of appropriate pkgs."
fi
diff --git a/bin/postinst-qa-check.d/50xdg-utils b/bin/postinst-qa-check.d/50xdg-utils
index 9f5e9a48c..410aceb88 100644
--- a/bin/postinst-qa-check.d/50xdg-utils
+++ b/bin/postinst-qa-check.d/50xdg-utils
@@ -5,7 +5,7 @@ xdg_desktop_database_check() {
for d in usr/share/applications; do
[[ -d ${d} ]] || continue
- find_args=()
+ local files=() find_args=()
# if the cache does not exist at all, we complain for any file
# otherwise, we look for files newer than the cache
[[ -f ${d}/mimeinfo.cache ]] &&
@@ -23,15 +23,16 @@ xdg_desktop_database_check() {
# (note: yes, it will eagerly repeat the update for next dirs
# but it's a minor issue and we have only one dir anyway)
if [[ ${files[@]} ]]; then
+ all_files+=("${files[@]}")
addwrite "${d}"
update-desktop-database "${d}"
fi
done
- if [[ ${files[@]} ]]; then
+ if [[ ${all_files[@]} ]]; then
eqawarn "QA Notice: .desktop files with MimeType= were found installed"
eqawarn "but desktop mimeinfo cache has not been updated:"
- eqatag -v xdg-utils.desktop "${files[@]/#//}"
+ eqatag -v xdg-utils.desktop "${all_files[@]/#//}"
eqawarn "Please make sure to call xdg_desktop_database_update()"
eqawarn "in pkg_postinst() and pkg_postrm() phases of appropriate pkgs."
fi
@@ -42,7 +43,7 @@ xdg_mimeinfo_database_check() {
for d in usr/share/mime; do
[[ -d ${d} ]] || continue
- find_args=()
+ local files=() find_args=()
# if the cache does not exist at all, we complain for any file
# otherwise, we look for files newer than the cache
[[ -f ${d}/mime.cache ]] &&
@@ -57,15 +58,16 @@ xdg_mimeinfo_database_check() {
# (note: yes, it will eagerly repeat the update for next dirs
# but it's a minor issue and we have only one dir anyway)
if [[ ${files[@]} ]]; then
+ all_files+=("${files[@]}")
addwrite "${d}"
update-mime-database "${d}"
fi
done
- if [[ ${files[@]} ]]; then
+ if [[ ${all_files[@]} ]]; then
eqawarn "QA Notice: mime-info files were found installed but mime-info"
eqawarn "cache has not been updated:"
- eqatag -v xdg-utils.mime-info "${files[@]/#//}"
+ eqatag -v xdg-utils.mime-info "${all_files[@]/#//}"
eqawarn "Please make sure to call xdg_mimeinfo_database_update()"
eqawarn "in pkg_postinst() and pkg_postrm() phases of appropriate pkgs."
fi