From: Michael Haubenwallner Date: Mon, 12 Aug 2019 07:23:17 +0000 (+0200) Subject: prefix/cygwin/profile.bashrc: preserve new dll list for rebase X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=ad09a180ae467a0eaf1da10e56adfb064b42691a;p=gentoo.git 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 --- diff --git a/profiles/prefix/windows/cygwin/profile.bashrc b/profiles/prefix/windows/cygwin/profile.bashrc index aecfd9adb7c0..9694edc101df 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}" ) }