From ffb7b8f70937a7d95814c1a99527d5ea7cbf7cee Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 11 Jan 2019 11:43:49 +0100 Subject: rpm: produce sane amount of logging when creating a rootfs Previously there was lots of irrelevant noise in the logs, because we also wanted to be able to debug postinst issues easily. I have adjusted the logging levels so that postinst info is still written to the logs, but other things are not. [YOCTO #13119] Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/lib/oe/package_manager.py | 2 +- ...-change-logging-level-around-scriptlets-t.patch | 55 ++++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_4.14.2.1.bb | 1 + 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 392fe7e372..7ff76c61cd 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -966,7 +966,7 @@ class RpmPM(PackageManager): os.environ['RPM_ETCCONFIGDIR'] = self.target_rootfs dnf_cmd = bb.utils.which(os.getenv('PATH'), "dnf") - standard_dnf_args = ["-v", "--rpmverbosity=debug", "-y", + standard_dnf_args = ["-v", "--rpmverbosity=info", "-y", "-c", oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"), "--setopt=reposdir=%s" %(oe.path.join(self.target_rootfs, "etc/yum.repos.d")), "--installroot=%s" % (self.target_rootfs), diff --git a/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch b/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch new file mode 100644 index 0000000000..43e9859ef3 --- /dev/null +++ b/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch @@ -0,0 +1,55 @@ +From 989e425d416474c191b020d0825895e3df4bd033 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 10 Jan 2019 18:14:18 +0100 +Subject: [PATCH] rpmscript.c: change logging level around scriptlets to INFO + from DEBUG + +That way we can debug scriptlet failures without writing lots of +irrelevant noise to rootfs logs. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + lib/rpmscript.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lib/rpmscript.c b/lib/rpmscript.c +index 2b0e43862..e319673f1 100644 +--- a/lib/rpmscript.c ++++ b/lib/rpmscript.c +@@ -226,7 +226,7 @@ static char * writeScript(const char *cmd, const char *script) + if (Ferror(fd)) + goto exit; + +- if (rpmIsDebug() && (rstreq(cmd, "/bin/sh") || rstreq(cmd, "/bin/bash"))) { ++ if (rpmIsVerbose() && (rstreq(cmd, "/bin/sh") || rstreq(cmd, "/bin/bash"))) { + static const char set_x[] = "set -x\n"; + /* Assume failures will be caught by the write below */ + Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd); +@@ -258,7 +258,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, + char *mline = NULL; + rpmRC rc = RPMRC_FAIL; + +- rpmlog(RPMLOG_DEBUG, "%s: scriptlet start\n", sname); ++ rpmlog(RPMLOG_INFO, "%s: scriptlet start\n", sname); + + if (script) { + fn = writeScript(*argvp[0], script); +@@ -310,7 +310,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, + sname, strerror(errno)); + goto exit; + } else if (pid == 0) {/* Child */ +- rpmlog(RPMLOG_DEBUG, "%s: execv(%s) pid %d\n", ++ rpmlog(RPMLOG_INFO, "%s: execv(%s) pid %d\n", + sname, *argvp[0], (unsigned)getpid()); + + fclose(in); +@@ -353,7 +353,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes, + reaped = waitpid(pid, &status, 0); + } while (reaped == -1 && errno == EINTR); + +- rpmlog(RPMLOG_DEBUG, "%s: waitpid(%d) rc %d status %x\n", ++ rpmlog(RPMLOG_INFO, "%s: waitpid(%d) rc %d status %x\n", + sname, (unsigned)pid, (unsigned)reaped, status); + + if (reaped < 0) { 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 ef5d631917..66eef557df 100644 --- a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \ file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \ 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 \ " PE = "1" -- cgit 1.2.3-korg