Subject: bin/29017: pkg_add generates broken nlist commands to ftp server (2.0)
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: None <mkb@incubus.de>
List: netbsd-bugs
Date: 01/20/2005 04:13:00
>Number:         29017
>Category:       bin
>Synopsis:       pkg_add generates broken nlist commands to ftp server (2.0)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 20 04:13:00 +0000 2005
>Originator:     Matthias Buelow
>Release:        2.0
>Organization:
>Environment:
NetBSD xxx 2.0 NetBSD 2.0 (GRAENDAL) #0: Thu Jan 20 03:39:10 CET 2005  xxx:/usr/src/sys/arch/i386/compile/xxx i386
>Description:
pkg_add generates broken nlist commands to the ftp server, when fetching binary packages via ftp.

Example:
PKG_PATH is ftp://ftp3.de.netbsd.org/packages/pkgsrc-2004Q4/NetBSD-2.0/i386/All

pkg_add -v firefox-gtk2 just hangs at:

Spawning FTP coprocess
ftp -detv ftp://ftp3.de.netbsd.org/packages/pkgsrc-2004Q4/NetBSD-2.0/i386/All/
ftp> prompt off
ftp> nlist firefox-gtk2 /var/tmp/pkg.00703a
[waits until timeout]

The reason for this is, that "nlist firefox-gtk2" doesn't produce any output except a 450 error message ("Not a regular file"), and apparently pkg_add is waiting for some file listing that will never come, blithely ignoring the error.  

Trying to be clever, the following seems to work at first:

pkg_add -v firefox-gtk2*

and indeed, it finds and downloads the correct package, since it now does an "nlist firefox-gtk2*" instead.
However, it then hangs when trying to fetch the dependencies:

...
trying PKG_PATH ftp://ftp3.de.netbsd.org/packages/pkgsrc-2004Q4/NetBSD-2.0/i386/All
Reusing FDs 4/5 for communication to FTP coprocess
ftp> nlist Xft2-2.1.6nb1 /var/tmp/pkg.00107a
pkg_add: expect: poll() timeout

The problem here is exactly the same, an incomplete nlist command.

>How-To-Repeat:
See above.
>Fix: