From 49d97e78494d652cdc9da558404d91bd1bdc5665 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Mon, 12 Nov 2007 07:14:19 +0000 Subject: [PATCH] Sync with devel: - Use package NEVRA everywhere for rpmProblems (#349091) - Don't mess up problem pkgNEVR in python ts.check() (#349091) - add missing popt-devel dependency to rpm-devel --- rpm-4.4.2.2-problem-nevra.patch | 110 ++++++++++++++++++++++++++++++++ rpm-4.4.2.2-pyproblem.patch | 27 ++++++++ rpm.spec | 17 ++++- 3 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 rpm-4.4.2.2-problem-nevra.patch create mode 100644 rpm-4.4.2.2-pyproblem.patch 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-4.4.2.2-pyproblem.patch b/rpm-4.4.2.2-pyproblem.patch new file mode 100644 index 0000000..b9f942c --- /dev/null +++ b/rpm-4.4.2.2-pyproblem.patch @@ -0,0 +1,27 @@ +changeset: 6193:cc2abc150d64 +tag: tip +user: Panu Matilainen +date: Wed Oct 24 09:50:13 2007 +0300 +summary: Don't mess up problem pkgNEVR in python ts.check() (rhbz#349091) + +diff -r 751cf2c7614e -r cc2abc150d64 python/rpmts-py.c +--- a/python/rpmts-py.c Thu Oct 18 09:34:54 2007 +0300 ++++ b/python/rpmts-py.c Wed Oct 24 09:50:13 2007 +0300 +@@ -439,7 +439,7 @@ fprintf(stderr, "*** rpmts_Check(%p) ts + if (p->type == RPMPROB_BADRELOCATE) + continue; + +- byName = p->pkgNEVR; ++ byName = strdup(p->pkgNEVR); + if ((byArch= strrchr(byName, '.')) != NULL) + *byArch++ = '\0'; + if ((byRelease = strrchr(byName, '-')) != NULL) +@@ -475,6 +475,7 @@ fprintf(stderr, "*** rpmts_Check(%p) ts + #endif + PyList_Append(list, (PyObject *) cf); + Py_DECREF(cf); ++ free(byName); + } + + ps = rpmpsFree(ps); + diff --git a/rpm.spec b/rpm.spec index 4d4c9e1..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: 4%{?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 @@ -20,6 +20,8 @@ Patch7: rpm-4.4.2.1-no-popt.patch 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... @@ -85,6 +87,7 @@ Requires: beecrypt-devel >= 4.1.2 Requires: sqlite-devel Requires: libselinux-devel Requires: elfutils-libelf-devel +Requires: popt-devel %description devel This package contains the RPM C library and header files. These @@ -145,6 +148,8 @@ that will manipulate RPM packages and databases. %patch8 -p1 -b .nonutf-comment %patch9 -p1 -b .osgideps %patch10 -p1 -b .debugedit-fpc +%patch11 -p1 -b .pyproblem +%patch12 -p1 -b .problem-nevra # force external popt rm -rf popt/ @@ -407,6 +412,16 @@ 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) + +* Mon Oct 22 2007 Panu Matilainen 4.4.2.2-5 +- add missing popt-devel dependency to rpm-devel + * Thu Oct 18 2007 Panu Matilainen 4.4.2.2-4 - debugedit fixes from Roland McGrath (#336951, #337011)