I should be careful when throwing acid around ... Like many rpm flaws, the fix is usually in a very different place then where the symptom is seen.
In this case, the underlying flaw is an unpopulated RPMTAG_POSTTRANSPROG.
That needs to be prevented in rpmbuild, not "best effort" skipped in rpmtsRun(). That is my definition for "right" because there are most certainly other missing data failure symptoms if RPMTAG_POSTTRANSPROG has gone AWOL, not only in rpmtsRun(). hth 73 de Jeff On Dec 6, 2008, at 1:03 PM, Per Øyvind Karlsen wrote:
RPM Package Manager, CVS Repository http://rpm5.org/cvs/____________________________________________________________________________Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 06-Dec-2008 19:03:25 Branch: HEAD Handle: 2008120618032500 Modified files: rpm CHANGES rpm/lib transaction.c Log: handle posttrans p with no body. (from pixel) Summary: Revision Changes Path 1.2669 +1 -0 rpm/CHANGES 1.388 +1 -1 rpm/lib/transaction.c____________________________________________________________________________patch -p0 <<'@@ .' Index: rpm/CHANGES= = = = = = ======================================================================$ cvs diff -u -r1.2668 -r1.2669 CHANGES --- rpm/CHANGES 6 Dec 2008 14:52:14 -0000 1.2668 +++ rpm/CHANGES 6 Dec 2008 18:03:25 -0000 1.2669 @@ -1,5 +1,6 @@ 5.2a2 -> 5.2a3: + - pixel: handle posttrans p with no body.- proyvind: python: add writeHeaderListToFD() & writeHeaderListToFile().(improved version of TurboLinux patch) - proyvind: rpm4compat: disable warnings about unused variables. @@ . patch -p0 <<'@@ .' Index: rpm/lib/transaction.c= = = = = = ======================================================================$ cvs diff -u -r1.387 -r1.388 transaction.c --- rpm/lib/transaction.c 14 Oct 2008 03:56:01 -0000 1.387 +++ rpm/lib/transaction.c 6 Dec 2008 18:03:25 -0000 1.388 @@ -1901,7 +1901,7 @@ if ((fi = rpmtsiFi(pi)) == NULL) continue; /* XXX can't happen */ - haspostscript = (fi->posttrans != NULL ? 1 : 0); + haspostscript = (fi->posttrans || fi->posttransprog ? 1 : 0); p->fi = rpmfiFree(p->fi); /* If no post-transaction script, then don't bother. */ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [EMAIL PROTECTED]
smime.p7s
Description: S/MIME cryptographic signature