]> cygwin.com Git - cygwin-apps/setup.git/blob - ChangeLog
2002-05-12 Robert Collins <rbtcollins@hotmail.com>
[cygwin-apps/setup.git] / ChangeLog
1 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
2
3 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
4 corrupt log file entries.
5 * geturl.cc: Convert to the new LogSingleton logging.
6
7 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
8
9 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
10 setup.ini.
11
12 2002-05-12 Robert Collins <rbtcollins@hotmail.com>
13
14 * geturl.h: Declare getUrlToStream.
15 * geturl.cc (getUrlToStream): New function.
16 (get_url_to_membuf): Refactor to use getUrlToStream.
17
18 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
19
20 * Makefile.am: Add a release target to automate some of the routine
21 work.
22 * Makefile.in: Regenerate.
23
24 2002-05-11 Robert Collins <rbtcollins@hotmail.com>
25
26 * choose.cc (scan_downloaded_files): On local installs remove all
27 mirror sites if no cached copy of a package is found.
28
29 2002-05-10 Robert Collins <rbtcollins@hotmail.com>
30
31 * Makefile.in: Regenerate.
32 * iniparse.y: Use left recursion, not right in the lines rule to
33 avoid stack overflows.
34 * README: Update TODO's.
35 * io_stream_file.cc: Native builds need to include sys/stat.h
36
37 2002-05-06 John Marshall <jmarshall@acm.org>
38
39 * site.cc (SitePage::OnMessageCmd): recalculate navigation
40 button activation when "Add" is pressed.
41 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
42
43 2002-05-07 Robert Collins <rbtcollins@hotmail.com>
44
45 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
46 depending on platform.
47 Add file:// support.
48 * configure.in: Set conditional MINGWTARGET if compiling against mingw
49 libraries.
50 * Makefile.in: Regenerate.
51 * configure: Ditto.
52 * io_stream_file.cc: Only use win32 calls when building for mingw.
53
54 2002-05-05 Robert Collins <rbtcollins@hotmail.com>
55
56 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
57 * configure.in: Ditto.
58 Fix incorrect header checking syntax.
59 * aclocal.m4: Regenerate.
60 * configure: Regenerate.
61 * Makefile.in: Regenerate.
62 * io_stream.cc: Remove platform specific and provider specific code.
63 (io_stream::registerProvider): New method, registers a Url provider with
64 the io_stream code.
65 Make all methods consistently throw invalid_argument exceptions when
66 a provider that is requested is not present.
67 (findProvider): New private function, finds a provider.
68 * io_stream.h: Declare io_stream::registerProvider.
69 * io_stream_cygfile.cc: Create a Provider class to register with
70 io_stream.cc.
71 * io_stream_file.cc: Ditto.
72 * archive.cc: Remove unneeded includes.
73 * archive_tar.cc: Remove unneeded includes.
74 * archive_tar.h: Add required include.
75 * archive_tar_file.cc: Remove unneded includes.
76 * choose.cc: Remove unneeded includes:
77
78 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
79
80 * io_stream.cc: Use the new log interface thruout.
81
82 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
83
84 * log.cc (log): Reimplement via LogSingleton.
85 (log_save): Remove.
86 (exit_setup): Remove.
87 * log.h (log_save): Remove.
88 (exit_setup): Remove.
89 * LogSingleton.cc: New file.
90 * LogSingleton.h: New file.
91 * LogFile.cc: New file.
92 * LogFile.h: New file.
93 * Makefile.am (inilint_SOURCES): Add the new log interface.
94 (setup_SOURCES): Add the new log interface and the concrete File
95 implementation.
96 * Makefile.in: Regenerate.
97 * archive.cc: Use the new log interface thruout.
98 * archive_tar.cc: Ditto.
99 * main.cc: Ditto.
100 * dialog.cc (fatal): Use the new log interface.
101 * ini.cc (do_ini_thread): Use the log interface to exit.
102 * isntall.cc (do_install_thread): Ditto.
103 * netio.cc (auth_cmd): Ditto.
104 * msg.cc (fatal): Ditto.
105 * localdir.cc (save_local_dir): Save to different files depending on
106 the mode, and if a root dir exists.
107
108 2002-05-04 Robert Collins <rbtcollins@hotmail.com>
109
110 * IniDBBuilder.cc: New file.
111 * IniDBBuilder.h: New file.
112 * IniDBBuilderPackage.cc: New file.
113 * IniDBBuilderPackage.h: New file.
114 * PackageTrust.h: New file.
115 * IniState.h: Remove, wasn't thought out well enough.
116 * Makefile.am (inilint_SOURCES): Add more requirements.
117 (setup_SOURCES): Add new Builder base and concrete classes.
118 * Makefile.in: Regenerate.
119 * String++.cc (String::String): Implement int contructor.
120 * String++.h (String): Declare int constructor.
121 * archive_tar.cc (archive_tar::next_file_name): Return String() when
122 no filename exists.
123 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
124 it's not needed.
125 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
126 (find_routine): Use new IniDBBuilder to configure the parser.
127 (do_local_ini): Ditto.
128 (do_remote_ini): Ditto.
129 * ini.h: Use IniDBBuilder to initialise parsing.
130 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
131 swapped.
132 (ini_init): Use an IniDBBuilder rather than static variables.
133 * iniparse.y: Hand off all the object creation to a builder, rather
134 than hardcoding the behaviour. This allows run-time configured
135 behaviour.
136 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
137 method, it's not needed.
138 * io_stream_file.h (io_stream_file): Ditto.
139 * mount.cc (cygpath): Return String() for missing mounts.
140 * package_meta.cc (packagemeta::SDesc): Return String() for blank
141 descriptions.
142 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
143 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
144 usage.
145 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
146 String constructor usage.
147 * site.h (site_list_type): Ditto.
148
149 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
150
151 * String++.h: Declare a << operator that accepts String objects.
152 * String++.cc: We need iostream for..
153 (operator <<): this. Provide a << operator that accepts String objects.
154 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
155 Change from vargs to a String parameter.
156 * inilintmail.cc: Remove the gui related headers.
157 (yyerror): Implement this for parsing.
158 * iniparse.y: Use the new yyerror syntax.
159
160 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
161
162 * Makefile.am: Add IniState.h.
163 * Makefile.in: Regenerate.
164 * IniState.h: New file.
165 * choose.cc: Don't include ini.h - it's not needed.
166 * configure: Regenerate.
167 * desktop.cc: Don't include ini.h - it's not needed.
168 * download.cc: Ditto.
169 * fromcwd.cc: Ditto.
170 * ini.cc: Use IniState.h to track each parsing calling.
171 (find_routine): Ditto.
172 (do_remote_ini): Ditto.
173 (do_ini_thread): Ditto.
174 * ini.h (ini_init): Adjust parameters to include state object.
175 * inilex.l: Declare parser state variable.
176 (ini_init): Adjust parameters to include state object.
177 * iniparse.y: Remove obsolete setup_timestamp and setup_version
178 declarations.
179 (setup_header): Use new state variable to track time and version.
180 (add_correct_version): Ditto.
181 * install.cc: Don't include ini.h - it's not needed.
182
183 2002-05-03 Robert Collins <rbtcollins@hotmail.com>
184
185 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
186 * io_stream_file.cc: Don't include filemanip.h.
187 (io_stream_file::get_size): Implement here to remove filemanip
188 dependency.
189 * io_stream_cygfile.cc: Don't include filemanip.h.
190 (io_stream_cygfile::get_size): Implement here to remove filemanip
191 dependency.
192 Implement a stat based version for when win32 is not available.
193 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
194 * filemanip.cc: Don't include win32.h - be platform independent.
195 Include strings.h and io_stream.h as part of that.
196 (get_file_size): Leverage io_streams and remove win32 implementation.
197 * download.cc (check_for_cached): Use io_stream syntax for
198 get_file_size.
199 (download_one): Ditto.
200
201 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
202
203 * configure.in: Correct a typo in last change.
204 * configure: Regenerate.
205 * Makefile.in: Regenerate.
206
207 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
208
209 * configure.in: Check for string.h and string.
210 * configure: Regenerate.
211 * Makefile.in: Regenerate.
212
213 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
214
215 * res.rc (IDD_SPLASH): Remove white box.
216
217 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
218
219 Oops! forgot to list these in the last checkin.
220 * inilintmain.cc: New file.
221 * md5.h: New file - imported md5 source, BSD style licence.
222 * md5.cc: New file - imported md5 source, BSD style licence.
223 * Exception.cc: New file.
224 * Exception.h: New file.
225 * MD5++.cc: New file.
226 * MD5++.h: New file.
227
228 2002-05-01 Robert Collins <rbtcollins@hotmail.com>
229
230 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
231 Remove -fno-rtti, we need it for exceptions.
232 (AM_CXXFLAGS): Ditto.
233 (WARNONLY_CFLAGS): Ditto.
234 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
235 (setup_LDFLAGS): Add and set to -mwindows.
236 (setup_SOURCES): Add new sources.
237 * Makefile.in: Regenerate.
238 * README: Update TODO.
239 * choose.cc (scan_downloaded_files): Use ini information if it's
240 available.
241 * configure: Regenerate.
242 * download.cc (check_for_cached): Make reusable from elsewhere.
243 Throw exceptions on errors (as opposed to failures).
244 Check MD5 sum when it's known.
245 (download_one): Never force a download.
246 Handle corrupt package exceptions.
247 * ini.cc (find_routine): Reverse escape the URL to correctly identify
248 the site URL.
249 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
250 * iniparse.y: Allow calculation of MD5 sums, and allow src only
251 packages.
252 (process_src): New helper function.
253 * isntall.cc (install_one_source): Check MD5 sums when possible.
254 Throw exceptions on errors.
255 (do_install_thread): Handle exceptions for installation calls.
256 * package_source.h: Store MD5 information.
257 * propsheet.cc (PropSheet::Create): Add a useful comment.
258 * res.rc (IDS_INSTALL_ERROR): Define.
259 (IDS_CORRUPT_PACKAGE): Define.
260 * resource.h (IDS_INSTALL_ERROR): Define.
261 (IDS_CORRUPT_PACKAGE): Define.
262 * rfc1738.cc (rfc1738_unescape_part): Implement.
263 * rfc1738.h (rfc1738_unescape_part): Declare.
264
265 2002-04-29 Robert Collins <rbtcollins@hotmail.com>
266
267 * Makefile.am: Remove dependecy rules that automake emits.
268 Correct badly copied dependency info for manually compiled files.
269 (setup_SOURCES): Add all used headers.
270 (EXTRA_DIST): Include non compilate but required sources.
271 (setup_LDADD): Remove mingw32, it is autodetected.
272 * Makefile.in: Regenerate.
273 * String++.h: sys/types is a system header.
274 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
275 Use ExitThread.
276 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
277 portable).
278 * configure: Regenerate.
279 * configure.in: Check for mingw32/cygwin specific headers and libraries.
280 * cygpackage.h: Include the win32.h header to get correct macro
281 definitions in all situations.
282 * download.cc (do_download_reflector): Make into a Win32 thread routine.
283 Use ExitThread.
284 (do_download): Use Win32 threads.
285 * ini.cc: Ditto.
286 * install.cc: Ditto.
287 * (WinMain): Adjust to build valid command line using application
288 under both mingw32 and cygwin.
289 * mount.cc (set)cygdrive_flags): Create new system flags if the
290 user requests system and the value does not exist.
291 * nio-http.cc: Define a _strnicmp for cygwin.
292 * package_db.cc: Include <errno.h> if it exists.
293 * site.cc (do_download_site_info_thread): Make into a Win32 thread
294 routine.
295 Use ExitThread.
296 (do_download_site-Info): Use Win32 threads.
297 * state.cc: Explicity declare variables to avoid header conflicts
298 caused by '#define extern" on cygwin.
299 * win32.h: Include <alloca.h> if it exists.
300 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
301 (_access): Define as access if not defined by windows.h.
302
303 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
304
305 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
306
307 2002-04-27 Robert Collins <rbtcollins@hotmail.com>
308
309 * Makefile.am: Add libgetopt++ to the subdirs list.
310 Search the libgetopt++ header directory.
311 Link against libgetopt++.la.
312 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
313 (setup_LDADD): Explicitly include res.o.
314 * Makefile.in: Regenerate.
315 * aclocal.m4: Regenerate.
316 * bootstrap.sh: Call libtoolize.
317 * configure: Regenerate.
318 * configure.in: Add libtool support and configure libgetopt++.
319 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
320 (DesktopSetupPage::OnInit): Use the simpler syntax.
321 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
322 declaration.
323 * main.cc: Include getopt++/GetOption.h.
324 (main): Use simpler syntax.
325 * cdefs.h: Remove.
326 * getopt.h: Remove.
327 * getopt.c: Remove.
328 * GetOption.h: Remove.
329 * GetOption.cc: Remove.
330 * Option.h: Remove.
331 * Option.cc: Remove.
332
333 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
334
335 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
336
337 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
338
339 * aclocal.m4: New file, cached macros.
340 * bootstrap.sh: New file, calls required autotools in appropriate
341 order.
342 * Makefile.am: New file, input Makefile for automake.
343 * Makefile,in: Now a generated file - regenerate.
344 * configure: Regenerate.
345 * configure.in: Add automake support.
346 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
347 automake's VERSION define.
348 * iniparse.y: Ditto.
349
350 2002-04-26 Robert Collins <rbtcollins@hotmail.com>
351
352 * cdefs.h: New file, imported to allow getopt.c to build without
353 cygwin headers.
354 * getopt.h: New file, imported to allow building without cygwin headers.
355 * getopt.c: Ditto.
356 * bz2lib: New directory, contains copy of bz2lib.
357 * cfgaux: New directory, contains autotool helper scripts.
358 * Makefile,in: Adjust library and target definitions for building
359 outside the sourceware tree.
360 * compress_bz.h: Use new bz2lib header location.
361 * mount.cc: Import key defines and enums to be independent of cygwin
362 headers.
363 * configure.in: Update to autoconf 2.53, and to be sourceware
364 independent.
365 * configure: Regenerate.
366
367 2002-04-12 Robert Collins <rbtcollins@hotmail.com>
368
369 * mklink2.cc (make_link_2): Tweak to work with current w32api
370 headers.
371
372 2002-04-10 Pavel Tsekov <ptsekov@gmx.net>
373
374 * version.cc (canonicalize_version): Fix a call delete[]
375 to delete the allocated address.
376
377 2002-03-29 Robert Collins <rbtcollins@hotmail.com>
378
379 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
380 to Ton van Overbeek for locating the bug area.
381
382 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
383
384 * PickView.cc (PickView::insert_pkg): Be more generic with
385 object use.
386 (PickView::insert_category): Ditto.
387 (PickView::~PickView): Create.
388 * PickView.h (PickView::~PickView): Declare.
389
390 2003-03-27 Robert Collins <rbtcollins@hotmail.com>
391
392 * Makefile.in (OBJS): Add new commandline objects.
393 * desktop.cc (NoShortCutsOption): New option code.
394 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
395 * desktop.h (NoShortCutsOption): New concrete command line option class.
396 * main.cc (WinMain): Process command line options.
397 * GetOption.h: New file, singleton command line class.
398 * GetOption.cc: New file, implementation of the above.
399 * Option.h : New file, abstract option for GetOption.
400 * Option.cc: New file, implement constructor and destructor.
401
402 2002-03-26 Pavel Tsekov <ptsekov@gmx.net>
403
404 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
405
406 2002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
407
408 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
409 to textheight, so large fonts work.
410
411 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
412
413 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
414 symlinks.
415
416 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
417
418 * io_stream_cygfile.cc (cwd): New static for cwd storage.
419 (io_stream_cygfile::normalise): New method.
420 (io_stream_cygfile::io_stream_cygfile): Use it.
421 (io_stream_cygfile::exists): Ditto.
422 (io_stream_cygfile::remove): Ditto.
423 (io_stream_cygfile::mklink): And again.
424 (cygmkdir_p): Yes, again.
425 (io_stream_cygfile::move): And once more.
426 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
427 (io_stream_cygfile::cwd): Ditto.
428
429 2003-03-26 Robert Collins <rbtcollins@hotmail.com>
430
431 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
432 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
433 Overbeek for the report).
434 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
435 Make g++ compatible.
436 * mklink2.c: Remove.
437 * site.cc (site_list_type::init): Delete the correct memory addres.
438 Thanks to Pavel Tsekov for tracking this down.
439
440 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
441
442 * win32.h: Only define alloca if it's not already.
443
444 2002-03-20 Robert Collins <rbtcollins@hotmail.com>
445
446 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave installed
447 packages alone.
448 * README: Update with latest requests.
449 * Various: MTC fixes from setup200202 branch.
450
451 2002-03-19 Christopher Faylor <cgf@redhat.com>
452
453 * Makefile.in (setup_version.c): Add back magic which allows detection
454 of setup.exe version number.
455
456 2002-03-17 Robert Collins <rbtcollins@hotmail.com>
457
458 * * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
459 calculation on win9x systems.
460
461 2002-03-16 Robert Collins <rbtcollins@hotmail.com>
462
463 * install.cc (install_one_source): Write the correct length of a string to the
464 lst file (Thanks to Pavel Tsekov for reporting the bug).
465
466 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
467
468 * choose.cc (list_click): Always refresh the entire chooser, as our
469 package state change mechanism is broken with the new improved list classes.
470
471 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
472
473 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd and
474 /etc/group.
475
476 2002-03-15 Robert Collins <rbtcollins@hotmail.com>
477
478 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored out from
479 paint().
480 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and the new
481 bin tickbox.
482 (PickPackageLine::click): Handle the new bin tickbox.
483 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
484 * PickView.cc (pkg_headers): Add a Bin? column.
485 (cat_headers): Ditto.
486 (PickView::set_headers): Ditto.
487 (PickView::init_headers): Ditto.
488 * PickView.h (PickView): Ditto.
489 * choose.cc (list_click): Use the new name for src_col to set the clip rectangle.
490
491 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
492
493 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
494 fixup.
495
496 2002-02-24 Michael A Chase <mchase@ix.netcom.com>
497
498 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
499 call.
500 (make_passwd_group): Ditto.
501 * localdir.cc (save_local_dir): Ditto.
502 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
503 Add "cygfile://" prefix to io_stream::open() calls.
504
505 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
506
507 * log.cc (log_save): Fix creating /var/log.
508 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
509
510 2002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
511
512 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
513 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
514 * resource.h: Add IDS_CYGWIN_SETUP and
515 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
516
517 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
518 operator (::SetWindowText()).
519
520 * threebar.cc: Run indent.
521 (cistring.h): Add include.
522 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
523 global scope operator.
524 (SetBar2): Add logic for writing percent complete into window title.
525
526 * window.h: Run indent.
527 (SetWindowText): New function.
528 (String): Add forward declaration.
529 * window.cc: Run indent.
530 (String++.h): Add include.
531 (SetWindowText): New function.
532
533 2002-02-24 Robert Collins <rbtcollins@hotmail.com>
534
535 * README: Update TODO list.
536 * install.cc (install_one): Fix src package location.
537 (do_install_thread): Fix creating directories.
538
539 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
540
541 * choose.cc: Include cygpackage.h for scan2 use.
542 (set_existence): Ignore setup.ini mirrors when installing from cwd.
543 (scan2): Process any valid file.
544 Add cache entries when a file matching a setup.ini listed version is found.
545 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
546 * filemanip.h (filemanip::pkgtar): Remove.
547 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
548 (packagemeta::~packagemeta): Move from package_meta.h
549 Remove and delete all version and category information.
550 * package_meta.h (CategoryPackage): Create a destructor.
551 (packagemeta::~packagemeta): Move to .cc file.
552
553 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
554
555 * install.cc (install_one_source): Make NULL cached package names cause
556 errors.
557
558 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
559
560 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
561 unnecessarily.
562
563 2002-02-18 Michael A Chase <mchase@ix.netcom.com>
564
565 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
566
567 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
568
569 * mount.cc (create_mount): Avoid a const char*->char* warning.
570 (read_mounts): Ditto.
571
572 2002-02-05 Jason Tishler <jason@tishler.net>
573
574 * download.cc (do_download_thread): Fix off-by-one error.
575
576 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
577
578 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
579 * configure (CXXFLAGS): Regenerate.
580 * Makefile.in (iniparse.o): Build via default rules - no errors now.
581 * README: TODO list updates.
582
583 2002-02-19 Michael A Chase <mchase@ix.netcom.com>
584
585 * String++.cc (String::concat):: Remove.
586 (String::vconcat):: Ditto.
587 * String++.h (String::concat):: Remove.
588 (String::vconcat):: Ditto.
589 * archive_tar.cc: Don't include concat.h.
590 * archive_tar_file.cc: Don't include concat.h.
591 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
592 (compress_bz::seek): Ditto.
593 (compress_bz::~compress_bz): Ditto.
594 * compress_gz.cc (compress_gz::peek): Ditto.
595 (compress_gz::error): Ditto.
596 (compress_gz::~compress_gz): Ditto.
597 * concat.cc (vconcat): Remove.
598 (concat): Ditto.
599 * concat.h (vconcat): Remove.
600 (concat): Ditto.
601 * desktop.cc (desktop_icon): Use new cygpath.
602 (make_etc_profile): Ditto.
603 (uexists): Ditto.
604 (make_passwd_group): Ditto.
605 (save_icon): Ditto.
606 (check_desktop): Remove concat use.
607 (check_start_menu): Ditto.
608 * download.cc (download_one): Use new mkpath_p correctly.
609 Use LOG_PLAIN.
610 * fromcwd.cc: Don't include concat.h.
611 * geturl.cc (get_url_to_membuf): Use String log() call.
612 (get_url_to_file): Ditto.
613 * install.cc: Don't include concat.h.
614 (uninstall_one): Use LOG_PLAIN.
615 (replace_one): Ditto.
616 (install_one_source): Ditto.
617 (install_one): More char to String conversion.
618 (do_install_thread): Use new cygpath.
619 Use new create_mount.
620 * io_stream.cc (io_stream::move): Use new log().
621 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new cygpath.
622 (io_stream_cygfile::exists): Ditto.
623 (io_stream_cygfile::remove): Ditto.
624 (io_stream_cygfile::mklink): Ditto.
625 (io_stream_cygfile::write): Ditto.
626 (cygmkdir_p): Ditto.
627 (io_stream_cygfile::move): Ditto.
628 * io_stream_file.cc: Don't include log.h.
629 (io_stream_file::write): Don't log unneeded messages.
630 * localdir.cc: Don't include concat.h.
631 (LocalDirPage::OnNext): Use LOG_PLAIN.
632 * log.cc: Don't include log.h.
633 (exit_setup): Use new cygpath.
634 * log.h (log_level): Add new level LOG_PLAIN.
635 * main.cc (WinMain): Use new log().
636 * mount.cc (SLASH_P): New macro from concat.h.
637 (cygpath): Make String version globally visible.
638 Remove varargs version.
639 * mount,h: Ditto.
640 * msg.cc (mbox): Use LOG_PLAIN.
641 * net.cc (NetPage::OnNext): Ditto.
642 * nio-ftp.cc (ftp_line): Use new log().
643 * nio-http.cc: Don't include log.h.
644 (retry_get): Use alternative url variable.
645 * package_db.cc: Don't include concat.h.
646 (packagedb::flush): Don't use concat.
647 * package_meta.cc: Don't include concat.h.
648 (packagemeta::uninstall): Use new cygpath.
649 * postinstall.cc (do_postinstall): Ditto.
650 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
651 * script.cc: Don't include concat.h.
652 (init_run_script): Use new cygpath.
653 (run_script): More char * to String conversion.
654 (try_run_script): Ditto.
655 * site.cc: Don't include concat.h.
656 (SitePage::OnNext): Use LOG_PLAIN.
657 (SitePage::OnMessageCmd): Use new log().
658 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
659
660 2002-02-19 Robert Collins <rbtcollins@hotmail.com>
661
662 * Makefile.in (OBJS): Add new object.
663 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the name.
664 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
665 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
666 (PickLine::Pickline): Accept a String for the key.
667 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to Strings.
668 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is automatically
669 initialisednow.
670 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
671 (PickView::init_header): Move category length checking out of the inner loop for
672 efficiency.
673 Convert all char use to Strings.
674 * PickView.h: Include the String++ header.
675 (PickView::note_width): Update the prototype.
676 * String++.cc: New file, implements a reference counting string class.
677 * String++.h: New file, declares a reference counting string class.
678 * archive.cc: Include String++ instead of concat.
679 (archive::extract_file): Convert char * usage to Strings.
680 * archive.h: Inlude the String++ header.
681 (archive::extract_file): Update prototype.
682 (archive::next_file_name): Convert to a String.
683 (archive::linktarget): Ditto.
684 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
685 (archive_tar::linktarget): Ditto.
686 * arhive_tar.h: Update the copyright.
687 Explicitly include the relevant headers.
688 (tar_map_result_type): Convert to String usage.
689 (archive_tar::next_file_name): Update prototype.
690 (archive_tar::linktarget): Ditto.
691 * category.cc (Category::Category): Update initialisers.
692 Convert to String usage.
693 (Categorycmp): Update to String usage.
694 * category.h: Include the String++ header.
695 (Category::Category): Update to String usage.
696 (Category::name): Ditto.
697 (Category::key): Ditto.
698 * choose.cc: Remove concat.h, it's not needed.
699 (scan2): Update to String usage.
700 (do_choose): Ditto.
701 * cygpackage.cc: Update includes for use of String class.
702 (cygpackage::cygpackage): Update for String usage.
703 (cygpackage::set_canonical_version): Ditto.
704 (cygpackage::destroy): Ditto.
705 (cygpackage::getfirstfile): Ditto.
706 (cygpackage::getnextfile): Ditto.
707 (cygpackage::Name): Ditto.
708 (cygpackage::Vendor_version): Ditto.
709 (cygpackage::Package_version): Ditto.
710 (cygpackage::Canonical_version): Ditto.
711 (cygpackage::set_sdesc): Ditto.
712 (cygpackage::set_ldesc): Ditto.
713 * cygpackage.h: Include String++.h for parsing this file.
714 (cygpackage::cygpackage): Update for String usage.
715 (cygpackage::set_canonical_version): Ditto.
716 (cygpackage::destroy): Ditto.
717 (cygpackage::getfirstfile): Ditto.
718 (cygpackage::getnextfile): Ditto.
719 (cygpackage::Name): Ditto.
720 (cygpackage::Vendor_version): Ditto.
721 (cygpackage::Package_version): Ditto.
722 (cygpackage::Canonical_version): Ditto.
723 (cygpackage::set_sdesc): Ditto.
724 (cygpackage::set_ldesc): Ditto.
725 (cygpackage::name): Ditto.
726 (cygpackage::vendor): Ditto.
727 (cygpackage::packagev): Ditto.
728 (cygpackage::canonical): Ditto.
729 (cygpackage::fn): Ditto.
730 (cygpackage::sdesc): Ditto.
731 (cygpackage::ldesc): Ditto.
732 * desktop.cc: Update includes for use of String class.
733 (batname): Update for String usage.
734 (iconname): Ditto.
735 (make_link): Ditto.
736 (start)menu): Ditto.
737 (desktop_icon): Ditto.
738 (make_cygwin_bat): Ditto.
739 (make_etc_profile): Ditto.
740 (uexists): Ditto.
741 (make_passwd_group): Ditto.
742 (save_icon): Ditto.
743 (check_desktop): Ditto.
744 (check_startmenu): Ditto.
745 * dialog.cc (eget): Update for String usage.
746 (egetString): New function.
747 (eset): New variant for Strings.
748 * dialog.h: Include String++.h for parsing this file.
749 (egetString): New function.
750 (eset): New variant for Strings.
751 * diskfull.cc (diskfull): Update for String usage.
752 * diskfull.h: Include String++.h for parsing this file.
753 (diskfull): Update for String usage.
754 * download.cc: Update includes for use of String class.
755 (check_for_cached): Update for String usage.
756 (download_one): Ditto.
757 * filemanip.cc (get_file_size): Ditto.
758 (base): Ditto.
759 (parse_filename): Ditto.
760 (backslash): Ditto.
761 * filemanip.h: Include String++.h for parsing this file.
762 (fileparse): Update for String usage.
763 (base): Ditto.
764 (parse_filename): Ditto.
765 Don't consider '_' to be a separator.
766 (backslash): Ditto.
767 * find.cc: Update includes for use of String class.
768 (find_sub): Make more flexible.
769 (find): Update for String usage.
770 * find.h (find): Use Strings.
771 * fromcwd.cc (found_file): Update for String usage.
772 * geturl.cc: Ditto.
773 (init_dialog): Ditto.
774 (get_url_to_membuf): Ditto.
775 (get_url_to_string): Ditto.
776 (get_url_to_file): Ditto.
777 * geturl.h: Ditto.
778 (get_url_to_membuf): Ditto.
779 (get_url_to_string): Ditto.
780 (get_url_to_file): Ditto.
781 * hash.h: Ditto.
782 (add_subdirs): Ditto.
783 * ini.cc: Update includes for String usage.
784 (find_routine): Update for String usage.
785 (do_remote_ini): Ditto.
786 (do_ini_thread): Ditto.
787 * ini.h (ini_init): Ditto.
788 * inilex.l: Update includes for String usage.
789 (ini_init): Update for String usage.
790 * iniparse.y: Ditto.
791 (add_correct_version): Ditto.
792 * install.cc: Update includes for String usage.
793 (install_one_source): Update for String usage.
794 (uninstall_one): Ditto.
795 (replace_one): Ditto.
796 (install_one_source): Ditto.
797 (do_install_thread): Ditto.
798 * io_stream.cc: Update includes for String usage.
799 (io_stream::open): Update for String usage.
800 (io_stream::mkpath_p): Ditto.
801 (io_stream::remove): Ditto.
802 (io_stream::mklink): Ditto.
803 (io_stream::move_copy): Ditto.
804 (io_stream::move): Ditto.
805 (io_stream::exists): Ditto.
806 * io_stream.h: Update includes to allow correct parsing.
807 (io_stream::open): Update for String usage.
808 (io_stream::mkpath_p): Ditto.
809 (io_stream::remove): Ditto.
810 (io_stream::mklink): Ditto.
811 (io_stream::move_copy): Ditto.
812 (io_stream::move): Ditto.
813 (io_stream::exists): Ditto.
814 * io_stream_cygfile.cc: Update includes for String usage.
815 (get_root_dir_now): Update for String usage.
816 (io_stream_cygfile::io_stream_cygfile): Ditto.
817 (io_stream_cygfile::~io_stream_cygfile): Ditto.
818 (io_stream_cygfile::exists): Ditto.
819 (io_stream_cygfile::remove): Ditto.
820 (io_stream_cygfile::mklink): Ditto.
821 (cygmkdir_p): Ditto.
822 (io_stream_cygfile::set_mtime): Ditto.
823 (io_stream_cygfile::move): Ditto.
824 (io_stream_cygfile::get_size): Ditto.
825 * io_stream_cygfile.h: Update includes for String usage.
826 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
827 (io_stream_cygfile::~io_stream_cygfile): Ditto.
828 (io_stream_cygfile::exists): Ditto.
829 (io_stream_cygfile::remove): Ditto.
830 (io_stream_cygfile::mklink): Ditto.
831 (cygmkdir_p): Ditto.
832 (io_stream_cygfile::set_mtime): Ditto.
833 (io_stream_cygfile::move): Ditto.
834 (io_stream_cygfile::get_size): Ditto.
835 (io_stream_cygfile::fname): Ditto.
836 (io_stream_cygfile::lmode): Ditto.
837 * io_stream_file.cc: Update includes for String usage.
838 (io_stream_file::io_stream_file): Update for String usage.
839 (io_stream_file::~io_stream_file): Ditto.
840 (io_stream_file::exists): Ditto.
841 (io_stream_file::remove): Ditto.
842 (io_stream_file::mklink): Ditto.
843 (io_stream_file::set_mtime): Ditto.
844 (io_stream_file::move): Ditto.
845 (io_stream_file::get_size): Ditto.
846 * io_stream_file.h: Update includes for String usage.
847 * io_stream_file.cc: Update includes for String usage.
848 (io_stream_file::io_stream_file): Update for String usage.
849 (io_stream_file::~io_stream_file): Ditto.
850 (io_stream_file::exists): Ditto.
851 (io_stream_file::remove): Ditto.
852 (io_stream_file::mklink): Ditto.
853 (io_stream_file::set_mtime): Ditto.
854 (io_stream_file::move): Ditto.
855 (io_stream_file::get_size): Ditto.
856 (io_stream_file::fname): Ditto.
857 (io_stream_file::lmode): Ditto.
858 * localdir.cc: Update includes for String usage.
859 (save_local_dir): Update for String usage.
860 (check_if_enable_next): Ditto.
861 (load_dialog): Ditto.
862 (browse_cb): Ditto.
863 (LocalDirPage::OnInit): Ditto.
864 (LocalDirPage::OnNext): Ditto.
865 * log.cc: Update includes for String usage.
866 (struct LogEnt): Update for String usage.
867 (log): Ditto.
868 (log_save): Ditto.
869 (exit_setup): Ditto.
870 * log.h: Update includes for String usage.
871 (log_level): Update for String usage.
872 (log): Ditto.
873 (log_save): Ditto.
874 * main.cc (WinMain): Update for String usage.
875 * mklink2.c (make_link_2): Update for String usage.
876 * mklink2.h (make_link_2): Update for String usage.
877 * mount.cc: Update includes for String usage.
878 (mount_table): Update for String usage.
879 (find2): Ditto.
880 (create_mount): Ditto.
881 (remove1): Ditto.
882 (remove_mount): Ditto.
883 (read_mounts): Ditto.
884 (set_root_dir): Ditto.
885 (get_root_dir): Ditto.
886 (path_prefix_p): Ditto.
887 (cygpath): Ditto.
888 * mount.h: Update includes for String usage.
889 (create_mount): Update for String usage.
890 (remove_mount): Ditto.
891 (cygpath): Ditto.
892 (set_root_dir): Ditto.
893 (get_root_dir): Ditto.
894 * msg.cc (mbox): Ditto.
895 * net.cc (NetPage::OnNext): Ditto.
896 * package_db.cc (packagedb::flush): Ditto.
897 (packagedb::packages): Ditto.
898 (packagedb::categories): Ditto.
899 * package_db.h: Update includes for String usage.
900 (packagedb::packages): Update for String usage.
901 (packagedb::categories): Ditto.
902 * package_meta.cc: Update includes for String usage.
903 (hash::add_subdirs): Update for String usage.
904 (packagemeta::uninstall): Ditto.
905 (packagemeta::SDesc): Ditto.
906 (packagemeta::action_caption): Ditto.
907 * package_meta.h: Update includes for String usage.
908 (packagemeta::packagemeta): Update for String usage.
909 (packagemeta::~packagemeta): Ditto.
910 (packagemeta::uninstall): Ditto.
911 (packagemeta::SDesc): Ditto.
912 (packagemeta::action_caption): Ditto.
913 (package_source.cc site::site): Ditto.
914 (packagesource::set_canonical): Ditto.
915 (packagesource::set_cached): Ditto.
916 * package_source.h: Update includes for String usage.
917 (site::site): Update for String usage.
918 (packagesource::set_canonical): Ditto.
919 (packagesource::set_cached): Ditto.
920 (packagesource::packagesource): Ditto.
921 (packagesource::sites): Ditto.
922 (packagesource::cached): Ditto.
923 * package_version.h: Update includes for String usage.
924 (Dependency): Update for String usage.
925 (packageversion): Ditto.
926 * postinstall.cc: Update includes for String usage.
927 (do_postinstall): Update for String usage.
928 * res.rc (IDD_LOCAL_DIR): Fix typo again!
929 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
930 * rfc1738.h: Update includes for String usage.
931 (rfc1738_escape_part): Update for String usage.
932 * root.cc: Update includes for String usage.
933 (check_if_enable_next): Update for String usage.
934 (save_dialog): Ditto.
935 (browse_cb): Ditto.
936 (directory_is_absolute): Ditto.
937 (directory_is_rootdir): Ditto.
938 (directory_has_spaces): Ditto.
939 (RootPage::OnInit): Ditto.
940 (RootPage::OnNext): Ditto.
941 * script.cc: Update includes for String usage.
942 (init_run_script): Update for String usage.
943 (run): Ditto.
944 (run_script): Ditto.
945 (try_run_script): Ditto.
946 * script.h: Update includes for String usage.
947 (run_script): Update for String usage.
948 (try_run_script): Ditto.
949 * site.cc site_list): Ditto.
950 (all_site_list): Ditto.
951 (other_url): Eliminate.
952 (site_list_type::init): Update for String usage.
953 (site_list_type::site_list_type): Ditto.
954 (get_site_list): Ditto.
955 (get_saved_sites): Ditto.
956 (do_download_site_info_thread): Ditto.
957 (SitePage::OnNext): Ditto.
958 (SitePage::OnActivate): Ditto.
959 (SitePage::PopulateListBox): Ditto.
960 (SitePage::OnMessageCmd): Handle empty url's.
961 * site.h: Update includes for String usage.
962 (site_list_type::site_list_type): Update for String usage.
963 (site_list_type::init): Ditto.
964 (site_list_type::~site_list_type): Ditto.
965 (site_list_type::url): Ditto.
966 (site_list_type::displayed_url): Ditto.
967 (site_list_type::key): Ditto.
968 * source.cc (SourcePage::OnDeactivate): Ditto.
969 * state.h: Update includes for String usage.
970 (local_dir): Update for String usage.
971 (trust_level): Remove.
972 * version.cc: Update includes for String usage.
973 (canonicalize_version): Update for String usage.
974 * version.h: Update includes for String usage.
975 (canonicalize_version): Update for String usage.
976
977 2002-02-15 Christopher Faylor <cgf@redhat.com>
978
979 * filemanip.c (parse_filename): Revert previous change.
980
981 2002-02-14 Christopher Faylor <cgf@redhat.com>
982
983 * filemanip.c (parse_filename): Don't treat '_' as a version number
984 introducer.
985
986 2002-01-29 Christopher Faylor <cgf@redhat.com>
987
988 * configure: Regenerate.
989
990 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
991
992 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
993 <Hoeck@extern.lrz-muenchen.de>
994
995 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
996
997 * README: Update Todo's.
998 * list.h: Run indent.
999 (list): New methods checksize and insert to reduce code duplication.
1000 (list::registerbykey): Use them.
1001 (list::registerbyobject): Ditto.
1002 (list::removebyindex): Copy each object individually - safe for non
1003 trivial objects.
1004 (list::checksize): Implement.
1005 (list::insert): Implement.
1006
1007 2002-01-27 Robert Collins <rbtcollins@hotmail.com>
1008
1009 * Makefile.in: Remove the dlmalloc object by default.
1010 * install.cc (do_install_thread): Remove the mallinfo call for 'working
1011 around' the crashing issue.
1012 * package_db.h: Include <string.h> - it's needed to parse this.
1013 * package_source.cc (site::site): Move here from the header file.
1014 * package_source.h (site): Stop the constructor being inlinable.
1015
1016 2002-01-26 Robert Collins <rbtcollins@hotmail.com>
1017
1018 * filemanip.cc (find_tar_ext): Add a descriptive comment.
1019
1020 2002-01-25 Michael A Chase <mchase@ix.netcom.com>
1021
1022 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
1023 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
1024 * install.cc (install_one_source): Add space between words in log()
1025 call.
1026
1027 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
1028
1029 * log.cc (exit_setup): When saving to the download dir, explicity
1030 specify the path.
1031
1032 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
1033
1034 * archive.cc (extract_file): Separate out the prefix and the URL
1035 scheme.
1036 * archive.h (archive::extract_file): Ditto.
1037 * install.cc (install_one_source): Ditto. Use the new
1038 archive::extract_file syntax.
1039 (replace_one): Use the new syntax.
1040 (io_stream.cc): Add some log info for links.
1041
1042 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
1043
1044 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
1045 (PickCategoryLine::paint): Use the new action method.
1046 (PickCategoryLine::click): Set the action for all children.
1047 (PickCategoryLine::set_action): New method.
1048 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
1049 (PickCategoryLine::current_default): Use packagemeta _actions class.
1050 * PickLine.h (PickLine::set_action): New abstract method that requires
1051 including package_meta.h.
1052 * PickPackageLine.cc (PickPackageLine::set_action): New method.
1053 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
1054 * list.h (getbykey): A const correctness fix.
1055 * package_meta.cc: Run indent.
1056 (packagemeta::Default_action): New const.
1057 (packagemeta::Install_action): Ditto.
1058 (packagemeta::Reinstall_action): Ditto.
1059 (packagemeta::Uninstall_action): Ditto.
1060 (packagemeta::_actions::caption): New method.
1061 (packagemeta::_actions::operator++): Ditto.
1062 (packagemeta::set_action): New overload.
1063 * package_meta.h (packagemeta::_actions): New class.
1064 (packagemeta::set_action): Declare this.
1065
1066 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
1067
1068 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
1069 * choose.cc: Don't define alloca anymore, it's done in win32.h
1070
1071 2002-01-22 Robert Collins <rbtcollins@hotmail.com>
1072
1073 * PickPackageLine.cc: New file.
1074 * PickPackageLine.h: New file.
1075 * PickLine.cc: New file.
1076 * PickLine.h: New file.
1077 * PickCategoryLine.cc: New file.
1078 * PickCategoryLine.h: New file.
1079 * PickView.cc: New file.
1080 * PickView.h: New file.
1081 * Makefile.in: Add new objects to setup.exe.
1082 Backout -fno-exceptions option.
1083 * choose.cc: Include PickView.h.
1084 Remove view related defines and static variables.
1085 (_pkg_headers): Moved to PickView.cc.
1086 (_cat_headers): Ditto.
1087 (view::views::Unknown): Ditto.
1088 (view::views::PackageFull):
1089 (view::views::Package):
1090 (view::views::Category):
1091 (pkgtrustp): Moved to package_meta.cc.
1092 (add_required): Moved to package_meta.cc.
1093 (pick_category_line::empty): Moved to PickCategoryLine.cc
1094 (paint): Adjust for moved static variables.
1095 (view::scroll): Moved to PickView.cc.
1096 (list_vscroll): Adjust for moved static variables.
1097 (list_hscroll): Ditto.
1098 (list_click): Ditto.
1099 (note_width): Moved to PickView.cc.
1100 (view::view): Ditto.
1101 (view::set_view_mode): Ditto.
1102 (view::mode_caption): Ditto.
1103 (view::views::caption): Ditto.
1104 (view::set_headers): Ditto.
1105 (DoInsertItem): Ditto.
1106 (view::init_headers): Ditto.
1107 (view::insert_pkg): Ditto.
1108 (view::insert_category): Ditto.
1109 (view::clear_view): Ditto.
1110 (view::views::operator++): Ditto.
1111 (view::click): Ditto.
1112 (default_trust): Adjust for moved statics.
1113 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
1114 (pick_pkg_line::click): Ditto.
1115 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
1116 (pick_category_line::paint): Ditto.
1117 (pick_category_line::click): Ditto.
1118 (set_view_mode): Adjust for moved statics.
1119 (create_listview): Ditto.
1120 * choose.h: Remove Category and packagemeta forward defines - not needed.
1121 Don't include unneeded headers list and package_meta.
1122 (_header): Move to PickView.h.
1123 (pick_line): Move to PickLine.h.
1124 (pick_pkg_line): Move to PickPackageLine.h.
1125 (pick_category_line): Move to PickCategoryLine.h.
1126 (view): Move to PickView.h.
1127 * ini.h (trusts): Move to package_meta.h.
1128 * package_meta.h (trusts): New enum.
1129 (packagemeta::set_requirements): New helper method.
1130 (packagemeta::trustp): Ditto.
1131
1132 2002-01-21 Christopher Faylor <cgf@redhat.com>
1133
1134 * choose.h (view): Move forward declaration of views into public area
1135 or g++ v3 will complain.
1136
1137 2002-01-21 Christopher Faylor <cgf@redhat.com>
1138
1139 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
1140 * win32.h (alloca): Define as __builtin_alloca.
1141 * io_stream_memory.cc: Add include file.
1142
1143 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
1144
1145 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as destroyed.
1146 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
1147 * compress.cc (compress::~compress): Be less verbose.
1148 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
1149 Mark the stream as destroyed.
1150 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as destroyed.
1151 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not marked
1152 as destroyed.
1153 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
1154 stream as destroyed.
1155 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
1156 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
1157
1158 2002-01-21 Robert Collins <rbtcollins@hotmail.com>
1159
1160 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
1161 (OBJS): Link in malloc objects.
1162 * category.cc (category): Use new char, not strdup.
1163 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
1164 (do_choose): Use new char, not malloc.
1165 * concat.cc (vconcat): Ditto.
1166 * cygpackage.cc (cygpackage): Use new char, not strdup.
1167 (set_canonical_version): Ditto.
1168 (cygpackage::destroy): Use delete[], not free.
1169 * desktop.cc (uexists): Ditto.
1170 * dialog.cc (egest): Use new char, not strdup.
1171 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
1172 * hash.cc (hash::hash): Use delete instead of free.
1173 (hash::add): Use new char, not strdup.
1174 * ini.cc (do_remote_ini): Use delete[] not free.
1175 * inilex.l: Use new char, not strdup.
1176 (ini_init): Ditto.
1177 * iniparse.y: Ditto.
1178 Use a local package_db rather than a static one.
1179 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
1180 (do_install_thread): Call mallinfo to force a consistency check. Appears
1181 to fix a 'inuse' error in -DDEBUG builds.
1182 Use delete[] for strings.
1183 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new char,
1184 not strdup.
1185 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
1186 (io_stream_cygfile::remove): Use new char, not strdup.
1187 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not strdup.
1188 (io_stream_file::io_stream_file): Use delete[], not free.
1189 (io_stream_file::remove): Use new char, not strdup.
1190 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
1191 * io_stream_memory.h (memblock): Use new char, not malloc.
1192 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
1193 * main.cc (WinMain): Use new char, not strdup.
1194 * mount.cc (find2): Use new char, not malloc.
1195 (read_mounts): Ditto.
1196 (cygpath): Use new char, not strdup.
1197 * netio.cc (NetIO::~NetIO): Use delete[], not free.
1198 (NetIO::set_url): Use new char, not strdup.
1199 (NetIO::get_ftp_auth): Use delete[], not free.
1200 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
1201 Use new char instead of strdup.
1202 * nio-http.cc (base64_encode): Use new char, not malloc.
1203 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
1204 * package_source.h (~ packagesource): Use delete[] instead of delete.
1205 * port.h (strdup): Deprecate the use of strdup.
1206 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
1207 * script.cc (init_run_script): Us delete[], not free.
1208 (run_script): Ditto.
1209 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
1210 (SimpleSocket::invalidate): Use delete[], not free.
1211 * site.cc (site_list_type::init): Use new char instead of strdup.
1212 * site.h (~site_list_type): Use delete[], not free.
1213
1214 2002-01-20 Robert Collins <rbtcollins@hotmail.com>
1215
1216 * Makefile.in (OBJS): Add win32.o - win32 support functions.
1217 * README: Update todos.
1218 * archive.cc (extract_file): Support a suffix for appending to extracted files.
1219 * archive.h: Ditto.
1220 * choose.cc (set_view_mode): Use the new view::views class.
1221 (view::views::Unknown): New static for defaulting view::views variables.
1222 (view::views::PackageFull): New static for the current view.
1223 (view::views::Package): Ditto.
1224 (view::views::Category): Ditto.
1225 (topbucket::paint): Remove.
1226 (topbucket::empty): Rename to pick_category_line::empty.
1227 (topbucket::~topbucket): Remove.
1228 (paint): Use the new view::views class.
1229 Don't paint 'all' as a category when showing package categoies.
1230 (pick_category_line::actiontext): New method.
1231 (pick_category_line::paint): Make showing the category optional, and show the
1232 'category action'.
1233 (pick_category_line::click): Make showing the category optional, and
1234 differentiate between the name being clicked, and the action description.
1235 (view::view): Use the new view::views class.
1236 (view::set_view_mode): Ditto.
1237 (view::mode_caption): Ditto.
1238 (view::views::caption): New method.
1239 (view::set_headers): Use the new view::views class.
1240 (view::clear_view): Ditto.
1241 (viewsplusplus): Replaced by
1242 (view::views::operator++): New operator.
1243 (set_view_mode): Use the new view::views class.
1244 (create_listview): Ditto.
1245 (dialog_cmd): Ditto.
1246 * choose.h (actions): Remove.
1247 (views): Remove.
1248 (pick_line): Add a new convenience constructor.
1249 (top_bucket): Remove.
1250 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
1251 (view::views): New class.
1252 * ini.h: Don't include choose.h
1253 (is_download_action): Remove.
1254 (is_upgrade_action): Remove.
1255 (is_uninstall_action): Remove.
1256 (is_full_action): Remove.
1257 * install.cc (num_replacements): New static.
1258 (rebootneeded): Ditto.
1259 (replace_one): Handle upgrades separate from removal or new installs.
1260 (install_one_source): Handle in use files.
1261 (install_one): Don't repeat upgrades.
1262 (do_install_thread): Initialize new statics.
1263 Order actions as uninstall, replace, install.
1264 Warn about rebooting if needed.
1265 * res.rc (IDS_REBOOT_REQUIRED): New string.
1266 * resource.h (IDS_REBOOT_REQUIRED): Give value.
1267 * win32.h: Declare class Win32, and update copyright and intent message.
1268 * win32.cc: New file.
1269
1270 2002-01-15 Corinna Vinschen <corinna@vinschen.de>
1271
1272 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
1273 * package_meta.cc (packagemeta::uninstall): Check for additional
1274 Windows shortcut. Unset R/O file attribute before trying to delete
1275 file.
1276
1277 2002-01-09 Robert Collins <rbtcollins@hotmail.com>
1278
1279 * choose.cc (pkgtrustp): Fall back to installed if a package is not present in
1280 the current trust level. For prev, fall back via curr.
1281 (set_existence): Allow sources with no sites, but cached files to be
1282 kept.
1283 (pick_category_line::paint): Start drawing clickable categories.
1284 * fromcwd.cc (found_file): Reinstate local file scanning.
1285
1286 2002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1287
1288 * fromcwd.cc: Run indent.
1289 (do_fromcwd): Reverse sense of comment. Set next_dialog
1290 to IDD_CHOOSER instead of IDD_CHOOSE.
1291 * ini.cc (find_routine): Remove "/" from "/setup.ini".
1292
1293 2001-01-07 Robert Collins <rbtcollins@hotmail.com>
1294
1295 * category.cc (Categorycmp): Add a const safe version.
1296 * category.h (Categorycmp): Add a const safe version.
1297 (Category): Add operator ==.
1298 * choose.cc (fill_missing_category): Add every package to "All".
1299 (pick_category_line::paint): Add support for hidden labels, and a tree depth.
1300 (pick_category_line::click): Ditto.
1301 (view::view): Pass in a top level category to use.
1302 (view::insert_pkg): Special case - skip category "All".
1303 (view::insert_category): Ditto.
1304 (view::clear_view): Set the contents label state.
1305 (create_listview): Pass in a top level category to view().
1306 * choose.h (topbucket): Make bucket available to derived classes.
1307 (pick_category_line): Add support for hidden labels, and a tree depth.
1308 Remove our second copy of bucket.
1309 (view): Pass in a top level category to the constructor.
1310 Use pick_category_line to allow three level display.
1311
1312 2001-01-06 Robert Collins <rbtcollins@hotmail.com>
1313
1314 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
1315 * iniparse.y (add_correct_version): Copy descriptions across.
1316 * package_meta.cc (SDesc): Iterate through versions, return the first with a
1317 description.
1318 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
1319
1320 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
1321
1322 * script.cc (run_script): Change cygpath:// to cygfile://.
1323 * install.cc (do_install_thread): Fix off-by-one errors.
1324
1325 2001-01-04 Robert Collins <rbtcollins@hotmail.com>
1326
1327 * package_db.cc (packagedb::flush): Fix an off-by-one error.
1328
1329 2002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
1330
1331 * Makefile.in (realclean): more clean.
1332 (OBJS): Add script.o.
1333 * postinstall.cc (run_script_in_etc_postinstall): New function.
1334 (do_postinstall): Split off new funtion init_run_script ().
1335 (init_run_script):
1336 (run):
1337 (run_script): Move to script.cc. Replace some deprecated remove
1338 and move calls.
1339 * script.h:
1340 * script.cc: New file.
1341 * Forward port cygwin-20010707.jcn3.patch.
1342 * package_meta.cc (uninstall): Run pre- and postremove scripts.
1343 * install.cc: Typo fix.
1344 (do_install): Run script initialisation.
1345
1346 2001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1347
1348 * cistring.cc: Run d2u.
1349 * cistring.h: Run d2u.
1350
1351 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
1352 from the generated /etc/profile. Bash will source this file
1353 automatically, and having this here merely results in .bashrc being
1354 executed twice. Run d2u.
1355 * desktop.h: Run d2u.
1356
1357 * propsheet.cc: Run d2u.
1358 (PropSheetProc): New function. Add minimize box here instead of in
1359 PropertyPage::DialogProc.
1360 (PropSheet::Create): Change to use creation callback PropSheetProc.
1361 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
1362
1363 * propsheet.h: Run indent, d2u.
1364 * proppage.h: Run indent, d2u.
1365
1366 * proppage.cc: Run d2u.
1367 (PropertyPage::DialogProc): Remove minimize-box-adding
1368 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
1369 Add support for calling virtual OnMessageCmd. Add setting of fonts in
1370 WM_INITDIALOG handler.
1371 (resource.h): New include for resource IDs.
1372
1373 * res.rc: Resize and rearrange property page dialog templates
1374 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
1375 specification. Run d2u.
1376 (IDD_SITE): Add an edit control and an "Add" button in order to
1377 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
1378 (IDD_OTHER_URL): Remove dialog template.
1379 (IDD_DLSTATUS): Remove dialog template.
1380
1381 * site.cc: Run d2u.
1382 (SitePage::OnBack): Remove NEXT() macro invocation.
1383 (SitePage::OnActivate): New member function.
1384 (load_dialog): Remove. Functionality subsumed into
1385 SitePage::OnActivate.
1386 (save_dialog): Change to support both list and user URLs. Remove
1387 OTHER_IDX and mirror_idx logic.
1388 (SitePage::PopulateListBox): New member function.
1389 (SitePage::CheckControlsAndDisableAccordingly): New member function.
1390 (SitePage::OnMessageCmd): New override.
1391 (check_if_enable_next): Remove.
1392 (dialog_cmd): Remove.
1393 (do_download_site_info_thread): Remove calls to NEXT() macro.
1394 (SitePage::Create): Call the single-param PropertyPage::Create
1395 overload.
1396 (other_url): New static taken from other.cc.
1397 (SitePage::OnNext): Remove mirror_idx logic.
1398 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
1399 list box populating code, now handled in SitePage::PopulateListBox.
1400 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
1401 (save_site_url): Fix potential buffer overflow problem. Switched to
1402 TCHAR in grossly premature preparation for multilingual support.
1403 * site.h: Run d2u.
1404 (SitePage::OnActivate): New member function.
1405 (SitePage::CheckControlsAndDisableAccordingly) New member.
1406 (SitePage::OnMessageCmd): New override.
1407 (do_download_site_info_thread): Add MessageBox call on failure to
1408 download site list.
1409
1410 * splash.cc: Run d2u.
1411 (SplashPage::OnInit): Set the font for the title.
1412 * splash.h: Run d2u.
1413
1414 * threebar.cc: Run d2u.
1415 * threebar.h: Run d2u.
1416
1417 * window.h: Run d2u.
1418 (Window::IsButtonChecked): New member function declaration.
1419 (Window::OnMessageCmd): New member function.
1420 (Window::SetDlgItemFont): New member function declaration.
1421 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
1422 members.
1423 * window.cc: Run d2u.
1424 (Window::IsButtonChecked): New member function definition.
1425 (Window::SetDlgItemFont): New member function definition.
1426 (Window::Window): Add initialization for FontCounter.
1427 (Window::~Window): Delete any fonts we created.
1428
1429 * geturl.cc: Run d2u.
1430 (progress): Remove the "3" field width from the "%3d"
1431 percent-complete format indicator. Causes line to not start at
1432 beginning of text box, and does little to help with "jumping", since
1433 the "bytes downloaded so far" field is variable-width anyway. Change
1434 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
1435 painfully slow connections, or temporary slowdowns in faster
1436 connections should such more-instantaneous functionality become
1437 available.
1438
1439 * net.h: Run d2u.
1440 (NetPage::OnMessageCmd): New member function declaration.
1441 (NetPage::CheckIfEnableNext): New member function declaration.
1442 * net.cc: Run d2u.
1443 (NetPage::OnMessageCmd): New member function definition.
1444 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
1445 (check_if_enable_next): Remove.
1446 (NetPage::CheckIfEnableNext): New member function, subsumes
1447 check_if_enable_next.
1448 (propsheet.h): Add include.
1449 (NetPage::Init): Add call to CheckIfEnableNext.
1450 (load_dialog): Remove call to check_if_enable_next.
1451 (NetPage::Create): Call single-template-ID-parameter overload of
1452 PropertyPage::Create instead of three-parameter one.
1453
1454 * Makefile.in (OBJS): Remove other.o.
1455 * other.cc: Remove file.
1456
1457 2002-01-01 Robert Collins <rbtcollins@hotmail.com>
1458
1459 * README: Update TODO's.
1460 * choose.cc (set_existence): Delete non installed packages with no
1461 mirrors.
1462 (fill_missing_category): Fix an off-by-one error.
1463 (default_trust): Ditto. Also delete any unused categories.
1464 (view::init_headers): Fix an off-by-one error.
1465 (set_view_mode): Ditto.
1466 (set_view_mode): Ditto.
1467 (create_listview): Ditto.
1468 (dialog_cmd): Ditto.
1469 (do_choose): Ditto.
1470 * io_stream.cc: Indent.
1471 * io_stream.h: Ditto.
1472 * package_db.cc: Ditto.
1473 * package_meta.h: Const correctness for SDesc ();
1474 * proppage.cc: Run d2u and indent.
1475 * propsheet.cc: Run d2u and indent.
1476 * window.cc: Run d2u and indent.
1477 * window.h: Run d2u and indent.
1478
1479 2001-12-28 Christopher Faylor <cgf@redhat.com>
1480
1481 * Makefile.in (iniparse.o): Accommodate newer bisons.
1482
1483 2001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1484
1485 * window.h (Window): New file, new class.
1486 * window.cc (Window): New file, new class.
1487
1488 * threebar.h (ThreeBarProgressPage): New file, new class.
1489 * threebar.cc (ThreeBarProgressPage): New file, new class.
1490
1491 * splash.h (SplashPage): New file, new class.
1492 * splash.cc (SplashPage): Replace file with implementation of new
1493 class.
1494
1495 * source.h (SourcePage): New file, new class.
1496 * source.cc: Run indent.
1497 (SourcePage): Add class implementation to this file.
1498 (do_source): Remove, functionality subsumed by SourcePage::Create()
1499 and SourcePage::OnDeactivate().
1500 (dialog_proc): Remove, functionality subsumed by
1501 SourcePage::OnActivate().
1502
1503 * site.h: Run indent.
1504 (SitePage): Add class declaration.
1505 * site.cc: Run indent.
1506 (SitePage): Add class implementation.
1507 (do_download_site_info_thread): New function.
1508 (context): New var. Context info for do_download_site_info_thread().
1509 (do_download_site_info): New function.
1510 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
1511 (SitePage::OnBack): SitePage class implementation..
1512 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
1513 by SitePage members.
1514 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
1515 functionality.
1516 (do_site): Remove, now handled by do_download_site_info_thread() and
1517 SitePage::OnNext functionality.
1518 (get_site_list): Remove dismiss_url_status_dialog() call.
1519
1520 * root.h (RootPage): New file, new class.
1521 * root.cc: Run indent.
1522 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
1523 (dialog_proc): Remove.
1524 (do_root): Remove
1525 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
1526 (RootPage::OnInit): New member function. Move get_root_dir() logic to
1527 here from do_root().
1528 (RootPage::Create): New member function.
1529 (RootPage::OnNext): New member function. Move IDOK logic from
1530 dialog_cmd() to here.
1531 (RootPage::OnBack): New member function.
1532
1533 * propsheet.h (PropSheet): New file, new class.
1534 * propsheet.cc (PropSheet): New file, new class.
1535
1536 * proppage.h (PropertyPage): New file, new class.
1537 * proppage.cc (PropertyPage): New file, new class.
1538
1539 * postinstall.cc (do_postinstall): Add owner parameter.
1540
1541 * other.cc (do_other): Add owner parameter.
1542
1543 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
1544 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
1545 get_ftp_auth().
1546 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
1547 get_proxy_auth(),
1548 and get_ftp_auth().
1549 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
1550 get_auth(), get_proxy_auth().
1551
1552 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
1553 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
1554 NetIO::get_ftp_auth)
1555 (auth_common): Add owner param. Pass owner param to DialogBox.
1556 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
1557 owner param to auth_common().
1558
1559 * net.h (NetPage): New file, new class.
1560 * net.cc: Run indent.
1561 (net.h, threebar.h): Add includes.
1562 (Progress): Add extern.
1563 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
1564 property sheet logic. Saved temporarily for reference.
1565 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
1566 NetPage::OnNext, NetPage::OnBack):
1567 New implementation of NetPage class members.
1568 (do_net): Remove.
1569 (dialog_proc): Remove.
1570
1571 * msg.h (fatal, note, yesno): Add owner param.
1572 * msg.c (fatal, note, yesno, mbox): Add owner param.
1573 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
1574 now that we have a parent.
1575
1576 * main.cc: Run indent.
1577 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
1578 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
1579 headers.
1580 (root_dialog_proc): extern into this file.
1581 (Progress): Progress dialog defined here, used in several other files.
1582 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
1583 Site, Chooser, Desktop pages and MainWindow sheet. Call
1584 InitCommonControls() to make sure Windows is set up for our use of
1585 property sheets. Add pages to sheet.
1586 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
1587 now handled by the PropSheet class.
1588 (root.h): Add include.
1589
1590 * log.cc (log_save): Pass NULL parent to fatal().
1591 (exit_setup): Pass NULL parent to note().
1592
1593 * localdir.h (LocalDirPage): New file, new class.
1594 * localdir.cc: Run indent.
1595 (localdir.h): New include.
1596 (threebar.h): New include.
1597 (Progress): extern into this file.
1598 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
1599 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
1600 LocalDirPage.
1601 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
1602 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
1603 (do_local_dir): Remove.
1604 (dialog_proc): Remove.
1605 (cwd): Remove, not used by anything.
1606
1607 * install.cc: Run indent.
1608 (process.h, threebar.h): New includes.
1609 (Progress): extern into this file.
1610 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
1611 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
1612 ThreeBarProgressPage.
1613 (dialog_cmd, dialog_proc, dialog): Removed, handled in
1614 ThreeBarProgressPage.
1615 (init_dialog): Remove all mention of the above ins_* handles. Now
1616 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
1617 ThreeBarProgressPage instance Progress directly.
1618 (progress): Alter bar update logic to call ThreeBarProgressPage
1619 instance Progress directly.
1620 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
1621 instance Progress directly.
1622 (install_one_source): Alter SetWindowText()s to call
1623 ThreeBarProgressPage
1624 instance Progress directly. Pass NULL parent to note().
1625 (do_install_thread): Rename from do_install(), added owner param.
1626 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
1627 directly.
1628 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
1629 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
1630 fatal().
1631 (do_install_reflector): New function.
1632 (do_install): New function.
1633
1634 * ini.cc (process.h, threebar.h): New includes.
1635 (Progress): externed into this file.
1636 (find_routine): Pass NULL parent to note().
1637 (do_local_ini): Add owner param.
1638 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
1639 and note(). Remove call to dismiss_url_status_dialog().
1640 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
1641 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
1642 to IDD_CHOOSER on exit.
1643 (do_ini_thread_reflector): New function.
1644 (context): New var. Context for do_ini_thread.
1645 (do_ini): New function.
1646
1647 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
1648 owner param.
1649 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
1650 gw_iprogress)
1651 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
1652 Removed.
1653 (threebar.h): New include.
1654 (Progress): externed into this file.
1655 (dialog_cmd, dialog_proc, dialog): Removed, handled by
1656 ThreeBarProgressPage now.
1657 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
1658 SetWindowText()s
1659 and bar setting SendMessage()s to call ThreeBarProgressPage instance
1660 Progress directly. Remove "one bar only" logic, this is now handled
1661 explicitly in the ThreeBarProgressPage class.
1662 (progress): Altered bar and text update logic to call
1663 ThreeBarProgressPage instance Progress directly. Changed kbps
1664 calculation to floating point and now print out a single decimal
1665 place.
1666 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
1667 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
1668 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
1669 update logic to call ThreeBarProgressPage instance Progress directly.
1670 (dismiss_url_status_dialog): Remove.
1671
1672 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
1673 false, was true.
1674
1675 * download.cc: Run indent.
1676 (process.h, threebar.h): New includes.
1677 (Progress): externed into this file.
1678 (download_one): Add owner param. Pass it to get_url_to_file().
1679 (do_download_thread): Renamed from do_download. Add owner param. When
1680 calculating total_download_bytes, take binpicked and srcpicked into
1681 account. Remove call to dismiss_url_status_dialog(), no longer needed.
1682 Pass owner handle to download_one() and yesno().
1683 (do_download_reflector, do_download): New functions.
1684 (context): New var. Context for do_download_thread().
1685
1686 * dialog.h (D(x)): Add owner param.
1687
1688 * desktop.h (DesktopSetupPage): New file, new class.
1689 * desktop.cc: Run indent.
1690 (desktop.h): Add include.
1691 (dialog_proc, do_desktop): Remove, now handled in
1692 DesktopSetupPage::OnInit().
1693 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
1694 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
1695 resp.
1696 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
1697 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
1698 of DesktopSetupPage.
1699
1700 * cistring.h: New file, new class.
1701 * cistring.cc: New file, new class.
1702
1703 * choose.h: Run indent.
1704 (Chooser): New class declaration.
1705 * choose.cc: Run indent.
1706 (do_choose): Add owner param. Pass it to DialogBox() and
1707 fatal().
1708 (Chooser): New class implementation.
1709
1710 * res.rc (IDS_VERSION_INFO): New string.
1711 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
1712 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
1713 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
1714 throughout.
1715 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
1716 TAB control navigation etc. Give the controls a reasonable tab order.
1717 Grouped radio buttons. Something's still not right, can't tab away
1718 from back/next/cancel group reliably.
1719 * resource.h (IDD_CHOOSER): New dialog ID.
1720
1721 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
1722 threebar.o, and window.o.
1723
1724 2001-12-21 Robert Collins <rbtcollins@hotmail.com>
1725
1726 * choose.cc (listview_proc): Update the scrollbar when the headers are dragged.
1727 (pick_pkg_line::paint): Clip columns to prevent overlap.
1728
1729 2001-12-20 Robert Collins <rbtcollins@hotmail.com>
1730
1731 * Makefile.in: Add libcomctl32.a for setup.exe.
1732 * archive.h (archive): Prevent non-child direct creation of the class.
1733 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and assignment.
1734 * choose.cc: Include commctrl for the choose header.
1735 (NEW_COL_SIZE_SLOP): Define without magic numbers.
1736 (pkgtrustp): Convert to function.
1737 (set_action): Remove.
1738 (add_required, fill_missing_category,default_trust): Use list syntax for
1739 package list.
1740 Use new set_action.
1741 (choose_caption): Remove.
1742 (topbucket::paint): New method.
1743 (topbucket::empty): Ditto.
1744 (topbucket::click): Ditto.
1745 (topbucket::~topbucket): Ditto.
1746 (paint): Remove i,ii and p as they are obsolete.
1747 Remove header drawing code.
1748 Use new chooser method to paint the chooser.
1749 Use new chooser itemcount method.
1750 (scroll_common): Rename to view::scroll.
1751 Scroll the header window separately.
1752 (list_vscroll, list_hscroll, list_click): Update for new chooser methods.
1753 (listview_proc): Look for header messages.
1754 (note_width): Accept stringless calls.
1755 (pick_line::set_line): Remove.
1756 (pick_line::paint): Remove.
1757 (pick_pkg_line::paint): Paint this one line, using the header column widths.
1758 (pick_category_line::paint): Paint this category, and anything in the bucket.
1759 (pick_line::click): Remove.
1760 (pick_pkg_line::click): Handle a click.
1761 (pick_category_line::click): Handle a click.
1762 (_view): Rename all to view.
1763 (view::view): Initialise the control contents.
1764 (view::set_headers): Work with the header control.
1765 (view::init_headers): Use list syntax for package list.
1766 Rearrange the width logic a little.
1767 (view::insert_pkg): Update to use the hierarchy.
1768 (view::insert_category): Ditto.
1769 (view::insert_at, view::insert_under): Remove.
1770 (view::clear_view): Update to use the hierarchy.
1771 (view::click): Update to use the hierarchy.
1772 (set_view_mode): Use list syntax for package list.
1773 Update for new chooser methods.
1774 (DoInsertItem): New helper function. (Needs a home somewhere).
1775 (create_listview): Remove choose control code and use the constructor instead.
1776 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
1777 * choose.h: Include newly required headers list and package_meta.
1778 (_voew): Rename to view.
1779 (pick_line): Convert to an ABC.
1780 (pick_pkg_line): New class.
1781 (pick_catgory_line): New class.
1782 (topbucket): New class.
1783 (view::scroll): New method created from listview_scroll function.
1784 * desktop.cc (make_passwd_group): Use list syntax for package list.
1785 * download.cc (do_download): Use list syntax for package list.
1786 * fromcwd.cc (found_file): Use list syntax for package list.
1787 * iniparse.y (pacakges): Use list syntax for package list.
1788 * install.cc (uninstall_one): Use list syntax for package list.
1789 (do_install): Use list syntax for package list.
1790 * io_stream.h (io_stream): Prevent non-child direct creation of the class.
1791 Prevent inaccurate synthetic copy and assignment.
1792 * list.h: Include required header stdlib.
1793 Work on const correctness.
1794 * package_db.cc (packagedb::getpackagebyname): Remove.
1795 (packagedb::packagedb): Remove custom list code, and make db a local.
1796 (packagedb::getfirstpackage): Remove.
1797 (packagedb::getnextpackage): Remove.
1798 (packagedb::addpackage): Remove.
1799 (flush): Remove custom list code.
1800 (packagedb::registerpackage): Remove.
1801 (packagedb::packages): New static member.
1802 (packagedb::task): New static member.
1803 * package_db.h (PackageDBActions): New enum.
1804 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
1805 addpackage, registerpackage, packages, packagecount, curr_package, db.
1806 Add packages, task.
1807 * pacakge_meta.cc: Include package_db.h.
1808 (packagemeta::action_caption): New method.
1809 (packagemeta::set_action): New method.
1810 * package_meta.h (CategoryPackage): Initialise key.
1811 (packagemeta): Initialise key.
1812 Add set_action and action_caption methods.
1813 Prevent inaccurate synthetic copy and assignment.
1814 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
1815 * source.cc: Include package_db for db manipulation.
1816 (save_dialog): Set the db task.
1817 * win32.h: Tell the w32 include headers what IE version to expect/require.
1818
1819 2001-12-06 Robert Collins <rbtcollins@hotmail.com>
1820
1821 * README: Wishlist updates.
1822
1823 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
1824
1825 * package_db.cc (getnextpackage): Don't overrun the array.
1826
1827 2001-12-04 Robert Collins <rbtcollins@hotmail.com>
1828
1829 * Makefile.in (OBJS): Add setup_version.o.
1830 (version.c): Rename to setup_version.
1831 * choose.cc (set_action): Prevent NULL pointer dereference.
1832 (package_sort): Remove.
1833 * fromcwd.cc (canonicalize_version): Moved to version.cc.
1834 (check_ini): New function for use with find to see if there is a cached setup.ini.
1835 (do_fromcwd): Check for a cached setup.ini from any mirror site.
1836 * ini.cc (find_routine): New function, for finding cached setup.ini's.
1837 (do_local_ini): New function, drives parsing of local ini's.
1838 (do_remote_ini): New function, drives parsing and caching of remote ini's.
1839 (do_ini): Move guts to do_remote_ini and do_local_ini.
1840 * list.h (removebyindex): New method.
1841 * other.cc (save_dialog): Use new site_list and all_site_list to add the
1842 new site to the site picklist.
1843 (dialog_cmd): Only save the dialog when exiting the dialog.
1844 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
1845 * site.cc (site_list_type): Move to site.h
1846 (site_list): New global, sites chosen by the user.
1847 (all_site_list): New global, all potential sites.
1848 (site_list_type::init): New method, parses a mirror.lst URL string into a
1849 site_list_type object.
1850 (site_list_type::site_list_type): New method.
1851 (check_if_enable_next): Examine the control, not a local variable.
1852 (load_dialog): Select all the user chosen sites by default.
1853 (save_dialog): Adjust for multiple selection semantics.
1854 (save_site_url): Save all user chosen sites.
1855 (dialog_cmd): Don't save the dialog when the listbox recieves a message -
1856 thats not needed.
1857 Remove obsolete other_url reference.
1858 (dialog_proc): Use all_site_list instead of site_list.
1859 (site_sort): Remove.
1860 (get_site_list): Remove malloc use - use list template instead.
1861 Move site_list_type initialisation to site_list_type::init().
1862 (get_initial_list_idx): Renamed to ...
1863 (get_saved_sites): this. Also read in multiple sites to the site_list.
1864 (do_site): Use all_site_list not site_list.
1865 Log all chosen sites.
1866 * site.h: New file, defines site related class, functions and variables.
1867 * state.h: Add comment about use of state.h
1868 (mirror_site): Remove.
1869 (other_url): Remove.
1870 (MIRROR_SITE): Remove.
1871 * version.cc: New file, for version-handling and related functions.
1872
1873 2001-12-02 Robert Collins <rbtcollins@hotmail.com>
1874
1875 * Makefile.in: Add filemanip.o to setup.
1876 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
1877 * archive_tar.h (archive_tar_file): Implement get_size virtual.
1878 (archive_tar): Ditto.
1879 * choose.cc (set_action): Use [] operator instead of getnth - its more readable.
1880 (paint): Ditto.
1881 (_view::init_headers): Ditto.
1882 (_view::insert_pkg): Ditto.
1883 (set_view_mode): Ditto.
1884 (scan2): Ditto.
1885 (do_choose): Ditto.
1886 (base): Moved to filemanip.cc.
1887 (find_tar_ext): Ditto.
1888 (parse_filename): Ditto.
1889 (_Info::_Info): Remove.
1890 * compress_bz.h (compress_bz): Implement get_size virtual.
1891 * compress_gz.h (compress_gz): Implement get_size virtual.
1892 * cygpackage.cc (cygpackage::destroy): Use array delete for char * objects.
1893 * download.cc (get_file_size): Move to filemanip.cc.
1894 (check_for_cached): Use [] operator instead of getnth - its more readable.
1895 (download_one): Ditto.
1896 * filemanip.cc: New file.
1897 * geturl.cc (init_dialog): Make url a pointer to const as it is not modified.
1898 (get_url_to_membuf): New function - contains get_url_to_string worker code.
1899 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
1900 * geturl.h: Declare new prototype.
1901 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
1902 Tidy up the error code a little.
1903 * ini.h: Remove __cplusplus protection for ini_init.
1904 (_Info): Remove.
1905 * inilex.l: Remove old globals.
1906 (ini_init): Use an io_stream for getting the characters.
1907 (ini_getchar): Ditto.
1908 * iniparse.y: Declare yylex as a C++ function.
1909 (add_correct_version): Use [] operator instead of getnth - its more readable.
1910 * io_stream.cc (io_stream::move_copy): Use the copy method.
1911 (io_stream::copy): New method to simply copy from one stream to another.
1912 * io_stream.h (io_stream): New static method copy, and virtual method get_size.
1913 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
1914 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
1915 * io_stream_file.cc (io_stream_file::get_size): Implement this.
1916 * io_stream_file.h (io_stream_file::get_size): Declare this.
1917 * io_stream_memory.h: Include errno as it's neded to parse the header.
1918 (io_stream_memory::get_size): Implement this.
1919 (io_stream_memory::st_size): Delete this.
1920 * list.h: Change getnth into the [] operator.
1921 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being modified.
1922 (NetIO::set_url): Ditto.
1923 (NetIO::open): Ditto.
1924 * netio.h: As for netio.cc.
1925 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect Purl not
1926 being modified.
1927 * nio-file.h: Ditto.
1928 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
1929 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
1930 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
1931 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
1932 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
1933 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
1934 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
1935 * package_source.cc (packagesource::set_canonical): Ditto.
1936 (packagesource::set_cached): Ditto.
1937 * package_source.h (site::~site): Ditto.
1938 * site.cc: Change site_list_type to a class, and search and replace sort_key to
1939 key globally.
1940
1941 2001-12-01 Robert Collins <rbtcollins@hotmail.com>
1942
1943 * package_source.cc (packagesource::set_canonical): Filename was out by one.
1944
1945 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
1946
1947 * Makefile.in (OBJS): Remove category_list - it's not needed.
1948 * README: More wishlist updates.
1949 * category.cc (Category::Category): Initialise new members.
1950 (Categorycmp): New function.
1951 * category.h (Category): New member key for template use.
1952 * category_list.cc: Remove.
1953 * category_list.h: Remove.
1954 (Categorycmp): New function prototype.
1955 * choose.cc: Remove category_list - not needed.
1956 (set_action): Only show the 'source' option when the source is actually
1957 available.
1958 (add_required): Fix recursion limiter to 5.
1959 (fill_missing_category): Use list access.
1960 (default_trust): Ditto.
1961 (pick_line::paint): Ditto.
1962 (_view::init_headers): Ditto.
1963 (_view::insert_pkg): Ditto.
1964 (_view::insert_category): Ditto.
1965 (_view::click): Ditto.
1966 (set_view_mode): Ditto.
1967 (do_choose): Ditto.
1968 * cygpackage.h: Remove category_list - not needed.
1969 * geturl.cc (get_url_to_string): Fix null byte insertion.
1970 * inipatse.y: Remove category_list - not needed.
1971 (categories): Use list access.
1972 * package_db.cc: Ditto.
1973 * package_db.h: Remove category_list - not needed.
1974 (packagedb): Use the list template for categories.
1975 * package_meta.cc (add_category): Ditto.
1976 * package_meta.h (CategoryPackage): Link to the category as well.
1977 (packagemeta): Use a list of CategoryPackages instead of Categories
1978 for more memory efficient cross-referencing.
1979
1980 2001-11-30 Robert Collins <rbtcollins@hotmail.com>
1981
1982 * package_db.cc (packagedb::flush): Write a canonical version for all packages
1983 irrespective of the media they were installed from.
1984
1985 2001-11-29 Robert Collins <rbtcollins@hotmail.com>
1986
1987 * Makefile.in (OBJS): Add package_source and rfc1738.
1988 * README: Wishlist update.
1989 * category_list.cc (register_category): Use references.
1990 * category_list.h (CategoryList): Ditto.
1991 * choose.cc (isinstalled): Remove.
1992 (pkgtrustp): New macro.
1993 (set_action): Use packagemeta.
1994 (add_required): Ditto.
1995 (choose_caption): Example package to choose caption, rather than state flags.
1996 (check_existence): Remove.
1997 (set_existence): Remove old code.
1998 (fill_missing_category): Use packagemeta.
1999 (keep_or_skip): Remove.
2000 (default_trust): Use packagemeta and set trust values directly.
2001 (pick_line::set_line): Use packagemeta.
2002 (_view::insert_pkg): Ditto.
2003 (_view::insert_category): Ditto.
2004 (_view::click): Ditto.
2005 (set_view_mode): Ditto. Also remove "exclude" code.
2006 (create_listview): Use packagemeta.
2007 (dialog_cmd): Ditto.
2008 (getpkgbyname): Remove
2009 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
2010 (read_installed_db): Remove.
2011 (package_sort): Use packagemeta.
2012 (do_choose): Use packagemeta. Don't sort the packages - the db does that.
2013 * choose.h: Use packagemeta.
2014 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
2015 (cygpackage::cygpackage): Ditto.
2016 (cygpackage::set_canonical_version): Copy the passed string.
2017 (cygpackage::~cygpackage): Move cleanup code to destroy().
2018 (cygpackage::destroy): New function.
2019 (cygpackage::getfirstfile): Use a separate buffer.
2020 (cygpackage::getnextfile): Ditto.
2021 (cygpackage::Canonical_version): New function.
2022 (cygpackage::set_sdesc): Ditto.
2023 (cygpackage::set_ldesc): Ditto.
2024 * cygpackage.h (cygpackage::Canonical_version): New method.
2025 (cygpackage::set_sdesc): New method.
2026 (cygpackage::set_ldesc): New method.
2027 (cygpackage::SDesc): New method.
2028 (cygpackage::LDesc): New method.
2029 (cygpackage::set_canonical_version): New method.
2030 * desktop.cc: Include packagedb headers.
2031 (make_password_group): Use packagemeta.
2032 * download.cc: Include packagedb headers.
2033 (check_for_cached): New method to find any cached file and fill out the database
2034 info.
2035 (download_one): Take a packagesource, support multiple mirrors.
2036 (do_download): Use packagemeta.
2037 * from cwd.cc: Include packagedb headers.
2038 (found_file): Use packagemeta.
2039 * ini.cc (do_ini): Beginning of multiple-mirror support.
2040 * ini.h (CategoryPackage): Remove.
2041 (Dependency): Remove.
2042 (Package): Remove.
2043 (new_package,getpkgbyname,getpackagecategorybyname,add_category): Remove.
2044 * inilex.l: Support multiple mirrors.
2045 * iniparse.y: Include packagedb headers.
2046 (parser): Use packagemeta.
2047 (new_package): Remove.
2048 (add_correct_version): New function.
2049 (new_requirement): Remove.
2050 (add_category): Remove.
2051 * install.cc (uninstall_one): Use packagemeta.
2052 (install_one_source): New function.
2053 (install_one): Use packagemeta.
2054 (do_install): Use packagemeta.
2055 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
2056 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the file
2057 after setting the mtime, it makes no sense, and results in 0 length files.
2058 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
2059 * list.h: New file, template class for a form of list.
2060 * package_db.cc (packagedb::registerpackage): New function.
2061 * package_db.h (packagedb::npackages ()): New method.
2062 * package_meta.cc (packagemeta::add_version): Use list template.
2063 (packagemeta::set_installed): Ditto.
2064 (packagemeta::add_category): New method.
2065 * package_meta.h: Include necessary headers to parse the class.
2066 (CategoryPackage): New class.
2067 (packagemeta): Initialise all members.
2068 (packagemeta::SDesc): New method.
2069 (packagemeta::Categories): New method.
2070 (packagemeta::add_category): Ditto.
2071 (packagemeta::versions): Change to be a list instance.
2072 * package_source.cc (packagesource::set_canonical): New method.
2073 (packagesource::set_cached): New method.
2074 * package_source.h: Include necessary headers to parse the class.
2075 (site): New class.
2076 (packagesource::packagesource): Initialize all members.
2077 (packagesource): Make this class non-abstract.
2078 * package_version.cc (packageversion::packageversion): New method.
2079 * package_version.h (Dependency): New class.
2080 (packageversion::Canonical_vesion): New method.
2081 (packageversion::SDesc): New method.
2082 (packageversion::LDesc): New method.
2083 (packageversion::new_requirement): Ditto.
2084 (packageversion::srcpicked, binpicked): What to install.
2085 (packageversion::src, bin): Installation source data.
2086 * rfc1738.cc: New file. Escapes special characters in URL's.
2087 * rfc1738.h: Ditto.
2088
2089 2001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2090
2091 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
2092 SimpleSocket::gets() returns a zero-length string, so that we
2093 don't end up eating the entire stream thinking it's all header info.
2094
2095 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
2096
2097 * install.cc (badrename): Remove.
2098 (do_install): Use packagedb flush method to write /etc/setup/installed.db.
2099 * io_stream.cc (io_stream::move_copy): New method.
2100 (io_stream::move): New method.
2101 * io_stream.h (io_stream): New methods move and move_copy.
2102 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
2103 * io_stream_cygfile.h (io_stream_cygfile): New method move.
2104 * io_stream_file.cc (io_stream_file::move): New method.
2105 * io_stream_file.h (io_stream_file): New method move.
2106 * package_db.cc (packagedb::flush): New method.
2107 * package_db.h (packagedb): New method flush.
2108
2109 2001-11-23 Robert Collins <rbtcollins@hotmail.com>
2110
2111 * Makefile.in (OBJS): Add package_version.
2112 * ategory.cc (Category::Category): Update constructors.
2113 * category_list.cc (CategoryList::register_category): Insert correctly.
2114 * choose.cc: Include package_version.h, not package.h.
2115 * cygpackage.cc: Ditto.
2116 (cygpackage::uninstall): New method.
2117 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
2118 New method uninstall.
2119 * hash.cc (add, has, enumerate): Change prototype to be accurate.
2120 * hash.h (hash): Change prototypes to be accurate.
2121 * ini.h (_Info): New parameterless constructor.
2122 (CategoryPackage): New constructor.
2123 (Package): Ditto.
2124 * install.cc: Don't include unneeded headers.
2125 Include package database headers.
2126 (hash::add_subdirs): Remove.
2127 (uninstall_one): Use packagemeta->uninstall to perform the uninstallation.
2128 Don't uninstall source packages.
2129 (do_install): Just can uninstall_one once as we ignore source packages now.
2130 Don't copy the installed.old database accross, instead iterate through the
2131 packagedb packages list and write the isntalled packages out.
2132 * package_db.cc: Include package_version.h, not package.h.
2133 (packagedb::packagedb): Never let db be undefined.
2134 Record the installation filename, so we can reconstruct installed.db.
2135 (packagedb::addpackage): Insert packages in alpha sorted order.
2136 (packagedb::categories): Initialise correctly.
2137 * package_meta.cc: Include win32 and mount headers as a workaround to
2138 current io_stream limitations. Include a TODO about that.
2139 (standard_dirs): New, from install.cc.
2140 (hash::add_subdirs): New, from install.cc.
2141 (packagemeta::set_installed): Rename genericpackage to packageversion.
2142 (packagemeta::uninstall): New method.
2143 * package_meta.h: Rename genericpackage to packageversion.
2144 (packagemeta): Update constructor.
2145 (add_version, set_installed): Rename genericpackage to packageversion.
2146 (uninstall): New method.
2147 (installed_from): New member.
2148 * package_source.cc: New file.
2149 * package_source.h: New file.
2150 * package_version.cc: New file.
2151 * package_version.h: New file.
2152 * package.cc: Removed.
2153 * package.h: Removed.
2154
2155 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
2156
2157 * Makefile.in (OBJS): Add category.o and category_list.o.
2158 * category.h: New file.
2159 * category.cc: New file.
2160 * category_list.h: New file.
2161 * category_list.cc: New file.
2162 * choose.cc: Include category headers.
2163 (fill_missing_category): Use package_db to access global categories.
2164 (_view::insert_pkg): Ditto.
2165 (_view::insert_category): Ditto.
2166 (set_view_mode): Ditto.
2167 (getcategorybyname): Remove.
2168 * cygpackage.h: Include category_list.h to parse this correctly.
2169 (cygpackage): New virtual &Categories.
2170 * ini.h (_CategoryPackage): More C to C++ conversion.
2171 (Category): Remove.
2172 (getcategorybyname): Remove.
2173 (register_category): Remove.
2174 * iniparse.y: Include package db and category headers.
2175 (categories): Use package_db to access global categories.
2176 (category): Remove.
2177 (ncategories): Remove.
2178 (register_category): Remove.
2179 * package.h: New virtual &Categories.
2180 * package_db.cc (packagedb::packagedb): Don't read the installed db twice.
2181 (packagedb::categories): Declare.
2182 * package_db.h (packagedb): New member categories for global categories list.
2183
2184 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
2185
2186 * choose.h: Don't include ini.h
2187 * ini.h: Allow pure c++ in the header file.
2188
2189 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
2190
2191 * install.cc (do_install): Write a version 2 installed.db file.
2192 * package_db.cc (packagedb::packagedb): Read version 1 and 2 installed.db files.
2193
2194 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
2195
2196 * Makefile.in (OBJS): Add package abstraction objects.
2197 * choose.cc: Include package abstraction headers.
2198 (read_installed_db): Use packagedb class and ignore installed sources.
2199 * cygpackage.cc: New file.
2200 * cygpackage.h: New file.
2201 * filemanip.h (get_file_size): Use unixy types.
2202 * package.h: New file.
2203 * package.cc: New file.
2204 * package_db.cc: New file.
2205 * package_db.h: New file.
2206 * package_meta.cc: New file.
2207 * package_meta.h: New file.
2208
2209 2001-11-21 Robert Collins <rbtcollins@hotmail.com>
2210
2211 * REAME: Updates to wishlist.
2212
2213 2001-11-16 Robert Collins <rbtcollins@hotmail.com>
2214
2215 * README: Updated and added my list of wishlist and todo items.
2216
2217 2001-11-14 Robert Collins <rbtcollins@hotmail.com>
2218
2219 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
2220 * archive_tar.cc (archive_tar::write): New prototype.
2221 (archive_tar::seek): New method.
2222 * archive.h (archive_tar_file): Update write() and add seek().
2223 (archive_tar): Ditto.
2224 * archive_tar_file.cc (archive_tar_file::write): New prototype.
2225 (archive_tar_file::seek): New method.
2226 * compress_bz.cc (compress_bz::write): New prototype.
2227 (compress_bz::seek): New function.
2228 * compress_bz.h (compress_bz): Update write() and add seek().
2229 * compress_gz.cc (compress_gz::write): New prototype.
2230 (compress_gz::seek): New function.
2231 * compress_gz.h (compress_gz): Update write() and add seek().
2232 * geturl.cc: Include io_stream headers.
2233 (GUBuf): Remove.
2234 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
2235 * io_stream.h (io_stream_seek_t): New enum.
2236 (io_stream): Update write() and add seek().
2237 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
2238 (io_stream_cygfile::seek): New function.
2239 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add seek().
2240 * io_stream_file.cc (io_stream_file::write): New prototype.
2241 (io_stream_file::seek): New function.
2242 * io_stream_file.h (io_stream_file): Update write() and add seek().
2243
2244 2001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
2245
2246 * localdir.cc: Add headers unistd.h and port.h.
2247 (save_local_dir): Expand search logic to include local directory for
2248 location of file last-cache.
2249 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
2250 (do_local_dir): Expand search logic to include local directory for file
2251 last-cache.
2252 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
2253 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
2254 Internet.
2255 (do_source): Default to Install from Internet on first entry or
2256 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
2257
2258 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
2259
2260 * choose.cc (find_tar_ext): Only match at the end of the string.
2261 (getpkgbyname): Prevent NULL pointer dereference.
2262
2263 2001-11-13 Robert Collins <rbtcollins@hotmail.com>
2264
2265 * Makefile.in (CFLAGS): Add warnings and -Werr.
2266 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter what.
2267 (OBJS): Add io_stream class' objects.
2268 (autoload.o): Use WARNONLY_FLAGS.
2269 (inilex.o): Ditto.
2270 (iniparse.o): Ditto.
2271 * archive.cc: New file.
2272 * archive.h: New file.
2273 * archive_tar.cc: New file.
2274 * archive_tar.h: New file.
2275 * archive_tar_file.cc: New file.
2276 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
2277 * choose.cc: Use io_stream.h, not mount.h.
2278 Run indent.
2279 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an extension.
2280 (read_installed_db): Use io_streams.
2281 * choose.h: Run indent.
2282 * compress.cc: New file.
2283 * compress.h: New file.
2284 * compress_bz.cc: New file.
2285 * compress_bz.h: New file.
2286 * compress_gz.cc: New file.
2287 * compress_gz.h: New file.
2288 * concat.cc: Run indent.
2289 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2290 * concat.h: Run indent.
2291 * desktop.cc: Run indent.
2292 Include mklink2.h rather than redefining by hand.
2293 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2294 (etc_profile): Fix compiler warning (deprecated conversion).
2295 (make_link): Fix compiler warning (deprecated conversion).
2296 Tidy up use of args variable - consolidate into argbuf.
2297 (start_menu): Fix compiler warning (deprecated conversion).
2298 (desktop_icon): Fix compiler warning (deprecated conversion).
2299 (make_etc_profile): Fix compiler warning (deprecated conversion).
2300 (uexists): Fix compiler warning (deprecated conversion).
2301 (check_desktop): Fix compiler warning (deprecated conversion).
2302 (check_startmenu): Fix compiler warning (deprecated conversion).
2303 * dialog.cc: Run indent.
2304 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2305 (fatal): Fix compiler warning (deprecated conversion).
2306 * dialog.h: Run indent.
2307 * diskfull.cc: Run indent.
2308 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2309 * download.cc: Run indent.
2310 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2311 (download_one): Fix compiler warning (signed vs unsigned comparison).
2312 * filemanip.h: Run indent.
2313 * find.cc: Run indent.
2314 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2315 (find): Fix compiler warning (deprecated conversion).
2316 * find.h: Run indent.
2317 * fromcwd.cc: Run indent.
2318 * geturl.cc: Run indent.
2319 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2320 (dialog_cmd): Return a value.
2321 (dialog_proc): Remove unused variables.
2322 Return a value.
2323 (get_url_to_file): Fix compiler warning (deprecated conversion).
2324 * geturl.h: Run indent.
2325 * hash.cc: Run indent.
2326 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2327 * hash.h: Run indent.
2328 * ini.cc: Run indent.
2329 Use io_streams.
2330 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2331 (do_ini): Use io_streams for local io.
2332 * ini.h: Run indent.
2333 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
2334 Fix compiler warning (brackets for truth assignment).
2335 * install.cc: Run indent.
2336 Fix compiler warning (/* in comment).
2337 Use io_streams.
2338 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2339 (dialog_cmd): Return a value.
2340 (dialog_proc): Return a value.
2341 (start_tics): Deleted - was unused.
2342 (badrename): Fix compiler warnings (unused, deprecated conversion).
2343 (standard_dirs): Fix compiler warning (deprecated conversion).
2344 (exists): Remove.
2345 (uninstall_one): Convert to io_streams.
2346 (install_one): Convert to io_streams.
2347 (do_install): Convert to io_streans.
2348 Fix compiler warning (deprecated conversion).
2349 * io_stream.cc: New file.
2350 * io_stream.h: New file.
2351 * io_stream_cygfile.cc: New file.
2352 * io_stream_cygfile.h: New file.
2353 * io_stream_file.cc: New file.
2354 * io_stream_file.h: New file.
2355 * localdir.cc: Run indent.
2356 Use io_streams.
2357 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2358 (get_root_dir_now): Remove.
2359 (save_local_dir): Convert to io_streams.
2360 (dialog_cmd): Return a value.
2361 (do_local_dir): Convert to io_streams.
2362 (log.cc): Run indent.
2363 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2364 (log): Fix compiler warning (deprecated conversion).
2365 (log_save): Fix compiler warning (deprecated conversion).
2366 * log.h: Run indent.
2367 (log): Fix compiler warning (deprecated conversion).
2368 (log_save): Fix compiler warning (deprecated conversion).
2369 * main.cc: Run indent.
2370 Don't include "netio.h".
2371 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2372 (netio_test): Remove.
2373 (sid_auth): Fix compiler warning (partially bracketed initialiser).
2374 (WinMain): Return a value.
2375 * mkdir.cc: Run indent.
2376 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2377 * mklink2.c: Run indent.
2378 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2379 (mkcygsymlink): New function.
2380 * mklink2.h: New file.
2381 * mount.cc: Run indent.
2382 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2383 (create_mount): Remove unused variables.
2384 (cygpath): Fix compiler warning (signed vs unsigned comparison).
2385 * mount.h: Run indent.
2386 * msg.cc: Run indent.
2387 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2388 (msg): Fix compiler warning (deprecated conversion).
2389 (mbox): Fix compiler warning (deprecated conversion).
2390 * msg.h: Run indent.
2391 (msg): Fix compiler warning (deprecated conversion).
2392 * net.cc: Run indent.
2393 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2394 (dialog_cmd): Return a value.
2395 * netio.cc: Run indent.
2396 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2397 (auth_cmd): Return a value.
2398 * netio.h: Run indent.
2399 * nio-file.cc: Run indent.
2400 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2401 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
2402 * nio-file.h: Run indent.
2403 * nio-ftp.cc: Run indent.
2404 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2405 * nio-ftp.h: Run indent.
2406 * nio-http.cc: Run indent.
2407 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2408 * nio-http.h: Run indent.
2409 * nio-ie5.cc: Run indent.
2410 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2411 * nio-ie5.h: Run indent.
2412 * other.cc: Run indent.
2413 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2414 (dialog_cmd): Return a value.
2415 * port.h: Run indent.
2416 * postinstall.cc: Run indent.
2417 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2418 (cmd): Fix compiler warning (deprecated conversion).
2419 (eun): Fix compiler warning (deprecated conversion).
2420 * root.cc: Run indent.
2421 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2422 * simpsock.cc: Run indent.
2423 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2424 * simpsock.h: Run indent.
2425 * site.cc: Run indent.
2426 Use io_streams.
2427 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2428 (get_root_dir_now): Remove.
2429 (save_site_url): Convert to io_streams.
2430 (dialog_cmd): Return 0.
2431 (get_initial_list_idx): Convert to io_streans.
2432 * source.cc: Run indent.
2433 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2434 (check_if_enable_next): Remove.
2435 (load_dialog): Remove unused variables.
2436 (save_dialog): Ditto.
2437 (dialog_cmd): Return a value.
2438 * splash.cc: Return a value.
2439 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2440 (dialog_cmd): Return a value.
2441 * state.cc: Run indent.
2442 (cvsid): Fix compiler warnings (unused, deprecated conversion).
2443 * state.h: Run indent.
2444 * tar.h: Remove.
2445 * tar.cc: Remove.
2446
2447 2001-11-12 Christopher Faylor <cgf@redhat.com>
2448
2449 * desktop.cc (start_menu): Change start menu name to "Cygwin".
2450 (check_startmenu): Ditto.
2451
2452 2001-11-11 Christopher Faylor <cgf@redhat.com>
2453
2454 * choose.cc (parse_filename): Finish reorganization by correctly
2455 decrementing p in memmove.
2456
2457 2001-11-11 Christopher Faylor <cgf@redhat.com>
2458
2459 * choose.cc (parse_filename): Reorganize code to work around gcc
2460 optimization problem.
2461
2462 2001-11-09 Gareth Pearce <tilps@hotmail.com>
2463
2464 * choose.cc (set_action): Allow skip as an option for installed
2465 packages that have version number not listed in setup.ini.
2466
2467 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
2468
2469 * choose.cc (set_cation): Backout last change.
2470 (choose_caption): Ditto.
2471
2472 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
2473
2474 * ini.h (actions): Remove - transferred to choose.h.
2475 (views): Ditto.
2476 * choose.h: Protect class's from "C" compilers.
2477 (actions): New enum, from ini.h. This may not be the 'right' place
2478 but that place doesn't exist yet.
2479 (_views): New enum, from ini.h.
2480 * choose.cc (set_action): Handle installed packages with a version not in
2481 setup.ini.
2482 (choose_caption): Ditto.
2483 * iniparse.y: Rearrange header order to handle new ini.h.
2484
2485 2001-11-10 Robert Collins <rbtcollins@hotmail.com>
2486
2487 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
2488 (registry_category): Fix compiler warning (deprecated conversion).
2489 * iniparse.y (registry_category): Ditto.
2490 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated conversion).
2491 (add_requried): Remove unused variable.
2492 (choose_caption): Handle all enumeration values via a default.
2493 (paint): Fix compiler warnings (unused, deprecated conversion).
2494 (scroll_common): Fix compiler warnings (unused, signed vs unsigned comparison).
2495 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
2496 (note_width): Fix compiler warnings (deprecated conversion).
2497 (keep_or_skip): Fix compiler warnings (unused).
2498 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
2499 (set_view_mode): Fix compiler warnings (unused).
2500 (create_listview): Fix compiler warnings (unused, incorrect format, reaches
2501 end of function).
2502 (dialog_proc): Fix compiler warnings (unused).
2503 (read_installed_db): Fix compiler warnings (unused, deprecated conversion).
2504 * choose.h (_header): Fix compiler warnings (deprecated conversion).
2505 (_view): Ditto.
2506
2507 2001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
2508
2509 * simpsock.h (SimpleSocket::invalidate): Declare new method.
2510 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
2511 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
2512 memory for buf in the constructor.
2513 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
2514 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
2515 (SimpleSocket::write): Check object consistency - return -1 on error.
2516 invalidate() the object on socket write error.
2517 (SimpleSocket::fill): Check object consistency - return -1 on error.
2518 invalidate() the object if socket read error is encountered and there
2519 is no more data available in the internal read buffer.
2520 Allocate memory for the internal read buffer.
2521 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
2522 during fill() and no more data is available in the internal read buffer.
2523 (SimpleSocket::read): Check object consistency - return -1 on error.
2524 invalidate() the object if socket read error is encountered.
2525 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
2526 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
2527 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
2528 (NetIO_FTP::read): Use NetIO_FTP::ok().
2529 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
2530 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
2531
2532 2001-11-09 Robert Collins <rbtcollins@hotmail.com>
2533
2534 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
2535 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated conversion).
2536 (SimpleSocket::printf): Ditto.
2537 (SimpleSocket::write): Ditto.
2538 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
2539 printf and write.
2540 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
2541 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
2542 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
2543
2544 2001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
2545
2546 * geturl.cc (get_url_to_string): clean up memory leak
2547 (get_url_to_file): ditto
2548
2549 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
2550
2551 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
2552 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
2553
2554 2001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
2555
2556 * fromcwd.cc (found_file): Free() memory containing the version and
2557 filepath information for a given package, before replacing the pointers which
2558 reference this memory.
2559
2560 2001-11-06 Robert Collins <rbtcollins@hotmail.com>
2561
2562 * fromcwd: Fix compiler warnings for cvsid.
2563 (canonicalize_version): Fix compilter warnings.
2564 (do_fromcwd): Ditto.
2565 * version.h: Fix compiler warnings for canonicalize_version.
2566
2567 2001-11-03 Robert Collins <rbtcollins@hotmail.com>
2568
2569 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
2570
2571 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2572
2573 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
2574
2575 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2576
2577 * choose.cc (set_action): Correctly allow skip for any uninstalled package.
2578
2579 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2580
2581 * choose.cc (default_trust): Change the "Required" forced install category to
2582 "Base".
2583
2584 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2585
2586 * choose.cc: Ran indent.
2587 (set_action): When the requested trust level is missing and the level was not
2588 user requested, set the action to ACTION_SAME_CURR.
2589
2590 2001-11-01 Christopher Faylor <cgf@redhat.com>
2591
2592 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
2593
2594 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2595
2596 * choose.cc (_view::init_headers): Resync with the paint logic.
2597
2598 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2599
2600 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently installed
2601 packages.
2602
2603 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2604
2605 * choose.cc (default_trust): Autoset currently installed packages per the user's
2606 selection of prev/curr/exp.
2607
2608 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2609
2610 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
2611
2612 2001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
2613
2614 * geturl.cc (is_showing): Remove.
2615 (is_local_install): New static variable. Controls whether the
2616 progress dialog and the supporting thread will be created.
2617 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32 API.
2618 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
2619 This prevents the progress dialog to gain control over the
2620 application and fixes the "setup.exe going to background" problem.
2621 (progress): Use is_local_install.
2622 (get_url_to_string): Set is_local_install.
2623 (dismiss_url_status_dialog): Use is_local_install.
2624 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
2625 (init_dialog): Remove usage of SetForegroundWindow.
2626 This prevents the progress dialog to gain control over the
2627 application and fixes the "setup.exe going to background" problem.
2628
2629 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2630
2631 * choose.cc (list_click): Change r to row for clarity.
2632 When we shrink the list below 1 page, scroll to the top of the list.
2633 (_view::click): Return the actual change for contractions.
2634 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32 API.
2635
2636 2001-11-02 Robert Collins <rbtcollins@hotmail.com>
2637
2638 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir selection order.
2639 * localdir.cc: Ran indent.
2640 (get_root_dir_now): New function.
2641 (save_local_dir): New function.
2642 (dialog_cmd): Use it and swap cygwin root selection and local dir selection order.
2643 (do_local_dir): If there is a saved local dir, read it in.
2644 * net.cc (dialog_cmd): Swap cygwin root selection and local dir selection order.
2645 * root.cc (dialog_cmd): Ditto.
2646 * source.cc (dialog_cmd): Ditto.
2647
2648 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
2649
2650 * choose.cc(list_vscroll): Return 0 as required by win32.
2651 (list_hscroll): Ditto.
2652 (list_click): Ditto.
2653
2654 2001-11-01 Robert Collins <rbtcollins@hotmail.com>
2655
2656 * argv.cc: Remove.
2657 * argv.h: Remove.
2658 * main.cc(WinMain): Use __argv to retrieve command line parameters.
2659 * Makefile,in: Remove argv.o.
2660
2661 2001-11-01 Matt Hargett <matt@use.net>
2662
2663 * geturl.cc (progress): Change int to unsigned int to eliminate
2664 lint warnings.
2665 * (get_url_to_string): Check for NULL pointer.
2666 * mount.cc (find2): Use free instead of delete for malloc'd
2667 memory.
2668 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
2669
2670 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
2671
2672 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen] with neither
2673 a package nor a category. The lines[linen] bug was reported by Matt (matt@usa.net).
2674 (read_installed_db): Bugfix for testing whether a package has a source tarball.
2675 Reported by Matt (matt@usa.net).
2676 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid programmer
2677 confusion and lint errors. Reported by Matt (matt@usa.net).
2678
2679 2001-10-31 Robert Collins <rbtcollins@hotmail.com>
2680
2681 * argv.cc: New file, converts arguments for -mwindows programs. (Simplified derivation
2682 from dcrt0.cc.)
2683 * argv.h: New file.
2684 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
2685 Add mingw_getopt.o build rule.
2686 * main.cc(WinMain): Initialise argv and argc for use by getopt.
2687
2688 2001-10-27 Christopher Faylor <cgf@redhat.com>
2689
2690 * res.rc: Rearrange info on top line slightly.
2691
2692 2001-10-27 Christopher Faylor <cgf@redhat.com>
2693
2694 * desktop.cc (make_passwd_group): Move file creation earlier in the
2695 process to ensure that passwd-grp.bat reflects desired operation.
2696
2697 2001-27-10 Trevor Forbes <t4bs@hotmail.com>
2698
2699 * postinstall.cc (each): Remove "*.done" file else rename will fail.
2700
2701 2001-10-16 Christopher Faylor <cgf@redhat.com>
2702
2703 * res.rc: Oops. Take 640x480 screen size into account.
2704
2705 2001-10-16 Christopher Faylor <cgf@redhat.com>
2706
2707 * res.rc: Enlarge chooser screen.
2708
2709 2001-10-12 Christopher Faylor <cgf@redhat.com>
2710
2711 * Makefile.in: Accomodate changes to w32api_include macro.
2712
2713 2001-10-12 Christopher Faylor <cgf@redhat.com>
2714
2715 * Makefile.in: Use correct flags for windres.
2716
2717 2001-10-12 Christopher Faylor <cgf@redhat.com>
2718
2719 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
2720
2721 2001-10-12 Christopher Faylor <cgf@redhat.com>
2722
2723 * choose.cc (pick_line::paint): Reorganize after botched patch.
2724
2725 2001-10-12 Christopher Faylor <cgf@redhat.com>
2726
2727 * choose.cc (pick_line::paint): Add missing declaration.
2728
2729 2001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
2730
2731 * choose.cc (pick_line::paint): Add package name to sdesc for display.
2732
2733 Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
2734
2735 * choose.cc (_view::insert_pkg): Correctly exit loop.
2736 * iniparse.y (register_category): Always insert new categories.
2737
2738 Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
2739
2740 * inilex.l (yylex): For comments, eat all characters up to, but not
2741 including newline.
2742
2743 Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
2744
2745 * fromcwd.cc (found_file): Use correct package name when adding an
2746 unknown package rather than random stack garbage.
2747
2748 Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
2749
2750 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
2751
2752 Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
2753
2754 * desktop.cc (etc_profile): Leave environment variables untouched.
2755
2756 2001-08-07 Corinna Vinschen <corinna@vinschen.de>
2757
2758 * autoload.c: Add dynamic load statements for NT/W2K
2759 advapi32 functions not available in 9x/ME.
2760 * main.cc (set_default_dacl): New function.
2761 (WinMain): Call `set_default_dacl' if running on NT/W2K.
2762
2763 Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
2764
2765 * ini.h (_CategoryPackage): Change pkg field to pkgname for
2766 consistency.
2767 * choose.cc: Use pkgname field when referencing _CategoryPackage
2768 throughout.
2769 (fill_missing_category): Don't add excluded packages.
2770 (default_trust): Ditto.
2771 (_view::insert_pkg): Ditto.
2772 * iniparse.y (register_category): Use consistent variable name.
2773
2774 2001-07-09 Egor Duda <deo@logos-m.ru>
2775
2776 * choose.cc: Use system foreground color for text output.
2777
2778 Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
2779
2780 * choose.cc (set_action): Use default trust for determining reinstall
2781 and source only.
2782 (default_trust): Set default trust.
2783 (pick_line::paint): Allow source selection when reinstalling or
2784 retrieving.
2785
2786 Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
2787
2788 * choose.cc (isinstalled): Modify to properly accomodate special case
2789 of "download only".
2790 (set_action): Check downloaded components, not installed components if
2791 "download only".
2792 (set_existence): Always include full list of files when "download
2793 only".
2794
2795 Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
2796
2797 * choose.cc (pick_line::paint): Properly display "na" field when no
2798 source exists.
2799
2800 Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
2801
2802 * choose.cc (scan2): Ensure that older versions do not show up in
2803 "Test" slot.
2804
2805 Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
2806
2807 * choose.cc (set_action): Allow "Skip" action if trust != installed.
2808 * res.rc: Fix copyright.
2809
2810 Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
2811
2812 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
2813 boxes.
2814 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
2815
2816 * choose.cc: Restore some more changes from 2001-06-25, throughout.
2817 (paint): Wrap some excessively long lines.
2818 (pick_line::paint): Ditto. Move the arrow in the "Current" column
2819 right to where it belongs. Move the source checkbox slightly to the
2820 right.
2821 (do_choose): List categories and required packages in setup.log.full.
2822
2823 Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
2824
2825 * choose.cc (scan2): Restore source scanning eliminated by previous checkin.
2826
2827 Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
2828
2829 * ini.h (struct _Info): Add "derived" element.
2830 * choose.cc (scan2): Try to place unknown tar files into proper slot
2831 when package exists in setup.ini but tar file does not.
2832
2833 Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
2834
2835 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
2836 (do_choose): Log the first category name.
2837
2838 Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
2839
2840 *ini.h: Reapply 2001-06-25 changes.
2841 * choose.cc (add_required): Ditto. Default to "Keep" state if
2842 UNINSTALL and product is installed. Default to curr state if SKIP,
2843 etc.
2844 (keep_or_skip): New function. Returns skip or keep state depending on
2845 installed state of package.
2846 (default_trust): Use keep_or_skip to set state.
2847 (_view::insert_pkg): Use calloc to allocate lines.
2848 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
2849
2850 Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
2851
2852 * choose.cc: Remove globals full_list, headers, package_indexes and
2853 nindexes.
2854 Add globals cat_headers, pkg_headers and chooser.
2855 (add_required): New function.
2856 (paint): Use the chooser for header details.
2857 Call into the chooser to paint each line.
2858 (list_click): Use new global variables.
2859 Call into the chooser to handle the click.
2860 Repaint the entire view if packages have been added or removed.
2861 (note_width): Get passed a headers struct rather than using a global
2862 variable.
2863 (fill_missing_category): New function.
2864 (default_trust): Skip non-"Required" or "Misc" packages.
2865 (pick_line::set_line (Package *)): New function.
2866 (pick_line::set_line (Category *)): New function.
2867 (pick_line::paint): New function.
2868 (pick_line::click): New function.
2869 (_view::_view): New function.
2870 (_view::set_view_mode): New function.
2871 (_view::mode_caption): New function.
2872 (_view::set_headers): New function.
2873 (_view::init_header): New function.
2874 (_view::insert_pkg): New function.
2875 (_view::insert_category): New function.
2876 (_view::insert_at): New function.
2877 (_view::insert_under): New function.
2878 (_view::clear_view): New function.
2879 (viewsplusplus): New function.
2880 (_view::client): New function.
2881 (set_view_mode): Use new chooser functionality.
2882 (set_full_list): Use new global variables.
2883 (create_listview): Instantiate chooser.
2884 Remove all hardcoded headers[] code.
2885 (dialog_cmd): On trust changes, check dependencies.
2886 (getcategorybyname): New function.
2887 (getpackagecategorybyname): New function.
2888 (scan2): Use case-insensitive package comparison.
2889 (do_choose): Use fill_missing_category ().
2890 Show some category data.
2891 * ini.h: Protect against multiple inclusion.
2892 (views) New enum.
2893 (_CategoryPackage): New struct.
2894 (_Category): New struct.
2895 (_Package): Change category to Category * from char *.
2896 (extern Category category): New global variable.
2897 (extern in ncategories): Ditto.
2898 (getcategorybyname): New prototype.
2899 (catpackagecategorybyname): New prototype.
2900 (register_category): New prototype.
2901 (add_category): New prototype.
2902 * iniparse.y: Parse multiple categories per package.
2903 (category): New global variable.
2904 (ncategories): New global variable.
2905 (new_package): Compare package against NULL, not 0.
2906 (new_requirement): Source formatting fix.
2907 (register_category): New function.
2908 (add_category): New function.
2909 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
2910 IDC_CHOOSE_VIEWCAPTION: New control.
2911 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
2912 IDC_CHOOSE_VIEWCAPTION: New control.
2913 Increment _APS_NEXT_CONTROL_VALUE.
2914
2915 Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
2916
2917 * choose.cc (paint): Wrap excessively long lines.
2918 (list_click): Ditto.
2919 (create_listview): Ditto.
2920 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
2921 setup.log.full. Allow "Yes" for source exists in setup.log.full when
2922 installing from local directories.
2923
2924 Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
2925
2926 * choose.cc (set_action): Only clear srcpicked when moving to next
2927 state. Allow source installation if it exists in the current "trust"
2928 state. Don't move to skip state when package is installed.
2929 (list_click): Don't allow source clicking when no source is available.
2930 (set_full_list): Display package when not is_full_action.
2931 * ini.h (is_full_action): Define.
2932
2933 Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
2934
2935 * install.cc (check_for_old_cygwin): New function. First stab at
2936 checking for old cygwin versions.
2937 (do_install): Call check_for_old_cygwin if there were no errors during
2938 the install.
2939
2940 Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
2941
2942 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
2943 than zeroed "source" element.
2944
2945 Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
2946
2947 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
2948 the highest available "hole" in the trust array.
2949
2950 Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
2951
2952 * choose.cc (set_existence): Use pointer method for indexing in trust
2953 array.
2954 (create_listview): Ditto.
2955 (scan2): Ditto. Also, use consistent variable name for indexing into
2956 trust array.
2957 * ini.h (Package): Reorganize info array for easier scanning.
2958
2959 Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
2960
2961 * choose.cc (isinstalled): Eliminate special download only test.
2962 (set_action): Don't move to next state if in ACTION_SAME range and not
2963 incrementing.
2964 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
2965 downloading.
2966 (do_choose): Sort packages after all packages have been read.
2967 Accomodate the fact that first element in trust array is empty so that
2968 log files don't report the wrong trust value.
2969 * iniparse.y (new_package): Malloc space for package name or suffer
2970 memory corruption.
2971
2972 Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
2973
2974 * ini.h (Dependency): New structure. Declare new function.
2975 * inilex.l (yylex): Detect new setup.ini options - category and requires.
2976 * iniparse.y: Declare new setup.ini token values.
2977 (yyparse): Parse new token values.
2978 (new_requirement): New function.
2979
2980 Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
2981
2982 * choose.cc (read_installed_db): Eliminate obsolete code.
2983
2984 Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
2985
2986 * choose.cc (set_action): Set trust on "redo".
2987 (_Info::_Info): New constructor.
2988 (read_installed_db): Use new constructor. Use trusts type for
2989 iterator.
2990 * ini.h (struct _Info): Label struct, add constructor.
2991 (Package): Make installed_ix a type 'trusts.'
2992 * install.cc (uninstall_one): Unset any installed info for current
2993 package.
2994 (install_one): Allocate new Info struct for installed reflecting new
2995 installed info.
2996 (do_install): Don't output line to installed.db if package is being
2997 uninstalled.
2998
2999 Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
3000
3001 * choose.cc (getpkgbyname): Use consistent method for scanning package
3002 array.
3003
3004 Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
3005
3006 * choose.cc: Add some comments.
3007 (getpkgbyname): Use strcasecmp for comparisons.
3008
3009 Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
3010
3011 * install.cc (do_install): Avoid checking for download action if
3012 package wasn't currently retrieved.
3013
3014 Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
3015
3016 * choose.cc: Eliminate extra array throughout. Use element in package
3017 structure instead. Use pointers rather than array indexes where
3018 appropriate.
3019 (set_action): New function to set next action based on current.
3020 (choose_caption): New function. Returns display caption.
3021 (check_existence): Change arguments. Use pointer to 'info' structure.
3022 (set_existence): Use pointer rather than array index.
3023 (default_trust): Use trusts enum for second argument.
3024 (set_full_list): Honor exclude element in package structure.
3025 (build_labels): Eliminate.
3026 (base): Make global. Use const char * argument.
3027 (get_package_version): Eliminate.
3028 (getpkgbyname): New function.
3029 (read_installed_db): Use parse_filename to get version info.
3030 * desktop.cc (make_passwd_group): Use getpkgbyname function.
3031 * download.cc (get_file_size): const argument.
3032 (do_download): Use is_download_action to determine when something
3033 should be downloaded.
3034 * filemanip.h: Add some functions.
3035 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
3036 * ini.h: Use enums for actions and trusts.
3037 (is_download_action): New macro.
3038 (is_upgrade_action): Ditto.
3039 (is_uninstall_action): Ditto.
3040 (struct Package): Add new fields.
3041 * inilex.l (yylex): Detect new setup.ini options.
3042 * iniparse.y: Declare new tokens.
3043 (yyparse): Detect exclude keyword. Fill out version field even if
3044 version == 0.
3045 (new_package): Use greater granularity when allocating package array to
3046 avoid repeated calls to realloc.
3047 * install.cc (exists): const argument.
3048 (uninstall_one): Take pkg argument.
3049 (install_one): Ditto. Eliminate unneeded arguments which can be
3050 derived from package info.
3051 (do_install): Iterate over package array using a pointer. Use
3052 is_download_action to control when package should be downloaded.
3053 * tar.cc (tar_open): const argument.
3054 * tar.h: Refloect const argument.
3055
3056 2001-05-31 Michael Chase mchase@ix.netcom.com
3057
3058 * main.cc (WinMain): Add setup version to starting setup.log entry
3059
3060 Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
3061
3062 * inilex.l: Add + to list of valid string characters.
3063
3064 Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
3065
3066 * Makefile.in: Remove more stuff in the clean target.
3067
3068 Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
3069
3070 * Makefile.in: Correctly generate iniparse.h.
3071
3072 Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
3073
3074 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
3075 * geturl.h: Change declaration of `get_url_to_file' accordingly.
3076 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
3077 Set member `ftp_auth'.
3078 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
3079 to constructors of derived classes.
3080 (NetIO::get_ftp_auth): New method.
3081 * netio.h: Change class definition accordingly.
3082 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
3083 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
3084 Add code for ftp authentication retry.
3085 * nio-ftp.h: Change class definition accordingly.
3086 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
3087 Add code for ftp authentication retry in case of proxy connection.
3088 * nio-http.h: Change class definition accordingly.
3089 * res.rc: Add FTP authentication dialog.
3090 * resource.h: Add new constants used in res.rc.
3091 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
3092
3093 Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
3094
3095 * res.rc (IDD_SPLASH): Add a copyright year.
3096
3097 Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
3098
3099 * Makefile.in: Make iniparse.y produce a c++ file.
3100 * choose.cc (set_existence): Revert 2001-05-27 change.
3101 * ini.cc: Remove "C" from declaration of yyparse.
3102 * iniparse.y (yyparse): Fill out version field by default when a binary
3103 install is detected and no version has been set yet.
3104 * install.cc (do_install): Mount things earlier so that we can use
3105 proper mount table settings. Don't remove mounts since they are now
3106 honored.
3107 * mount.cc (create_mount): Reread the mount table after establishing a
3108 new mount.
3109 (read_mounts): Explicitly clear root_here to allow multiple uses of
3110 this function. Ensure that there is no garbage in the table when we've
3111 exhausted all of the mounts in the registry.
3112 (cygpath): Accomodate ./ in path.
3113
3114 Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
3115
3116 Use parse_filename method to parse filenames throughout. Use
3117 get_root_dir to retrieve the current root directory throughout. Set
3118 const in argument list, where appropriate, throughout.
3119 * choose.cc (set_existence): Detect case of uninstalled package with no
3120 version.
3121 (parse_filename): New function.
3122 * filemanip.h (fileparse): New structure.
3123 * mount.cc (read_mounts): Remember where we found the root mount.
3124 (set_root_dir): New function.
3125 (get_root_dir): Ditto.
3126 * mount.h: Declare new functions.
3127 * site.cc (get_root_dir_now): Renamed from get_root_dir.
3128 (save_site_url): Use new function name.
3129 (get_initial_list_idx): Ditto.
3130
3131 Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
3132
3133 * choose.cc: Use a constant throughout to deal with chooser icon
3134 length.
3135 * res.rc (IDD_CHOOSE): Increase size of chooser box.
3136
3137 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
3138
3139 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
3140 use when Redownload or Sources Only selected.
3141
3142 Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
3143
3144 Reformat file after botched patch formatting.
3145 * choose.cc (which_trust): Eliminate variable.
3146 (default_trust): Don't set which_trust.
3147 (do_choose): Use selected trust when reinstalling or installing source.
3148
3149 Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
3150
3151 Change concat to cygpath throughout.
3152 Change map_filename to cygpath throughout.
3153 * concat.cc (vconcat): New function.
3154 (concat): Use vconcat.
3155 * concat.h: Reflect above.
3156 * install.cc (map_filename): Eliminate.
3157 (install_one): Free dest_file.
3158 * mount.cc (find2): Expect input key to be pointing to mount record.
3159 (in_table): New function.
3160 (is_admin): Move from root.cc.
3161 (read_mounts): New function.
3162 (path_prefix_p): New function.
3163 (cygpath): New function.
3164 * mount.h: Define new functions and structure.
3165 * root.cc (in_table): Move to mount.cc.
3166 (do_root): Call read_mounts to initialize root stuff and mount table.
3167 * site.cc (get_root_dir): Ditto.
3168
3169 2001-05-09 Matt Hargett <matt@use.net>
3170
3171 * Makefile.in: Remove *.rc from clean.
3172
3173 Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
3174
3175 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
3176 TRUST_PREV which produced "0" versions.
3177
3178 2001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
3179
3180 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
3181 _APS_NEXT_CONTROL_VALUE to account for addition of
3182 IDC_CHOOSE_INST_TEXT.
3183 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
3184 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
3185 hot keys to select Prev, Curr, Exp.
3186 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
3187 define for LOOP_PACKAGES to include new actions ACTION_REDO and
3188 ACTION_SRC_ONLY.
3189 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
3190 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
3191 source Checkbox to use.
3192 (build_labels): Add logic to allow for selection of Source only
3193 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
3194 current version binary.
3195 (dialog_proc): Add conditional display for file selection prompt based
3196 on download vs install using IDC_CHOOSE_INST_TEXT.
3197 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
3198 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
3199 handle the instance where Source Download/Install was selected. Modify
3200 log file to store appropriate information regarding Action selected and
3201 the new actions that were added (I.E.: ACTION_REDO and
3202 ACTION_SRC_ONLY).
3203 * download.cc: Add include for <unistd.h> and "port.h".
3204 (download_one): Modify parameter list to include the selected action
3205 for the file to be downloaded. Modify size check against expected size
3206 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
3207 .tmp file to also remove the destination file if exists due to ability
3208 to redownload source and binary now.
3209 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
3210 calculation of Download Bytes. Modify to also use ACTION_REDO and
3211 ACTION_SRC_ONLY in determining files selected for download.
3212 * install.cc (uninstall_one): Add check to treat a Reinstall like an
3213 upgrade so current version will be uninstalled prior to reinstall.
3214 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
3215 uninstalling and installing binary and source packages.
3216 * desktop.cc (make_passwd_group): Modify logic to account for a Source
3217 only cygwin install when checking for cygwin to determine need for
3218 mkpasswd and mkgroup.
3219
3220 Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
3221
3222 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
3223 Removed WS_DISABLED from "OK" buttons to accomodate default focus
3224 changes in net.cc and source.cc.
3225 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
3226 a default is selected.
3227 * winsup/cinstall/source.cc (dialog_proc): Ditto.
3228 (check_if_enable_next): Removed. No longer needed since a radio button
3229 will always be selected.
3230 (load_dialog): Removed call to check_if_enable_next.
3231 (dialog_cmd): Ditto. Also added default to switch.
3232
3233 Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
3234
3235 * res.rc: Resize affected text.
3236
3237 Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
3238
3239 * net.cc (do_net): Default to direct download.
3240 * res.rc: Move default selections to the top.
3241
3242 2001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
3243
3244 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
3245 Must now include <windows.h> and not the pieces.
3246 * choose.cc (create_listview): Clean up type mismatch problems.
3247 * dialog.h (NEXT(id)): Ditto.
3248 * geturl.cc (dialog): Ditto.
3249 * install.cc (dialog): Ditto.
3250 * splash.cc (load_dialog): Ditto.
3251
3252 Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
3253
3254 * tar.cc (class gzbz): Define dummy virtual functions.
3255
3256 Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
3257
3258 * Makefile.in: Add bz2 include/library support.
3259 * filemanip.h: New file.
3260 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
3261 .tar.bz2 found.
3262 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
3263 (read_installed_db): Ditto.
3264 (do_choose): Ditto.
3265 * fromcwd.cc (found_file): Ditto.
3266 (do_fromcwd): Ditto.
3267 * tar.cc (class gzbz): New super class for uncompression support.
3268 (gz): New class for gzip support.
3269 (bz): New class for bzip2 support.
3270 (tar_open): Use gzbz class to control file opening.
3271 (tar_ftell): Ditto for returning position in file.
3272 (skip_file): Ditto for reading file.
3273 (tar_next_file): Ditto.
3274 (tar_read_file): Ditto.
3275 (tar_close): Ditto for close.
3276
3277 * zlib/configure.in: Force NM substitution.
3278
3279 * source.cc (do_source): Default to "Install from Internet".
3280
3281 2001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
3282
3283 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
3284 `stat'.
3285 * choose.cc (list_click): Correct inability to select source code for
3286 download.
3287 (scan2): Modify to skip source tarballs when scanning disk for
3288 installable packages.
3289
3290 2001-03-10 Chris Abbey <chris_abbey@yahoo.com>
3291
3292 * install.cc: install sources into /usr/src instead
3293 of /, also include the sizes of source tarballs
3294 in total_bytes.
3295 * download.cc: include sizes of source tarballs in
3296 total_download_bytes.
3297
3298 Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
3299
3300 * download.cc (get_file_size): Remove `static'.
3301
3302 Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
3303
3304 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
3305
3306 2001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
3307
3308 * choose.cc (paint): Modify message for nothing to download vs
3309 nothing to install/update based on installation method.
3310 (list_click): Modify to skip versions in selection process if
3311 installing from local directory and installation file does not exist.
3312 Also leaves Source Action set to N/A if the source file does not exist
3313 and installing from local directory.
3314 (check_existence): New method to check current existence of installation
3315 files based on selected installation method.
3316 (set_existence): New method to set the current existence of installation
3317 files based on selected installation method.
3318 (best_trust): Modify decision process for best trust to base decision on
3319 current trust selected (IE: Prev, Curr, or Test), existence of file and
3320 installation method selected.
3321 (default_trust): Add logic to capture the current trust level and the
3322 trust selected for the given package.
3323 (set_full_list): Expand decision criteria for displaying a package in
3324 the selection list to include file existence/non-existence and selected
3325 installation method.
3326 (build_labels): Modify criteria for label addition to include
3327 installation method and file existence/non-existence.
3328 (create_listview): Modify to establish package trust level for each
3329 package before setting up the display list. Also modification to set
3330 current trust button as the default.
3331 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
3332 a reset of the selection list in addition to setting the default trust.
3333 (get_package_version): New method to provide reusable code for
3334 determining the package version from the file name for a specified
3335 trust.
3336 (scan2): Modify to use new method get_package_version and
3337 also enhance handling of the build for the structures package and
3338 extra.
3339 (read_installed_db): Modify to use the new method
3340 get_package_version and also enhance handling of the build for the
3341 structures package and extra.
3342 (do_choose): Add additional initialization of package and extra
3343 structures. Modify to use read_installed_db all the time despite
3344 install method. Modify output to setup.log.full log file to increase
3345 readability by adding additional spacing, expanded code and available
3346 versions.
3347 * ini.h: Add new fields install_exists, source_exists and
3348 partial_list_display to the structure definition for package.
3349 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
3350 pushbuttons by replacing with Radio Buttons thus allowing the
3351 operator to better determine which is selected.
3352
3353 2001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
3354
3355 * download.cc (do_download): Add new variables total_download_bytes and
3356 total_download_bytes_sofar for download progress meter. Add loop
3357 to accumulate the total bytes to download from the selected packages.
3358 * geturl.cc: Add state.h and diskfull.h to include list. Add new
3359 variables gw_iprogress, gw_pprogress, gw_progress_text,
3360 gw_pprogress_text, and gw_iprogress_text to allow for addition of
3361 total packages download progress meter and disk full percent
3362 progress meter. Add variables total_download_bytes and
3363 total_download_bytes_sofar for use by progress meters.
3364 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
3365 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
3366 allow for addition of total packages download progress meter and disk
3367 full percent progress meter.
3368 (init_dialog): Ditto.
3369 (progress): Ditto.
3370 (get_url_to_file): Ditto.
3371 * geturl.h: Add external definition for total_download_bytes and
3372 total_download_bytes_sofar.
3373 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
3374 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
3375 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
3376 download meters.
3377 * resource.h: Add new fields for progress meters and text and update
3378 _APS_NEXT_CONTROL_VALUE.
3379
3380 Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
3381
3382 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
3383 for NULL.
3384
3385 Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
3386
3387 * download.cc (download_one): Add missing parenthesis.
3388
3389 Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
3390
3391 * download.cc (get_file_size): New function. Eliminates the need
3392 to call `stat'.
3393 (download_one): Call `get_file_size' instead of `stat'. This
3394 workarounds a problem with mingw's `stat' call.
3395
3396 2001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
3397
3398 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
3399 This is to allow cinstall to build with 2.95.2-7 and to make the
3400 use of headers consistent.
3401
3402 2000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
3403
3404 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
3405
3406 Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
3407
3408 * winsup/cinstall/res.rc: Added accelerators and improved focus
3409 order.
3410
3411 2000-12-10 Egor Duda <deo@logos-m.ru>
3412
3413 * choose.cc (paint): Use system background color for text output.
3414
3415 Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
3416
3417 * Makefile.in: Use CXX for linking and for compiling .cc files.
3418 * configure.in: Find correct c++ compiler.
3419 * configure: Regenerate.
3420
3421 2000-11-17 DJ Delorie <dj@redhat.com>
3422
3423 * splash.cc (load_dialog): Make message more obvious.
3424 * res.rc: Ditto.
3425
3426 Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
3427
3428 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
3429 necessary for newer compilers.
3430
3431 Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
3432
3433 * desktop.cc: Include "ini.h" and "version.h".
3434 (make_passwd_group): Skip the function on 9x/ME boxes when an
3435 older version of Cygwin has been installed which doesn't
3436 support mkpasswd/mkgroup on 9x/ME.
3437 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
3438 * ini.h: ...here.
3439
3440 Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
3441
3442 * desktop.cc (make_passwd_group): Don't exit when started
3443 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
3444
3445 Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
3446
3447 * install.cc (do_install): Add call to set_cygdrive_flags to sync
3448 the mount modes.
3449 * mount.cc (set_cygdrive_flags): New function.
3450 (get_cygdrive_flags): Ditto.
3451 (default_cygdrive): Ditto.
3452 (set_cygdrive_flags): Ditto.
3453 * mount.h: Add prototype for set_cygdrive_flags.
3454
3455 2000-10-23 DJ Delorie <dj@redhat.com>
3456
3457 * ini.h: add source actions
3458 * fromcwd.cc: check for available sources
3459 * res.rc: add checkbox bitmaps
3460 * resource.h: ditto
3461 * check-*.bmp: new
3462 * choose.cc: add source column
3463 * download.cc: download sources if called for
3464 * install.cc: [un]install sources too
3465
3466 2000-10-22 DJ Delorie <dj@redhat.com>
3467
3468 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
3469 ignore it wrt full_list if there's already a version installed.
3470 (do_choose): Sort the list.
3471 (package_sort): New.
3472
3473 2000-10-12 DJ Delorie <dj@redhat.com>
3474
3475 * res.rc: Add more error strings.
3476 * resource.h: Ditto.
3477 * iniparse.y (new_package): re-initialize if needed.
3478 * download.cc (do_download): Keep track of errors; notify and
3479 allow retry.
3480 * install.cc (do_install): Ditto.
3481
3482 2000-10-05 DJ Delorie <dj@redhat.com>
3483
3484 * Makefile.in: fix %.cc rule
3485
3486 2000-10-04 DJ Delorie <dj@redhat.com>
3487
3488 * desktop.cc: quote HOME and USER, don't . ./.profile
3489
3490 * choose.cc (build_labels): don't include in partial list just
3491 because there's a *previous* version available.
3492
3493 * install.cc (do_install): if installing from local directory with
3494 setup.ini and the file isn't found, look in "." also. Note errors.
3495
3496 2000-10-02 DJ Delorie <dj@redhat.com>
3497
3498 * ini.cc (do_ini): save setup.ini locally
3499
3500 2000-10-02 Chris Abbey <cabbey@bresnanlink.net>
3501
3502 * desktop.cc: quote escapes in prompt
3503
3504 2000-10-02 Jason Tishler <jt@dothill.com>
3505
3506 * root.cc (is_admin): New function.
3507 (read_mount_table): Check for administrative priviledges and set
3508 installation scope as appropriate.
3509
3510 2000-09-28 DJ Delorie <dj@redhat.com>
3511
3512 * nio-ftp.cc (ftp_line): handle continuations more robustly
3513
3514 2000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
3515
3516 * res.rc: increased the size of the site dialog (IDD_SITE) & the
3517 corresponding list box to provide for more URL's to be listed.
3518 Modified the position of the Back, Next and Cancel buttons to
3519 correspond to the new size of the dialog.
3520
3521 2000-09-13 DJ Delorie <dj@redhat.com>
3522
3523 * install.cc (do_install): update disk fullness once per package
3524 to improve performance
3525
3526 * choose.cc (create_listview): call ReleaseDC
3527
3528 Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
3529
3530 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
3531 returned, as it seems Samba 2.0.6+ returns this instead of
3532 ERROR_PATH_NOT_FOUND
3533
3534 Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
3535
3536 * site.cc (get_initial_list_idx): Don't default to saved URL if it
3537 refers to sources.
3538
3539 2000-09-07 DJ Delorie <dj@redhat.com>
3540
3541 * splash.cc: use version.h, not local decl
3542 * res.rc: add "old version" message
3543 * resource.h: ditto
3544 * version.h: new
3545 * fromcwd.cc (canonicalize_version): make global
3546 * iniparse.y: add setup-version support, fix bug in blank line
3547 handling
3548
3549 * inilex.l: add [exp] as alias for [test], add setup-version
3550 * Makefile.in (version.c): add setup-version tag
3551
3552 * desktop.cc (do_desktop): remove 1.1 version number
3553 (do_desktop_setup): ditto
3554
3555 * ini.cc (do_ini): zero out package list just in case we redo it.
3556
3557 2000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
3558
3559 * choose.cc (list_click): Check for nindexes==0; if so, return.
3560
3561 2000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
3562
3563 * localdir.cc: new, local package directory selection dialog; cd
3564 into selected directory
3565 * Makefile.in (OBJS): add localdir.o
3566 * dialog.h: add prototype for do_local_dir
3567 * main.cc (WinMain): initialize local_dir to cwd; add call to
3568 do_local_dir
3569 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
3570 * source.cc (dialog_cmd): ditto
3571 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
3572 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
3573 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
3574 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
3575 * state.h: add local_dir variable
3576
3577 2000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
3578
3579 * desktop.cc: added logic to handle to the new dialog and to
3580 default the setting for the new checkboxes based on whether the
3581 desktop icon or start menu link already exist.
3582 (desktop_icon): correction to desktop directories for desktop icon
3583 creation. Additional logic added for Win95 which does not appear
3584 to have Common Directories so if Common selected and null uses
3585 normal directory.
3586 (start_menu): Additional logic added for Win95 which does not
3587 appear to have Common Directories so if Common selected and null
3588 uses normal directory.
3589 (do_desktop_setup): moved the saving of the icon, creation of the
3590 bat file, profile, passwd, Start Menu link and desktop shortcut to
3591 this method from do_desktop. Made the creation of the desktop
3592 icon and start menu link conditional on settings of new dialog
3593 created for desktop.
3594 * install.cc (do_install): changed next from IDD_S_DESKTOP to
3595 IDD_DESKTOP.
3596 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
3597 * res.rc: added new resource to create a desktop dialog with 2
3598 checkboxes for creating the desktop icon and start menu link.
3599 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
3600 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
3601 * state.h: added root_menu and root_desktop for use in dialog.
3602
3603 2000-08-29 DJ Delorie <dj@redhat.com>
3604
3605 * choose.cc (scan_downloaded_files): scan for existing files, so
3606 that the user only sees new downloads.
3607
3608 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
3609 * site.cc (do_site): if we can't download the mirror list, go back
3610 to the net setup box to choose another transport.
3611 * autoload.c: add more functions
3612 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
3613 * resource.h: add WININET message
3614
3615 * net.cc (do_net): no longer default to IE5
3616 * simpsock.h (class SimpleSocket): new, simplify socket operations
3617 * simpsock.cc: ditto
3618 * nio-http.h: new, for direct http protocol
3619 * nio-http.cc: ditto
3620 * nio-ftp.h: new, for direct http protocol
3621 * nio-ftp.cc: ditto
3622 * netio.cc (set_url): move initialization here to handle redirections
3623 (open): add direct http/ftp
3624 * netio.h (NetIO::set_url): new
3625
3626 * log.cc (log_save): create directory for log if needed
3627
3628 * hash.cc, hash.h: new
3629 * Makefile: add hash.o
3630 * choose.cc: enable "uninstall" option
3631 * download.cc: invert action test to accomodate uninstalling
3632 * ini.h: add ACTION_UNINSTALL
3633 * install.cc: add uninstall functionality
3634 * res.rc: make install tag changeable
3635 * resource.h: add uninstall resources
3636
3637 * res.rc: update mirror list URL
3638
3639 2000-08-24 DJ Delorie <dj@redhat.com>
3640
3641 * log.cc, log.h: new files
3642 * Makefile.in (OBJS): add log.o
3643 * tar.cc: use exit_setup instead of exit
3644 * dialog.cc (fatal): use exit_setup instead of ExitProcess
3645 * msg.cc (fatal): ditto
3646 * install.cc (dialog_cmd): ditto
3647 * ini.cc (do_ini): ditto
3648 * main.cc (main): add logging
3649 * source.cc (do_source): ditto
3650 * root.cc (do_source): ditto
3651 * site.cc (do_site): ditto
3652 * other.cc (do_other): ditto
3653 * net.cc (do_net): ditto
3654 * choose.cc (do_choose): ditto
3655 * download.cc (do_download): ditto
3656 * install.cc (do_install): ditto
3657 * msg.cc (fatal): ditto
3658
3659 * res.rc: mark password boxes as *being* password boxes.
3660
3661 * fromcwd.cc (canonicalize_version): use multiple buffers so that multiple
3662 calls won't use the same buffer.
3663 * choose.cc (create_listview): don't default to full list if no changes
3664 (base): return computed value, not temporary :-(
3665 (do_choose): don't use installed.db if we're only downloading.
3666
3667 2000-08-23 DJ Delorie <dj@redhat.com>
3668
3669 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
3670 * nio-ie5.h (flush_io): new
3671 * netio.cc (load_dialog): note when we're initializing the dialog
3672 box, and ignore changes to the edit fields then.
3673
3674 2000-08-21 DJ Delorie <dj@redhat.com>
3675
3676 * README: Update
3677
3678 * fromcwd.cc (found_file): don't remember the canonicalized version
3679
3680 * choose.cc (paint): print "nothing to do" message when list is empty.
3681 (build_labels): Use version "0.0" if no version is available.
3682 (create_listview): default to full list if nothing to install/update.
3683 (base): new, returns basename of file
3684 (read_installed_db): compare base names, not full paths
3685
3686 2000-08-11 DJ Delorie <dj@redhat.com>
3687
3688 * choose.cc: add new chooser dialog
3689 * fromcwd.cc: use IDD_CHOOSE
3690 * ini.cc: use IDD_CHOOSE
3691 * main.cc: use IDD_CHOOSE
3692 * ini.h: cosmetic changes
3693 * res.rc: add choose dialog, bitmaps
3694 * choose-spin.bmp: new
3695 * choose-rtarrow.bmp: new
3696 * resource.h: add choose dialog controls
3697
3698 * mount.cc: remove debug statement
3699
3700 2000-08-08 DJ Delorie <dj@redhat.com>
3701
3702 * Makefile.in (version.c): make version checking more robust
3703 * splash.cc (load_dialog): handle case where there's no version
3704
3705 2000-08-07 DJ Delorie <dj@redhat.com>
3706
3707 * (all): add cvsid tags
3708 * Makefile.in: generate version.c from ChangeLog, add splash.o
3709 * splash.o: new
3710 * res.rc: add splash screen
3711
3712 2000-08-02 DJ Delorie <dj@redhat.com>
3713
3714 * net.cc: remove proxy password code
3715 * res.rc: remove proxy user/pass from net, add auth dialogs
3716 * netio.cc,h: add sys/proxy auth methods
3717 * nio-ie5: use them, check for http status codes
3718 * state.h: add system authorization
3719
3720 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
3721 meaning an url)
3722
3723 2000-08-02 Norman Vine <nhv@yahoo,com>
3724
3725 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
3726
3727 2000-08-01 DJ Delorie <dj@redhat.com>
3728
3729 * postinstall.cc (each): don't rename files we ignore
3730 (do_postinstall): set CYGWINROOT to root_dir, chdir there
3731
3732 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
3733
3734 2000-07-31 DJ Delorie <dj@redhat.com>
3735
3736 * desktop.cc: reverse PATH so /usr/bin precedes /bin
3737
3738 2000-07-18 DJ Delorie <dj@redhat.com>
3739
3740 * autoload.c: new, autoload dlls that might not be available.
3741 * Makefile.in (OBJS): add autoload.o
3742
3743 * res.rc: rewrite root options (text/binary, system/user) to be
3744 more obvious.
3745
3746 * site.cc (get_site_list): trim displayed URL, sort by domain
3747
3748 * net.cc (do_net): make IE5 default to checked, for now
3749
3750 * choose.cc (do_choose): sort packages correctly
3751 * ini.cc (do_ini): handle parse errors more gracefully
3752 (yyerror): ditto
3753 (fprintf): line buffer output
3754 (do_ini): if we can't load setup.ini, go back to the site list.
3755 * ini.h: add "unknown" trust level
3756 * inilex.l: absorb unknown trust levels and key/value pairs,
3757 add line number logic
3758 * iniparse.y: handle parse errors more gracefully.
3759 * install.cc: skip packages with no valid install entry
3760
3761 2000-07-17 DJ Delorie <dj@cygnus.com>
3762
3763 * coding standards fixups, many files
3764 * mkdir.cc: warn about deletions *before* deleting them
3765
3766 2000-07-17 Jeff Juliano <juliano@cs.unc.edu>
3767
3768 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
3769
3770 * other.cc (dialog_cmd): save download site URL
3771 * site.cc (get_root_dir): new
3772 (save_mirror_site): new
3773 (dialog_cmd): save download site URL
3774 (get_site_list): make list big enough to add prev site
3775 (get_initial_list_idx): new, read last-used URL from file and
3776 append it to site_list
3777 (do_site): call get_initial_list_idx
3778
3779 * concat.cc (concat): avoid segfault when first parm is null
3780
3781 2000-07-13 DJ Delorie <dj@cygnus.com>
3782
3783 * postinstall.cc: new
3784 * Makefile.in: add postinstall.o
3785 * concat.h: add backslash ()
3786 * concat.cc: ditto
3787 * desktop.cc (etc_profile): don't do postinstall
3788 (backslash): moved to concat.cc
3789 (uexists): new
3790 (make_postinstall_script): run directly
3791 (do_desktop): chain to do_postinstall
3792 * dialog.h: add exit_msg, do_postinstall
3793 * download.cc: use exit_msg
3794 * install.cc: ditto
3795 * main.cc: add postinstall, exit_msg
3796 * resource.h: add postinstall
3797 * README: add more to-do items
3798
3799 2000-07-12 DJ Delorie <dj@cygnus.com>
3800
3801 * desktop.cc: add /etc/postinstall/ support
3802 * install.cc: add more "standard" directories
3803
3804 2000-07-11 DJ Delorie <dj@cygnus.com>
3805
3806 * desktop.cc: create /etc/profile
3807 * desktop.cc: fix include syntax
3808 * Makefile.in: add auto-dependencies
3809 * root.cc: support system vs user
3810 * desktop.cc: ditto
3811 * mount.h: ditto
3812 * mount.cc: ditto
3813 * install.cc: ditto
3814 * res.rc: ditto
3815 * resource.h: ditto
3816 * state.h: ditto
3817 * desktop.cc: make sure we use backslashes, not slashes.
3818 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
3819 * geturl.cc: change math for percentage to avoid overflow
3820 * install.cc: ditto
3821 * download.cc: post "download complete" message.
3822 * root.cc: pre-fill in defaults if needed, don't start
3823 browse at root_dir unless it's set.
3824 * desktop.cc: quote $PATH in case it has spaces in it
3825
3826 2000-07-10 DJ Delorie <dj@cygnus.com>
3827
3828 * Makefile.in: add desktop.o and mklink2.o
3829 * dialog.h: add do_desktop
3830 * install.cc: create standard directories, call do_desktop
3831 * res.rc: add cygwin.ico as a file also
3832 * desktop.cc: new, do shortcuts, batch files, and icons
3833 * mklink2.c: new, for COM
3834 * README: update to-do list
3835
3836 2000-07-10 DJ Delorie <dj@cygnus.com>
3837
3838 * ini.cc (do_ini): don't worry about timestamps if we're not
3839 actually installing.
3840
3841 2000-07-09 DJ Delorie <dj@cygnus.com>
3842
3843 * Makefile.in: add -I$(srcdir) for ini.h
3844
3845 2000-07-06 DJ Delorie <dj@cygnus.com>
3846
3847 * Replace everything with a new GUI version
3848 * zlib/gzio.c: add gzctell() for progress displays
3849
3850 2000-06-22 DJ Delorie <dj@cygnus.com>
3851
3852 * setup.c (tarx): re-add call to write_pkg()
3853
3854 2000-06-07 DJ Delorie <dj@cygnus.com>
3855
3856 * cygcalls.c: new, call cygwin1.dll functions directly
3857 * cygcalls.h: header for same
3858 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
3859 exes, fix cinstall.rc dependencies.
3860 * path.c: remove unneeded code
3861 * setup.c: use cygcalls instead of xcreate_process.
3862 uncompress embedded files with zlib
3863 add "-d" for "download only"
3864 add "-h" for help
3865 postpone mount changes until very end
3866 add download progress indicators
3867 pack multi-column listings more
3868 auto-delete temp files
3869 customize banner message according to options
3870 prompt user for text/binary mounts
3871 add warnings about empty setup directory, root installs, etc
3872
3873 2000-05-24 DJ Delorie <dj@cygnus.com>
3874
3875 * tar.c: New file; built-in tar using zlib.
3876 * tar.h: New file; header for same.
3877 * ctar.c: New file; test program for same.
3878 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
3879 * path.c (pathcat): convert slashes and canonicalize, instead of aborting
3880 * setup.c (tarx): add support for built-in tar
3881 (main): accept unix-style slashes, check root dir for drive letters,
3882 warn about installing in /, make sure cwd is empty for internet installs,
3883 defer mounts to end of install, support built-in tar.
3884
3885 Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
3886
3887 Fix compiler warnings throughout.
3888 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
3889 get_pkg_stuff.
3890 * setup.c: Make 'root' global.
3891 (istargz): Return pointer to "stem" of matched .tar.gz file.
3892 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
3893 bogus check_for_installed check.
3894 (recurse_dirs): Add preliminary support for .bat file execution.
3895 (create_uninstall): Eliminate unneeded parameter.
3896 (do_start_menu): Ditto.
3897 (mkmount): Ditto.
3898 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
3899 scanning for the version number. Eliminate unneeded argument to
3900 create_uninstall.
3901 (getdownloadsource): Add 'name' to list of names rather than url.
3902 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
3903 unneeded argument in mkmount and do_start_menu.
3904
3905 2000-05-18 DJ Delorie <dj@cygnus.com>
3906
3907 * setup.c (optionprompt): allow multi-column, clean up message
3908 about more options, be more robust about user input.
3909 (getdownloadsource): make the mirror URL a macro.
3910 (main): do mounts after done prompting user.
3911
3912 Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
3913
3914 * setup.c (cleanup): Inverse order of deletion stands a better chance
3915 of deleting cygpath.exe. Still seems to suffer from occasional races,
3916 though.
3917 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
3918 w2k.
3919 (output_file): Defend against an unlikely handle leak.
3920 (main): Don't set up signal handling until we have something special to
3921 do.
3922
3923 Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
3924
3925 * path.c (kill_cygpath): Delete function.
3926 (exit_cygpath): Make more defensive so that it can be called at any
3927 time.
3928 (cygpath_pipe): Don't set up signal here. Do it in main().
3929 * setup.c (istargz): New function.
3930 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
3931 inexplicably fails on samba mounted partitions. Use istargz to match
3932 tar.gz tail.
3933 (processdirlisting) Use istargz to match tar.gz tail.
3934 (cleanup): Renamed from filedel.
3935 (cleanup_on_signal): New function. Called on CTRL-C.
3936 (main): Record handle of main thread so that it can be suspended when
3937 CTRL-C occurs. Set up cleanup_on_signal signal handler.
3938
3939 Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
3940
3941 * setup.c (do_start_menu): Don't concatenate paths to already built
3942 paths.
3943
3944 Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
3945
3946 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
3947 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
3948 that.
3949 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
3950 root"-specific.
3951 * setup.c (filedel): Call exit_cygpath here so that we can be assured
3952 that cygpath subprocess has died. This allows us to delete cygpath.exe
3953 and cygwin1.dll.
3954 (optionprompt): Initialize response to -1 so that second screen of
3955 mirrors will appear.
3956 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
3957 * setup.h: Reflect init_pkgs prototype change.
3958
3959 Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
3960
3961 * pkg.c (init_pkgs): Accept an argument to control what root registry
3962 key should be used.
3963 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
3964 * setup.h: Reflect init_pkgs prototype change.
3965
3966 Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
3967
3968 * error.c (winerror): Respond to gcc warning.
3969 * path.c (cygpath_pipe): Ditto.
3970 * setup.c (filedel): Call sa_cleanup on deleteme.
3971 (create_shortcut): Coerce argument to eliminate compiler warning.
3972 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
3973 (refmatches): New function. Tests if ref is contained in a list of
3974 packages to install.
3975 (filematches): New function. Tests if filename matches one of a list
3976 of packages to install.
3977 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
3978 test to accomodate _tar.gz.
3979 (prompt): Ensure that stdout is flushed prior to asking for input.
3980 (findhref): Initialize variables to quiet a compiler warning.
3981 (processdirlisting): Accept list of packages to install. Special case
3982 cygwin tar file version number.
3983 (downloaddir): Accept list of packages to install.
3984 (downloadfrom): Ditto.
3985 (create_uninstall): Eliminate unneeded variables. Quote arguments to
3986 regtool.
3987 (do_start_menu): Don't create uninstall bat file if updating or user
3988 specified a list of packages.
3989 (mkmount): Eliminate unneeded variables.
3990 (get_pkg_stuff): New function. Checks for previous unversioned
3991 installation.
3992 (main): Accept -u and -f options and package names on the command line.
3993 Use get_pkg_stuff to initialize package information. Umount /etc.
3994 Call recurse_dirs and downloadfrom with list of package to install.
3995 Ensure that all /usr/local directories are created. Output
3996 installation time to setup.log.
3997 * setup.h: Add some prototypes.
3998 * xsystem.c (xcreate_process): Eliminate unneeded variable.
3999
4000 Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
4001
4002 * setup.c (optionprompt): Don't overlap display of already seen options
4003 on next page.
4004 (geturl): Print name of site which we're connecting to rather than "ftp
4005 site".
4006 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
4007 test too simplistic?
4008 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
4009 problems when user chooses x:\ as their root.
4010 (main): For now, default to "non-update" mode. Allow -u option to
4011 signify an update.
4012
4013 Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
4014
4015 * pkg.c: New file.
4016 * setup.c (tarx): Skip already installed or older packages. Report
4017 when a package has been updated.
4018 (processdirlisting): Skip already installed or older packages.
4019 (main): Detect -f option for forced installation. Initialize pkg stuff
4020 if appropriate.
4021 * setup.h: Add pkg definitions.
4022
4023 Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
4024
4025 * setup.c (findhref): Return NULL on empty string. Eat any trailing
4026 ";something".
4027 (processdirlisting): Attempt to limit recursively processing the same
4028 directory.
4029
4030 Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
4031
4032 * setup.c (filedel): New function.
4033 (output_file): Keep track of files extracted from setup.exe for
4034 subsequent deletion.
4035 (tarx): Close process handle of child tar process or suffer handle
4036 leak.
4037 (getdownloadsource): Close mirror file so that it can be unlinked.
4038 (processdirlisting): Return total number of files extracted.
4039 (main): Initialize array of files to delete. Ensure that files are
4040 closed on exit. Make the directory that setup.exe is started from ==
4041 the directory where temporary files are placed. Issue an error if no
4042 files were found to download.
4043 * xsystem.c (xcreate_process): Close the thread handle. Close the
4044 process handle if we waited for it to exit.
4045
4046 Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
4047
4048 * setup.c (main): Change version number output.
4049
4050 Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
4051
4052 * setup.c (tarx): Use full path name to tar executable.
4053 (main): Build full pathname to tar executable. Create /usr/local/etc
4054 by default.
4055
4056 Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
4057
4058 * setup.c (findhref): Change method for scanning for href= to choose
4059 the last one on the line. This is still not foolproof and probably
4060 will need to be changed eventually. Don't abort if no "size" field is
4061 evident.
4062 (processdirlisting): Fix boolean algebra.
4063
4064 Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
4065
4066 * main.c (tarx): Add some code for future task of unmounting
4067 directories encountered in tar file.
4068
4069 Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
4070
4071 * setup.c (findhref): Decode file size, when appropriate.
4072 (needfile): New function. Returns 1 when file should be
4073 downloaded.
4074 (processdirlisting): Always download if file size does not
4075 match. Prompt when download fails for some reason.
4076 (getdownloadsource): Accomodate findhref argument changes.
4077
4078 Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
4079
4080 Throughout, use global session handle rather than reinitializing for
4081 each connect. Don't pass session as an argument to setup.c functions.
4082 * setup.c (geturl): Only issue "Connecting to.." message when using
4083 http or first time for ftp since subsequent connections will be fast.
4084 (processdirlisting): Allocate space for "N" when user has specified
4085 "N"ever option so that it can be subsequently freed.
4086 (main): Abort if we can't get the list of mirrors.
4087
4088 Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
4089
4090 * setup.c (main): Umount /bin and /lib.
4091
4092 Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
4093
4094 * setup.c (main): Create an empty /var/run/utmp.
4095
4096 Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
4097
4098 * Makefile.in: Add umount to list of files to include in setup.exe.
4099 * setup.c (xumount): New function for unmounting directories.
4100 (main): Unmount /usr.
4101 (mkmount): Unmount "unix directory" before trying to figure out where
4102 to create the directory.
4103
4104 Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
4105
4106 * setup.c (mkmount): Use xcreate_process to start mount process,
4107 avoiding the shell.
4108 (main): Don't do buffering on stdout or prompts won't be displayed
4109 correctly if running in a cygwin shell with CYGWIN=tty.
4110
4111 Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
4112
4113 * setup.c (main): Remove the CYGWIN environment variable before
4114 starting any cygwin programs.
4115
4116 Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
4117
4118 * setup.c (geturl): Use alternative method for finding filename part of
4119 a URL.
4120 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
4121 (downloaddir): Unlink file containing dir listing.
4122 (downloadfrom): Ditto.
4123
4124 Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
4125
4126 * setup.c (main): Disallow running setup.exe from the "root".
4127
4128 Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
4129
4130 Use "warning" function, where appropriate, to output warnings.
4131 * setup.c (warning): New function -- outputs warning to console and log
4132 file.
4133 (tarx): Fix index used to reset file protection.
4134 (main): Open the log file earlier so that more stuff can be sent to it.
4135
4136 Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
4137
4138 * setup.c (processdirlisting): Make "N" option a little less aggressive.
4139
4140 Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
4141
4142 * setup.c (tarx): Wait to after tar has completed to reset protections
4143 or suffer races with tar process.
4144
4145 Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
4146
4147 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
4148 * setup.c (create_uninstall): Create the uninstall .bat file in the
4149 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
4150 list of files to be deleted. Fix directory detection for determining
4151 when to use 'rmdir'.
4152 (do_start_menu): Add /usr/local/bin to the path.
4153 (main): Add slop to files.array allocation so that we don't have to
4154 worry about reallocating the array when it grows too large when doing
4155 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
4156 files.
4157
4158 Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
4159
4160 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
4161 download.
4162
4163 Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
4164
4165 * path.c (kill_cygpath): New cleanup function.
4166 (exit_cygpath): New cleanup function.
4167 (cygpath_pipe): New function. Sets up cygpath in the background for
4168 translating filenames.
4169 (pathcvt): Use background cygpath for file translation.
4170 * setup.c (tarx): New function. Called to extract tar files, capture
4171 logging output, and translate it to Windows format.
4172 (recurse_dirs): Use 'tarx' function to extract files.
4173 (create_uninstall): Use file list built up by tarx rather than reading
4174 the log file.
4175 (mkmount): Add ability to mount root.
4176 (main): Track elapsed install time. Mount root.
4177 * starry.h: Add index field to strarry for tracking of tarx's usage of
4178 this structure.
4179 * xsystem.c (xcreate_process): Return proces handle when not waiting.
4180
4181 Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
4182
4183 * path.c: New file.
4184 (pathfp): New function. Preliminary work for new -f cygpath
4185 functionality.
4186 * Makefile.in: Add new file.
4187 (pathcvt): Move to new file.
4188 (dtoupath): Ditto.
4189 (utodpath): Ditto.
4190 (pathcat): Ditto.
4191 * setup.c (processdirlisting): Always open file in text mode.
4192 (create_uninstall): Ditto.
4193 (getdownloadsource): Ditto.
4194 (main): Ditto.
4195
4196 Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
4197
4198 * xsystem.c: New file.
4199 * Makefile.in: Accomodate new file.
4200 * setup.c (xsystem): Move to new file.
4201 (recurse_dirs): Accept handle to output log file. Don't use ">"
4202 redirection to trap tar output. Use supplied handle instead.
4203 (create_uninstall): Accept FILE pointer to opened log file. Don't
4204 unlink log file here.
4205 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
4206 (main): Open log file here and pass it to various functions. Unlink
4207 when done.
4208
4209 Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
4210
4211 Change occurrences of .usr.bin to .bin throughout.
4212 * setup.c (geturl): Increase number of retries to 20. Let user know
4213 what's going on during long connects.
4214 (processdirlisting): Accept "A"lways and "N"ever as update options.
4215 (create_uninstall): Load cygwin1.dll from the current directory rather
4216 than \bin.
4217 (main): Add some expository text.
4218
4219 Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
4220
4221 * Makefile.in: Change method for compressing cygwin1.dll to avoid
4222 creating a cygwin1.dll in the current directory. Ensure the addition
4223 of -nostdinc to MINGW_CFLAGS.
4224
4225 Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
4226
4227 * Makefile.in: Augment clean target.
4228
4229 Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
4230
4231 * README: Added info about non-working mingw implementation
4232 * gzip.exe.gz: Replace with a version from the same build as the other
4233 tools.
4234 * tar.exe.gz: Replace with a version from the same build as the other
4235 tools.
4236 * mount.exe.gz: Add to repository until, mingw can build setup.
4237 * cygpath.exe.gz: ditto
4238 * cygwin1.dll.gz: ditto
4239 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
4240 for Win9x. Display only a screenfull of options at a time. Call all
4241 tools with an absolute path.
4242 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
4243 them.
4244 * setup.dsw: ditto
4245 * zlib.dsw: ditto
4246
4247 Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
4248
4249 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
4250 cygwin1.dll from ../cygwin subdirectory.
4251 * gzip.exe.gz: Update.
4252 * tar.exe.gz: Update.
4253
4254 Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
4255
4256 * Makefile.in: Use ZLIB variable as a target.
4257
4258 Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
4259
4260 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
4261 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
4262 sources.
4263 * configure.in: Locate correct objcopy.
4264 * configure: Regenerate.
4265
4266 Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
4267
4268 * Makefile.in: New file.
4269 * configure.in: New file.
4270 * configure: New file.
4271 * zlib/Makefile.am: New file.
4272 * zlib/configure.in: New file.
4273 * zlib/aclocal.m4: New file.
4274 * zlib/acinclude.m4: New file.
4275 * zlib/configure: Regenerate from configure.in.
4276 * zlib/Makefile.in: Regenerate from Makefile.am
4277
4278 %%% $Id$
4279 $Revision$
This page took 0.227833 seconds and 5 git commands to generate.