bin/147969: cpio -i cannot extract tar archives,
breaking release builds
Rudolf Polzer
rpolzer at mucke-novak.de
Fri Jun 18 13:00:15 UTC 2010
>Number: 147969
>Category: bin
>Synopsis: cpio -i cannot extract tar archives, breaking release builds
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jun 18 13:00:14 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Rudolf Polzer
>Release: 7-STABLE
>Organization:
Vodafone
>Environment:
FreeBSD 7.3-STABLE FreeBSD 7.3-STABLE #0: Wed Jun 16 10:14:12 UTC 2010 root at freebsd:/usr/obj/usr/src/sys/GENERIC i386
>Description:
cpio (GNU cpio 2.8-FreeBSD) is unable to extract archives made by tar on 7-STABLE.
The bug had surfaced before in 8-CURRENT, but got fixed by instead replacing cpio by bsdcpio. See the mailing list discussion on:
http://kerneltrap.org/mailarchive/freebsd-current/2008/8/18/2980244/thread
This also e.g. surfaces when creating a release CD using release/Makefile, then trying to install from it - the installation routine will bail out on extracting the distributions.
>How-To-Repeat:
# tar cvf - /var/empty | cpio -i -t
tar: Removing leading '/' from member names
a var/empty
cpio: Malformed number 000555
cpio: Malformed number 00000000166
cpio: Malformed number 11351324133
cpio: Malformed number 000000
cpio: Malformed number 000000
4 blocks
(note: the numbers all have a trailing space, causing the "Malformed" output)
>Fix:
Either: undo the upgrade to cpio 2.8
Or: use bsdcpio in 7-STABLE too
Or: change from_ascii() in contrib/cpio/src/copyin.c to accept trailing spaces
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list