update-alternatives: Fix link relocation support

Commit fcb2633900 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@iki.fi>
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
This commit is contained in:
Niko Mauno
2018-11-11 16:19:49 +02:00
committed by Alejandro del Castillo
parent 0cd38bb1bd
commit 37f2ddb196

View File

@@ -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"