From spidey@anarcat.dyndns.org  Sun Jan  9 13:28:36 2000
Return-Path: <spidey@anarcat.dyndns.org>
Received: from anarcat.dyndns.org (phobos.IRO.UMontreal.CA [132.204.20.20])
	by hub.freebsd.org (Postfix) with ESMTP id 0344014D5A
	for <FreeBSD-gnats-submit@freebsd.org>; Sun,  9 Jan 2000 13:28:35 -0800 (PST)
	(envelope-from spidey@anarcat.dyndns.org)
Received: by anarcat.dyndns.org (Postfix, from userid 1000)
	id 1B22D1BD2; Sun,  9 Jan 2000 13:10:20 -0500 (EST)
Message-Id: <20000109181020.1B22D1BD2@anarcat.dyndns.org>
Date: Sun,  9 Jan 2000 13:10:20 -0500 (EST)
From: spidey@anarcat.dyndns.org
Reply-To: spidey@anarcat.dyndns.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: Obscure error message in pkg_delete
X-Send-Pr-Version: 3.2

>Number:         16015
>Category:       bin
>Synopsis:       Obscure error message in pkg_delete
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    sheldonh
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan  9 13:30:02 PST 2000
>Closed-Date:    Tue Jan 11 04:39:57 PST 2000
>Last-Modified:  Tue Jan 11 05:50:00 PST 2000
>Originator:     Spidey
>Release:        FreeBSD 3.4-STABLE i386
>Organization:
>Environment:

	Latest stable (28.12.1999). 

>Description:

	pkg_delete gives a very strange error message that is too hard
	to understand. It should be changed to something more descriptive.

>How-To-Repeat:

	The guilty code is the following in /usr/src/usr.sbin/pkg_install/delete/perform.c

    if (chdir(home) == FAIL) {
	cleanup(0);
	errx(2, "Toto! This doesn't look like Kansas anymore!");
    }

From what I understand, it tries to chdir to the 'home' and exits if
it can't. In fact, the 'home' is the directory where the procedure
started. ("if (!getcwd(home, FILENAME_MAX))", line 80).  The problem
is that the message "Toto! This doesn't look like Kansas anymore!" is
absolutely weird and doesn't tell what the problem is _at all_.

To repeat, you could cd to a directory, pkg_delete a big package, and,
while pkg_delete is running, remove the directory where pkg_delete
started.

>Fix:
	
	Suggested patch:

*** perform.c	Sun Jan  9 13:08:18 2000
--- perform.c.orig	Sun Jan  9 13:08:18 2000
***************
*** 169,175 ****
  
      if (chdir(home) == FAIL) {
  	cleanup(0);
! 	errx(2, "Can't chdir() to %s.", home);
      }
  
      if (!Fake) {
--- 169,175 ----
  
      if (chdir(home) == FAIL) {
  	cleanup(0);
! 	errx(2, "Toto! This doesn't look like Kansas anymore!");
      }
  
      if (!Fake) {

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->sheldonh 
Responsible-Changed-By: sheldonh 
Responsible-Changed-When: Tue Jan 11 04:39:30 PST 2000 
Responsible-Changed-Why:  
I'll take this one. 
State-Changed-From-To: open->closed 
State-Changed-By: sheldonh 
State-Changed-When: Tue Jan 11 04:39:57 PST 2000 
State-Changed-Why:  
Fixed in rev 1.21 of perform.c and merged to RELENG_3.  I used 
an error message more consistent with the existing messages in 
that file.  Thanks for the report! 

From: Sheldon Hearn <sheldonh@uunet.co.za>
To: spidey@anarcat.dyndns.org
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: bin/16015: Obscure error message in pkg_delete 
Date: Tue, 11 Jan 2000 15:43:09 +0200

 On Tue, 11 Jan 2000 04:41:15 PST, sheldonh@FreeBSD.org wrote:
 
 > Synopsis: Obscure error message in pkg_delete
 > 
 > State-Changed-From-To: open->closed
 > State-Changed-By: sheldonh
 > State-Changed-When: Tue Jan 11 04:39:57 PST 2000
 > State-Changed-Why: 
 > Fixed in rev 1.21 of perform.c and merged to RELENG_3.
 
 FYI, I botched rev 1.21.  The problem is resolved properly in rev 1.22.
 
 Ciao,
 Sheldon.
 
>Unformatted:
