[OE-core] [PATCH] rpm: resolve a host contamination issue for mono packaging

Mark Hatle mark.hatle at windriver.com
Tue Aug 27 16:00:54 UTC 2019


On 8/27/19 10:54 AM, Alexander Kanavin wrote:
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> ---
>  ...es-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

Instead of hacking with with different names that (shouldn't or) don't exist..
It would be better to just disable the mono-find-* wouldn't it?

If that is the case..

In the fileattrs/mono.attr directory, just remove mono.attr or comment out all
of the lines.

--Mark

> 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 00000000000..24aa4c7ffff
> --- /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 <alex.kanavin at gmail.com>
> +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 <alex.kanavin at gmail.com>
> +---
> + 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 063f4269a57..c37330eb4c6 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"
> 



More information about the Openembedded-core mailing list