1 2000-08-21 DJ Delorie <dj@redhat.com>
5 * fromcwd.cc (found_file): don't remember the canonicalized version
7 * choose.cc (paint): print "nothing to do" message when list is empty.
8 (build_labels): Use version "0.0" if no version is available.
9 (create_listview): default to full list if nothing to install/update.
10 (base): new, returns basename of file
11 (read_installed_db): compare base names, not full paths
13 2000-08-11 DJ Delorie <dj@redhat.com>
15 * choose.cc: add new chooser dialog
16 * fromcwd.cc: use IDD_CHOOSE
17 * ini.cc: use IDD_CHOOSE
18 * main.cc: use IDD_CHOOSE
19 * ini.h: cosmetic changes
20 * res.rc: add choose dialog, bitmaps
21 * choose-spin.bmp: new
22 * choose-rtarrow.bmp: new
23 * resource.h: add choose dialog controls
25 * mount.cc: remove debug statement
27 2000-08-08 DJ Delorie <dj@redhat.com>
29 * Makefile.in (version.c): make version checking more robust
30 * splash.cc (load_dialog): handle case where there's no version
32 2000-08-07 DJ Delorie <dj@redhat.com>
34 * (all): add cvsid tags
35 * Makefile.in: generate version.c from ChangeLog, add splash.o
37 * res.rc: add splash screen
39 2000-08-02 DJ Delorie <dj@redhat.com>
41 * net.cc: remove proxy password code
42 * res.rc: remove proxy user/pass from net, add auth dialogs
43 * netio.cc,h: add sys/proxy auth methods
44 * nio-ie5: use them, check for http status codes
45 * state.h: add system authorization
47 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
50 2000-08-02 Norman Vine <nhv@yahoo,com>
52 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
54 2000-08-01 DJ Delorie <dj@redhat.com>
56 * postinstall.cc (each): don't rename files we ignore
57 (do_postinstall): set CYGWINROOT to root_dir, chdir there
59 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
61 2000-07-31 DJ Delorie <dj@redhat.com>
63 * desktop.cc: reverse PATH so /usr/bin precedes /bin
65 2000-07-18 DJ Delorie <dj@redhat.com>
67 * autoload.c: new, autoload dlls that might not be available.
68 * Makefile.in (OBJS): add autoload.o
70 * res.rc: rewrite root options (text/binary, system/user) to be
73 * site.cc (get_site_list): trim displayed URL, sort by domain
75 * net.cc (do_net): make IE5 default to checked, for now
77 * choose.cc (do_choose): sort packages correctly
78 * ini.cc (do_ini): handle parse errors more gracefully
80 (fprintf): line buffer output
81 (do_ini): if we can't load setup.ini, go back to the site list.
82 * ini.h: add "unknown" trust level
83 * inilex.l: absorb unknown trust levels and key/value pairs,
85 * iniparse.y: handle parse errors more gracefully.
86 * install.cc: skip packages with no valid install entry
88 2000-07-17 DJ Delorie <dj@cygnus.com>
90 * coding standards fixups, many files
91 * mkdir.cc: warn about deletions *before* deleting them
93 2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
95 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
97 * other.cc (dialog_cmd): save download site URL
98 * site.cc (get_root_dir): new
99 (save_mirror_site): new
100 (dialog_cmd): save download site URL
101 (get_site_list): make list big enough to add prev site
102 (get_initial_list_idx): new, read last-used URL from file and
103 append it to site_list
104 (do_site): call get_initial_list_idx
106 * concat.cc (concat): avoid segfault when first parm is null
108 2000-07-13 DJ Delorie <dj@cygnus.com>
110 * postinstall.cc: new
111 * Makefile.in: add postinstall.o
112 * concat.h: add backslash ()
114 * desktop.cc (etc_profile): don't do postinstall
115 (backslash): moved to concat.cc
117 (make_postinstall_script): run directly
118 (do_desktop): chain to do_postinstall
119 * dialog.h: add exit_msg, do_postinstall
120 * download.cc: use exit_msg
122 * main.cc: add postinstall, exit_msg
123 * resource.h: add postinstall
124 * README: add more to-do items
126 2000-07-12 DJ Delorie <dj@cygnus.com>
128 * desktop.cc: add /etc/postinstall/ support
129 * install.cc: add more "standard" directories
131 2000-07-11 DJ Delorie <dj@cygnus.com>
133 * desktop.cc: create /etc/profile
134 * desktop.cc: fix include syntax
135 * Makefile.in: add auto-dependencies
136 * root.cc: support system vs user
144 * desktop.cc: make sure we use backslashes, not slashes.
145 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
146 * geturl.cc: change math for percentage to avoid overflow
148 * download.cc: post "download complete" message.
149 * root.cc: pre-fill in defaults if needed, don't start
150 browse at root_dir unless it's set.
151 * desktop.cc: quote $PATH in case it has spaces in it
153 2000-07-10 DJ Delorie <dj@cygnus.com>
155 * Makefile.in: add desktop.o and mklink2.o
156 * dialog.h: add do_desktop
157 * install.cc: create standard directories, call do_desktop
158 * res.rc: add cygwin.ico as a file also
159 * desktop.cc: new, do shortcuts, batch files, and icons
160 * mklink2.c: new, for COM
161 * README: update to-do list
163 2000-07-10 DJ Delorie <dj@cygnus.com>
165 * ini.cc (do_ini): don't worry about timestamps if we're not
168 2000-07-09 DJ Delorie <dj@cygnus.com>
170 * Makefile.in: add -I$(srcdir) for ini.h
172 2000-07-06 DJ Delorie <dj@cygnus.com>
174 * Replace everything with a new GUI version
175 * zlib/gzio.c: add gzctell() for progress displays
177 2000-06-22 DJ Delorie <dj@cygnus.com>
179 * setup.c (tarx): re-add call to write_pkg()
181 2000-06-07 DJ Delorie <dj@cygnus.com>
183 * cygcalls.c: new, call cygwin1.dll functions directly
184 * cygcalls.h: header for same
185 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
186 exes, fix cinstall.rc dependencies.
187 * path.c: remove unneeded code
188 * setup.c: use cygcalls instead of xcreate_process.
189 uncompress embedded files with zlib
190 add "-d" for "download only"
192 postpone mount changes until very end
193 add download progress indicators
194 pack multi-column listings more
195 auto-delete temp files
196 customize banner message according to options
197 prompt user for text/binary mounts
198 add warnings about empty setup directory, root installs, etc
200 2000-05-24 DJ Delorie <dj@cygnus.com>
202 * tar.c: New file; built-in tar using zlib.
203 * tar.h: New file; header for same.
204 * ctar.c: New file; test program for same.
205 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
206 * path.c (pathcat): convert slashes and canonicalize, instead of aborting
207 * setup.c (tarx): add support for built-in tar
208 (main): accept unix-style slashes, check root dir for drive letters,
209 warn about installing in /, make sure cwd is empty for internet installs,
210 defer mounts to end of install, support built-in tar.
212 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
214 Fix compiler warnings throughout.
215 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
217 * setup.c: Make 'root' global.
218 (istargz): Return pointer to "stem" of matched .tar.gz file.
219 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
220 bogus check_for_installed check.
221 (recurse_dirs): Add preliminary support for .bat file execution.
222 (create_uninstall): Eliminate unneeded parameter.
223 (do_start_menu): Ditto.
225 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
226 scanning for the version number. Eliminate unneeded argument to
228 (getdownloadsource): Add 'name' to list of names rather than url.
229 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
230 unneeded argument in mkmount and do_start_menu.
232 2000-05-18 DJ Delorie <dj@cygnus.com>
234 * setup.c (optionprompt): allow multi-column, clean up message
235 about more options, be more robust about user input.
236 (getdownloadsource): make the mirror URL a macro.
237 (main): do mounts after done prompting user.
239 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
241 * setup.c (cleanup): Inverse order of deletion stands a better chance
242 of deleting cygpath.exe. Still seems to suffer from occasional races,
244 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
246 (output_file): Defend against an unlikely handle leak.
247 (main): Don't set up signal handling until we have something special to
250 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
252 * path.c (kill_cygpath): Delete function.
253 (exit_cygpath): Make more defensive so that it can be called at any
255 (cygpath_pipe): Don't set up signal here. Do it in main().
256 * setup.c (istargz): New function.
257 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
258 inexplicably fails on samba mounted partitions. Use istargz to match
260 (processdirlisting) Use istargz to match tar.gz tail.
261 (cleanup): Renamed from filedel.
262 (cleanup_on_signal): New function. Called on CTRL-C.
263 (main): Record handle of main thread so that it can be suspended when
264 CTRL-C occurs. Set up cleanup_on_signal signal handler.
266 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
268 * setup.c (do_start_menu): Don't concatenate paths to already built
271 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
273 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
274 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
276 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
278 * setup.c (filedel): Call exit_cygpath here so that we can be assured
279 that cygpath subprocess has died. This allows us to delete cygpath.exe
281 (optionprompt): Initialize response to -1 so that second screen of
283 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
284 * setup.h: Reflect init_pkgs prototype change.
286 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
288 * pkg.c (init_pkgs): Accept an argument to control what root registry
290 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
291 * setup.h: Reflect init_pkgs prototype change.
293 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
295 * error.c (winerror): Respond to gcc warning.
296 * path.c (cygpath_pipe): Ditto.
297 * setup.c (filedel): Call sa_cleanup on deleteme.
298 (create_shortcut): Coerce argument to eliminate compiler warning.
299 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
300 (refmatches): New function. Tests if ref is contained in a list of
302 (filematches): New function. Tests if filename matches one of a list
303 of packages to install.
304 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
305 test to accomodate _tar.gz.
306 (prompt): Ensure that stdout is flushed prior to asking for input.
307 (findhref): Initialize variables to quiet a compiler warning.
308 (processdirlisting): Accept list of packages to install. Special case
309 cygwin tar file version number.
310 (downloaddir): Accept list of packages to install.
311 (downloadfrom): Ditto.
312 (create_uninstall): Eliminate unneeded variables. Quote arguments to
314 (do_start_menu): Don't create uninstall bat file if updating or user
315 specified a list of packages.
316 (mkmount): Eliminate unneeded variables.
317 (get_pkg_stuff): New function. Checks for previous unversioned
319 (main): Accept -u and -f options and package names on the command line.
320 Use get_pkg_stuff to initialize package information. Umount /etc.
321 Call recurse_dirs and downloadfrom with list of package to install.
322 Ensure that all /usr/local directories are created. Output
323 installation time to setup.log.
324 * setup.h: Add some prototypes.
325 * xsystem.c (xcreate_process): Eliminate unneeded variable.
327 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
329 * setup.c (optionprompt): Don't overlap display of already seen options
331 (geturl): Print name of site which we're connecting to rather than "ftp
333 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
335 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
336 problems when user chooses x:\ as their root.
337 (main): For now, default to "non-update" mode. Allow -u option to
340 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
343 * setup.c (tarx): Skip already installed or older packages. Report
344 when a package has been updated.
345 (processdirlisting): Skip already installed or older packages.
346 (main): Detect -f option for forced installation. Initialize pkg stuff
348 * setup.h: Add pkg definitions.
350 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
352 * setup.c (findhref): Return NULL on empty string. Eat any trailing
354 (processdirlisting): Attempt to limit recursively processing the same
357 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
359 * setup.c (filedel): New function.
360 (output_file): Keep track of files extracted from setup.exe for
362 (tarx): Close process handle of child tar process or suffer handle
364 (getdownloadsource): Close mirror file so that it can be unlinked.
365 (processdirlisting): Return total number of files extracted.
366 (main): Initialize array of files to delete. Ensure that files are
367 closed on exit. Make the directory that setup.exe is started from ==
368 the directory where temporary files are placed. Issue an error if no
369 files were found to download.
370 * xsystem.c (xcreate_process): Close the thread handle. Close the
371 process handle if we waited for it to exit.
373 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
375 * setup.c (main): Change version number output.
377 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
379 * setup.c (tarx): Use full path name to tar executable.
380 (main): Build full pathname to tar executable. Create /usr/local/etc
383 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
385 * setup.c (findhref): Change method for scanning for href= to choose
386 the last one on the line. This is still not foolproof and probably
387 will need to be changed eventually. Don't abort if no "size" field is
389 (processdirlisting): Fix boolean algebra.
391 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
393 * main.c (tarx): Add some code for future task of unmounting
394 directories encountered in tar file.
396 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
398 * setup.c (findhref): Decode file size, when appropriate.
399 (needfile): New function. Returns 1 when file should be
401 (processdirlisting): Always download if file size does not
402 match. Prompt when download fails for some reason.
403 (getdownloadsource): Accomodate findhref argument changes.
405 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
407 Throughout, use global session handle rather than reinitializing for
408 each connect. Don't pass session as an argument to setup.c functions.
409 * setup.c (geturl): Only issue "Connecting to.." message when using
410 http or first time for ftp since subsequent connections will be fast.
411 (processdirlisting): Allocate space for "N" when user has specified
412 "N"ever option so that it can be subsequently freed.
413 (main): Abort if we can't get the list of mirrors.
415 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
417 * setup.c (main): Umount /bin and /lib.
419 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
421 * setup.c (main): Create an empty /var/run/utmp.
423 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
425 * Makefile.in: Add umount to list of files to include in setup.exe.
426 * setup.c (xumount): New function for unmounting directories.
427 (main): Unmount /usr.
428 (mkmount): Unmount "unix directory" before trying to figure out where
429 to create the directory.
431 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
433 * setup.c (mkmount): Use xcreate_process to start mount process,
435 (main): Don't do buffering on stdout or prompts won't be displayed
436 correctly if running in a cygwin shell with CYGWIN=tty.
438 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
440 * setup.c (main): Remove the CYGWIN environment variable before
441 starting any cygwin programs.
443 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
445 * setup.c (geturl): Use alternative method for finding filename part of
447 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
448 (downloaddir): Unlink file containing dir listing.
449 (downloadfrom): Ditto.
451 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
453 * setup.c (main): Disallow running setup.exe from the "root".
455 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
457 Use "warning" function, where appropriate, to output warnings.
458 * setup.c (warning): New function -- outputs warning to console and log
460 (tarx): Fix index used to reset file protection.
461 (main): Open the log file earlier so that more stuff can be sent to it.
463 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
465 * setup.c (processdirlisting): Make "N" option a little less aggressive.
467 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
469 * setup.c (tarx): Wait to after tar has completed to reset protections
470 or suffer races with tar process.
472 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
474 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
475 * setup.c (create_uninstall): Create the uninstall .bat file in the
476 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
477 list of files to be deleted. Fix directory detection for determining
479 (do_start_menu): Add /usr/local/bin to the path.
480 (main): Add slop to files.array allocation so that we don't have to
481 worry about reallocating the array when it grows too large when doing
482 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
485 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
487 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
490 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
492 * path.c (kill_cygpath): New cleanup function.
493 (exit_cygpath): New cleanup function.
494 (cygpath_pipe): New function. Sets up cygpath in the background for
495 translating filenames.
496 (pathcvt): Use background cygpath for file translation.
497 * setup.c (tarx): New function. Called to extract tar files, capture
498 logging output, and translate it to Windows format.
499 (recurse_dirs): Use 'tarx' function to extract files.
500 (create_uninstall): Use file list built up by tarx rather than reading
502 (mkmount): Add ability to mount root.
503 (main): Track elapsed install time. Mount root.
504 * starry.h: Add index field to strarry for tracking of tarx's usage of
506 * xsystem.c (xcreate_process): Return proces handle when not waiting.
508 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
511 (pathfp): New function. Preliminary work for new -f cygpath
513 * Makefile.in: Add new file.
514 (pathcvt): Move to new file.
518 * setup.c (processdirlisting): Always open file in text mode.
519 (create_uninstall): Ditto.
520 (getdownloadsource): Ditto.
523 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
525 * xsystem.c: New file.
526 * Makefile.in: Accomodate new file.
527 * setup.c (xsystem): Move to new file.
528 (recurse_dirs): Accept handle to output log file. Don't use ">"
529 redirection to trap tar output. Use supplied handle instead.
530 (create_uninstall): Accept FILE pointer to opened log file. Don't
531 unlink log file here.
532 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
533 (main): Open log file here and pass it to various functions. Unlink
536 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
538 Change occurrences of .usr.bin to .bin throughout.
539 * setup.c (geturl): Increase number of retries to 20. Let user know
540 what's going on during long connects.
541 (processdirlisting): Accept "A"lways and "N"ever as update options.
542 (create_uninstall): Load cygwin1.dll from the current directory rather
544 (main): Add some expository text.
546 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
548 * Makefile.in: Change method for compressing cygwin1.dll to avoid
549 creating a cygwin1.dll in the current directory. Ensure the addition
550 of -nostdinc to MINGW_CFLAGS.
552 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
554 * Makefile.in: Augment clean target.
556 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
558 * README: Added info about non-working mingw implementation
559 * gzip.exe.gz: Replace with a version from the same build as the other
561 * tar.exe.gz: Replace with a version from the same build as the other
563 * mount.exe.gz: Add to repository until, mingw can build setup.
564 * cygpath.exe.gz: ditto
565 * cygwin1.dll.gz: ditto
566 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
567 for Win9x. Display only a screenfull of options at a time. Call all
568 tools with an absolute path.
569 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
574 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
576 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
577 cygwin1.dll from ../cygwin subdirectory.
578 * gzip.exe.gz: Update.
579 * tar.exe.gz: Update.
581 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
583 * Makefile.in: Use ZLIB variable as a target.
585 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
587 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
588 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
590 * configure.in: Locate correct objcopy.
591 * configure: Regenerate.
593 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
595 * Makefile.in: New file.
596 * configure.in: New file.
597 * configure: New file.
598 * zlib/Makefile.am: New file.
599 * zlib/configure.in: New file.
600 * zlib/aclocal.m4: New file.
601 * zlib/acinclude.m4: New file.
602 * zlib/configure: Regenerate from configure.in.
603 * zlib/Makefile.in: Regenerate from Makefile.am