summaryrefslogtreecommitdiffstats
path: root/source/a/cpio
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/cpio')
-rw-r--r--source/a/cpio/cpio.32bit.crc.diff111
-rwxr-xr-xsource/a/cpio/cpio.SlackBuild6
2 files changed, 114 insertions, 3 deletions
diff --git a/source/a/cpio/cpio.32bit.crc.diff b/source/a/cpio/cpio.32bit.crc.diff
new file mode 100644
index 000000000..8ae94e983
--- /dev/null
+++ b/source/a/cpio/cpio.32bit.crc.diff
@@ -0,0 +1,111 @@
+From ccec71ec318fdf739f55858d5bffaf4fd6520036 Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org.ua>
+Date: Mon, 20 Feb 2012 17:51:27 +0000
+Subject: Always use 32 bit CRC
+
+* src/cpiohdr.h (cpio_file_stat) <c_chksum>: Change type to
+uint32_t.
+* src/extern.h (crc): Change type to uint32_t.
+* src/global.c: Likewise.
+* src/copyout.c (read_for_checksum): Return uint32_t.
+* src/copyin.c: Fix printf formats.
+---
+diff --git a/src/copyin.c b/src/copyin.c
+index 3ab5dac..3282816 100644
+--- a/src/copyin.c
++++ b/src/copyin.c
+@@ -178,7 +178,7 @@ list_file(struct cpio_file_stat* file_hdr, int in_file_des)
+ #endif
+ if (crc != file_hdr->c_chksum)
+ {
+- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
++ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
+ file_hdr->c_name, crc, file_hdr->c_chksum);
+ }
+ }
+@@ -525,7 +525,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des)
+ if (archive_format == arf_crcascii)
+ {
+ if (crc != file_hdr->c_chksum)
+- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
++ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
+ file_hdr->c_name, crc, file_hdr->c_chksum);
+ }
+ tape_skip_padding (in_file_des, file_hdr->c_filesize);
+@@ -540,7 +540,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des)
+ if (archive_format == arf_crcascii)
+ {
+ if (crc != file_hdr->c_chksum)
+- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
++ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
+ file_hdr->c_name, crc, file_hdr->c_chksum);
+ }
+
+@@ -1436,7 +1436,7 @@ process_copy_in ()
+ tape_skip_padding (in_file_des, file_hdr.c_filesize);
+ if (crc != file_hdr.c_chksum)
+ {
+- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
++ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
+ file_hdr.c_name, crc, file_hdr.c_chksum);
+ }
+ /* Debian hack: -v and -V now work with --only-verify-crc.
+diff --git a/src/copyout.c b/src/copyout.c
+index ab6a243..a5a8931 100644
+--- a/src/copyout.c
++++ b/src/copyout.c
+@@ -33,10 +33,10 @@
+ /* Read FILE_SIZE bytes of FILE_NAME from IN_FILE_DES and
+ compute and return a checksum for them. */
+
+-static unsigned long
++static uint32_t
+ read_for_checksum (int in_file_des, int file_size, char *file_name)
+ {
+- unsigned long crc;
++ uint32_t crc;
+ char buf[BUFSIZ];
+ int bytes_left;
+ int bytes_read;
+diff --git a/src/cpiohdr.h b/src/cpiohdr.h
+index 86ec988..9aa8ed9 100644
+--- a/src/cpiohdr.h
++++ b/src/cpiohdr.h
+@@ -123,7 +123,7 @@ struct cpio_file_stat /* Internal representation of a CPIO header */
+ long c_rdev_maj;
+ long c_rdev_min;
+ size_t c_namesize;
+- unsigned long c_chksum;
++ uint32_t c_chksum;
+ char *c_name;
+ char *c_tar_linkname;
+ };
+diff --git a/src/extern.h b/src/extern.h
+index be329ae..ef00242 100644
+--- a/src/extern.h
++++ b/src/extern.h
+@@ -75,7 +75,7 @@ extern char *new_media_message_after_number;
+ extern int archive_des;
+ extern char *archive_name;
+ extern char *rsh_command_option;
+-extern unsigned long crc;
++extern uint32_t crc;
+ #ifdef DEBUG_CPIO
+ extern int debug_flag;
+ #endif
+diff --git a/src/global.c b/src/global.c
+index 29e7afc..e08e188 100644
+--- a/src/global.c
++++ b/src/global.c
+@@ -144,7 +144,7 @@ char *archive_name = NULL;
+ char *rsh_command_option = NULL;
+
+ /* CRC checksum. */
+-unsigned long crc;
++uint32_t crc;
+
+ /* Input and output buffers. */
+ char *input_buffer, *output_buffer;
+--
+cgit v0.9.0.2
+
diff --git a/source/a/cpio/cpio.SlackBuild b/source/a/cpio/cpio.SlackBuild
index b078d0677..5e3eea05a 100755
--- a/source/a/cpio/cpio.SlackBuild
+++ b/source/a/cpio/cpio.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=cpio
VERSION=$(ls $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,7 +62,7 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-#zcat $CWD/cpio-2.9.gcc43.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/cpio.32bit.crc.diff.gz | patch -p1 -F 3 --verbose || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .