+++ /dev/null
-From a89daa75ac970d8e247edc762d1181e9a5b0c5d0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 17 Jan 2017 14:07:17 +0200
-Subject: [PATCH] When cross-installing, execute package scriptlets without
- chrooting into destination rootfs
-
-This is triggered only when RPM_NO_CHROOT_FOR_SCRIPTS environment variable is defined.
-Otherwise they will trigger an explosion of failures, obviously.
-
-Amended 2018-07-03 by Olof Johansson <olofjn@axis.com>:
-
- Remove leaking temporary scriptlet files
-
- Since we tell dnf to run rpm with debug output, this will result in rpm not
- cleaning up written temporary scriptlet files (same flag controls both
- behaviors). This wouldn't have been a problem since we normally would use the
- target sysroot also for temporary files, but we need to chroot out to be able
- to actually run the rpm scriptlets (purpose of this patch), so the temporary
- files are written to the host's /var/tmp/ directory, causing a gradual
- resource leakage on the host system for every RPM based do_rootfs task
- executed.
-
- Signed-off-by: Olof Johansson <olofjn@axis.com>
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/rpmscript.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index cc98c4885..f8bd3df04 100644
---- a/lib/rpmscript.c
-+++ b/lib/rpmscript.c
-@@ -394,8 +394,7 @@ exit:
- Fclose(out); /* XXX dup'd STDOUT_FILENO */
-
- if (fn) {
-- if (!rpmIsDebug())
-- unlink(fn);
-+ unlink(fn);
- free(fn);
- }
- free(mline);
-@@ -428,7 +427,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd,
-
- if (rc != RPMRC_FAIL) {
- if (script_type & RPMSCRIPTLET_EXEC) {
-- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc);
-+ if (getenv("RPM_NO_CHROOT_FOR_SCRIPTS") != NULL) {
-+ rpmChrootOut();
-+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc);
-+ rpmChrootIn();
-+ } else {
-+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc);
-+ }
- } else {
- rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc);
- }
---
-2.11.0
-