Subject: pkg/11233: make update of tk fails if /usr/pkg/bin/wish already exists
To: None <gnats-bugs@gnats.netbsd.org>
From: Laine Stump <laine@idris.laine.org>
List: netbsd-bugs
Date: 10/14/2000 21:55:12
>Number:         11233
>Category:       pkg
>Synopsis:       make update of tk fails if /usr/pkg/bin/wish already exists
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 14 21:55:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Laine Stump
>Release:        pkgsrc/lang/tk as of Aug 30, 2000
>Organization:
V-One Corporation
>Environment:
	
System: NetBSD idris.laine.org 1.5_ALPHA2 NetBSD 1.5_ALPHA2 (GENERIC-lrs) #0: Tue Oct 3 17:56:06 EDT 2000 laine@idris.laine.org:/drive2/src/src/sys/arch/i386/compile/GENERIC-lrs i386


>Description:

The tk installation makes a symlink from /usr/pkg/bin/wish8.3 to
/usr/pkg/bin/wish. If there is already a symlink for wish in
/usr/pkg/bin, this command fails, causing the installation to be
incomplete. This is especially painful if the "installation" is
actually a part of "make update" when there are already several
packages dependent on tk installed - those packages end up being
removed but not re-added (or at least they don't show up in the
"pkg_info" output)

>How-To-Repeat:

On a machine that has tk 8.0.x installed from pkgsrc, make sure there
is an existing link from /usr/pkg/bin/wish8.0 to /usr/pkg/bin/wish,
then do:

   cd /usr/pkgsrc/x11/tk (or even better, cd /usr/pkgsrc/lang/tcl)
   make clean
   make update


The make will end with a bunch of "Error 3"s, and you'll find that all
dependent packages have disappeared.

Note that this isn't a problem if the previous tk package had created
the /usr/pkg/bin/wish - it only shows up if the old package didn't
create it, but there was one added by hand.

>Fix:

    add "-f" to the ln -s that is done in pkgsrc/x11/tk/Makefile
 
>Release-Note:
>Audit-Trail:
>Unformatted: