Use ${EROOT%/} whereever possible, as the tools and directories which
are used with it are already prefixed with a /
Use BROOT to specify path to update-mime-database and friends, setting
that to EROOT when not EAPI 7

Package-Manager: Portage-2.3.40, Repoman-2.3.9
---
 eclass/xdg-utils.eclass | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass
index f9088d9c348..9e4d4638e38 100644
--- a/eclass/xdg-utils.eclass
+++ b/eclass/xdg-utils.eclass
@@ -72,7 +72,8 @@ xdg_environment_reset() {
 # Updates the .desktop files database.
 # Generates a list of mimetypes linked to applications that can handle them
 xdg_desktop_database_update() {
-       local updater="${EROOT}${DESKTOP_DATABASE_UPDATE_BIN}"
+       [[ ${EAPI:-0} == [0123456] ]] && BROOT=${EROOT}
+       local updater="${BROOT%/}${DESKTOP_DATABASE_UPDATE_BIN}"
 
        if [[ ${EBUILD_PHASE} != post* ]] ; then
                die "xdg_desktop_database_update must be used in pkg_post* 
phases."
@@ -84,7 +85,7 @@ xdg_desktop_database_update() {
        fi
 
        ebegin "Updating .desktop files database"
-       "${updater}" -q "${EROOT}${DESKTOP_DATABASE_DIR}"
+       "${updater}" -q "${EROOT%/}${DESKTOP_DATABASE_DIR}"
        eend $?
 }
 
@@ -93,8 +94,8 @@ xdg_desktop_database_update() {
 # Updates Gtk+ icon cache files under /usr/share/icons.
 # This function should be called from pkg_postinst and pkg_postrm.
 xdg_icon_cache_update() {
-       has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"
-       local updater="${EROOT%/}${GTK_UPDATE_ICON_CACHE}"
+       [[ ${EAPI:-0} == [0123456] ]] && BROOT=${EROOT}
+       local updater="${BROOT%/}${GTK_UPDATE_ICON_CACHE}"
 
        if [[ ! -x "${updater}" ]]; then
                debug-print "${updater} is not executable"
@@ -145,7 +146,8 @@ xdg_icon_cache_update() {
 # Update the mime database.
 # Creates a general list of mime types from several sources
 xdg_mimeinfo_database_update() {
-       local updater="${EROOT}${MIMEINFO_DATABASE_UPDATE_BIN}"
+       [[ ${EAPI:-0} == [0123456] ]] && BROOT=${EROOT}
+       local updater="${BROOT%/}${MIMEINFO_DATABASE_UPDATE_BIN}"
 
        if [[ ${EBUILD_PHASE} != post* ]] ; then
                die "xdg_mimeinfo_database_update must be used in pkg_post* 
phases."
@@ -157,6 +159,6 @@ xdg_mimeinfo_database_update() {
        fi
 
        ebegin "Updating shared mime info database"
-       "${updater}" "${EROOT}${MIMEINFO_DATABASE_DIR}"
+       "${updater}" "${EROOT%/}${MIMEINFO_DATABASE_DIR}"
        eend $?
 }
-- 
2.17.1


Reply via email to