Package: cpio Version: 2.7-1 Severity: serious Tags: patch Justification: no longer builds from source
Versions >= 2.8 of cpio fails to build on ARM due to a testsuite failure, but the bug is already present in version 2.7. cpio uses structures to map the file header, and the whole structure is read at once. This does not work on all architectures (like ARM), as they may use padding. The structures should be declared as packed to avoid padding. You will find a patch below to fix the problem. --- cpio-2.9.orig/src/cpiohdr.h +++ cpio-2.9/src/cpiohdr.h @@ -35,7 +35,7 @@ unsigned short c_mtimes[2]; unsigned short c_namesize; unsigned short c_filesizes[2]; -}; +} __attribute__((packed)); struct old_ascii_header { @@ -50,7 +50,7 @@ char c_mtime[11]; char c_namesize[6]; char c_filesize[11]; -}; +} __attribute__((packed)); /* "New" portable format and CRC format: @@ -80,7 +80,7 @@ char c_namesize[8]; /* count includes terminating NUL in pathname */ char c_chksum[8]; /* 0 for "new" portable format; for CRC format the sum of all the bytes in the file */ -}; +} __attribute__((packed)); struct cpio_file_stat /* Internal representation of a CPIO header */ { -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: arm (armv5tejl) Kernel: Linux 2.6.18-4-versatile Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to fr_FR.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages cpio depends on: ii libc6 2.6-5 GNU C Library: Shared libraries cpio recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]