From a0d39e5bf360763de77fb5b8afb1b794b6527e8f Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Mon, 18 Aug 2014 15:11:34 +0300 Subject: [PATCH] - Fix regression on BuildRequires checking --- rpm-4.12-beta1-fix-buildrequires.patch | 41 ++++++++++++++++++++++++++ rpm.spec | 6 +++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 rpm-4.12-beta1-fix-buildrequires.patch 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 +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; idependencies[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; idependencies[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 - 4.12.0-0.beta1.2 +- Fix regression on BuildRequires checking + * Mon Aug 18 2014 Panu Matilainen - 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