- fix overzealous sanity check breaking posttrans scripts

This commit is contained in:
Panu Matilainen 2012-03-21 09:18:26 +02:00
parent 8a46159dde
commit 75a190c34e
2 changed files with 40 additions and 1 deletions

View File

@ -0,0 +1,34 @@
commit 2f20f6e6b2cc6f26794678d1db16659c484a001c
Author: Panu Matilainen <pmatilai@redhat.com>
Date: Wed Mar 21 09:07:21 2012 +0200
Transaction element file info can be legally NULL in some cases
- rpmteClose() will wipe out the file info to free memory, we only
should care whether we failed to (re)load the file info. This
thinko in commit 06a2f1269b035a3a76464149834f2a5a8c4e89f2
broke %posttrans scriptlets (and without commit
274dbf557d1cac90f7c278f9b6d6af05997d92df, %pretrans in other
circumstances), whoopsie *blush*. Now, off to write a test-case
for our scriptlet behavior...
diff --git a/lib/rpmte.c b/lib/rpmte.c
index 65e1e76..65d65af 100644
--- a/lib/rpmte.c
+++ b/lib/rpmte.c
@@ -693,11 +693,12 @@ static int rpmteOpen(rpmte te, int reload_fi)
}
if (h != NULL) {
if (reload_fi) {
+ /* This can fail if we get a different, bad header from callback */
te->fi = getFI(te, h);
+ rc = (te->fi != NULL);
+ } else {
+ rc = 1;
}
-
- /* This can fail if we get a different, bad header from callback */
- rc = (te->fi != NULL);
rpmteSetHeader(te, h);
headerFree(h);

View File

@ -22,7 +22,7 @@
Summary: The RPM package management system Summary: The RPM package management system
Name: rpm Name: rpm
Version: %{rpmver} Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}3%{?dist} Release: %{?snapver:0.%{snapver}.}4%{?dist}
Group: System Environment/Base Group: System Environment/Base
Url: http://www.rpm.org/ Url: http://www.rpm.org/
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2 Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@ -45,6 +45,7 @@ Patch6: rpm-4.9.0-armhfp-logic.patch
# Patches already in upstream # Patches already in upstream
Patch200: rpm-4.9.90-rpmte-fileinfo.patch Patch200: rpm-4.9.90-rpmte-fileinfo.patch
Patch201: rpm-4.9.90-rpmte-fileinfo-2.patch
# These are not yet upstream # These are not yet upstream
Patch301: rpm-4.6.0-niagara.patch Patch301: rpm-4.6.0-niagara.patch
@ -215,6 +216,7 @@ packages on a system.
%patch4 -p1 -b .use-gpg2 %patch4 -p1 -b .use-gpg2
%patch200 -p1 -b .rpmte-fileinfo %patch200 -p1 -b .rpmte-fileinfo
%patch201 -p1 -b .rpmte-fileinfo-2
%patch301 -p1 -b .niagara %patch301 -p1 -b .niagara
%patch302 -p1 -b .geode %patch302 -p1 -b .geode
@ -441,6 +443,9 @@ exit 0
%doc COPYING doc/librpm/html/* %doc COPYING doc/librpm/html/*
%changelog %changelog
* Wed Mar 21 2012 Panu Matilainen <pmatilai@redhat.com> - 4.9.90-0.git11505.4
- fix overzealous sanity check breaking posttrans scripts
* Tue Mar 20 2012 Panu Matilainen <pmatilai@redhat.com> - 4.9.90-0.git11505.3 * 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 - fix bad interaction with yum's test-transaction and pretrans scripts