2000-08-07 DJ Delorie * (all): add cvsid tags * Makefile.in: generate version.c from ChangeLog, add splash.o * splash.o: new * res.rc: add splash screen 2000-08-02 DJ Delorie * net.cc: remove proxy password code * res.rc: remove proxy user/pass from net, add auth dialogs * netio.cc,h: add sys/proxy auth methods * nio-ie5: use them, check for http status codes * state.h: add system authorization * concat.cc (concat): canonicalize x:// to x:/ (exception to :// meaning an url) 2000-08-02 Norman Vine * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags 2000-08-01 DJ Delorie * postinstall.cc (each): don't rename files we ignore (do_postinstall): set CYGWINROOT to root_dir, chdir there * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc 2000-07-31 DJ Delorie * desktop.cc: reverse PATH so /usr/bin precedes /bin 2000-07-18 DJ Delorie * autoload.c: new, autoload dlls that might not be available. * Makefile.in (OBJS): add autoload.o * res.rc: rewrite root options (text/binary, system/user) to be more obvious. * site.cc (get_site_list): trim displayed URL, sort by domain * net.cc (do_net): make IE5 default to checked, for now * choose.cc (do_choose): sort packages correctly * ini.cc (do_ini): handle parse errors more gracefully (yyerror): ditto (fprintf): line buffer output (do_ini): if we can't load setup.ini, go back to the site list. * ini.h: add "unknown" trust level * inilex.l: absorb unknown trust levels and key/value pairs, add line number logic * iniparse.y: handle parse errors more gracefully. * install.cc: skip packages with no valid install entry 2000-07-17 DJ Delorie * coding standards fixups, many files * mkdir.cc: warn about deletions *before* deleting them 2000-07-17 Jeff Juliano * res.rc (IDD_OTHER_URL): reorder to give default focus to entry * other.cc (dialog_cmd): save download site URL * site.cc (get_root_dir): new (save_mirror_site): new (dialog_cmd): save download site URL (get_site_list): make list big enough to add prev site (get_initial_list_idx): new, read last-used URL from file and append it to site_list (do_site): call get_initial_list_idx * concat.cc (concat): avoid segfault when first parm is null 2000-07-13 DJ Delorie * postinstall.cc: new * Makefile.in: add postinstall.o * concat.h: add backslash () * concat.cc: ditto * desktop.cc (etc_profile): don't do postinstall (backslash): moved to concat.cc (uexists): new (make_postinstall_script): run directly (do_desktop): chain to do_postinstall * dialog.h: add exit_msg, do_postinstall * download.cc: use exit_msg * install.cc: ditto * main.cc: add postinstall, exit_msg * resource.h: add postinstall * README: add more to-do items 2000-07-12 DJ Delorie * desktop.cc: add /etc/postinstall/ support * install.cc: add more "standard" directories 2000-07-11 DJ Delorie * desktop.cc: create /etc/profile * desktop.cc: fix include syntax * Makefile.in: add auto-dependencies * root.cc: support system vs user * desktop.cc: ditto * mount.h: ditto * mount.cc: ditto * install.cc: ditto * res.rc: ditto * resource.h: ditto * state.h: ditto * desktop.cc: make sure we use backslashes, not slashes. * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd * geturl.cc: change math for percentage to avoid overflow * install.cc: ditto * download.cc: post "download complete" message. * root.cc: pre-fill in defaults if needed, don't start browse at root_dir unless it's set. * desktop.cc: quote $PATH in case it has spaces in it 2000-07-10 DJ Delorie * Makefile.in: add desktop.o and mklink2.o * dialog.h: add do_desktop * install.cc: create standard directories, call do_desktop * res.rc: add cygwin.ico as a file also * desktop.cc: new, do shortcuts, batch files, and icons * mklink2.c: new, for COM * README: update to-do list 2000-07-10 DJ Delorie * ini.cc (do_ini): don't worry about timestamps if we're not actually installing. 2000-07-09 DJ Delorie * Makefile.in: add -I$(srcdir) for ini.h 2000-07-06 DJ Delorie * Replace everything with a new GUI version * zlib/gzio.c: add gzctell() for progress displays 2000-06-22 DJ Delorie * setup.c (tarx): re-add call to write_pkg() 2000-06-07 DJ Delorie * cygcalls.c: new, call cygwin1.dll functions directly * cygcalls.h: header for same * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount exes, fix cinstall.rc dependencies. * path.c: remove unneeded code * setup.c: use cygcalls instead of xcreate_process. uncompress embedded files with zlib add "-d" for "download only" add "-h" for help postpone mount changes until very end add download progress indicators pack multi-column listings more auto-delete temp files customize banner message according to options prompt user for text/binary mounts add warnings about empty setup directory, root installs, etc 2000-05-24 DJ Delorie * tar.c: New file; built-in tar using zlib. * tar.h: New file; header for same. * ctar.c: New file; test program for same. * Makefile.in: add built-in tar, remove tar.exe and gzip.exe * path.c (pathcat): convert slashes and canonicalize, instead of aborting * setup.c (tarx): add support for built-in tar (main): accept unix-style slashes, check root dir for drive letters, warn about installing in /, make sure cwd is empty for internet installs, defer mounts to end of install, support built-in tar. Fri May 19 23:44:37 2000 Christopher Faylor Fix compiler warnings throughout. * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in get_pkg_stuff. * setup.c: Make 'root' global. (istargz): Return pointer to "stem" of matched .tar.gz file. (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove bogus check_for_installed check. (recurse_dirs): Add preliminary support for .bat file execution. (create_uninstall): Eliminate unneeded parameter. (do_start_menu): Ditto. (mkmount): Ditto. (get_pkg_stuff): Ditto. Check for currently installed cygwin by scanning for the version number. Eliminate unneeded argument to create_uninstall. (getdownloadsource): Add 'name' to list of names rather than url. (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate unneeded argument in mkmount and do_start_menu. 2000-05-18 DJ Delorie * setup.c (optionprompt): allow multi-column, clean up message about more options, be more robust about user input. (getdownloadsource): make the mirror URL a macro. (main): do mounts after done prompting user. Tue May 2 00:56:41 2000 Christopher Faylor * setup.c (cleanup): Inverse order of deletion stands a better chance of deleting cygpath.exe. Still seems to suffer from occasional races, though. (cleanup_on_signal): Perform convoluted dance to accomodate win95 and w2k. (output_file): Defend against an unlikely handle leak. (main): Don't set up signal handling until we have something special to do. Mon May 1 17:56:32 2000 Christopher Faylor * path.c (kill_cygpath): Delete function. (exit_cygpath): Make more defensive so that it can be called at any time. (cygpath_pipe): Don't set up signal here. Do it in main(). * setup.c (istargz): New function. (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz inexplicably fails on samba mounted partitions. Use istargz to match tar.gz tail. (processdirlisting) Use istargz to match tar.gz tail. (cleanup): Renamed from filedel. (cleanup_on_signal): New function. Called on CTRL-C. (main): Record handle of main thread so that it can be suspended when CTRL-C occurs. Set up cleanup_on_signal signal handler. Mon May 1 11:05:07 2000 Christopher Faylor * setup.c (do_start_menu): Don't concatenate paths to already built paths. Sun Apr 30 22:37:34 2000 Christopher Faylor * path.c (exit_cygpath): Wait for subprocess to exit before returning. (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do that. * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin root"-specific. * setup.c (filedel): Call exit_cygpath here so that we can be assured that cygpath subprocess has died. This allows us to delete cygpath.exe and cygwin1.dll. (optionprompt): Initialize response to -1 so that second screen of mirrors will appear. (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs. * setup.h: Reflect init_pkgs prototype change. Sat Apr 29 23:53:30 2000 Christopher Faylor * pkg.c (init_pkgs): Accept an argument to control what root registry key should be used. * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails. * setup.h: Reflect init_pkgs prototype change. Sat Apr 29 23:27:14 2000 Christopher Faylor * error.c (winerror): Respond to gcc warning. * path.c (cygpath_pipe): Ditto. * setup.c (filedel): Call sa_cleanup on deleteme. (create_shortcut): Coerce argument to eliminate compiler warning. (tarx): Use installed version of cygwin1.dll, overriding tar file name. (refmatches): New function. Tests if ref is contained in a list of packages to install. (filematches): New function. Tests if filename matches one of a list of packages to install. (recurse_dirs): Accept list of packages to install. Generalize tar.gz test to accomodate _tar.gz. (prompt): Ensure that stdout is flushed prior to asking for input. (findhref): Initialize variables to quiet a compiler warning. (processdirlisting): Accept list of packages to install. Special case cygwin tar file version number. (downloaddir): Accept list of packages to install. (downloadfrom): Ditto. (create_uninstall): Eliminate unneeded variables. Quote arguments to regtool. (do_start_menu): Don't create uninstall bat file if updating or user specified a list of packages. (mkmount): Eliminate unneeded variables. (get_pkg_stuff): New function. Checks for previous unversioned installation. (main): Accept -u and -f options and package names on the command line. Use get_pkg_stuff to initialize package information. Umount /etc. Call recurse_dirs and downloadfrom with list of package to install. Ensure that all /usr/local directories are created. Output installation time to setup.log. * setup.h: Add some prototypes. * xsystem.c (xcreate_process): Eliminate unneeded variable. Sat Apr 29 12:43:08 2000 Christopher Faylor * setup.c (optionprompt): Don't overlap display of already seen options on next page. (geturl): Print name of site which we're connecting to rather than "ftp site". (processdirlisting): Avoid URLs that contain a /. or ./ . Is this test too simplistic? (do_start_menu): Use pathcat to build path to \bin to avoid problems when user chooses x:\ as their root. (main): For now, default to "non-update" mode. Allow -u option to signify an update. Sat Apr 29 00:26:06 2000 Christopher Faylor * pkg.c: New file. * setup.c (tarx): Skip already installed or older packages. Report when a package has been updated. (processdirlisting): Skip already installed or older packages. (main): Detect -f option for forced installation. Initialize pkg stuff if appropriate. * setup.h: Add pkg definitions. Thu Apr 27 14:21:30 2000 Christopher Faylor * setup.c (findhref): Return NULL on empty string. Eat any trailing ";something". (processdirlisting): Attempt to limit recursively processing the same directory. Thu Apr 27 11:42:23 2000 Christopher Faylor * setup.c (filedel): New function. (output_file): Keep track of files extracted from setup.exe for subsequent deletion. (tarx): Close process handle of child tar process or suffer handle leak. (getdownloadsource): Close mirror file so that it can be unlinked. (processdirlisting): Return total number of files extracted. (main): Initialize array of files to delete. Ensure that files are closed on exit. Make the directory that setup.exe is started from == the directory where temporary files are placed. Issue an error if no files were found to download. * xsystem.c (xcreate_process): Close the thread handle. Close the process handle if we waited for it to exit. Thu Apr 27 09:54:19 2000 Christopher Faylor * setup.c (main): Change version number output. Thu Apr 27 09:23:17 2000 Christopher Faylor * setup.c (tarx): Use full path name to tar executable. (main): Build full pathname to tar executable. Create /usr/local/etc by default. Wed Apr 26 22:16:57 2000 Christopher Faylor * setup.c (findhref): Change method for scanning for href= to choose the last one on the line. This is still not foolproof and probably will need to be changed eventually. Don't abort if no "size" field is evident. (processdirlisting): Fix boolean algebra. Wed Apr 26 01:10:39 2000 Christopher Faylor * main.c (tarx): Add some code for future task of unmounting directories encountered in tar file. Sat Apr 22 16:37:03 2000 Christopher Faylor * setup.c (findhref): Decode file size, when appropriate. (needfile): New function. Returns 1 when file should be downloaded. (processdirlisting): Always download if file size does not match. Prompt when download fails for some reason. (getdownloadsource): Accomodate findhref argument changes. Sat Apr 22 15:13:42 2000 Christopher Faylor Throughout, use global session handle rather than reinitializing for each connect. Don't pass session as an argument to setup.c functions. * setup.c (geturl): Only issue "Connecting to.." message when using http or first time for ftp since subsequent connections will be fast. (processdirlisting): Allocate space for "N" when user has specified "N"ever option so that it can be subsequently freed. (main): Abort if we can't get the list of mirrors. Thu Apr 20 16:41:42 2000 Christopher Faylor * setup.c (main): Umount /bin and /lib. Wed Apr 19 13:34:44 2000 Christopher Faylor * setup.c (main): Create an empty /var/run/utmp. Tue Apr 18 19:16:56 2000 Christopher Faylor * Makefile.in: Add umount to list of files to include in setup.exe. * setup.c (xumount): New function for unmounting directories. (main): Unmount /usr. (mkmount): Unmount "unix directory" before trying to figure out where to create the directory. Tue Apr 18 17:28:55 2000 Christopher Faylor * setup.c (mkmount): Use xcreate_process to start mount process, avoiding the shell. (main): Don't do buffering on stdout or prompts won't be displayed correctly if running in a cygwin shell with CYGWIN=tty. Tue Apr 18 15:35:19 2000 Christopher Faylor * setup.c (main): Remove the CYGWIN environment variable before starting any cygwin programs. Mon Apr 17 19:20:52 2000 Vadim Egorov * setup.c (geturl): Use alternative method for finding filename part of a URL. (processdirlisting): Accomodate strange output from non-MS ftp proxy. (downloaddir): Unlink file containing dir listing. (downloadfrom): Ditto. Mon Apr 17 00:00:49 2000 Christopher Faylor * setup.c (main): Disallow running setup.exe from the "root". Sun Apr 16 18:50:58 2000 Christopher Faylor Use "warning" function, where appropriate, to output warnings. * setup.c (warning): New function -- outputs warning to console and log file. (tarx): Fix index used to reset file protection. (main): Open the log file earlier so that more stuff can be sent to it. Sat Apr 15 20:05:33 2000 Christopher Faylor * setup.c (processdirlisting): Make "N" option a little less aggressive. Fri Apr 14 11:11:29 2000 Christopher Faylor * setup.c (tarx): Wait to after tar has completed to reset protections or suffer races with tar process. Thu Apr 13 12:51:19 2000 Christopher Faylor * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS. * setup.c (create_uninstall): Create the uninstall .bat file in the "root" so that we can remove the /bin directory. Add bin\cygwin.bat to list of files to be deleted. Fix directory detection for determining when to use 'rmdir'. (do_start_menu): Add /usr/local/bin to the path. (main): Add slop to files.array allocation so that we don't have to worry about reallocating the array when it grows too large when doing some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of files. Thu Apr 13 01:59:44 2000 Christopher Faylor * setup.c (processdirlisting): Fix handling of "A" for "A"lways download. Thu Apr 13 01:11:45 2000 Christopher Faylor * path.c (kill_cygpath): New cleanup function. (exit_cygpath): New cleanup function. (cygpath_pipe): New function. Sets up cygpath in the background for translating filenames. (pathcvt): Use background cygpath for file translation. * setup.c (tarx): New function. Called to extract tar files, capture logging output, and translate it to Windows format. (recurse_dirs): Use 'tarx' function to extract files. (create_uninstall): Use file list built up by tarx rather than reading the log file. (mkmount): Add ability to mount root. (main): Track elapsed install time. Mount root. * starry.h: Add index field to strarry for tracking of tarx's usage of this structure. * xsystem.c (xcreate_process): Return proces handle when not waiting. Mon Apr 10 22:44:56 2000 Christopher Faylor * path.c: New file. (pathfp): New function. Preliminary work for new -f cygpath functionality. * Makefile.in: Add new file. (pathcvt): Move to new file. (dtoupath): Ditto. (utodpath): Ditto. (pathcat): Ditto. * setup.c (processdirlisting): Always open file in text mode. (create_uninstall): Ditto. (getdownloadsource): Ditto. (main): Ditto. Mon Apr 10 20:33:40 2000 Christopher Faylor * xsystem.c: New file. * Makefile.in: Accomodate new file. * setup.c (xsystem): Move to new file. (recurse_dirs): Accept handle to output log file. Don't use ">" redirection to trap tar output. Use supplied handle instead. (create_uninstall): Accept FILE pointer to opened log file. Don't unlink log file here. (do_start_menu): Accept FILE pointer to pass to create_uninstall. (main): Open log file here and pass it to various functions. Unlink when done. Mon Apr 10 17:15:52 2000 Christopher Faylor Change occurrences of .usr.bin to .bin throughout. * setup.c (geturl): Increase number of retries to 20. Let user know what's going on during long connects. (processdirlisting): Accept "A"lways and "N"ever as update options. (create_uninstall): Load cygwin1.dll from the current directory rather than \bin. (main): Add some expository text. Sun Apr 9 20:59:15 2000 Christopher Faylor * Makefile.in: Change method for compressing cygwin1.dll to avoid creating a cygwin1.dll in the current directory. Ensure the addition of -nostdinc to MINGW_CFLAGS. Sun Apr 9 02:15:47 2000 Christopher Faylor * Makefile.in: Augment clean target. Fri Apr 7 17:04:02 Ron Parker * README: Added info about non-working mingw implementation * gzip.exe.gz: Replace with a version from the same build as the other tools. * tar.exe.gz: Replace with a version from the same build as the other tools. * mount.exe.gz: Add to repository until, mingw can build setup. * cygpath.exe.gz: ditto * cygwin1.dll.gz: ditto * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut for Win9x. Display only a screenfull of options at a time. Call all tools with an absolute path. * setup.dsp: Restore the carriage returns, MS Developer Studio needs them. * setup.dsw: ditto * zlib.dsw: ditto Thu Apr 6 19:15:27 2000 Christopher Faylor * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab cygwin1.dll from ../cygwin subdirectory. * gzip.exe.gz: Update. * tar.exe.gz: Update. Wed Apr 5 10:52:08 2000 Christopher Faylor * Makefile.in: Use ZLIB variable as a target. Sat Apr 1 22:49:09 2000 Christopher Faylor * Makefile.in: Eliminate traces of cygwinisms. Don't link with libmsvcrt.a. It's unneeded. Build .rc file on the fly from various sources. * configure.in: Locate correct objcopy. * configure: Regenerate. Sat Apr 1 20:48:09 2000 Christopher Faylor * Makefile.in: New file. * configure.in: New file. * configure: New file. * zlib/Makefile.am: New file. * zlib/configure.in: New file. * zlib/aclocal.m4: New file. * zlib/acinclude.m4: New file. * zlib/configure: Regenerate from configure.in. * zlib/Makefile.in: Regenerate from Makefile.am %%% $Id$ $Revision$