From ad09a180ae467a0eaf1da10e56adfb064b42691a Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Mon, 12 Aug 2019 09:23:17 +0200 Subject: [PATCH] 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 --- 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 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}" ) } -- 2.26.2