aboutsummaryrefslogtreecommitdiff
path: root/archival/rpm.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2013-02-20 15:58:42 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2013-02-20 15:58:42 +0100
commit2aec773688fd64857e9446838187170760acddd4 (patch)
tree4528074a1856b5656b5db6d140026a486c44714d /archival/rpm.c
parent10f5f9b10d5bb18aa612e8f340d8454421015b00 (diff)
downloadbusybox-w32-2aec773688fd64857e9446838187170760acddd4.tar.gz
busybox-w32-2aec773688fd64857e9446838187170760acddd4.tar.bz2
busybox-w32-2aec773688fd64857e9446838187170760acddd4.zip
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 <vda.linux@googlemail.com>
Diffstat (limited to 'archival/rpm.c')
-rw-r--r--archival/rpm.c4
1 files changed, 2 insertions, 2 deletions
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)
242 /* compat: overwrite existing files. 242 /* compat: overwrite existing files.
243 * try "rpm -i foo.src.rpm" few times in a row - 243 * try "rpm -i foo.src.rpm" few times in a row -
244 * standard rpm will not complain. 244 * standard rpm will not complain.
245 * (TODO? real rpm creates "file;1234" and then renames it) */ 245 */
246 | ARCHIVE_UNLINK_OLD; 246 | ARCHIVE_REPLACE_VIA_RENAME;
247 archive_handle->src_fd = fd; 247 archive_handle->src_fd = fd;
248 /*archive_handle->offset = 0; - init_handle() did it */ 248 /*archive_handle->offset = 0; - init_handle() did it */
249 249