commit:     ad09a180ae467a0eaf1da10e56adfb064b42691a
Author:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 07:23:17 2019 +0000
Commit:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 07:35:17 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad09a180

prefix/cygwin/profile.bashrc: preserve new dll list for rebase

Do not overwrite the being merged new package's dll list for rebase with
the being removed old package's dll list for just getting unmerged.
This likely is the cause of some Prefix bootstraps to hang on Cygwin.
Signed-off-by: Michael Haubenwallner <haubi <AT> gentoo.org>

 profiles/prefix/windows/cygwin/profile.bashrc | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/profiles/prefix/windows/cygwin/profile.bashrc 
b/profiles/prefix/windows/cygwin/profile.bashrc
index aecfd9adb7c..9694edc101d 100644
--- a/profiles/prefix/windows/cygwin/profile.bashrc
+++ b/profiles/prefix/windows/cygwin/profile.bashrc
@@ -198,21 +198,14 @@ cygwin-rebase-merge() {
 }
 
 cygwin-rebase-post_pkg_prerm() {
-       # The pending list is installed as part of the package, but
-       # the merged list is not.  Move from merged back to pending,
-       # in case the unmerge fails...
-       local pendingdir=$(cygwin-rebase-get_pendingdir)
+       # The pending list is registered as being installed with the package, 
but
+       # the merged list is not.  Just remove the unregistered one.
        local mergeddir=$(cygwin-rebase-get_mergeddir)
        local listname=$(cygwin-rebase-get_listname)
        (
                set -e
                cd "${EROOT}"
                [[ -w ./${mergeddir}/. ]]
-               [[ -w ./${pendingdir}/. ]]
-               if [[ -s ./${mergeddir}/${listname} ]]
-               then
-                       mv -f "./${mergeddir}/${listname}" 
"./${pendingdir}/${listname}" || :
-               fi
                rm -f "./${mergeddir}/${listname}"
        )
 }

Reply via email to