[rpm] - Resurrect dependency logging on package build - Resurrect rpmlib() dependencies in src.rpms
Panu Matilainen
pmatilai at fedoraproject.org
Mon Aug 25 08:11:04 UTC 2014
commit 13df4aa4d6f057f53fb295dce8ae1afffade000e
Author: Panu Matilainen <pmatilai at redhat.com>
Date: Mon Aug 25 11:10:29 2014 +0300
- Resurrect dependency logging on package build
- Resurrect rpmlib() dependencies in src.rpms
rpm-4.12-beta-print-deps.patch | 51 ++++++++++++++++++++++++++++++++++++++++
rpm-4.12-beta-srpm-deps.patch | 33 +++++++++++++++++++++++++
rpm.spec | 8 +++++-
3 files changed, 91 insertions(+), 1 deletions(-)
---
diff --git a/rpm-4.12-beta-print-deps.patch b/rpm-4.12-beta-print-deps.patch
new file mode 100644
index 0000000..b7cb29e
--- /dev/null
+++ b/rpm-4.12-beta-print-deps.patch
@@ -0,0 +1,51 @@
+commit 404f053f7829fa859209ded8399243dba851f263
+Author: Panu Matilainen <pmatilai at redhat.com>
+Date: Mon Aug 25 10:41:27 2014 +0300
+
+ Resurrect dependency spew during build
+
+ - Since commit a357c99c58a5e1367160dfa692f26d14bd3a3df1 the dependencies
+ are no longer in the header so there's little to print from there.
+ As it happens things are much saner this way, we no longer need
+ to create rpmds'es just to print stuff.
+
+diff --git a/build/rpmfc.c b/build/rpmfc.c
+index e798950..f22053c 100644
+--- a/build/rpmfc.c
++++ b/build/rpmfc.c
+@@ -1110,7 +1110,7 @@ static DepMsg_t DepMsgs = depMsgs;
+
+ /**
+ */
+-static void printDeps(rpmstrPool pool, Header h)
++static void printDeps(rpmfc fc)
+ {
+ DepMsg_t dm;
+ rpmds ds = NULL;
+@@ -1120,8 +1120,7 @@ static void printDeps(rpmstrPool pool, Header h)
+
+ for (dm = DepMsgs; dm->msg != NULL; dm++) {
+ if (dm->ntag != -1) {
+- rpmdsFree(ds);
+- ds = rpmdsNewPool(pool, h, dm->ntag, 0);
++ ds = rpmfcDependencies(fc, dm->ntag);
+ }
+ if (dm->ftag == 0)
+ continue;
+@@ -1148,7 +1147,6 @@ static void printDeps(rpmstrPool pool, Header h)
+ if (bingo)
+ rpmlog(RPMLOG_NOTICE, "\n");
+ }
+- rpmdsFree(ds);
+ }
+
+ static rpmRC rpmfcGenerateDependsHelper(const rpmSpec spec, Package pkg, rpmfi fi)
+@@ -1333,7 +1331,7 @@ rpmRC rpmfcGenerateDepends(const rpmSpec spec, Package pkg)
+ free(msg);
+ }
+ exit:
+- printDeps(fc ? fc->pool : NULL, pkg->header);
++ printDeps(fc);
+
+ /* Clean up. */
+ free(fmode);
diff --git a/rpm-4.12-beta-srpm-deps.patch b/rpm-4.12-beta-srpm-deps.patch
new file mode 100644
index 0000000..65cac33
--- /dev/null
+++ b/rpm-4.12-beta-srpm-deps.patch
@@ -0,0 +1,33 @@
+commit 8b540fbf1bb77320772b87d40518d761f62752b3
+Author: Panu Matilainen <pmatilai at redhat.com>
+Date: Mon Aug 25 11:03:00 2014 +0300
+
+ Resurrect rpmlib() dependencies on source rpms
+
+ - Commit 0bda2faa4de368a87f85084856a5fed701774acb caused a regression
+ where rpmlib() dependencies are no longer added to src.rpm packages
+ as the header is populated early, whereas rpmlib() dependencies
+ get added late in the game. So nothing was pushing the rpmlib
+ stuff to header. Sigh.
+
+diff --git a/build/pack.c b/build/pack.c
+index 71d75f5..4aa4a66 100644
+--- a/build/pack.c
++++ b/build/pack.c
+@@ -708,6 +708,16 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
+ headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost());
+ headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
+
++ for (int i=0; i<PACKAGE_NUM_DEPS; i++) {
++ /* Nuke any previously added dependencies from the header */
++ headerDel(sourcePkg->header, rpmdsTagN(sourcePkg->dependencies[i]));
++ headerDel(sourcePkg->header, rpmdsTagEVR(sourcePkg->dependencies[i]));
++ headerDel(sourcePkg->header, rpmdsTagF(sourcePkg->dependencies[i]));
++ headerDel(sourcePkg->header, rpmdsTagTi(sourcePkg->dependencies[i]));
++ /* ...and add again, now with automatic dependencies included */
++ rpmdsPutToHeader(sourcePkg->dependencies[i], sourcePkg->header);
++ }
++
+ /* XXX this should be %_srpmdir */
+ { char *fn = rpmGetPath("%{_srcrpmdir}/", spec->sourceRpmName,NULL);
+ char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL);
diff --git a/rpm.spec b/rpm.spec
index 112e05f..81a28d7 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -27,7 +27,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
-Release: %{?snapver:0.%{snapver}.}5%{?dist}
+Release: %{?snapver:0.%{snapver}.}6%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@@ -51,6 +51,8 @@ Patch4: rpm-4.8.1-use-gpg2.patch
Patch100: rpm-4.12-beta1-fix-buildrequires.patch
Patch101: rpm-4.12-beta1-spec-header-deps.patch
Patch102: rpm-4.12-beta-triggerindex.patch
+Patch103: rpm-4.12-beta-print-deps.patch
+Patch104: rpm-4.12-beta1-srpm-deps.patch
# These are not yet upstream
# Emergency hack for rpmdeps crash (#1131892)
@@ -531,6 +533,10 @@ exit 0
%doc doc/librpm/html/*
%changelog
+* Mon Aug 25 2014 Panu Matilainen <pmatilai at redhat.com> - 4.12.0-0.beta1.6
+- Resurrect dependency logging on package build
+- Resurrect rpmlib() dependencies in src.rpms
+
* Wed Aug 20 2014 Panu Matilainen <pmatilai at redhat.com> - 4.12.0-0.beta1.5
- Fix duplicate trigger indexes caused by beta1.3 fix (#1131960)
More information about the scm-commits
mailing list