1 2000-07-06 DJ Delorie <dj@cygnus.com>
3 * Replace everything with a new GUI version
4 * zlib/gzio.c: add gzctell() for progress displays
6 2000-06-22 DJ Delorie <dj@cygnus.com>
8 * setup.c (tarx): re-add call to write_pkg()
10 2000-06-07 DJ Delorie <dj@cygnus.com>
12 * cygcalls.c: new, call cygwin1.dll functions directly
13 * cygcalls.h: header for same
14 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
15 exes, fix cinstall.rc dependencies.
16 * path.c: remove unneeded code
17 * setup.c: use cygcalls instead of xcreate_process.
18 uncompress embedded files with zlib
19 add "-d" for "download only"
21 postpone mount changes until very end
22 add download progress indicators
23 pack multi-column listings more
24 auto-delete temp files
25 customize banner message according to options
26 prompt user for text/binary mounts
27 add warnings about empty setup directory, root installs, etc
29 2000-05-24 DJ Delorie <dj@cygnus.com>
31 * tar.c: New file; built-in tar using zlib.
32 * tar.h: New file; header for same.
33 * ctar.c: New file; test program for same.
34 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
35 * path.c (pathcat): convert slashes and canonicalize, instead of aborting
36 * setup.c (tarx): add support for built-in tar
37 (main): accept unix-style slashes, check root dir for drive letters,
38 warn about installing in /, make sure cwd is empty for internet installs,
39 defer mounts to end of install, support built-in tar.
41 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
43 Fix compiler warnings throughout.
44 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
46 * setup.c: Make 'root' global.
47 (istargz): Return pointer to "stem" of matched .tar.gz file.
48 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
49 bogus check_for_installed check.
50 (recurse_dirs): Add preliminary support for .bat file execution.
51 (create_uninstall): Eliminate unneeded parameter.
52 (do_start_menu): Ditto.
54 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
55 scanning for the version number. Eliminate unneeded argument to
57 (getdownloadsource): Add 'name' to list of names rather than url.
58 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
59 unneeded argument in mkmount and do_start_menu.
61 2000-05-18 DJ Delorie <dj@cygnus.com>
63 * setup.c (optionprompt): allow multi-column, clean up message
64 about more options, be more robust about user input.
65 (getdownloadsource): make the mirror URL a macro.
66 (main): do mounts after done prompting user.
68 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
70 * setup.c (cleanup): Inverse order of deletion stands a better chance
71 of deleting cygpath.exe. Still seems to suffer from occasional races,
73 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
75 (output_file): Defend against an unlikely handle leak.
76 (main): Don't set up signal handling until we have something special to
79 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
81 * path.c (kill_cygpath): Delete function.
82 (exit_cygpath): Make more defensive so that it can be called at any
84 (cygpath_pipe): Don't set up signal here. Do it in main().
85 * setup.c (istargz): New function.
86 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
87 inexplicably fails on samba mounted partitions. Use istargz to match
89 (processdirlisting) Use istargz to match tar.gz tail.
90 (cleanup): Renamed from filedel.
91 (cleanup_on_signal): New function. Called on CTRL-C.
92 (main): Record handle of main thread so that it can be suspended when
93 CTRL-C occurs. Set up cleanup_on_signal signal handler.
95 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
97 * setup.c (do_start_menu): Don't concatenate paths to already built
100 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
102 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
103 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
105 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
107 * setup.c (filedel): Call exit_cygpath here so that we can be assured
108 that cygpath subprocess has died. This allows us to delete cygpath.exe
110 (optionprompt): Initialize response to -1 so that second screen of
112 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
113 * setup.h: Reflect init_pkgs prototype change.
115 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
117 * pkg.c (init_pkgs): Accept an argument to control what root registry
119 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
120 * setup.h: Reflect init_pkgs prototype change.
122 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
124 * error.c (winerror): Respond to gcc warning.
125 * path.c (cygpath_pipe): Ditto.
126 * setup.c (filedel): Call sa_cleanup on deleteme.
127 (create_shortcut): Coerce argument to eliminate compiler warning.
128 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
129 (refmatches): New function. Tests if ref is contained in a list of
131 (filematches): New function. Tests if filename matches one of a list
132 of packages to install.
133 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
134 test to accomodate _tar.gz.
135 (prompt): Ensure that stdout is flushed prior to asking for input.
136 (findhref): Initialize variables to quiet a compiler warning.
137 (processdirlisting): Accept list of packages to install. Special case
138 cygwin tar file version number.
139 (downloaddir): Accept list of packages to install.
140 (downloadfrom): Ditto.
141 (create_uninstall): Eliminate unneeded variables. Quote arguments to
143 (do_start_menu): Don't create uninstall bat file if updating or user
144 specified a list of packages.
145 (mkmount): Eliminate unneeded variables.
146 (get_pkg_stuff): New function. Checks for previous unversioned
148 (main): Accept -u and -f options and package names on the command line.
149 Use get_pkg_stuff to initialize package information. Umount /etc.
150 Call recurse_dirs and downloadfrom with list of package to install.
151 Ensure that all /usr/local directories are created. Output
152 installation time to setup.log.
153 * setup.h: Add some prototypes.
154 * xsystem.c (xcreate_process): Eliminate unneeded variable.
156 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
158 * setup.c (optionprompt): Don't overlap display of already seen options
160 (geturl): Print name of site which we're connecting to rather than "ftp
162 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
164 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
165 problems when user chooses x:\ as their root.
166 (main): For now, default to "non-update" mode. Allow -u option to
169 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
172 * setup.c (tarx): Skip already installed or older packages. Report
173 when a package has been updated.
174 (processdirlisting): Skip already installed or older packages.
175 (main): Detect -f option for forced installation. Initialize pkg stuff
177 * setup.h: Add pkg definitions.
179 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
181 * setup.c (findhref): Return NULL on empty string. Eat any trailing
183 (processdirlisting): Attempt to limit recursively processing the same
186 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
188 * setup.c (filedel): New function.
189 (output_file): Keep track of files extracted from setup.exe for
191 (tarx): Close process handle of child tar process or suffer handle
193 (getdownloadsource): Close mirror file so that it can be unlinked.
194 (processdirlisting): Return total number of files extracted.
195 (main): Initialize array of files to delete. Ensure that files are
196 closed on exit. Make the directory that setup.exe is started from ==
197 the directory where temporary files are placed. Issue an error if no
198 files were found to download.
199 * xsystem.c (xcreate_process): Close the thread handle. Close the
200 process handle if we waited for it to exit.
202 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
204 * setup.c (main): Change version number output.
206 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
208 * setup.c (tarx): Use full path name to tar executable.
209 (main): Build full pathname to tar executable. Create /usr/local/etc
212 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
214 * setup.c (findhref): Change method for scanning for href= to choose
215 the last one on the line. This is still not foolproof and probably
216 will need to be changed eventually. Don't abort if no "size" field is
218 (processdirlisting): Fix boolean algebra.
220 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
222 * main.c (tarx): Add some code for future task of unmounting
223 directories encountered in tar file.
225 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
227 * setup.c (findhref): Decode file size, when appropriate.
228 (needfile): New function. Returns 1 when file should be
230 (processdirlisting): Always download if file size does not
231 match. Prompt when download fails for some reason.
232 (getdownloadsource): Accomodate findhref argument changes.
234 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
236 Throughout, use global session handle rather than reinitializing for
237 each connect. Don't pass session as an argument to setup.c functions.
238 * setup.c (geturl): Only issue "Connecting to.." message when using
239 http or first time for ftp since subsequent connections will be fast.
240 (processdirlisting): Allocate space for "N" when user has specified
241 "N"ever option so that it can be subsequently freed.
242 (main): Abort if we can't get the list of mirrors.
244 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
246 * setup.c (main): Umount /bin and /lib.
248 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
250 * setup.c (main): Create an empty /var/run/utmp.
252 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
254 * Makefile.in: Add umount to list of files to include in setup.exe.
255 * setup.c (xumount): New function for unmounting directories.
256 (main): Unmount /usr.
257 (mkmount): Unmount "unix directory" before trying to figure out where
258 to create the directory.
260 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
262 * setup.c (mkmount): Use xcreate_process to start mount process,
264 (main): Don't do buffering on stdout or prompts won't be displayed
265 correctly if running in a cygwin shell with CYGWIN=tty.
267 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
269 * setup.c (main): Remove the CYGWIN environment variable before
270 starting any cygwin programs.
272 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
274 * setup.c (geturl): Use alternative method for finding filename part of
276 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
277 (downloaddir): Unlink file containing dir listing.
278 (downloadfrom): Ditto.
280 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
282 * setup.c (main): Disallow running setup.exe from the "root".
284 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
286 Use "warning" function, where appropriate, to output warnings.
287 * setup.c (warning): New function -- outputs warning to console and log
289 (tarx): Fix index used to reset file protection.
290 (main): Open the log file earlier so that more stuff can be sent to it.
292 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
294 * setup.c (processdirlisting): Make "N" option a little less aggressive.
296 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
298 * setup.c (tarx): Wait to after tar has completed to reset protections
299 or suffer races with tar process.
301 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
303 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
304 * setup.c (create_uninstall): Create the uninstall .bat file in the
305 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
306 list of files to be deleted. Fix directory detection for determining
308 (do_start_menu): Add /usr/local/bin to the path.
309 (main): Add slop to files.array allocation so that we don't have to
310 worry about reallocating the array when it grows too large when doing
311 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
314 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
316 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
319 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
321 * path.c (kill_cygpath): New cleanup function.
322 (exit_cygpath): New cleanup function.
323 (cygpath_pipe): New function. Sets up cygpath in the background for
324 translating filenames.
325 (pathcvt): Use background cygpath for file translation.
326 * setup.c (tarx): New function. Called to extract tar files, capture
327 logging output, and translate it to Windows format.
328 (recurse_dirs): Use 'tarx' function to extract files.
329 (create_uninstall): Use file list built up by tarx rather than reading
331 (mkmount): Add ability to mount root.
332 (main): Track elapsed install time. Mount root.
333 * starry.h: Add index field to strarry for tracking of tarx's usage of
335 * xsystem.c (xcreate_process): Return proces handle when not waiting.
337 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
340 (pathfp): New function. Preliminary work for new -f cygpath
342 * Makefile.in: Add new file.
343 (pathcvt): Move to new file.
347 * setup.c (processdirlisting): Always open file in text mode.
348 (create_uninstall): Ditto.
349 (getdownloadsource): Ditto.
352 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
354 * xsystem.c: New file.
355 * Makefile.in: Accomodate new file.
356 * setup.c (xsystem): Move to new file.
357 (recurse_dirs): Accept handle to output log file. Don't use ">"
358 redirection to trap tar output. Use supplied handle instead.
359 (create_uninstall): Accept FILE pointer to opened log file. Don't
360 unlink log file here.
361 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
362 (main): Open log file here and pass it to various functions. Unlink
365 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
367 Change occurrences of .usr.bin to .bin throughout.
368 * setup.c (geturl): Increase number of retries to 20. Let user know
369 what's going on during long connects.
370 (processdirlisting): Accept "A"lways and "N"ever as update options.
371 (create_uninstall): Load cygwin1.dll from the current directory rather
373 (main): Add some expository text.
375 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
377 * Makefile.in: Change method for compressing cygwin1.dll to avoid
378 creating a cygwin1.dll in the current directory. Ensure the addition
379 of -nostdinc to MINGW_CFLAGS.
381 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
383 * Makefile.in: Augment clean target.
385 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
387 * README: Added info about non-working mingw implementation
388 * gzip.exe.gz: Replace with a version from the same build as the other
390 * tar.exe.gz: Replace with a version from the same build as the other
392 * mount.exe.gz: Add to repository until, mingw can build setup.
393 * cygpath.exe.gz: ditto
394 * cygwin1.dll.gz: ditto
395 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
396 for Win9x. Display only a screenfull of options at a time. Call all
397 tools with an absolute path.
398 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
403 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
405 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
406 cygwin1.dll from ../cygwin subdirectory.
407 * gzip.exe.gz: Update.
408 * tar.exe.gz: Update.
410 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
412 * Makefile.in: Use ZLIB variable as a target.
414 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
416 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
417 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
419 * configure.in: Locate correct objcopy.
420 * configure: Regenerate.
422 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
424 * Makefile.in: New file.
425 * configure.in: New file.
426 * configure: New file.
427 * zlib/Makefile.am: New file.
428 * zlib/configure.in: New file.
429 * zlib/aclocal.m4: New file.
430 * zlib/acinclude.m4: New file.
431 * zlib/configure: Regenerate from configure.in.
432 * zlib/Makefile.in: Regenerate from Makefile.am