]> code.ossystems Code Review - openembedded-core.git/commitdiff
rpm: produce sane amount of logging when creating a rootfs
authorAlexander Kanavin <alex.kanavin@gmail.com>
Fri, 11 Jan 2019 10:43:49 +0000 (11:43 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Jan 2019 11:21:58 +0000 (11:21 +0000)
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 <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/package_manager.py
meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch [new file with mode: 0644]
meta/recipes-devtools/rpm/rpm_4.14.2.1.bb

index 392fe7e3724809dc1f467b5b4c8e4c5411c982af..7ff76c61cdd2420984aa3756eb827a7377825474 100644 (file)
@@ -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 (file)
index 0000000..43e9859
--- /dev/null
@@ -0,0 +1,55 @@
+From 989e425d416474c191b020d0825895e3df4bd033 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+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 <alex.kanavin@gmail.com>
+---
+ 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) {
index ef5d631917cfd8ff8a7188368a91275c6da452b4..66eef557dfa1ff43edc80f34ae1df7365422f921 100644 (file)
@@ -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"