[rpm] - Fix regression on BuildRequires checking

Panu Matilainen pmatilai at fedoraproject.org
Mon Aug 18 12:13:27 UTC 2014


commit a0d39e5bf360763de77fb5b8afb1b794b6527e8f
Author: Panu Matilainen <pmatilai at redhat.com>
Date:   Mon Aug 18 15:11:34 2014 +0300

    - Fix regression on BuildRequires checking

 rpm-4.12-beta1-fix-buildrequires.patch |   41 ++++++++++++++++++++++++++++++++
 rpm.spec                               |    6 ++++-
 2 files changed, 46 insertions(+), 1 deletions(-)
---
diff --git a/rpm-4.12-beta1-fix-buildrequires.patch b/rpm-4.12-beta1-fix-buildrequires.patch
new file mode 100644
index 0000000..f64b39f
--- /dev/null
+++ b/rpm-4.12-beta1-fix-buildrequires.patch
@@ -0,0 +1,41 @@
+commit 1b41c91431d37295701281ff208f99a51f660c89
+Author: Panu Matilainen <pmatilai at redhat.com>
+Date:   Mon Aug 18 15:04:23 2014 +0300
+
+    Populate src.rpm header with dependencies early again
+    
+    - BuildRequire checking requires a header populated with dependencies,
+      commit a357c99c58a5e1367160dfa692f26d14bd3a3df1 changed this to
+      occur too late for this purpose. Move to initSourceHeader() seems
+      to fix, also goes to show we dont have a test-case for buildrequires...
+
+diff --git a/build/pack.c b/build/pack.c
+index 227737b..dc24fb5 100644
+--- a/build/pack.c
++++ b/build/pack.c
+@@ -702,10 +702,6 @@ 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++) {
+-	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/build/parseSpec.c b/build/parseSpec.c
+index e38a4d9..b14c3ee 100644
+--- a/build/parseSpec.c
++++ b/build/parseSpec.c
+@@ -466,6 +466,10 @@ static void initSourceHeader(rpmSpec spec)
+     headerCopyTags(spec->packages->header, sourcePkg->header, sourceTags);
+ 
+     /* Add the build restrictions */
++    for (int i=0; i<PACKAGE_NUM_DEPS; i++) {
++	rpmdsPutToHeader(sourcePkg->dependencies[i], sourcePkg->header);
++    }
++
+     {
+ 	HeaderIterator hi = headerInitIterator(spec->buildRestrictions);
+ 	struct rpmtd_s td;
diff --git a/rpm.spec b/rpm.spec
index f835146..eedd301 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}.}1%{?dist}.1
+Release: %{?snapver:0.%{snapver}.}2%{?dist}
 Group: System Environment/Base
 Url: http://www.rpm.org/
 Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@@ -48,6 +48,7 @@ Patch3: rpm-4.9.90-no-man-dirs.patch
 Patch4: rpm-4.8.1-use-gpg2.patch
 
 # Patches already upstream:
+Patch100: rpm-4.12-beta1-fix-buildrequires.patch
 
 # These are not yet upstream
 Patch302: rpm-4.7.1-geode-i686.patch
@@ -526,6 +527,9 @@ exit 0
 %doc doc/librpm/html/*
 
 %changelog
+* Mon Aug 18 2014 Panu Matilainen <pmatilai at redhat.com> - 4.12.0-0.beta1.2
+- Fix regression on BuildRequires checking
+
 * Mon Aug 18 2014 Panu Matilainen <pmatilai at redhat.com> - 4.12.0-0.beta1.1
 - Update to 4.12.0-beta1 (http://rpm.org/wiki/Releases/4.12.0)
 - Fixes #1122004, #1111349, #1117912, #1123722


More information about the scm-commits mailing list