RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 16-Oct-2007 17:59:09
Branch: HEAD Handle: 2007101616590800
Modified files:
rpm CHANGES
rpm/lib psm.c verify.c
Log:
- fix: %verifyscript broken by scaremem elimination.
Summary:
Revision Changes Path
1.1715 +1 -0 rpm/CHANGES
2.243 +2 -2 rpm/lib/psm.c
2.172 +5 -0 rpm/lib/verify.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.1714 -r1.1715 CHANGES
--- rpm/CHANGES 15 Oct 2007 22:44:48 -0000 1.1714
+++ rpm/CHANGES 16 Oct 2007 15:59:08 -0000 1.1715
@@ -1,4 +1,5 @@
4.5 -> 5.0:
+ - jbj: fix: %verifyscript broken by scaremem elimination.
- jbj: another missed level of indirection. leave the bandaid, won't hurt.
- jbj: bandaid for a --import hge recursion problem. real fix soon.
- jbj: fix: missed a level of indirection.
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/psm.c
============================================================================
$ cvs diff -u -r2.242 -r2.243 psm.c
--- rpm/lib/psm.c 14 Oct 2007 22:53:57 -0000 2.242
+++ rpm/lib/psm.c 16 Oct 2007 15:59:08 -0000 2.243
@@ -1610,8 +1610,8 @@
int xx;
/* XXX hackery to assert(!scaremem) in rpmfiNew. */
-assert(fi->te);
-if (fi->h == NULL && fi->te->h != NULL) fi->h = headerLink(fi->te->h);
+if (fi->h == NULL && fi->te && fi->te->h != NULL) fi->h = headerLink(fi->te->h);
+assert(fi->h != NULL);
switch (stage) {
case PSM_UNKNOWN:
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/verify.c
============================================================================
$ cvs diff -u -r2.171 -r2.172 verify.c
--- rpm/lib/verify.c 13 Oct 2007 18:15:03 -0000 2.171
+++ rpm/lib/verify.c 16 Oct 2007 15:59:08 -0000 2.172
@@ -10,6 +10,7 @@
#include <rpmcli.h>
#include "psm.h"
+#define _RPMFI_INTERNAL
#include "rpmfi.h"
#include "rpmts.h"
@@ -475,10 +476,14 @@
&& headerIsEntry(h, RPMTAG_VERIFYSCRIPT))
{
FD_t fdo = fdDup(STDOUT_FILENO);
+
+/* XXX hackery to assert(!scaremem) in rpmfiNew. */
+if (fi->h == NULL) fi->h = headerLink(h);
if ((rc = rpmVerifyScript(qva, ts, fi, fdo)) != 0)
ec = rc;
if (fdo != NULL)
rc = Fclose(fdo);
+fi->h = headerFree(fi->h);
}
fi = rpmfiFree(fi);
@@ .
Received on Tue Oct 16 17:59:09 2007