summaryrefslogtreecommitdiffstats
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:20:12 +0100
commitfe483ca37c33ebfe4c3e391244c47969e1560aeb (patch)
tree4b703d42ad5b4c22f9075463c013e562ab649345 /meta/recipes-devtools/rpm/rpm/rpm-payload-use-hashed-inode.patch
parent107ef516a6b5dc8f6e4606d30e8fa204d75f0b21 (diff)
downloadpoky-fe483ca37c33ebfe4c3e391244c47969e1560aeb.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. (From OE-Core rev: 0c7b4a5e23836889196f85f472f081d51529e94e) 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
19 19
20Upstream-Status: Pending 20Upstream-Status: Pending
21 21
22diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c 22Index: rpm-5.4.14/build/files.c
23--- rpm-5.4.10/build/files.c 2013-03-17 13:17:38.233358389 +0100 23===================================================================
24+++ rpm-5.4.10-collision/build/files.c 2013-03-17 13:07:37.468483625 +0100 24--- rpm-5.4.14.orig/build/files.c
25@@ -1323,6 +1323,26 @@ 25+++ rpm-5.4.14/build/files.c
26@@ -1328,6 +1328,26 @@ static rpmuint32_t getDigestAlgo(Header
26 return dalgo; 27 return dalgo;
27 } 28 }
28 29
@@ -49,7 +50,7 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
49 /** 50 /**
50 * Add file entries to header. 51 * Add file entries to header.
51 * @todo Should directories have %doc/%config attributes? (#14531) 52 * @todo Should directories have %doc/%config attributes? (#14531)
52@@ -1370,6 +1390,7 @@ 53@@ -1374,6 +1394,7 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
53 54
54 for (i = 0, flp = fl->fileList; i < fl->fileListRecsUsed; i++, flp++) { 55 for (i = 0, flp = fl->fileList; i < fl->fileListRecsUsed; i++, flp++) {
55 const char *s; 56 const char *s;
@@ -57,7 +58,7 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
57 58
58 /* Merge duplicate entries. */ 59 /* Merge duplicate entries. */
59 while (i < (fl->fileListRecsUsed - 1) && 60 while (i < (fl->fileListRecsUsed - 1) &&
60@@ -1437,6 +1458,13 @@ 61@@ -1436,6 +1457,13 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
61 /* Leave room for both dirname and basename NUL's */ 62 /* Leave room for both dirname and basename NUL's */
62 dpathlen += (strlen(flp->diskURL) + 2); 63 dpathlen += (strlen(flp->diskURL) + 2);
63 64
@@ -71,20 +72,19 @@ diff -ur rpm-5.4.10/build/files.c rpm-5.4.10-collision/build/files.c
71 /* 72 /*
72 * Make the header, the OLDFILENAMES will get converted to a 73 * Make the header, the OLDFILENAMES will get converted to a
73 * compressed file list write before we write the actual package to 74 * compressed file list write before we write the actual package to
74@@ -1519,7 +1547,11 @@ 75@@ -1518,7 +1546,11 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
75 76
76 /* XXX Hash instead of 64b->32b truncate to prevent aliasing. */ 77 /* XXX Hash instead of 64b->32b truncate to prevent aliasing. */
77 { ino_t _ino = flp->fl_ino; 78 { ino_t _ino = flp->fl_ino;
78- ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
79+ /* don't use hash here, as hash collisions which happen on large packages 79+ /* don't use hash here, as hash collisions which happen on large packages
80+ cause bus errors in rpmbuild 80+ cause bus errors in rpmbuild
81+ ui32 = hashFunctionString(0, &_ino, sizeof(_ino)); 81 ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
82+ */ 82+ */
83+ ui32 = fileid + 1; 83+ ui32 = fileid + 1;
84 } 84 }
85 he->tag = RPMTAG_FILEINODES; 85 he->tag = RPMTAG_FILEINODES;
86 he->t = RPM_UINT32_TYPE; 86 he->t = RPM_UINT32_TYPE;
87@@ -1752,39 +1780,6 @@ 87@@ -1751,39 +1783,6 @@ if (_rpmbuildFlags & 4) {
88 IOSM_MAP_TYPE | IOSM_MAP_MODE | IOSM_MAP_UID | IOSM_MAP_GID; 88 IOSM_MAP_TYPE | IOSM_MAP_MODE | IOSM_MAP_UID | IOSM_MAP_GID;
89 if (isSrc) 89 if (isSrc)
90 fi->fmapflags[i] |= IOSM_FOLLOW_SYMLINKS; 90 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
124 } 124 }
125 125
126 ui32 = fl->totalFileSize; 126 ui32 = fl->totalFileSize;
127--- rpm-5.4.10/lib/fsm.c~ 127Index: rpm-5.4.14/lib/fsm.c
128+++ rpm-5.4.10/lib/fsm.c 128===================================================================
129@@ -898,6 +898,7 @@ int fsmMapAttrs(IOSM_t fsm) 129--- rpm-5.4.14.orig/lib/fsm.c
130+++ rpm-5.4.14/lib/fsm.c
131@@ -904,6 +904,7 @@ int fsmMapAttrs(IOSM_t fsm)
130 132
131 if (fi && i >= 0 && i < (int) fi->fc) { 133 if (fi && i >= 0 && i < (int) fi->fc) {
132 mode_t perms = (S_ISDIR(st->st_mode) ? fi->dperms : fi->fperms); 134 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
134 mode_t finalMode = (fi->fmodes ? (mode_t)fi->fmodes[i] : perms); 136 mode_t finalMode = (fi->fmodes ? (mode_t)fi->fmodes[i] : perms);
135 dev_t finalRdev = (dev_t)(fi->frdevs ? fi->frdevs[i] : 0); 137 dev_t finalRdev = (dev_t)(fi->frdevs ? fi->frdevs[i] : 0);
136 rpmuint32_t finalMtime = (fi->fmtimes ? fi->fmtimes[i] : 0); 138 rpmuint32_t finalMtime = (fi->fmtimes ? fi->fmtimes[i] : 0);
137@@ -937,6 +938,7 @@ int fsmMapAttrs(IOSM_t fsm) 139@@ -943,6 +944,7 @@ int fsmMapAttrs(IOSM_t fsm)
138 if ((S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode)) 140 if ((S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode))
139 && st->st_nlink == 0) 141 && st->st_nlink == 0)
140 st->st_nlink = 1; 142 st->st_nlink = 1;