- Update to rpm-4.12.0-rc1
This commit is contained in:
parent
c95977245e
commit
da2b22a298
@ -1,51 +0,0 @@
|
||||
commit 404f053f7829fa859209ded8399243dba851f263
|
||||
Author: Panu Matilainen <pmatilai@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);
|
@ -1,29 +0,0 @@
|
||||
diff --git a/build/rpmfc.c b/build/rpmfc.c
|
||||
index e798950..94089e5 100644
|
||||
--- a/build/rpmfc.c
|
||||
+++ b/build/rpmfc.c
|
||||
@@ -760,6 +760,7 @@ rpmfc rpmfcCreate(const char *buildRoot, rpmFlags flags)
|
||||
fc->buildRoot = xstrdup(buildRoot);
|
||||
fc->brlen = strlen(buildRoot);
|
||||
}
|
||||
+ fc->pkg = xcalloc(1, sizeof(*fc->pkg));
|
||||
fc->pool = rpmstrPoolCreate();
|
||||
return fc;
|
||||
}
|
||||
@@ -1263,6 +1264,7 @@ rpmRC rpmfcGenerateDepends(const rpmSpec spec, Package pkg)
|
||||
av[ac] = NULL;
|
||||
|
||||
fc = rpmfcCreate(spec->buildRoot, 0);
|
||||
+ free(fc->pkg); /* XXX HACK */
|
||||
fc->pkg = pkg;
|
||||
fc->skipProv = !pkg->autoProv;
|
||||
fc->skipReq = !pkg->autoReq;
|
||||
@@ -1337,6 +1339,8 @@ exit:
|
||||
|
||||
/* Clean up. */
|
||||
free(fmode);
|
||||
+ if (fc)
|
||||
+ fc->pkg = NULL; /* XXX HACK */
|
||||
rpmfcFree(fc);
|
||||
argvFree(av);
|
||||
rpmfiFree(fi);
|
@ -1,33 +0,0 @@
|
||||
commit 8b540fbf1bb77320772b87d40518d761f62752b3
|
||||
Author: Panu Matilainen <pmatilai@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);
|
@ -1,27 +0,0 @@
|
||||
commit 1566c18b6efbda7b4c367f4c0ee31b4d5be2d2fe
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Wed Aug 20 15:10:36 2014 +0300
|
||||
|
||||
Delete trigger indexes too from header before adding again (RhBug:1131892)
|
||||
|
||||
- Fixes regression introduced in the regression-fix
|
||||
commit 0bda2faa4de368a87f85084856a5fed701774acb, *facepalm*
|
||||
- Unlike other dependency types, trigger dependencies involve a fourth
|
||||
tag which we forgot to delete before adding again, causing duplicate
|
||||
trigger indexes
|
||||
|
||||
diff --git a/build/pack.c b/build/pack.c
|
||||
index 4abca48..78a4f0e 100644
|
||||
--- a/build/pack.c
|
||||
+++ b/build/pack.c
|
||||
@@ -617,8 +617,9 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
|
||||
headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost());
|
||||
headerPutUint32(pkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
|
||||
|
||||
+ /* Nuke any previously added dependencies from the header */
|
||||
+ headerDel(pkg->header, RPMTAG_TRIGGERINDEX);
|
||||
for (int i=0; i<PACKAGE_NUM_DEPS; i++) {
|
||||
- /* Nuke any previously added dependencies from the header */
|
||||
headerDel(pkg->header, rpmdsTagN(pkg->dependencies[i]));
|
||||
headerDel(pkg->header, rpmdsTagEVR(pkg->dependencies[i]));
|
||||
headerDel(pkg->header, rpmdsTagF(pkg->dependencies[i]));
|
@ -1,41 +0,0 @@
|
||||
commit 1b41c91431d37295701281ff208f99a51f660c89
|
||||
Author: Panu Matilainen <pmatilai@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;
|
@ -1,47 +0,0 @@
|
||||
commit 0bda2faa4de368a87f85084856a5fed701774acb
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Mon Aug 18 16:31:14 2014 +0300
|
||||
|
||||
Populate manual dependencies into spec pkg headers early too
|
||||
|
||||
- Similar to commit 1b41c91431d37295701281ff208f99a51f660c89, rpmspec
|
||||
and other tools expect to find manually specified dependencies
|
||||
from the headers of a freshly parsed spec. This means we need to
|
||||
add this cruft two times: once for the manual dependencies and then
|
||||
scratch all that and redo from start after automatic dependencies
|
||||
have been discovered at the end of package build.
|
||||
- Fixes another regression (rpmspec dependency queries went dead)
|
||||
introduced in commit a357c99c58a5e1367160dfa692f26d14bd3a3df1
|
||||
|
||||
diff --git a/build/pack.c b/build/pack.c
|
||||
index dc24fb5..4abca48 100644
|
||||
--- a/build/pack.c
|
||||
+++ b/build/pack.c
|
||||
@@ -618,6 +618,11 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
|
||||
headerPutUint32(pkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
|
||||
|
||||
for (int i=0; i<PACKAGE_NUM_DEPS; i++) {
|
||||
+ /* Nuke any previously added dependencies from the header */
|
||||
+ headerDel(pkg->header, rpmdsTagN(pkg->dependencies[i]));
|
||||
+ headerDel(pkg->header, rpmdsTagEVR(pkg->dependencies[i]));
|
||||
+ headerDel(pkg->header, rpmdsTagF(pkg->dependencies[i]));
|
||||
+ /* ...and add again, now with automatic dependencies included */
|
||||
rpmdsPutToHeader(pkg->dependencies[i], pkg->header);
|
||||
}
|
||||
|
||||
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
||||
index b14c3ee..77cf409 100644
|
||||
--- a/build/parseSpec.c
|
||||
+++ b/build/parseSpec.c
|
||||
@@ -548,6 +548,11 @@ static void addTargets(Package Pkgs)
|
||||
headerPutString(pkg->header, RPMTAG_PLATFORM, platform);
|
||||
headerPutString(pkg->header, RPMTAG_OPTFLAGS, optflags);
|
||||
|
||||
+ /* Add manual dependencies early for rpmspec etc to look at */
|
||||
+ for (int i=0; i<PACKAGE_NUM_DEPS; i++) {
|
||||
+ rpmdsPutToHeader(pkg->dependencies[i], pkg->header);
|
||||
+ }
|
||||
+
|
||||
pkg->ds = rpmdsThis(pkg->header, RPMTAG_REQUIRENAME, RPMSENSE_EQUAL);
|
||||
addPackageProvides(pkg);
|
||||
}
|
14
rpm.spec
14
rpm.spec
@ -16,7 +16,7 @@
|
||||
%define rpmhome /usr/lib/rpm
|
||||
|
||||
%define rpmver 4.12.0
|
||||
%define snapver beta1
|
||||
%define snapver rc1
|
||||
%define srcver %{rpmver}%{?snapver:-%{snapver}}
|
||||
%define eggver %{rpmver}%{?snapver:_%{snapver}}
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
Summary: The RPM package management system
|
||||
Name: rpm
|
||||
Version: %{rpmver}
|
||||
Release: %{?snapver:0.%{snapver}.}6%{?dist}
|
||||
Release: %{?snapver:0.%{snapver}.}1%{?dist}
|
||||
Group: System Environment/Base
|
||||
Url: http://www.rpm.org/
|
||||
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
|
||||
@ -48,15 +48,8 @@ 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
|
||||
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-beta-srpm-deps.patch
|
||||
|
||||
# These are not yet upstream
|
||||
# Emergency hack for rpmdeps crash (#1131892)
|
||||
Patch300: rpm-4.12-beta-rpmdeps.patch
|
||||
Patch302: rpm-4.7.1-geode-i686.patch
|
||||
# Probably to be upstreamed in slightly different form
|
||||
Patch304: rpm-4.9.1.1-ld-flags.patch
|
||||
@ -533,6 +526,9 @@ exit 0
|
||||
%doc doc/librpm/html/*
|
||||
|
||||
%changelog
|
||||
* Wed Aug 27 2014 Panu Matilainen <pmatilai@redhat.com> - 4.12.0-0.rc1.1
|
||||
- Update to rpm-4.12.0-rc1
|
||||
|
||||
* Mon Aug 25 2014 Panu Matilainen <pmatilai@redhat.com> - 4.12.0-0.beta1.6
|
||||
- Resurrect dependency logging on package build
|
||||
- Resurrect rpmlib() dependencies in src.rpms
|
||||
|
Loading…
Reference in New Issue
Block a user