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