From 51baa9a3b4948683a962674b4854ceaa06d3eb4f Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 28 Aug 2019 17:24:37 +0200 Subject: rpm: resolve a host contamination issue for mono packaging This is perhaps not the most elegant patch but it be dropped once rpm is updated to the soon-to-be-released version 4.15 where upstream has removed mono dependency resolution altogether. (From OE-Core rev: c829e89f99c973787f31422b4c32eeebe8c383d3) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...rovides-requires-do-not-use-monodis-from-.patch | 58 ++++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_4.14.2.1.bb | 1 + 2 files changed, 59 insertions(+) create mode 100644 meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch diff --git a/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch b/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch new file mode 100644 index 0000000000..24aa4c7fff --- /dev/null +++ b/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch @@ -0,0 +1,58 @@ +From 43fbc3f53302a395463e8450ac81c53f623eec3f Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 27 Aug 2019 17:42:34 +0200 +Subject: [PATCH] mono-find-provides/requires: do not use monodis from the host + +There was a host contamination issue here: if monodis was installed +on the host, do_package would use that to resolve dependencies +of mono libraries (and often fail in that). Without monodis, +no dependencies are resolved, which is seemingly how things +are supposed to work. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + scripts/mono-find-provides | 8 ++++---- + scripts/mono-find-requires | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/scripts/mono-find-provides b/scripts/mono-find-provides +index 9348457d3..b28872ffb 100644 +--- a/scripts/mono-find-provides ++++ b/scripts/mono-find-provides +@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) + build_bindir="$2/usr/bin" + build_libdir="$2$3" + +-if [ -x $build_bindir/monodis ]; then +- monodis="$build_bindir/monodis" ++if [ -x $build_bindir/monodis.bogus ]; then ++ monodis="$build_bindir/monodis.bogus" + export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +-elif [ -x /usr/bin/monodis ]; then +- monodis="/usr/bin/monodis" ++elif [ -x /usr/bin/monodis.bogus ]; then ++ monodis="/usr/bin/monodis.bogus" + else + exit 0; + fi +diff --git a/scripts/mono-find-requires b/scripts/mono-find-requires +index ea58cae48..d270169e1 100644 +--- a/scripts/mono-find-requires ++++ b/scripts/mono-find-requires +@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) + build_bindir="$2/usr/bin" + build_libdir="$2$3" + +-if [ -x $build_bindir/monodis ]; then +- monodis="$build_bindir/monodis" ++if [ -x $build_bindir/monodis.bogus ]; then ++ monodis="$build_bindir/monodis.bogus" + export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +-elif [ -x /usr/bin/monodis ]; then +- monodis="/usr/bin/monodis" ++elif [ -x /usr/bin/monodis.bogus ]; then ++ monodis="/usr/bin/monodis.bogus" + else + exit 0; + fi diff --git a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb index 063f4269a5..c37330eb4c 100644 --- a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb @@ -41,6 +41,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \ file://0001-perl-disable-auto-reqs.patch \ file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ + file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \ " PE = "1" -- cgit v1.2.3-54-g00ecf