[yocto] [opkg-utils PATCH] update-alternatives: Fix link relocation support

Niko Mauno niko.mauno at iki.fi
Sun Nov 11 06:19:49 PST 2018


Commit fcb26339000021eb9bb711aa264247aebcfdd4ae which added Debian-style
support for link relocation tries to relocate symbolic link on host OS,
resulting in following-like error when two alternative packages have
symbolic link source located in different directories (/bin/rev ->
/bin/busybox.nosuid and /usr/bin/rev -> /usr/bin/rev.util-linux):

  update-alternatives: renaming rev link from /bin/rev to /usr/bin/rev
  mv: cannot stat '/bin/rev': No such file or directory

Fix the issue by prefixing 'olink' and 'link' variable references with
path to targeted root filesystem's root directory.

Signed-off-by: Niko Mauno <niko.mauno at iki.fi>
---
 update-alternatives | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/update-alternatives b/update-alternatives
index 89a440b..d4fa7eb 100644
--- a/update-alternatives
+++ b/update-alternatives
@@ -58,7 +58,7 @@ register_alt() {
 			local link_str=`echo $link | protect_slashes`
 			sed -e "1s/.*/$link_str/" $ad/$name > $ad/$name.new
 			mv $ad/$name.new $ad/$name
-			mv $olink $link
+			mv $OPKG_OFFLINE_ROOT$olink $OPKG_OFFLINE_ROOT$link
 		fi
 	else
 		echo "$link" > "$ad/$name"
-- 
2.19.1



More information about the yocto mailing list