diff options
-rw-r--r-- | meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch index 2be3cb5af3..4020a31092 100644 --- a/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch +++ b/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From a6f269f879221f2777169c5f7291322afe6b661b Mon Sep 17 00:00:00 2001 | 1 | From a89daa75ac970d8e247edc762d1181e9a5b0c5d0 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Tue, 17 Jan 2017 14:07:17 +0200 | 3 | Date: Tue, 17 Jan 2017 14:07:17 +0200 |
4 | Subject: [PATCH] When cross-installing, execute package scriptlets without | 4 | Subject: [PATCH] When cross-installing, execute package scriptlets without |
@@ -7,17 +7,42 @@ Subject: [PATCH] When cross-installing, execute package scriptlets without | |||
7 | This is triggered only when RPM_NO_CHROOT_FOR_SCRIPTS environment variable is defined. | 7 | This is triggered only when RPM_NO_CHROOT_FOR_SCRIPTS environment variable is defined. |
8 | Otherwise they will trigger an explosion of failures, obviously. | 8 | Otherwise they will trigger an explosion of failures, obviously. |
9 | 9 | ||
10 | Amended 2018-07-03 by Olof Johansson <olofjn@axis.com>: | ||
11 | |||
12 | Remove leaking temporary scriptlet files | ||
13 | |||
14 | Since we tell dnf to run rpm with debug output, this will result in rpm not | ||
15 | cleaning up written temporary scriptlet files (same flag controls both | ||
16 | behaviors). This wouldn't have been a problem since we normally would use the | ||
17 | target sysroot also for temporary files, but we need to chroot out to be able | ||
18 | to actually run the rpm scriptlets (purpose of this patch), so the temporary | ||
19 | files are written to the host's /var/tmp/ directory, causing a gradual | ||
20 | resource leakage on the host system for every RPM based do_rootfs task | ||
21 | executed. | ||
22 | |||
23 | Signed-off-by: Olof Johansson <olofjn@axis.com> | ||
24 | |||
10 | Upstream-Status: Inappropriate [oe-core specific] | 25 | Upstream-Status: Inappropriate [oe-core specific] |
11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | 26 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
12 | --- | 27 | --- |
13 | lib/rpmscript.c | 8 +++++++- | 28 | lib/rpmscript.c | 11 ++++++++--- |
14 | 1 file changed, 7 insertions(+), 1 deletion(-) | 29 | 1 file changed, 8 insertions(+), 3 deletions(-) |
15 | 30 | ||
16 | diff --git a/lib/rpmscript.c b/lib/rpmscript.c | 31 | diff --git a/lib/rpmscript.c b/lib/rpmscript.c |
17 | index 98d3f420d..b95b5d606 100644 | 32 | index cc98c4885..f8bd3df04 100644 |
18 | --- a/lib/rpmscript.c | 33 | --- a/lib/rpmscript.c |
19 | +++ b/lib/rpmscript.c | 34 | +++ b/lib/rpmscript.c |
20 | @@ -467,7 +467,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, | 35 | @@ -394,8 +394,7 @@ exit: |
36 | Fclose(out); /* XXX dup'd STDOUT_FILENO */ | ||
37 | |||
38 | if (fn) { | ||
39 | - if (!rpmIsDebug()) | ||
40 | - unlink(fn); | ||
41 | + unlink(fn); | ||
42 | free(fn); | ||
43 | } | ||
44 | free(mline); | ||
45 | @@ -428,7 +427,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, | ||
21 | 46 | ||
22 | if (rc != RPMRC_FAIL) { | 47 | if (rc != RPMRC_FAIL) { |
23 | if (script_type & RPMSCRIPTLET_EXEC) { | 48 | if (script_type & RPMSCRIPTLET_EXEC) { |