diff --git a/cpio-2.6-checksum.patch b/cpio-2.6-checksum.patch new file mode 100644 index 0000000..81cc7f7 --- /dev/null +++ b/cpio-2.6-checksum.patch @@ -0,0 +1,33 @@ +--- cpio-2.6/src/extern.h.checksum 2005-10-26 11:17:11.000000000 +0200 ++++ cpio-2.6/src/extern.h 2005-10-26 11:15:42.000000000 +0200 +@@ -66,7 +66,7 @@ + extern int archive_des; + extern char *archive_name; + extern char *rsh_command_option; +-extern unsigned long crc; ++extern unsigned int crc; + extern int delayed_seek_count; + #ifdef DEBUG_CPIO + extern int debug_flag; +--- cpio-2.6/src/copyout.c.checksum 2005-10-26 11:17:11.000000000 +0200 ++++ cpio-2.6/src/copyout.c 2005-10-26 11:20:01.000000000 +0200 +@@ -311,7 +311,7 @@ + file_hdr->c_gid, file_hdr->c_nlink, file_hdr->c_mtime, + file_hdr->c_filesize, file_hdr->c_dev_maj, file_hdr->c_dev_min, + file_hdr->c_rdev_maj, file_hdr->c_rdev_min, file_hdr->c_namesize, +- file_hdr->c_chksum); ++ file_hdr->c_chksum & 0xffffffff); + tape_buffered_write (ascii_header, out_des, 110L); + + /* Write file name to output. */ +--- cpio-2.6/src/global.c.checksum 2005-10-26 11:17:11.000000000 +0200 ++++ cpio-2.6/src/global.c 2005-10-26 11:15:29.000000000 +0200 +@@ -139,7 +139,7 @@ + char *rsh_command_option = NULL; + + /* CRC checksum. */ +-unsigned long crc; ++unsigned int crc; + + /* Input and output buffers. */ + char *input_buffer, *output_buffer; diff --git a/cpio.spec b/cpio.spec index ff2aeb0..8cb5a6d 100644 --- a/cpio.spec +++ b/cpio.spec @@ -6,7 +6,7 @@ Summary: A GNU archiving program. Name: cpio Version: 2.6 -Release: 8 +Release: 9 License: GPL Group: Applications/Archiving URL: http://www.gnu.org/software/cpio/ @@ -19,6 +19,7 @@ Patch17: cpio-2.6-umask.patch Patch18: cpio-2.6-chmodRaceC.patch Patch19: cpio-2.6-dirTraversal.patch Patch20: cpio-2.6-warnings.patch +Patch21: cpio-2.6-checksum.patch %ifnos linux Prereq: /sbin/rmt @@ -51,6 +52,7 @@ Install cpio if you need a program to manage file archives. %patch18 -p1 -b .chmodRaceC %patch19 -p1 -b .dirTraversal %patch20 -p1 -b .warnings +%patch21 -p1 -b .checksum autoheader @@ -101,6 +103,9 @@ fi %{_infodir}/*.info* %changelog +* Mon Oct 31 2005 Peter Vrabec 2.6-9 +- fix checksum error on 64-bit machines (#171649) + * Fri Jul 01 2005 Peter Vrabec 2.6-8 - fix large file support, archive >4GiB, archive members <4GiB (#160056) - fix race condition holes, use mode 0700 for dir creation