From bf988706fa4bdd863bdf1c6bf95e03bb68ab08c0 Mon Sep 17 00:00:00 2001 From: merakor Date: Mon, 4 Jan 2021 11:41:57 +0000 Subject: pkg_swap(): fix swap regular expression This bug caused swapping prefix files to malfunction on manifest files. Example: swapping redo caused redo-* files to be swapped on the manifest with the name 'redo' without actually moving the files to the alternatives directory either. FossilOrigin-Name: 5966d079397154246173b94f53de83212c20edeb53f75089092cec352e6316f4 --- src/cpt-lib | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cpt-lib b/src/cpt-lib index c75fbcf..6afd030 100644 --- a/src/cpt-lib +++ b/src/cpt-lib @@ -1281,7 +1281,7 @@ pkg_swap() { # its manifest file to reflect this. We then resort this file # so no issues arise when removing packages. cp -Pf "$CPT_ROOT/$2" "$pkg_owns>${alt#*>}" - sed "s#^$(regesc "$2")#${PWD#$CPT_ROOT}/$pkg_owns>${alt#*>}#" \ + sed "s#^$(regesc "$2")\$#${PWD#$CPT_ROOT}/$pkg_owns>${alt#*>}#" \ "../installed/$pkg_owns/manifest" | sort -r -o "../installed/$pkg_owns/manifest" fi @@ -1289,7 +1289,7 @@ pkg_swap() { # Convert the desired alternative to a real file and rewrite # the manifest file to reflect this. The reverse of above. mv -f "$alt" "$CPT_ROOT/$2" - sed "s#^${PWD#$CPT_ROOT}/$(regesc "$alt")#$2#" "../installed/$1/manifest" | + sed "s#^${PWD#$CPT_ROOT}/$(regesc "$alt")\$#$2#" "../installed/$1/manifest" | sort -r -o "../installed/$1/manifest" } -- cgit v1.2.3