pkg_add fails when the package is delivered via stdin (pkg_add -). This appears to have been triggered by gnu/30876, but the problem seems to be in pkg_add itself. sysinstall can no longer install packages. How-To-Repeat: Before the buffer.c patch to tar in gnu/30876: char:/tmp# pkg_add - < zoo-2.10.1.tgz gzip: stdin: unexpected end of file tar: child returned status 1 The package is successfully installed though. After the buffer.c patch: char:/tmp# pkg_add - < zoo-2.10.1.tgz gzip: stdin: unexpected end of file tar: child returned status 1 pkg_add: tar extract of - failed! pkg_add: unable to extract `-'!
State Changed From-To: open->analyzed David O'Brien and I spent time analyzing this. I have a fix that I will commit to -CURRENT momentarily.
Responsible Changed From-To: freebsd-bugs->murray David O'Brien and I spent time analyzing this. I have a fix that I will commit to -CURRENT momentarily.
Attached is a patch against -STABLE. Can you please confirm that this solves the problems you are experiencing? The has already been applied to -CURRENT. Index: perform.c =================================================================== RCS file: /a/ncvs/src/usr.sbin/pkg_install/add/perform.c,v retrieving revision 1.57.2.8 diff -u -r1.57.2.8 perform.c --- perform.c 23 Oct 2001 09:16:03 -0000 1.57.2.8 +++ perform.c 2 Apr 2002 11:51:13 -0000 @@ -189,7 +189,7 @@ * compress an average of 75%, so multiply by 4 for good measure. */ - if (!inPlace && min_free(playpen) < sb.st_size * 4) { + if (!extract && !inPlace && min_free(playpen) < sb.st_size * 4) { warnx("projected size of %qd exceeds available free space.\n" "Please set your PKG_TMPDIR variable to point to a location with more\n" "free space and try again", (long long)sb.st_size * 4); @@ -202,8 +202,9 @@ if (inPlace && Fake) goto success; - /* Finally unpack the whole mess */ - if (unpack(pkg_fullname, NULL)) { + /* Finally unpack the whole mess. If extract is null we + already + did so so don't bother doing it again. */ + if (extract && unpack(pkg_fullname, NULL)) { warnx("unable to extract `%s'!", pkg_fullname); goto bomb; } On Tue, Apr 02, 2002 at 04:29:58AM -0800, murray@FreeBSD.org wrote: > Synopsis: Adding packages with sysinstall failes after > > State-Changed-From-To: open->analyzed > State-Changed-By: murray > State-Changed-When: Tue Apr 2 04:29:24 PST 2002 > State-Changed-Why: > David O'Brien and I spent time analyzing this. I have a fix that I > will commit to -CURRENT momentarily. > > > > Responsible-Changed-From-To: freebsd-bugs->murray > Responsible-Changed-By: murray > Responsible-Changed-When: Tue Apr 2 04:29:24 PST 2002 > Responsible-Changed-Why: > David O'Brien and I spent time analyzing this. I have a fix that I > will commit to -CURRENT momentarily. > > > http://www.freebsd.org/cgi/query-pr.cgi?pr=36606 > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-bugs" in the body of the message
State Changed From-To: analyzed->closed This has been fixed in both -CURRENT and -STABLE, FreeBSD 4.6 will not have this problem. Thanks for the submission!