diff --git a/rpm-4.4.2.2-problem-nevra.patch b/rpm-4.4.2.2-problem-nevra.patch new file mode 100644 index 0000000..84a3bfa --- /dev/null +++ b/rpm-4.4.2.2-problem-nevra.patch @@ -0,0 +1,110 @@ +changeset: 6194:fe6fc6dc7b98 +tag: tip +user: Panu Matilainen +date: Wed Oct 24 10:31:42 2007 +0300 +summary: Use NEVRA, not NEVR everywhere for rpmProblems + +diff -r cc2abc150d64 -r fe6fc6dc7b98 lib/rpmfi.c +--- a/lib/rpmfi.c Wed Oct 24 09:50:13 2007 +0300 ++++ b/lib/rpmfi.c Wed Oct 24 10:31:42 2007 +0300 +@@ -815,7 +815,7 @@ assert(p != NULL); + if (j == numValid && !allowBadRelocate && actions) { + rpmps ps = rpmtsProblems(ts); + rpmpsAppend(ps, RPMPROB_BADRELOCATE, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + relocations[i].oldPath, NULL, NULL, 0); + ps = rpmpsFree(ps); + } +diff -r cc2abc150d64 -r fe6fc6dc7b98 lib/rpmts.c +--- a/lib/rpmts.c Wed Oct 24 09:50:13 2007 +0300 ++++ b/lib/rpmts.c Wed Oct 24 10:31:42 2007 +0300 +@@ -1356,14 +1356,14 @@ void rpmtsCheckDSIProblems(const rpmts t + + if (dsi->bavail >= 0 && adj_fs_blocks(dsi->bneeded) > dsi->bavail) { + rpmpsAppend(ps, RPMPROB_DISKSPACE, +- rpmteNEVR(te), rpmteKey(te), ++ rpmteNEVRA(te), rpmteKey(te), + ts->filesystems[i], NULL, NULL, + (adj_fs_blocks(dsi->bneeded) - dsi->bavail) * dsi->bsize); + } + + if (dsi->iavail >= 0 && adj_fs_blocks(dsi->ineeded) > dsi->iavail) { + rpmpsAppend(ps, RPMPROB_DISKNODES, +- rpmteNEVR(te), rpmteKey(te), ++ rpmteNEVRA(te), rpmteKey(te), + ts->filesystems[i], NULL, NULL, + (adj_fs_blocks(dsi->ineeded) - dsi->iavail)); + } +diff -r cc2abc150d64 -r fe6fc6dc7b98 lib/transaction.c +--- a/lib/transaction.c Wed Oct 24 09:50:13 2007 +0300 ++++ b/lib/transaction.c Wed Oct 24 10:31:42 2007 +0300 +@@ -138,7 +138,7 @@ static int handleInstInstalledFiles(cons + mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, + &shared->otherPkg, sizeof(shared->otherPkg)); + while ((h = rpmdbNextIterator(mi)) != NULL) { +- altNEVR = hGetNEVR(h, NULL); ++ altNEVR = hGetNEVRA(h, NULL); + otherFi = rpmfiNew(ts, h, RPMTAG_BASENAMES, scareMem); + break; + } +@@ -214,7 +214,7 @@ static int handleInstInstalledFiles(cons + + if (rConflicts) { + rpmpsAppend(ps, RPMPROB_FILE_CONFLICT, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + rpmfiDN(fi), rpmfiBN(fi), + altNEVR, + 0); +@@ -603,9 +603,9 @@ assert(otherFi != NULL); + + if (rConflicts) { + rpmpsAppend(ps, RPMPROB_NEW_FILE_CONFLICT, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + fn, NULL, +- rpmteNEVR(otherFi->te), ++ rpmteNEVRA(otherFi->te), + 0); + } + } +@@ -703,9 +703,9 @@ static int ensureOlder(rpmts ts, + + if (rc == 0) { + rpmps ps = rpmtsProblems(ts); +- const char * altNEVR = hGetNEVR(h, NULL); ++ const char * altNEVR = hGetNEVRA(h, NULL); + rpmpsAppend(ps, RPMPROB_OLDPACKAGE, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + NULL, NULL, + altNEVR, + 0); +@@ -1508,14 +1508,14 @@ rpmMessage(RPMMESS_DEBUG, _("sanity chec + if (!(rpmtsFilterFlags(ts) & RPMPROB_FILTER_IGNOREARCH) && !tscolor) + if (!archOkay(rpmteA(p))) + rpmpsAppend(ps, RPMPROB_BADARCH, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + rpmteA(p), NULL, + NULL, 0); + + if (!(rpmtsFilterFlags(ts) & RPMPROB_FILTER_IGNOREOS)) + if (!osOkay(rpmteO(p))) + rpmpsAppend(ps, RPMPROB_BADOS, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + rpmteO(p), NULL, + NULL, 0); + +@@ -1544,7 +1544,7 @@ rpmMessage(RPMMESS_DEBUG, _("sanity chec + + while (rpmdbNextIterator(mi) != NULL) { + rpmpsAppend(ps, RPMPROB_PKG_INSTALLED, +- rpmteNEVR(p), rpmteKey(p), ++ rpmteNEVRA(p), rpmteKey(p), + NULL, NULL, + NULL, 0); + /*@innerbreak@*/ break; + diff --git a/rpm.spec b/rpm.spec index 807ecff..14cdc83 100644 --- a/rpm.spec +++ b/rpm.spec @@ -6,7 +6,7 @@ Summary: The RPM package management system Name: rpm Version: 4.4.2.2 -Release: 6%{?dist} +Release: 7%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source: http://rpm.org/releases/rpm-4.4.x/%{name}-%{version}.tar.gz @@ -21,6 +21,7 @@ Patch8: rpm-4.4.2.2-nonutf-comment.patch Patch9: rpm-4.4.2.2-osgideps.patch Patch10: rpm-4.4.2.2-debugedit-fpc.patch Patch11: rpm-4.4.2.2-pyproblem.patch +Patch12: rpm-4.4.2.2-problem-nevra.patch # XXX Beware, this is one murky license, partially GPL/LGPL dual-licensed # and several different components with their own licenses included... @@ -148,6 +149,7 @@ that will manipulate RPM packages and databases. %patch9 -p1 -b .osgideps %patch10 -p1 -b .debugedit-fpc %patch11 -p1 -b .pyproblem +%patch12 -p1 -b .problem-nevra # force external popt rm -rf popt/ @@ -410,6 +412,10 @@ exit 0 %endif %changelog +* Wed Oct 24 2007 Panu Matilainen 4.4.2.2-7 +- Use package NEVRA everywhere for rpmProblems (#349091) +- The python problem addressed in -6 was related but a different issue... + * Wed Oct 24 2007 Panu Matilainen 4.4.2.2-6 - Don't mess up problem pkgNEVR in python ts.check() (#349091)