From 18562ccae6996431d37767653b061d4e9e1b9424 Mon Sep 17 00:00:00 2001
From: Niko Mauno <niko.mauno@iki.fi>
Date: Sun, 11 Nov 2018 15:50:22 +0200
Subject: [opkg-utils PATCH] update-alternatives: Fix link relocation support

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.

Upstream-Status: Submitted [opkg-utils]

Signed-off-by: Niko Mauno <niko.mauno@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

