]> code.ossystems Code Review - openembedded-core.git/commitdiff
opkg-utils: warn if update-alternatives finds priority conflict
authorChen Qi <Qi.Chen@windriver.com>
Wed, 21 Dec 2016 04:32:47 +0000 (12:32 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 9 Jan 2017 13:34:29 +0000 (13:34 +0000)
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)

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>
meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-warn-when-multiple-providers-hav.patch [new file with mode: 0644]
meta/recipes-devtools/opkg-utils/opkg-utils_git.bb

diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-warn-when-multiple-providers-hav.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-warn-when-multiple-providers-hav.patch
new file mode 100644 (file)
index 0000000..afce1e1
--- /dev/null
@@ -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
+
index 19a852ec627e686f582808bdad77c2b6d4c38770..7b01bfc346ef1fd6e3b5fc3ad6888690fee6d61f 100644 (file)
@@ -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"