commit:     256bcb665fcd37356c02a08a3e2a12d415a5d656
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri May  4 15:55:59 2018 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri May  4 15:55:59 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=256bcb66

ecompressdir: fix slash normalization (bug 654838)

This solves the following error, for EAPI 7 ebuilds using newdoc as shown:

mv: cannot move 
'/var/tmp/portage/portage-test/foo-1/temp/ecompress-skip/usr/share/doc/foo-1/html'
 to
'/var/tmp/portage/portage-test/foo-1/imageusr/share/doc/foo-1/html/html': 
Directory not empty

EAPI=7
src_install() {
        docinto html
        newdoc /dev/null null.html
}

Fixes: 244a62a4f275 ("Fix uses of D/ED to account for no trailing slash")

 bin/ebuild-helpers/ecompressdir | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bin/ebuild-helpers/ecompressdir b/bin/ebuild-helpers/ecompressdir
index fb4c39f2b..dacb857be 100755
--- a/bin/ebuild-helpers/ecompressdir
+++ b/bin/ebuild-helpers/ecompressdir
@@ -139,7 +139,7 @@ funk_up_dir() {
 # Move all files and directories we want to skip running compression
 # on from srctree to dsttree.
 _relocate_skip_dirs() {
-       local srctree="$1" dsttree="$2"
+       local srctree="${1%/}" dsttree="${2%/}"
 
        [[ -d ${srctree} ]] || return 0
 
@@ -213,7 +213,7 @@ for dir in "$@" ; do
 
        # now lets do our work
        if [[ -n ${suffix} ]] ; then
-               __vecho "${0##*/}: $(ecompress --bin) /${actual_dir#${ED%/}}"
+               __vecho "${0##*/}: $(ecompress --bin) /${actual_dir#${ED%/}/}"
                funk_up_dir "compress" "${suffix}" "ecompress" "${size_limit}"
                : $(( ret |= $? ))
        fi

Reply via email to