+Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
+
+ * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
+ for NULL.
+
+Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
+
+ * download.cc (download_one): Add missing parenthesis.
+
+Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
+
+ * download.cc (get_file_size): New function. Eliminates the need
+ to call `stat'.
+ (download_one): Call `get_file_size' instead of `stat'. This
+ workarounds a problem with mingw's `stat' call.
+
+2001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
+
+ * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
+ This is to allow cinstall to build with 2.95.2-7 and to make the
+ use of headers consistent.
+
+2000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
+
+ * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
+
+Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
+
+ * winsup/cinstall/res.rc: Added accelerators and improved focus
+ order.
+
+2000-12-10 Egor Duda <deo@logos-m.ru>
+
+ * choose.cc (paint): Use system background color for text output.
+
+Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in: Use CXX for linking and for compiling .cc files.
+ * configure.in: Find correct c++ compiler.
+ * configure: Regenerate.
+
+2000-11-17 DJ Delorie <dj@redhat.com>
+
+ * splash.cc (load_dialog): Make message more obvious.
+ * res.rc: Ditto.
+
+Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
+ necessary for newer compilers.
+
+Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
+
+ * desktop.cc: Include "ini.h" and "version.h".
+ (make_passwd_group): Skip the function on 9x/ME boxes when an
+ older version of Cygwin has been installed which doesn't
+ support mkpasswd/mkgroup on 9x/ME.
+ * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
+ * ini.h: ...here.
+
+Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
+
+ * desktop.cc (make_passwd_group): Don't exit when started
+ on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
+
+Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
+
+ * install.cc (do_install): Add call to set_cygdrive_flags to sync
+ the mount modes.
+ * mount.cc (set_cygdrive_flags): New function.
+ (get_cygdrive_flags): Ditto.
+ (default_cygdrive): Ditto.
+ (set_cygdrive_flags): Ditto.
+ * mount.h: Add prototype for set_cygdrive_flags.
+
+2000-10-23 DJ Delorie <dj@redhat.com>
+
+ * ini.h: add source actions
+ * fromcwd.cc: check for available sources
+ * res.rc: add checkbox bitmaps
+ * resource.h: ditto
+ * check-*.bmp: new
+ * choose.cc: add source column
+ * download.cc: download sources if called for
+ * install.cc: [un]install sources too
+
+2000-10-22 DJ Delorie <dj@redhat.com>
+
+ * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
+ ignore it wrt full_list if there's already a version installed.
+ (do_choose): Sort the list.
+ (package_sort): New.
+
+2000-10-12 DJ Delorie <dj@redhat.com>
+
+ * res.rc: Add more error strings.
+ * resource.h: Ditto.
+ * iniparse.y (new_package): re-initialize if needed.
+ * download.cc (do_download): Keep track of errors; notify and
+ allow retry.
+ * install.cc (do_install): Ditto.
+
+2000-10-05 DJ Delorie <dj@redhat.com>
+
+ * Makefile.in: fix %.cc rule
+
+2000-10-04 DJ Delorie <dj@redhat.com>
+
+ * desktop.cc: quote HOME and USER, don't . ./.profile
+
+ * choose.cc (build_labels): don't include in partial list just
+ because there's a *previous* version available.
+
+ * install.cc (do_install): if installing from local directory with
+ setup.ini and the file isn't found, look in "." also. Note errors.
+
+2000-10-02 DJ Delorie <dj@redhat.com>
+
+ * ini.cc (do_ini): save setup.ini locally
+
+2000-10-02 Chris Abbey <cabbey@bresnanlink.net>
+
+ * desktop.cc: quote escapes in prompt
+
+2000-10-02 Jason Tishler <jt@dothill.com>
+
+ * root.cc (is_admin): New function.
+ (read_mount_table): Check for administrative priviledges and set
+ installation scope as appropriate.
+
+2000-09-28 DJ Delorie <dj@redhat.com>
+
+ * nio-ftp.cc (ftp_line): handle continuations more robustly
+
+2000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
+
+ * res.rc: increased the size of the site dialog (IDD_SITE) & the
+ corresponding list box to provide for more URL's to be listed.
+ Modified the position of the Back, Next and Cancel buttons to
+ correspond to the new size of the dialog.
+
+2000-09-13 DJ Delorie <dj@redhat.com>
+
+ * install.cc (do_install): update disk fullness once per package
+ to improve performance
+
+ * choose.cc (create_listview): call ReleaseDC
+
+Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
+
+ * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
+ returned, as it seems Samba 2.0.6+ returns this instead of
+ ERROR_PATH_NOT_FOUND
+
+Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * site.cc (get_initial_list_idx): Don't default to saved URL if it
+ refers to sources.
+
+2000-09-07 DJ Delorie <dj@redhat.com>
+
+ * splash.cc: use version.h, not local decl
+ * res.rc: add "old version" message
+ * resource.h: ditto
+ * version.h: new
+ * fromcwd.cc (canonicalize_version): make global
+ * iniparse.y: add setup-version support, fix bug in blank line
+ handling
+
+ * inilex.l: add [exp] as alias for [test], add setup-version
+ * Makefile.in (version.c): add setup-version tag
+
+ * desktop.cc (do_desktop): remove 1.1 version number
+ (do_desktop_setup): ditto
+
+ * ini.cc (do_ini): zero out package list just in case we redo it.
+
+2000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
+
+ * choose.cc (list_click): Check for nindexes==0; if so, return.
+
+2000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
+
+ * localdir.cc: new, local package directory selection dialog; cd
+ into selected directory
+ * Makefile.in (OBJS): add localdir.o
+ * dialog.h: add prototype for do_local_dir
+ * main.cc (WinMain): initialize local_dir to cwd; add call to
+ do_local_dir
+ * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
+ * source.cc (dialog_cmd): ditto
+ * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
+ presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
+ * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
+ * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
+ * state.h: add local_dir variable
+
+2000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
+
+ * desktop.cc: added logic to handle to the new dialog and to
+ default the setting for the new checkboxes based on whether the
+ desktop icon or start menu link already exist.
+ (desktop_icon): correction to desktop directories for desktop icon
+ creation. Additional logic added for Win95 which does not appear
+ to have Common Directories so if Common selected and null uses
+ normal directory.
+ (start_menu): Additional logic added for Win95 which does not
+ appear to have Common Directories so if Common selected and null
+ uses normal directory.
+ (do_desktop_setup): moved the saving of the icon, creation of the
+ bat file, profile, passwd, Start Menu link and desktop shortcut to
+ this method from do_desktop. Made the creation of the desktop
+ icon and start menu link conditional on settings of new dialog
+ created for desktop.
+ * install.cc (do_install): changed next from IDD_S_DESKTOP to
+ IDD_DESKTOP.
+ * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
+ * res.rc: added new resource to create a desktop dialog with 2
+ checkboxes for creating the desktop icon and start menu link.
+ * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
+ new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
+ * state.h: added root_menu and root_desktop for use in dialog.
+
+2000-08-29 DJ Delorie <dj@redhat.com>
+
+ * choose.cc (scan_downloaded_files): scan for existing files, so
+ that the user only sees new downloads.
+
+ * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
+ * site.cc (do_site): if we can't download the mirror list, go back
+ to the net setup box to choose another transport.
+ * autoload.c: add more functions
+ * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
+ * resource.h: add WININET message
+
+ * net.cc (do_net): no longer default to IE5
+ * simpsock.h (class SimpleSocket): new, simplify socket operations
+ * simpsock.cc: ditto
+ * nio-http.h: new, for direct http protocol
+ * nio-http.cc: ditto
+ * nio-ftp.h: new, for direct http protocol
+ * nio-ftp.cc: ditto
+ * netio.cc (set_url): move initialization here to handle redirections
+ (open): add direct http/ftp
+ * netio.h (NetIO::set_url): new
+
+ * log.cc (log_save): create directory for log if needed
+
+ * hash.cc, hash.h: new
+ * Makefile: add hash.o
+ * choose.cc: enable "uninstall" option
+ * download.cc: invert action test to accomodate uninstalling
+ * ini.h: add ACTION_UNINSTALL
+ * install.cc: add uninstall functionality
+ * res.rc: make install tag changeable
+ * resource.h: add uninstall resources
+
+ * res.rc: update mirror list URL
+
+2000-08-24 DJ Delorie <dj@redhat.com>
+
+ * log.cc, log.h: new files
+ * Makefile.in (OBJS): add log.o
+ * tar.cc: use exit_setup instead of exit
+ * dialog.cc (fatal): use exit_setup instead of ExitProcess
+ * msg.cc (fatal): ditto
+ * install.cc (dialog_cmd): ditto
+ * ini.cc (do_ini): ditto
+ * main.cc (main): add logging
+ * source.cc (do_source): ditto
+ * root.cc (do_source): ditto
+ * site.cc (do_site): ditto
+ * other.cc (do_other): ditto
+ * net.cc (do_net): ditto
+ * choose.cc (do_choose): ditto
+ * download.cc (do_download): ditto
+ * install.cc (do_install): ditto
+ * msg.cc (fatal): ditto
+
+ * res.rc: mark password boxes as *being* password boxes.
+
+ * fromcwd.cc (canonicalize_version): use multiple buffers so that multiple
+ calls won't use the same buffer.
+ * choose.cc (create_listview): don't default to full list if no changes
+ (base): return computed value, not temporary :-(
+ (do_choose): don't use installed.db if we're only downloading.
+
+2000-08-23 DJ Delorie <dj@redhat.com>
+
+ * nio-ie5.cc (NetIO_IE5): Fix authentication logic
+ * nio-ie5.h (flush_io): new
+ * netio.cc (load_dialog): note when we're initializing the dialog
+ box, and ignore changes to the edit fields then.
+
+2000-08-21 DJ Delorie <dj@redhat.com>
+
+ * README: Update
+
+ * fromcwd.cc (found_file): don't remember the canonicalized version
+
+ * choose.cc (paint): print "nothing to do" message when list is empty.
+ (build_labels): Use version "0.0" if no version is available.
+ (create_listview): default to full list if nothing to install/update.
+ (base): new, returns basename of file
+ (read_installed_db): compare base names, not full paths
+
+2000-08-11 DJ Delorie <dj@redhat.com>
+
+ * choose.cc: add new chooser dialog
+ * fromcwd.cc: use IDD_CHOOSE
+ * ini.cc: use IDD_CHOOSE
+ * main.cc: use IDD_CHOOSE
+ * ini.h: cosmetic changes
+ * res.rc: add choose dialog, bitmaps
+ * choose-spin.bmp: new
+ * choose-rtarrow.bmp: new
+ * resource.h: add choose dialog controls
+
+ * mount.cc: remove debug statement
+
+2000-08-08 DJ Delorie <dj@redhat.com>
+
+ * Makefile.in (version.c): make version checking more robust
+ * splash.cc (load_dialog): handle case where there's no version
+
+2000-08-07 DJ Delorie <dj@redhat.com>
+
+ * (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 <dj@redhat.com>
+
+ * 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 <nhv@yahoo,com>
+
+ * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
+
+2000-08-01 DJ Delorie <dj@redhat.com>
+
+ * 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 <dj@redhat.com>
+
+ * desktop.cc: reverse PATH so /usr/bin precedes /bin
+
+2000-07-18 DJ Delorie <dj@redhat.com>
+
+ * 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 <dj@cygnus.com>
+
+ * coding standards fixups, many files
+ * mkdir.cc: warn about deletions *before* deleting them
+
+2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
+
+ * 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 <dj@cygnus.com>
+
+ * 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 <dj@cygnus.com>
+
+ * desktop.cc: add /etc/postinstall/ support
+ * install.cc: add more "standard" directories
+
+2000-07-11 DJ Delorie <dj@cygnus.com>
+
+ * 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 <dj@cygnus.com>
+
+ * 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 <dj@cygnus.com>
+
+ * ini.cc (do_ini): don't worry about timestamps if we're not
+ actually installing.
+
+2000-07-09 DJ Delorie <dj@cygnus.com>
+
+ * Makefile.in: add -I$(srcdir) for ini.h
+
+2000-07-06 DJ Delorie <dj@cygnus.com>
+
+ * Replace everything with a new GUI version
+ * zlib/gzio.c: add gzctell() for progress displays
+
+2000-06-22 DJ Delorie <dj@cygnus.com>
+
+ * setup.c (tarx): re-add call to write_pkg()
+
+2000-06-07 DJ Delorie <dj@cygnus.com>
+
+ * 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 <dj@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ 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 <dj@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * setup.c (do_start_menu): Don't concatenate paths to already built
+ paths.
+
+Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <root>\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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * setup.c (main): Change version number output.
+
+Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ 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 <cgf@cygnus.com>
+
+ * setup.c (main): Umount /bin and /lib.
+
+Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * setup.c (main): Create an empty /var/run/utmp.
+
+Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * setup.c (main): Remove the CYGWIN environment variable before
+ starting any cygwin programs.
+
+Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * setup.c (main): Disallow running setup.exe from the "root".
+
+Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
+
+ 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 <cgf@cygnus.com>
+
+ * setup.c (processdirlisting): Make "N" option a little less aggressive.
+
+Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * setup.c (processdirlisting): Fix handling of "A" for "A"lways
+ download.
+
+Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ * 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 <cgf@cygnus.com>
+
+ 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 <cgf@cygnus.com>
* Makefile.in: Change method for compressing cygwin1.dll to avoid
Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
* README: Added info about non-working mingw implementation
- * gzip.exe.gz: Replaced with a version from the same build as the other
+ * gzip.exe.gz: Replace with a version from the same build as the other
tools.
- * tar.exe.gz: Replaced with a version from the same build as the other
+ * tar.exe.gz: Replace with a version from the same build as the other
tools.
- * mount.exe.gz: Added to repository until, mingw can build setup.
+ * 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: Restored the carriage returns, MS Developer Studio needs them.
+ * 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 <cgf@cygnus.com>
- * Makefile.in: Add "-nostdinc" to regular CFLAGS.
- Add target to grab cygwin1.dll from ../cygwin subdirectory.
+ * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
+ cygwin1.dll from ../cygwin subdirectory.
* gzip.exe.gz: Update.
* tar.exe.gz: Update.
* zlib/acinclude.m4: New file.
* zlib/configure: Regenerate from configure.in.
* zlib/Makefile.in: Regenerate from Makefile.am
+
+%%% $Id$
+$Revision$