From: Andreas K. <and...@Ac...> - 2005-10-10 19:06:16
|
> > At 02.42 +0200 2005-10-07, Andreas Kupries wrote: > >The Tcllib CVS has been tagged and __ pre-release __ archives have bee= n > >created. > [snip] > >Please give them a whirl. > > I currently have some hours to kill in Never-never-land (in an airport > lounge just outside Customs, waiting for a flight that's currently > estimated to be two hours late), Oi. > so why not do some whirling, indeed? So > far I've mostly been dealing with the installer, but I thought I'd bett= er > start typing things down before I forget... > > A first problem I had was that the installer doesn't handle permissions. Do you mean by that the installer gets confused by permissions when runni= ng, or that it does not set permissions on the files it installs ? > I understand it probably can't, but there could be some advice in INSTALL.txt > on how to deal with this. We do have commands in Tcl for this, see "file attributes". We will have = to distinguish Windows and Unix, but otherwise we could set permissions. We should possibly discuss what would be good permissions. > I suspect [exec sudo installer.tcl] doesn't > qualify as good practice. Hm. Well, if it finds a proper Tclsh. But in general no. > Also it could try to catch the error (for me it > was the [file mkdir tcllib1.8] that failed first) rather than just erro= r > out completely. I am not sure here. The tcllib1.8 directory is important for all packages. Erroring out does make sense IMHO. > Next, I'd like to ask where the log ends up (when running the GUI > version). Nowhere. It is only shown in the GUI, but not written to file. > I got some curious error messages in the documentation-making-phase (fo= r > snit_faq, I think), which however didn't stop the installation. Actually warnings. Some of the section/subsection titles are not unique. > I > thought I > could come back to it later, but after installation was complete wish j= ust > exited, and then the information in the log window was no more. (I thin= k > the error said something about a particular string not being a > valid return > code in the sv_se locale (???).) Eh ?? Interesting. [Later, after having browsed the > installer.tcl code a couple of times, I see that the installer indeed j= ust > quits when done. When working in GUI mode, it should first ask the user > whether (s)he wants to save the log window contents. An additional > alternative could be to dump the log window contents to stdout, though.= ] The installer can be forced into non-gui mode, using -no-gui. In that mod= e the log goes to stdout and can be captured. > Another curious thing is the default locations the installer > selects, which > had me confused for quite a while. In my system it wants to place > things in > /System/Library, despite /Library being more appropriate (e.g. being wh= ere > my wish is located). The logic that appears to be responsible for this = is > that libpath is set to the last element of tcl_pkgPath, but is that > appropriate? Looking at how my tcl_pkgPath is constructed, it mostly go= es > from specific (e.g. user-installed packages) to general (those provided= by > the OS vendor), so the things I install should rather go into some of t= he > early entries on this path. Hm. This might actually be platform dependent. From your paths I see that you are on OS X. I tested this so far only on other Unix installations (Linux, Solaris, ...) and Windows. For these the path chosen is quite sensible. > Slightly related, but not having any ill effects for me, is the way in > which the test for a starkit is being performed. It tests whether [info > nameofexecutable] is a prefix of [info library], but it appears to me a= s > the test may miss some cases where this happens. The reason is that I f= ind > my [info nameofexecutable] is the non-normalized > /usr/bin/../../Library/Frameworks/Tk.framework/Versions/8.4/Resources/W= ish > Shell.app/Contents/MacOS/Wish Shell > whereas the [info library] is normalized to > /Library/Frameworks/Tcl.framework/Versions/8.4/Resources/Scripts > Perhaps starkits don't normalize their library paths, or perhaps they d= o, > but one should anyway take note of this possibility for errors. I have to admit, that is the first time that I am seeing a non-normalized path in [info nameofexecutable] ... Ok, Jeff told that this can occur on other Unices as well, symbolic path, or running ./tclsh etc. ... Hm, I gu= ess we should normalize, if [file normalize] is present (remmber, parts of tcllib can be used with 8.2 and 8.3 as well, so the installer cannot assu= me 8.4 features) > Not much actual testing got done, but OTOH these delayed remarks could = be > useful in a slightly longer timeframe. Yes. Definitely. > Lars Hellstr=F6m, > now safely home (after far too many hours waiting in airports > this weekend; I can feel your pain ... My end-of-the-yar vacation is coming up ... Vancouver - Amsterdam - Duesseldorf. Well, better than older flights to various conferences, via Chicago ... That was usually a pain. Today likel= y even more with US border paranoia way up. > aarrrrgh) -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com, a division of Sophos Tel: +1 604 484 6491 |