aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-04-13 17:40:04 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-14 10:58:33 +0100
commita460b04789f48475c9ccf921c0e99a78c7fecdd0 (patch)
tree6e8c80ab38323ad9e4af4a7f0e6aa389732a41da /meta/recipes-devtools
parenta43991d5309afc9bdfd700ed720eccf5807acead (diff)
downloadopenembedded-core-contrib-a460b04789f48475c9ccf921c0e99a78c7fecdd0.tar.gz
rpm: more verbose errors in rpmTempFile
This patch adds better error logging inside the rpm tempfile function in order to be able to better analyze a rare and very hard-to-reproduce failure in oe-selftest for rpm signing. [YOCTO #9416] (From OE-Core rev: aba432ea3ada509b24075c159081e8f0f942c308) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch53
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.16.bb1
2 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch b/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch
new file mode 100644
index 00000000000..809e54e9cb8
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch
@@ -0,0 +1,53 @@
+rpmdb: more verbose error logging in rpmTempFile()
+
+Upstream-Status: Inappropriate [debugging]
+
+Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
+
+diff --git a/rpmdb/signature.c b/rpmdb/signature.c
+index dce6c4e..a1d0f06 100644
+--- a/rpmdb/signature.c
++++ b/rpmdb/signature.c
+@@ -37,6 +37,7 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr)
+ int temput;
+ FD_t fd = NULL;
+ unsigned int ran;
++ int ret = 0;
+
+ if (!prefix) prefix = "";
+
+@@ -44,8 +45,11 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr)
+ if (!_initialized) {
+ _initialized = 1;
+ tempfn = rpmGenPath(prefix, tpmacro, NULL);
+- if (rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1))
+- goto errxit;
++ ret = rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1);
++ if (ret) {
++ rpmlog(RPMLOG_ERR, _("error creating temporary directory %s: %d\n"), tempfn, ret);
++ goto errxit;
++ }
+ }
+
+ /* XXX should probably use mkstemp here */
+@@ -68,12 +72,16 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr)
+ #endif
+
+ temput = urlPath(tempfn, &tfn);
+- if (*tfn == '\0') goto errxit;
++ if (*tfn == '\0') {
++ rpmlog(RPMLOG_ERR, _("error creating tempfile: empty filename\n"));
++ goto errxit;
++ }
+
+ switch (temput) {
+ case URL_IS_DASH:
+ case URL_IS_HKP:
+ case URL_IS_MONGO: /* XXX FIXME */
++ rpmlog(RPMLOG_ERR, _("error creating temporary file, invalid uri type: %d\n"), temput);
+ goto errxit;
+ /*@notreached@*/ /*@switchbreak@*/ break;
+ case URL_IS_HTTPS:
+--
+2.6.6
+
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.16.bb b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
index d42724c2125..9e2229a0820 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.16.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
@@ -150,6 +150,7 @@ SRC_URI += " \
file://rpm-rpmdb-grammar.patch \
file://rpm-disable-blaketest.patch \
file://rpm-autogen-force.patch \
+ file://rpmdb-more-verbose-error-logging-in-rpmTempFile.patch \
"
SRC_URI_append_libc-musl = "\