[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: internal error in dselect from dpkg

I reported this as #18540, and provided a patch that would at least
let the user report the real problem (a bad package).  Here's my report:

The message was printed at line 54 of
/usr/lib/dpkg/methods/disk/install, while installing targets of
predependencies.  It was caused by an invalid control record in the
slang0.99.38 package: it includes no "File" field.  Observe:

Script started on Mon Feb 23 21:30:26 1998
vanzandt:/cdrom/hamm/hamm/binary-i386/libs$ dpkg -I
 new debian package, version 2.0.
 size 83090 bytes: control archive= 724 bytes.
     766 bytes,    18 lines      control
     102 bytes,     5 lines   *  postinst             #!/bin/sh
      31 bytes,     1 lines      shlibs
 Package: slang0.99.38
 Version: 0.99.38-2.16
 Architecture: i386
 Depends: libc6
 Conflicts: slang0.99.34 (<< 0.99.38-2.3)
 Installed-Size: 173
 Maintainer: Chris Fearnley <cjf@netaxs.com>
 Source: slang
 Description: The S-Lang programming library, shared library for use
with libc6
vanzandt:/cdrom/hamm/hamm/binary-i386/libs$ exit

Script done on Mon Feb 23 21:30:35 1998

I suggest this change to /usr/lib/dpkg/methods/disk/install, to print
the package name as well:

--- methods/disk.install-orig   Mon Feb 23 21:52:19 1998
+++ methods/disk.install        Mon Feb 23 21:52:55 1998
@@ -51,7 +51,7 @@
                        @msdosfilename= split(/ /,$_) if s/^MSDOS-Filename: //i
                length($package) || die "internal error - no package";
-               @filename || die "internal error - no filename";
+               @filename || die "internal error - no filename in control record for $package";
                @filename==@msdosfilename || !@filename ||
!@msdosfilename ||
                        die "internal error - mismatch >@filename<
                @invoke=(); $|=1;

>Resent-Cc: recipient.list.not.shown:;@
>X-Envelope-Sender: lapeyre@physics.Arizona.EDU
>Date: Mon, 10 Aug 1998 15:02:28 -0700 (MST)
>From: John Lapeyre <lapeyre@physics.Arizona.EDU>
>Cc: "dpkg-maint@chiark.greenend.org.uk" <dpkg-maint@chiark.greenend.org.uk>,
>        debian-dpkg@lists.debian.org, debian-devel@lists.debian.org
>Content-Type: TEXT/PLAIN; charset=US-ASCII
>Resent-From: debian-devel@lists.debian.org
>X-Mailing-List: <debian-devel@lists.debian.org> archive/latest/12028
>X-Loop: debian-devel@lists.debian.org
>Precedence: list
>Resent-Sender: debian-devel-request@lists.debian.org
>On Mon, 10 Aug 1998, Ralf G. R. Bergs wrote:
>rabe>Hi Ian and/or Klee,
>rabe>I'm a long-time Slackware user (six years, I think), and I've just started 
>rabe>using Debian 2.0 because I need a distribution that is glibc2-compatible.
>rabe>However my first experience has not exactly been a pleasure. It took me a long 
>rabe>time to select the packages I want installed, and when I was ready doing my 
>rabe>selections dselect bailed out with the following error message:
>rabe>  internal error - no filename at -e line 12, <P> chunk 15.
>rabe>  installations script returned error exit status 1.
>rabe>Any idea what could be going wrong?
>	This may be a problem that I've seen a few times.  Did you scan
>the package directories to create a package list, or did you use the
>Packages files from the distribution ?  
>	I found that this error occured when I scanned for packages, but
>not when I used the pre-built packages list.  Try downloadling theses
>files and then try to get them into a place where dselect can see them.
>	John
>John Lapeyre <lapeyre@physics.arizona.edu>
>Tucson,AZ     http://www.physics.arizona.edu/~lapeyre
>To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
>with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Reply to: