aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2014-07-02 19:57:44 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-07-08 11:19:48 +0100
commit0c7b4a5e23836889196f85f472f081d51529e94e (patch)
treef300a95188e10f51ddd30f53ee2eff73e92d41ff /meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch
parent04bb223110da2f92725c341bc3ec0cf26325f675 (diff)
downloadopenembedded-core-contrib-0c7b4a5e23836889196f85f472f081d51529e94e.tar.gz
rpm: Upgrade to 5.4.14
Update various patches. A few corrections to the patch descriptions, otherwise simple quilt refresh or conflict resolution. Remove rpm-solvedb.patch and rpm-respect-arch.patch. These are both related to the old solvedb package dependency solver. This is no longer used since we moved to smartpm. rpm-stub-out-git_strerror was a backport and is no longer needed. RPM 5.4.12 and newer normally requires Berkley DB 6.0 or newer. A small patch to configure allows RPM to dynamically select DB 5.3 or DB 6.0 based on what is available at configure time. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch')
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch30
1 files changed, 16 insertions, 14 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch b/meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch
index fc6b218300..9cd02a0f92 100644
--- a/meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch
+++ b/meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch
@@ -19,10 +19,11 @@ RP 2014/6/10
Upstream-Status: Pending
-diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
---- rpm-5.4.10/build/files.c 2013-03-17 13:17:38.233358389 +0100
-+++ rpm-5.4.10-collision/build/files.c 2013-03-17 13:07:37.468483625 +0100
-@@ -1323,6 +1323,26 @@
+Index: rpm-5.4.14/build/files.c
+===================================================================
+--- rpm-5.4.14.orig/build/files.c
++++ rpm-5.4.14/build/files.c
+@@ -1328,6 +1328,26 @@ static rpmuint32_t getDigestAlgo(Header
return dalgo;
}
@@ -49,7 +50,7 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
/**
* Add file entries to header.
* @todo Should directories have %doc/%config attributes? (#14531)
-@@ -1370,6 +1390,7 @@
+@@ -1374,6 +1394,7 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
for (i = 0, flp = fl->fileList; i < fl->fileListRecsUsed; i++, flp++) {
const char *s;
@@ -57,7 +58,7 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
/* Merge duplicate entries. */
while (i < (fl->fileListRecsUsed - 1) &&
-@@ -1437,6 +1458,13 @@
+@@ -1436,6 +1457,13 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
/* Leave room for both dirname and basename NUL's */
dpathlen += (strlen(flp->diskURL) + 2);
@@ -71,20 +72,19 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
/*
* Make the header, the OLDFILENAMES will get converted to a
* compressed file list write before we write the actual package to
-@@ -1519,7 +1547,11 @@
+@@ -1518,7 +1546,11 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
/* XXX Hash instead of 64b->32b truncate to prevent aliasing. */
{ ino_t _ino = flp->fl_ino;
-- ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
+ /* don't use hash here, as hash collisions which happen on large packages
+ cause bus errors in rpmbuild
-+ ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
+ ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
+ */
+ ui32 = fileid + 1;
}
he->tag = RPMTAG_FILEINODES;
he->t = RPM_UINT32_TYPE;
-@@ -1752,39 +1780,6 @@
+@@ -1751,39 +1783,6 @@ if (_rpmbuildFlags & 4) {
IOSM_MAP_TYPE | IOSM_MAP_MODE | IOSM_MAP_UID | IOSM_MAP_GID;
if (isSrc)
fi->fmapflags[i] |= IOSM_FOLLOW_SYMLINKS;
@@ -124,9 +124,11 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
}
ui32 = fl->totalFileSize;
---- rpm-5.4.10/lib/fsm.c~
-+++ rpm-5.4.10/lib/fsm.c
-@@ -898,6 +898,7 @@ int fsmMapAttrs(IOSM_t fsm)
+Index: rpm-5.4.14/lib/fsm.c
+===================================================================
+--- rpm-5.4.14.orig/lib/fsm.c
++++ rpm-5.4.14/lib/fsm.c
+@@ -904,6 +904,7 @@ int fsmMapAttrs(IOSM_t fsm)
if (fi && i >= 0 && i < (int) fi->fc) {
mode_t perms = (S_ISDIR(st->st_mode) ? fi->dperms : fi->fperms);
@@ -134,7 +136,7 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
mode_t finalMode = (fi->fmodes ? (mode_t)fi->fmodes[i] : perms);
dev_t finalRdev = (dev_t)(fi->frdevs ? fi->frdevs[i] : 0);
rpmuint32_t finalMtime = (fi->fmtimes ? fi->fmtimes[i] : 0);
-@@ -937,6 +938,7 @@ int fsmMapAttrs(IOSM_t fsm)
+@@ -943,6 +944,7 @@ int fsmMapAttrs(IOSM_t fsm)
if ((S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode))
&& st->st_nlink == 0)
st->st_nlink = 1;