From 2aec773688fd64857e9446838187170760acddd4 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 20 Feb 2013 15:58:42 +0100 Subject: rpm: use "create+rename" method of replacing existing files Users were reporting getting errors like "ls: error while loading shared libraries: libc.so.6: ELF load command past end of file" while rpm was unpacking glibc tarball. Signed-off-by: Denys Vlasenko --- archival/rpm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'archival/rpm.c') diff --git a/archival/rpm.c b/archival/rpm.c index 793701652..6b227d537 100644 --- a/archival/rpm.c +++ b/archival/rpm.c @@ -242,8 +242,8 @@ static void extract_cpio(int fd, const char *source_rpm) /* compat: overwrite existing files. * try "rpm -i foo.src.rpm" few times in a row - * standard rpm will not complain. - * (TODO? real rpm creates "file;1234" and then renames it) */ - | ARCHIVE_UNLINK_OLD; + */ + | ARCHIVE_REPLACE_VIA_RENAME; archive_handle->src_fd = fd; /*archive_handle->offset = 0; - init_handle() did it */ -- cgit v1.2.3