Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com X-Authentication-Warning: abomination.cygnus.com: mdejong owned process doing -bs Date: Tue, 28 Mar 2000 15:41:21 -0800 (PST) From: Mo DeJong To: "Parker, Ron" cc: "'cygwin-developers AT sourceware DOT cygnus DOT com'" Subject: Re: Mo Dejong's install problems In-Reply-To: <200003282023.MAA10141@cygnus.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Note-from-DJ: This may be spam On Tue, 28 Mar 2000, Parker, Ron wrote: > Mo DeJong wrote: > > > Re: The installer posted by Ron Parker. > > > > Sorry for the slow response, I just explained to Chris in a private e-mail > that apparently one of the inbound mail servers was throwing away all e-mail > it received and reporting it as delivered. Chris mentioned you had problems > and I searched the archives for your original email. > > > I first downloaded the cygwin installer and saved it in D:\Cygwin. I then > > extracted all the .tar.gz files from cygwin into D:\Cygwin. What I meant to say was that I extracted all the cygwin .tar.gz files from a larger .tar file I created. > For starters, there is no need to extract the tar.gz files yourself. The > setup program does this for you. > > > The "cygwin setup" program was a dos based util that asked me where the > > root directory should be located. I chose the default of C:\. My point was that most people are used to graphical installers for windows programs, not console ones. > Actually it is a 32-bit Windows console program. My old cygwin install might have had C:\ mounted as root. I do not think we should use an old mount point if it is in the registry. > I will check this, it should not have defaulted to C:\ unless you previously > mounted C:\ as root. It may be that the version on my website predates the > code that checks for a previous root mount. > > > It then asked me if I wanted to download packages from the internet. I > > typed "no". > > > At that point, it started installing every .tar.gz file it found > > (the ones located in subdirectories of D:\Cygwin). > > This was the intended behavior. Check. > The setup program will install any packages that are in the same directory > as the setup.exe or in any of its subdirectories. The logic behind the > subdirectory checking is in case someone did a recursive get with ncftp or a > similar client. > > > The installer seemed to create everything in the "C:\" directory. > > At the very least, the default should be something like "C:\Cygwin-1.1.1" > > or "C:\Program Files\Cygwin-1.1.1", not the "C:\" directory! > > It creates it in whatever directory you specify as root at the first prompt > that it presents. > > > The installer program seemed to "get stuck" after printing the > > following text to the screen. "Creating the uninstall file...". > > I was not sure if the program had crashed or if it was doing > > something. After about 10 minutes I had to kill the program > > to do anything on my system (a Win 95 box). I let it run for a very long time. I know it was stuck because my box crashed when I tried to do a shutdown. > I doubt it was stuck, with at least one version of the setup program it was > a very slow process. This may be the version you tried. > > The setup program generates a log of files that are extracted from the > tar.gz files this is simply the piped output of the tar commands. It then > reads this file and passes each one's name, which is in Unix format, to > cygpath for conversion to Windows format. These DOS style file names are > used in the uninstall batch file. That sounds a lot better. > I use cygpath because Chris did not want setup to depend on any internal > cygwin functionality and the setup.exe is a Windows program not a cygwin > program. Since it is a Windows program it was behaving like calling cygpath > repeatedly from the "MS-DOS Prompt" instead of being as fast as calling it > repeatedly in bash or a shell script. I have dramatically sped up this > process by preloading cygwin.dll so that each invocation of cygpath does not > have to load the DLL into memory. > > > I had to reboot my box to get it working again after the installer > > crashed. I then tried to run what I thought would be the cygwin > > bash shell by choosing the following menu item > > Start->Programs->Cygnus Solutions->Cygwin-1.1.0. > > The old B.20 install I had on this box (I just uninstalled B.20) > > would launch bash when I clicked on that menu item, but this > > version just printed: > > > Out of environment space > > Out of environment space > > Bad command or file name > > > I am guessing a .bat file is being used and that the proper > > executable could not be found on the PATH. Nope. Windows is really hosed in that respect. I have to wonder why a .bat file is even getting used at all. Why not create a .bashrc file in the root of the install path and then put the setting of the PATH in there? I tried this on my box at home and it seemed to work like a charm. My cygwin.bat file looked like this: echo off cd C:/Cygwin/usr/bin bash I then put the variable stuff in C:/Cygwin/.bashrc and it seemed to work. > A .bat file is being used. The "Out of environment space" message occurred > when it tried to add the cygwin directories to the path. I am not sure if > there is a way I can programmatically specify a larger environment space > when I create the shortcut. I will look into this as well. > > > I then decided I would uninstall cygwin and try again but use "C:\Cygwin" > > as the root directory. I looked in the "Add-Remove programs" list > > but there was no listing for cygwin. I am no windows expert, so I > > did not want to try to hack the registry to remove whatever settings > > the installer created. I was stuck at this point. > > Had the installer finished the uninstall file creation process, there would > have been another item on the start menu for uninstalling the whole thing. > > I mentioned on the list that I did not add the program to the "Add-Remove > Programs" list, because the uninstall script is just a batch file and had no > way of removing the item from the list after uninstalling. DJ had > recommended that I look at regtool. I will look at it and see about adding > the information to the "Add-Remove Programs" list. > > > I hope that helps. > > It does. Ron, do you want some help writing this installer? I think I could take the code you already wrote and whip up a graphical installer that does the same thing. Interested? Mo DeJong Red Hat Inc.