Open miwarin opened 9 years ago
FreeBSD の pax も too long と言われる。
http://nxr.netbsd.org/source/xref/src/bin/pax/tar.c#1165
2箇所のうちのどちらか
他にも u32 などたくさんあるので 32 ビット → 64 ビット対応はかなり大変かと
1165 case PAX_GLF:
1166 case PAX_REG:
1167 case PAX_CTG:
1168 default:
1169 /*
1170 * file data with this type, set the padding
1171 */
1172 if (arcn->type == PAX_GLF) {
1173 hd->typeflag = LONGNAMETYPE;
1174 arcn->pad = TAR_PAD(gnu_hack_len);
1175 if (OFFT_OCT((uint32_t)gnu_hack_len, hd->size,
1176 sizeof(hd->size), 3)) {
1177 tty_warn(1,"File is too long for ustar %s",
1178 arcn->org_name);
1179 return 1;
1180 }
1181 } else {
1182 if (arcn->type == PAX_CTG)
1183 hd->typeflag = CONTTYPE;
1184 else
1185 hd->typeflag = REGTYPE;
1186 arcn->pad = TAR_PAD(arcn->sb.st_size);
1187 if (OFFT_OCT(arcn->sb.st_size, hd->size,
1188 sizeof(hd->size), 3)) {
1189 tty_warn(1,"File is too long for ustar %s",
1190 arcn->org_name);
1191 return 1;
1192 }
1193 }
1194 break;
1195 }
pkgsrc の pax も然り。/usr/pkgsrc/archivers/pax
% nbpax -w -f ./hoge.tgz ./hoge
pax: File is too long for ustar ./hoge
Makefile の MASTER_SITES が empty なんだが、どこの pax なんだこれ。
# $NetBSD: Makefile,v 1.49 2013/09/12 11:18:40 jperkin Exp $
DISTNAME= pax-20080110
PKGREVISION= 2
CATEGORIES= archivers
MASTER_SITES= # empty
DISTFILES=
http://gnats.netbsd.org/44711
まだ対応しておらず。
ファイル作成 10GB
pax
-x cpio などフォーマット変えても同じ。