summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2014-08-25 11:03:00 +0300
committerPanu Matilainen <pmatilai@redhat.com>2014-08-26 12:49:32 +0300
commit058a1ff7d26d0776387beac555e89c042396fdaf (patch)
tree10cc5a15d7fede037d00c7b79dbb607aeaa7a6fd
parent6fa54a648578e390ef742ba80ec47c10c7409087 (diff)
downloadrpm-058a1ff7d26d0776387beac555e89c042396fdaf.tar.gz
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. (cherry picked from commit 8b540fbf1bb77320772b87d40518d761f62752b3)
-rw-r--r--build/pack.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/build/pack.c b/build/pack.c
index 71d75f50c..4aa4a66ac 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);