opkg-utils: warn if update-alternatives finds priority conflict

If multiple providers for a utility have the same alternatives priority,
which one would be chosen is determined by which one is installed later.
Our alternatives system should be able to detect such problem and warn users
so that potential problems could be avoided.

Modify update-alternatives to warn users when detecting multiple providers
with the same priority.

[YOCTO #8314]

(From OE-Core rev: 06cf956e3441868d69f81d6c034778d855ce1c98)

(From OE-Core rev: 0b413d502868c89b7ddbe50a978317ffa774b3cc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi authored and Richard Purdie committed 2017-01-09 13:39:11 +00:00
1 parent 8db49696e4
commit 41137c212c
2 files changed
+28 -1

No files matched your search

@@ -0,0 +1,26 @@
Subject: update-alternatives: warn when multiple providers have the same priority
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
update-alternatives | 3 +++
1 file changed, 3 insertions(+)
diff --git a/update-alternatives b/update-alternatives
index ca01d5d..ffad853 100644
--- a/update-alternatives
+++ b/update-alternatives
@@ -90,6 +90,9 @@ add_alt() {
local path="$2"
local priority="$3"
remove_alt $name $path
+ if grep -qw "$priority" $ad/$name; then
+ echo "Warn: update-alternatives: $name has multiple providers with the same priority, please check $ad/$name for details"
+ fi
echo "$path $priority" >> $ad/$name
}
--
2.8.3
@@ -10,7 +10,8 @@ PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtu
SRCREV = "3ffece9bf19a844edacc563aa092fd1fbfcffeee"
PV = "0.3.2+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/opkg-utils"
SRC_URI = "git://git.yoctoproject.org/opkg-utils \
file://0001-update-alternatives-warn-when-multiple-providers-hav.patch"
SRC_URI_append_class-native = " file://tar_ignore_error.patch"
S = "${WORKDIR}/git"