diff options
author | Zac Medico <zmedico@gentoo.org> | 2017-09-19 15:40:32 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2017-09-19 16:15:43 -0700 |
commit | c4edb9ca3a6c1b23a748c057094ab5089523aada (patch) | |
tree | fdb070b291a180a2336913506e9bc02af26fd656 | |
parent | Updates for portage-2.3.9 release (diff) | |
download | portage-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-utils | 9 | ||||
-rw-r--r-- | bin/postinst-qa-check.d/50xdg-utils | 14 |
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 |