[packages/rpm] - fix for bug LP#1104474 - always use inode hash as generated in build/files.c:genCpioListAndHeader(

baggins baggins at pld-linux.org
Tue Mar 12 18:31:49 CET 2013


commit 10526c23aac60b7b636e4c93862887dbef8e8f15
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Tue Mar 12 18:28:47 2013 +0100

    - fix for bug LP#1104474
    - always use inode hash as generated in build/files.c:genCpioListAndHeader()
      to prevent overflow of 64bit inode numbers
    - rel 43

 rpm-payload-use-hashed-inode.patch | 18 ++++++++++++++++++
 rpm.spec                           |  4 +++-
 2 files changed, 21 insertions(+), 1 deletion(-)
---
diff --git a/rpm.spec b/rpm.spec
index 00b591a..a9f3cc6 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -52,7 +52,7 @@ Summary(ru.UTF-8):	Менеджер пакетов от RPM
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
 Version:	5.4.10
-Release:	42
+Release:	43
 License:	LGPL
 Group:		Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
@@ -156,6 +156,7 @@ Patch62:	%{name}-DB_CONFIG.patch
 Patch63:	%{name}-pythoneggs.patch
 Patch64:	%{name}-fix-compress-doc.patch
 Patch65:	%{name}-parseSpec-skip-empty-tags.patch
+Patch66:	%{name}-payload-use-hashed-inode.patch
 
 # Patches imported from Mandriva
 
@@ -862,6 +863,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch63 -p1
 %patch64 -p1
 %patch65 -p1
+%patch66 -p1
 
 %patch1000 -p1
 %patch1001 -p1
diff --git a/rpm-payload-use-hashed-inode.patch b/rpm-payload-use-hashed-inode.patch
new file mode 100644
index 0000000..6585832
--- /dev/null
+++ b/rpm-payload-use-hashed-inode.patch
@@ -0,0 +1,18 @@
+--- rpm-5.4.10/lib/fsm.c~
++++ rpm-5.4.10/lib/fsm.c
+@@ -898,6 +898,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);
++	ino_t finalInode = (fi->finodes ? (ino_t)fi->finodes[i] : 0);
+ 	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)
+ 	    if ((S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode))
+ 	    && st->st_nlink == 0)
+ 		st->st_nlink = 1;
++	    st->st_ino = finalInode;
+ 	    st->st_rdev = finalRdev;
+ 	    st->st_mtime = finalMtime;
+ 	}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/10526c23aac60b7b636e4c93862887dbef8e8f15



More information about the pld-cvs-commit mailing list