[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