Subject: pkg/26808: security/tkpasman cannot run because of the wrong path of tclsh
To: None <gnats-bugs@gnats.NetBSD.org>
From: Ryo HAYASAKA <ryoh@bonnie.jaist.ac.jp>
List: pkgsrc-bugs
Date: 08/31/2004 00:38:10
>Number:         26808
>Category:       pkg
>Synopsis:       security/tkpasman cannot run because of the wrong path of tclsh
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 30 15:39:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Ryo HAYASAKA
>Release:        NetBSD 2.0G
>Organization:
Japan Advanced Institute of Science and Technology (JAIST)
>Environment:
System: NetBSD bonnie.jaist.ac.jp 2.0G NetBSD 2.0G (BONNIE) #502: Wed Aug 25 22:31:48 JST 2004 ryoh@bonnie.jaist.ac.jp:/sys/arch/i386/compile/BONNIE i386
Architecture: i386
Machine: i386
>Description:

The path of tclsh and wish used by "tkpasman" script are set by
work/TkPasMan-2.2a/build.sh at the build phase.  build.sh searches them
from $PATH and, as a result, finds them from temporal buildlink
directory work/.buildlink/bin/ instead of the really installed directory
/usr/pkg/bin/, so that "tkpasman" cannot run after "make clean".

$ make PKG_DEBUG_LEVEL=1
...
===> build-message [tkpasman-2.2anb3] ===> Building for tkpasman-2.2anb3
cd /usr/pkgsrc/security/tkpasman/work/TkPasMan-2.2a && /usr/bin/env
USETOOLS=no PTHREADBASE=/usr MAKECONF=/dev/null USETOOLS="no"
...
PATH=/usr/pkgsrc/security/tkpasman/work/.buildlink/bin:/usr/pkgsrc/security/tkpasman/work/.tools/bin:/usr/pkgsrc/security/tkpasman/work/.gcc/bin:/home/ryoh/bin:/usr/local/bin:/usr/pkg/bin:/usr/X11R6/bin:/usr/bin:/bin:/home/ryoh/sbin:/usr/local/sbin:/usr/pkg/sbin:/usr/sbin:/sbin:/bin:/usr/pkg/bin:/usr/X11R6/bin
...
/bin/sh build.sh
Found wish program: /usr/pkgsrc/security/tkpasman/work/.buildlink/bin/wish8.4
Found tclsh program: /usr/pkgsrc/security/tkpasman/work/.buildlink/bin/tclsh8.4
Found OpenSSL program: /usr/bin/openssl
Enabling OpenSSL support:
  openssl: /usr/bin/openssl
  enc:     bf
  salt:    yes
Warning: when putting a new TkPasMan into use,
be sure to UNencrypt your password file before,
because another SSL encoding might be configured.
Built tkpasman succesfully.
...

$ make install && make clean
...

$ tkpasman
exec: /usr/pkgsrc/security/tkpasman/work/.buildlink/bin/wish8.4: not found

>How-To-Repeat:

See above.

>Fix:
Index: Makefile
===================================================================
RCS file: /usr/cvsup/pkgsrc/security/tkpasman/Makefile,v
retrieving revision 1.9
diff -d -p -u -b -r1.9 Makefile
--- Makefile	8 May 2004 20:21:58 -0000	1.9
+++ Makefile	30 Aug 2004 15:29:36 -0000
@@ -30,6 +30,10 @@ CONFIG_SUBST+=		USE_OPENSSL="false"
 CONFIG_SUBST+=		OPENSSL=""
 .endif
 
+.include "../../x11/tk/buildlink3.mk"
+CONFIG_SUBST+=		TK="${BUILDLINK_PREFIX.tk}/bin/wish"
+CONFIG_SUBST+=		TCL="${BUILDLINK_PREFIX.tcl}/bin/tclsh"
+
 ALL_TARGET=		tkpasman
 
 post-extract:
@@ -43,5 +47,4 @@ do-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/tkpasman
 	${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/tkpasman
 
-.include "../../x11/tk/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
Index: distinfo
===================================================================
RCS file: /usr/cvsup/pkgsrc/security/tkpasman/distinfo,v
retrieving revision 1.2
diff -d -p -u -b -r1.2 distinfo
--- distinfo	9 Jun 2003 22:12:35 -0000	1.2
+++ distinfo	30 Aug 2004 15:29:36 -0000
@@ -2,4 +2,4 @@ $NetBSD: distinfo,v 1.2 2003/06/09 22:12
 
 SHA1 (TkPasMan-2.2a.tar.gz) = 670e4a05e4cad221261189c8819e851760907921
 Size (TkPasMan-2.2a.tar.gz) = 31330 bytes
-SHA1 (patch-aa) = e7256ce74b1688d2c8b4df160bd77afc50623a79
+SHA1 (patch-aa) = 112a7e7e5ccac2567e72d877585876fbd7482865
Index: patches/patch-aa
===================================================================
RCS file: /usr/cvsup/pkgsrc/security/tkpasman/patches/patch-aa,v
retrieving revision 1.2
diff -d -p -u -b -r1.2 patch-aa
--- patches/patch-aa	9 Jun 2003 22:12:35 -0000	1.2
+++ patches/patch-aa	30 Aug 2004 15:29:36 -0000
@@ -1,8 +1,8 @@
 $NetBSD: patch-aa,v 1.2 2003/06/09 22:12:35 jmmv Exp $
 
---- config.in.orig	2003-06-09 13:00:02.000000000 +0200
+--- config.in.orig	2004-08-30 23:22:09.000000000 +0900
 +++ config.in
-@@ -4,11 +4,13 @@
+@@ -4,16 +4,18 @@
  # paths below.
  
  # In which directory do you want tkpasman to be installed?
@@ -18,6 +18,13 @@ $NetBSD: patch-aa,v 1.2 2003/06/09 22:12
  
  # The Makefile should find wish8.3 and tclsh8.3.  When it fails, enter here
  # the full path to your wish and tclsh shell.
+-WISH=
+-TCLSH= 
++WISH=@TK@
++TCLSH=@TCL@
+ 
+ # Filename of the user config file of TkPasMan.  Be sure to quote file-
+ # names starting with a tilde!
 @@ -27,12 +29,12 @@ PWDFILE='~/.tkpasman'
  
  # Build in openssl support (true or false, optional).
>Release-Note:
>Audit-Trail:
>Unformatted:
 and wish
 From: Ryo HAYASAKA <ryoh@jaist.ac.jp>
 Reply-To: ryoh@jaist.ac.jp
 X-send-pr-version: 3.95
 
 
 and wish