aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2014-05-26 22:15:15 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-24 11:05:26 +0100
commit9f9bcad51381887819d58ffdde2e41307d342473 (patch)
treee18d7b9b0f6e4b7ac1d7a39e894d378d6b3b85fd
parent305da37a4dc0fba2b8f3219cfae47a1d4228f244 (diff)
downloadopenembedded-core-9f9bcad51381887819d58ffdde2e41307d342473.zip
openembedded-core-9f9bcad51381887819d58ffdde2e41307d342473.tar.gz
openembedded-core-9f9bcad51381887819d58ffdde2e41307d342473.tar.bz2
rpm: Fix rpm -V usage
[YOCTO #6309] It appears a logic issue has caused rpm -V to no longer verify the files on the filesystem match what was installed. (From OE-Core master rev: 117862cd0eebf6887c2ea6cc353432caee2653aa) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-verify-files.patch22
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.9.bb1
2 files changed, 23 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-verify-files.patch b/meta/recipes-devtools/rpm/rpm/rpm-verify-files.patch
new file mode 100644
index 0000000..fddac7a
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-verify-files.patch
@@ -0,0 +1,22 @@
+lib/verify.c: Fix rpm -V file processing
+
+rpm -V should verify the md5sum and other values on individual files.
+A logic error in the query for GHOST files prevented this from working.
+
+[ Upstream-Status: Submitted ]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+Index: rpm-5.4.9/lib/verify.c
+===================================================================
+--- rpm-5.4.9.orig/lib/verify.c
++++ rpm-5.4.9/lib/verify.c
+@@ -587,7 +587,7 @@ uint32_t fc = rpmfiFC(fi);
+
+ /* If not verifying %ghost, skip ghost files. */
+ /* XXX the broken!!! logic disables %ghost queries always. */
+- if (!(FF_ISSET(qva->qva_fflags, GHOST) && FF_ISSET(fflags, GHOST)))
++ if (!(FF_ISSET(qva->qva_fflags, GHOST)) && FF_ISSET(fflags, GHOST))
+ continue;
+
+ /* Gather per-file data into a carrier. */
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index c2f2279..702a142 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
@@ -89,6 +89,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
file://debugedit-valid-file-to-fix-segment-fault.patch \
file://rpm-platform-file-fix.patch \
file://rpm-lsb-compatibility.patch \
+ file://rpm-verify-files.patch \
"
# Uncomment the following line to enable platform score debugging