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

Re: dpkg error message



On Sat, Jun 28, 2003 at 11:12:26AM +0200, J.H.M. Dassen (Ray) wrote:
> On Thu, Jun 26, 2003 at 12:55:03 +0200, Torsten Landschoff wrote:
> > I wonder if somebody can make sense of this error message of dpkg:
> > 
> > dpkg: Fehler beim Bearbeiten von em8300-source_0.12.0-1_all.deb
> > (--install):
> > Paket-Control-Info rmdir von »CVS« ergab nicht, dass dies kein
> > Verzeichnis ist: Das Verzeichnis ist nicht leer
> 
> This breaks down in two parts. The first part is a dpkg error message; the
> second one a libc error message.
> 
> dpkg's po/de.po has
> #: main/processarc.c:719
> #, c-format
> msgid "package control info rmdir of `%.250s' didn't say not a dir"
> msgstr ""
> "Paket-Control-Info rmdir von »%.250s« ergab nicht, dass dies kein "
> "Verzeichnis ist"
> 
> glib's debian/patches/cvs.dpatch has:
> +#. TRANS Directory not empty, where an empty directory was expected. Typically,
> +#. TRANS this error occurs when you are trying to delete a directory.
> +#: stdio-common/../sysdeps/gnu/errlist.c:737
> +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:123
> +msgid "Directory not empty"
> +msgstr "Das Verzeichnis ist nicht leer"
> 
> So dpkg is trying to rm a directory that turns out not not to be empty.

Obviously. The error message "Directory not empty" alone is enough
information to find that out. But the dpkg part of the message does not
make any sense.

In fact the point is that the em8300-source package (built from upstream
CVS tree) contains a directory "CVS" in the package control area, which
is unpacked into /var/lib/dpkg/info/tmp.ci on installation. There
shouldn't be any directories there though so dpkg checks this assertion
by trying to rmdir each of the entries expecting it to fail with
ENOTDIR.

CVS is a directory so removing it fails just because it is not empty.
But instead of telling the user "there was a directory in the control
part of the package" it gives the user this idiotic message.

I think instead of using rmdir it should use stat to check if it is a
directory... But probably there are reasons to use this hack and nobody
should ever see this message anyway as long as he does not mess with 
broken deb files.

Greetings

	Torsten

Attachment: pgpxTDqhFqamx.pgp
Description: PGP signature


Reply to: