- fix bad interaction with yum's test-transaction and pretrans scripts

This commit is contained in:
Panu Matilainen 2012-03-20 16:40:27 +02:00
parent 85ab1efe52
commit 8a46159dde
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,28 @@
commit 274dbf557d1cac90f7c278f9b6d6af05997d92df
Author: Panu Matilainen <pmatilai@redhat.com>
Date: Tue Mar 20 16:32:54 2012 +0200
Don't free up file info sets on transaction test-runs, take II
- Despite commit cef18c94807af0935b7796c462aab8ed39f0f376, we'd still
end up freeing the file info sets via rpmteClose() while going
through the test-transaction packages. This together with commit
06a2f1269b035a3a76464149834f2a5a8c4e89f2 caused install failures
on packages which have %pretrans scriptlets, if a test-transaction
was first performed on the same transaction set that gets used
for the "real" transaction as well. How wonderfully obscure...
diff --git a/lib/rpmte.c b/lib/rpmte.c
index d1e4f87..65e1e76 100644
--- a/lib/rpmte.c
+++ b/lib/rpmte.c
@@ -917,7 +917,8 @@ int rpmteProcess(rpmte te, pkgGoal goal)
{
/* Only install/erase resets pkg file info */
int scriptstage = (goal != PKG_INSTALL && goal != PKG_ERASE);
- int reset_fi = (scriptstage == 0);
+ int test = (rpmtsFlags(te->ts) & RPMTRANS_FLAG_TEST);
+ int reset_fi = (scriptstage == 0 && test == 0);
int failed = 1;
/* Dont bother opening for elements without pre/posttrans scripts */

View File

@ -22,7 +22,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}2%{?dist}
Release: %{?snapver:0.%{snapver}.}3%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@ -44,6 +44,7 @@ Patch5: rpm-4.9.90-armhfp.patch
Patch6: rpm-4.9.0-armhfp-logic.patch
# Patches already in upstream
Patch200: rpm-4.9.90-rpmte-fileinfo.patch
# These are not yet upstream
Patch301: rpm-4.6.0-niagara.patch
@ -213,6 +214,8 @@ packages on a system.
%patch3 -p1 -b .no-man-dirs
%patch4 -p1 -b .use-gpg2
%patch200 -p1 -b .rpmte-fileinfo
%patch301 -p1 -b .niagara
%patch302 -p1 -b .geode
%patch304 -p1 -b .ldflags
@ -438,6 +441,9 @@ exit 0
%doc COPYING doc/librpm/html/*
%changelog
* Tue Mar 20 2012 Panu Matilainen <pmatilai@redhat.com> - 4.9.90-0.git11505.3
- fix bad interaction with yum's test-transaction and pretrans scripts
* Tue Mar 20 2012 Jindrich Novy <jnovy@redhat.com> - 4.9.90-0.git11505.2
- rebuild