From cd1ff72d3ac45eb094c5676bf6b082c89f15b7c9 Mon Sep 17 00:00:00 2001 From: Peter Vrabec Date: Mar 25 2006 17:40:51 +0000 Subject: fix (#186339) on ppc and s390 --- diff --git a/cpio-2.6-lfs.patch b/cpio-2.6-lfs.patch index df699fa..2c2d183 100644 --- a/cpio-2.6-lfs.patch +++ b/cpio-2.6-lfs.patch @@ -1,58 +1,5 @@ ---- cpio-2.6/src/copyin.c.lfs 2006-03-15 16:30:48.000000000 -0500 -+++ cpio-2.6/src/copyin.c 2006-03-15 16:35:33.000000000 -0500 -@@ -106,7 +106,7 @@ - header type. */ - - static void --tape_skip_padding (int in_file_des, int offset) -+tape_skip_padding (int in_file_des, off_t offset) - { - int pad; - -@@ -911,7 +911,7 @@ - printf ("%3u, %3u ", file_hdr->c_rdev_maj, - file_hdr->c_rdev_min); - else -- printf ("%8lu ", file_hdr->c_filesize); -+ printf ("%8llu ", file_hdr->c_filesize); - - printf ("%s ", tbuf + 4); - -@@ -1153,7 +1153,7 @@ - tape_buffered_read (ascii_header, in_des, 70L); - ascii_header[70] = '\0'; - sscanf (ascii_header, -- "%6lo%6lo%6lo%6lo%6lo%6lo%6lo%11lo%6lo%11lo", -+ "%6lo%6lo%6lo%6lo%6lo%6lo%6lo%11lo%6lo%11llo", - &dev, &file_hdr->c_ino, - &file_hdr->c_mode, &file_hdr->c_uid, &file_hdr->c_gid, - &file_hdr->c_nlink, &rdev, &file_hdr->c_mtime, ---- cpio-2.6/src/extern.h.lfs 2004-09-08 06:49:57.000000000 -0400 -+++ cpio-2.6/src/extern.h 2006-03-15 16:28:46.000000000 -0500 -@@ -161,14 +161,14 @@ - void tape_empty_output_buffer P_((int out_des)); - void disk_empty_output_buffer P_((int out_des)); - void swahw_array P_((char *ptr, int count)); --void tape_buffered_write P_((char *in_buf, int out_des, long num_bytes)); --void tape_buffered_read P_((char *in_buf, int in_des, long num_bytes)); -+void tape_buffered_write P_((char *in_buf, int out_des, off_t num_bytes)); -+void tape_buffered_read P_((char *in_buf, int in_des, off_t num_bytes)); - int tape_buffered_peek P_((char *peek_buf, int in_des, int num_bytes)); --void tape_toss_input P_((int in_des, long num_bytes)); --void copy_files_tape_to_disk P_((int in_des, int out_des, long num_bytes)); --void copy_files_disk_to_tape P_((int in_des, int out_des, long num_bytes, char *filename)); --void copy_files_disk_to_disk P_((int in_des, int out_des, long num_bytes, char *filename)); --void warn_if_file_changed P_((char *file_name, unsigned long old_file_size, -+void tape_toss_input P_((int in_des, off_t num_bytes)); -+void copy_files_tape_to_disk P_((int in_des, int out_des, off_t num_bytes)); -+void copy_files_disk_to_tape P_((int in_des, int out_des, off_t num_bytes, char *filename)); -+void copy_files_disk_to_disk P_((int in_des, int out_des, off_t num_bytes, char *filename)); -+void warn_if_file_changed P_((char *file_name, off_t old_file_size, - unsigned long old_file_mtime)); - void create_all_directories P_((char *name)); - void prepare_append P_((int out_file_des)); ---- cpio-2.6/src/util.c.lfs 2004-09-08 06:44:49.000000000 -0400 -+++ cpio-2.6/src/util.c 2006-03-15 16:29:20.000000000 -0500 +--- cpio-2.6/src/util.c.lfs 2004-09-08 12:44:49.000000000 +0200 ++++ cpio-2.6/src/util.c 2006-03-25 13:34:10.000000000 +0100 @@ -207,7 +207,7 @@ Exit with an error if end of file is reached. */ @@ -222,8 +169,70 @@ return hash_table[temp]->file_name; } } ---- cpio-2.6/src/cpiohdr.h.lfs 2003-11-21 09:48:13.000000000 -0500 -+++ cpio-2.6/src/cpiohdr.h 2006-03-15 16:27:30.000000000 -0500 +--- cpio-2.6/src/copyin.c.lfs 2004-09-08 13:10:02.000000000 +0200 ++++ cpio-2.6/src/copyin.c 2006-03-25 13:35:43.000000000 +0100 +@@ -106,7 +106,7 @@ + header type. */ + + static void +-tape_skip_padding (int in_file_des, int offset) ++tape_skip_padding (int in_file_des, off_t offset) + { + int pad; + +@@ -911,7 +911,7 @@ + printf ("%3u, %3u ", file_hdr->c_rdev_maj, + file_hdr->c_rdev_min); + else +- printf ("%8lu ", file_hdr->c_filesize); ++ printf ("%8llu ", file_hdr->c_filesize); + + printf ("%s ", tbuf + 4); + +@@ -1153,7 +1153,7 @@ + tape_buffered_read (ascii_header, in_des, 70L); + ascii_header[70] = '\0'; + sscanf (ascii_header, +- "%6lo%6lo%6lo%6lo%6lo%6lo%6lo%11lo%6lo%11lo", ++ "%6lo%6lo%6lo%6lo%6lo%6lo%6lo%11lo%6lo%11llo", + &dev, &file_hdr->c_ino, + &file_hdr->c_mode, &file_hdr->c_uid, &file_hdr->c_gid, + &file_hdr->c_nlink, &rdev, &file_hdr->c_mtime, +@@ -1211,7 +1211,7 @@ + tape_buffered_read (ascii_header, in_des, 104L); + ascii_header[104] = '\0'; + sscanf (ascii_header, +- "%8lx%8lx%8lx%8lx%8lx%8lx%8lx%8lx%8lx%8lx%8lx%8lx%8lx", ++ "%8lx%8lx%8lx%8lx%8lx%8lx%8llx%8lx%8lx%8lx%8lx%8lx%8lx", + &file_hdr->c_ino, &file_hdr->c_mode, &file_hdr->c_uid, + &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, +--- cpio-2.6/src/extern.h.lfs 2004-09-08 12:49:57.000000000 +0200 ++++ cpio-2.6/src/extern.h 2006-03-25 13:34:10.000000000 +0100 +@@ -161,14 +161,14 @@ + void tape_empty_output_buffer P_((int out_des)); + void disk_empty_output_buffer P_((int out_des)); + void swahw_array P_((char *ptr, int count)); +-void tape_buffered_write P_((char *in_buf, int out_des, long num_bytes)); +-void tape_buffered_read P_((char *in_buf, int in_des, long num_bytes)); ++void tape_buffered_write P_((char *in_buf, int out_des, off_t num_bytes)); ++void tape_buffered_read P_((char *in_buf, int in_des, off_t num_bytes)); + int tape_buffered_peek P_((char *peek_buf, int in_des, int num_bytes)); +-void tape_toss_input P_((int in_des, long num_bytes)); +-void copy_files_tape_to_disk P_((int in_des, int out_des, long num_bytes)); +-void copy_files_disk_to_tape P_((int in_des, int out_des, long num_bytes, char *filename)); +-void copy_files_disk_to_disk P_((int in_des, int out_des, long num_bytes, char *filename)); +-void warn_if_file_changed P_((char *file_name, unsigned long old_file_size, ++void tape_toss_input P_((int in_des, off_t num_bytes)); ++void copy_files_tape_to_disk P_((int in_des, int out_des, off_t num_bytes)); ++void copy_files_disk_to_tape P_((int in_des, int out_des, off_t num_bytes, char *filename)); ++void copy_files_disk_to_disk P_((int in_des, int out_des, off_t num_bytes, char *filename)); ++void warn_if_file_changed P_((char *file_name, off_t old_file_size, + unsigned long old_file_mtime)); + void create_all_directories P_((char *name)); + void prepare_append P_((int out_file_des)); +--- cpio-2.6/src/cpiohdr.h.lfs 2003-11-21 15:48:13.000000000 +0100 ++++ cpio-2.6/src/cpiohdr.h 2006-03-25 13:34:10.000000000 +0100 @@ -34,8 +34,8 @@ unsigned short c_mtimes[2]; unsigned short c_namesize; diff --git a/cpio.spec b/cpio.spec index 7272efd..77ef4de 100644 --- a/cpio.spec +++ b/cpio.spec @@ -6,7 +6,7 @@ Summary: A GNU archiving program. Name: cpio Version: 2.6 -Release: 14 +Release: 15 License: GPL Group: Applications/Archiving URL: http://www.gnu.org/software/cpio/ @@ -106,6 +106,9 @@ fi %{_infodir}/*.info* %changelog +* Sat Mar 25 2006 Peter Vrabec 2.6-15 +- fix (#186339) on ppc and s390 + * Thu Mar 23 2006 Peter Vrabec 2.6-14 - init struct file_hdr (#186339)