]> cygwin.com Git - cygwin-apps/setup.git/blame - ChangeLog
Fix typo in ChangeLog.
[cygwin-apps/setup.git] / ChangeLog
CommitLineData
9a8a04fc
BD
12005-05-05 Brian Dessent <brian@dessent.net>
2
37f49caf
BD
3 * choose.cc (ChooserPage::OnInit): Initialize tooltips for this
4 dialog.
5
6 * proppage.h (PropertyPage::makeClickable): Update prototype to
7 reflect same argument name as function.
8
9 * proppage.cc (PropertyPage::DialogProc): Remove redundant 'break'
10 statements that follow 'return's. Add missing braces to case
11 statements. Call handler for TTN_GETDISPINFO.
12
13 * res.rc (IDS_TRUSTKEEP_TOOLTIP): Add new STRINGTABLE entry for
14 tooltip text.
15 (IDS_TRUSTPREV_TOOLTIP): Ditto.
16 (IDS_TRUSTCURR_TOOLTIP): Ditto.
17 (IDS_TRUSTEXP_TOOLTIP): Ditto.
18 (IDS_TRUSTPREV_TOOLTIP): Ditto.
19 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
20
21 * resource.h: Likewise, add identifiers for tooltip resources.
22
23 * window.h: Add includes.
24 (Window::TooltipHandle): Add new private data structure.
25 (Window::TooltipStrings): Ditto.
26 (Window::ActivateTooltips): Define new function to support tooltip
27 functionality.
28 (Window::SetTooltipState): Ditto.
29 (Window::AddTooltip): Ditto.
322281d3 30 (Window::TooltipNotificationHandler): Ditto.
37f49caf
BD
31
32 * window.cc (Window::Window): Initialize handle to NULL.
33 (Window::~Window): Call DestroyWindow on tooltip control if it was
34 activated.
35 (Window::ActivateTooltips): New function to activate the tooltip
36 control.
37 (Window::SetTooltipState): New function to allow toggling of
38 tooltips.
39 (Window::AddTooltip): New function that adds a tooltip to a given
40 control in a given window. Also implement overloaded versions that
41 provide simpler interface and the ability to use a string resource.
42 (Window::TooltipNotificationHandler): New function to handle
43 TTN_GETDISPINFO notification messages.
44
452005-05-05 Brian Dessent <brian@dessent.net>
46
9a8a04fc
BD
47 * resource.h: Reorganize. Group by type, and give each its own
48 range of IDs. Regenerate IDs accordingly.
49 (IDD_CHOOSER): Remove obsolete and unused symbol.
50
9e6e3c68
BD
512005-05-05 Brian Dessent <brian@dessent.net>
52
53 * root.h (class RootPage): Add missing virtual to OnMessageCmd.
54
746fff8d
BD
552005-05-05 Brian Dessent <brian@dessent.net>
56
57 * root.cc (dialog_cmd): Remove. Use OnMessageCmd instead.
58 (RootPage::Create): Accomodate above change.
59
60 * root.h (class RootPage): Add prototype for OnMessageCmd.
61
62 * res.rc (IDD_ROOT): Fix broken button groups. Correct the order of
63 the controls and use of WS_GROUP so that the radio buttons act
64 correctly.
65
d2a3615c
MB
662005-05-05 Max Bowsher <maxb@ukf.net>
67
68 Bulk rename of String++ member cstr_oneuse () to c_str () for
69 similarity to std::string.
70
71 * Exception.cc
72 * IniDBBuilderPackage.cc
73 * IniParseFindVisitor.cc
74 * LogFile.cc
75 * PickCategoryLine.cc
76 * PickPackageLine.cc
77 * PickView.cc
78 * String++.cc
79 * String++.h
80 * archive.cc
81 * cygpackage.cc
82 * desktop.cc
83 * dialog.cc
84 * diskfull.cc
85 * download.cc
86 * filemanip.cc
87 * find.cc
88 * geturl.cc
89 * ini.cc
90 * install.cc
91 * io_stream.cc
92 * io_stream_cygfile.cc
93 * io_stream_file.cc
94 * localdir.cc
95 * mount.cc
96 * nio-http.cc
97 * package_db.cc
98 * package_meta.cc
99 * package_source.h
100 * postinstall.cc
101 * proppage.cc
102 * root.cc
103 * script.cc
104 * site.cc
105 * splash.cc
106 * threebar.cc
107 * window.cc
108
3a8630fd
MB
1092005-05-05 Max Bowsher <maxb@ukf.net>
110
111 Some String++ refactoring, setting out in the general direction of
112 eventually just using the STL std::string, not our own class.
113
114 * String++.cc (String::cstr, String::cstr () const): Remove.
115 (new_cstr_char_array): New function.
116 * String++.h: Sync with above.
117 Remove irrelevant "class io_stream;" declaration.
118
119 * cygpackage.h: Add "class io_stream;" declaration, now no longer
120 being supplied by side-effect.
121
122 * filemanip.cc: Remove unneeded includes, add "using namespace std;".
123 (parse_filename): Exchange some awkward pointer manipulation for
124 std::string usage. Use new_cstr_char_array ().
125 * filemanip.h: Sync with above.
126 (fileparse): Improve style of declaration.
127
128 * io_stream_cygfile.cc (io_stream_cygfile::normalise):
129 Use new_cstr_char_array ().
130 * site.cc (site_list_type::init, get_site_list): Ditto.
131
daab12c7
BD
1322005-05-05 Brian Dessent <brian@dessent.net>
133
03e84729
MB
134 * ControlAdjuster.h (enum ControlPosition): Declare new resizing
135 methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and their
136 TOP/BOTTOM aliases.
daab12c7 137
03e84729
MB
138 * ControlAdjuster.cc (ControlAdjuster::ControlInfo::adjust):
139 Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which are
140 designed to resize elements in a two-column layout.
daab12c7 141
03e84729
MB
142 * localdir.h (class LocalDirPage): Remove constructor implementation
143 from here...
daab12c7 144
03e84729
MB
145 * localdir.cc (LocalDirPage::LocalDirPage): ...to here, and call
146 AddControlsInfo on initialization.
147 (static LocaldirControlsInfo): Add. Define sizing rules for dialog
daab12c7
BD
148 elements.
149
03e84729
MB
150 * proppage.h: Add includes.
151 (PropertyPage::ClickableURL):
152 Declare new storage type for internal use by class.
153 (PropertyPage::urls): Likewise.
154 (PropertyPage::urlWinProc): Add declaration.
daab12c7
BD
155 (PropertyPage::makeClickable): Likewise.
156
03e84729
MB
157 * proppage.cc: Add includes.
158 (PropertyPage::DialogProc): Implement handler for WM_CTLCOLORSTATIC
159 message. Supports static controls that have been turned into
160 clickable hyperlinks.
161 (static PropertyPage::urls): Declare.
162 (PropertyPage::makeClickable): Implement new member function that
163 provides user interface for making text into clickable URLs.
164 (PropertyPage::urlWinProc): Implement new private member function used
165 as a windowproc for subclassing a static control.
166
167 * resource.h (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
168 IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
169 IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
170 IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
daab12c7
BD
171 IDC_STATIC ids, so that controls can be referenced by the resizer.
172
03e84729
MB
173 * res.rc (IDD_LOCAL_DIR): Rearrange controls to match top-down order
174 in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
175 (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC ids.
176 Add descriptive text of each option, and hyperlink for more
177 information. Mark suggested choice as "(RECOMMENDED)". Swap order of
178 'unix'/'dos' radio buttons so that recommended choice is first in both
179 columns.
180 (IDD_SPLASH): Reorder elements to match top-down order of dialog, fold
181 long lines. Add descriptive paragraph, remove anonymous ids. Update
182 copyright text, replace sources.redhat.com with cygwin.com.
daab12c7 183
03e84729 184 * root.h (class RootPage): Remove constructor implementation from
daab12c7
BD
185 here...
186
03e84729
MB
187 * root.cc: ...to here, and call AddControlInfo.
188 (static RootControlsInfo): Add. Populate with resizing data.
daab12c7
BD
189 (RootPage::OnInit): Make text a clickable hyperlink.
190
03e84729 191 * splash.h (class SplashPage): Likewise, move constructor from
daab12c7
BD
192 here...
193
03e84729
MB
194 * splash.cc: ...to here. Call AddControlInfo.
195 (static SplashControlsInfo): Add and populate.
196 (SplashPage::Create): Make link on splash page a clickable hyperlink.
daab12c7 197
03e84729
MB
198 * window.h: Add include.
199 (class Window): Store allocated fonts with a vector instead of fixed
200 array. Change indentation of setParent to be consistent.
daab12c7 201
03e84729
MB
202 * window.cc (Window::Window): Remove FontCounter.
203 (Window::~Window): Likewise. Iterate over vector of fonts instead.
204 (Window::SetDlgItemFont): Use vector.
daab12c7 205
042d83f9
MB
2062005-05-05 Max Bowsher <maxb@ukf.net>
207
208 * Makefile.am (EXTRA_DIST, inilint_SOURCES):
209 Sync with several recent changes.
210
a38fde1a
BD
2112005-05-05 Brian Dessent <brian@dessent.net>
212
03e84729 213 * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
a38fde1a
BD
214 comment.
215
dd267526
BD
2162005-05-05 Brian Dessent <brian@dessent.net>
217
218 * res.rc: (IDC_CHOOSE): Widen 'view' button by 6px horizontally and
219 4px vertically. Adjust other controls to accomodate.
220 (CREATEPROCESS_MANIFEST_RESOURCE_ID): Define so that manifest is
221 included in the binary.
222
223 * setup.exe.manifest: New file. Results in common controls with
224 themed appearance on modern versions of Windows.
225
83524e5b
MB
2262005-05-05 Brian Dessent <brian@dessent.net>
227
03e84729 228 * main.cc (WinMain): Change conditional to avoid spurious error
83524e5b 229 message on success. Include reason for failure in log message.
96f50f64 230
071f7af3
MB
2312005-05-04 Max Bowsher <maxb@ukf.net>
232
233 * state.cc, state.h (net_method, net_proxy_host, net_proxy_port,)
234 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
235 Inet_ftp_user, net_ftp_passwd):
236 Move these global variables to be static variables of the NetIO class.
237
238 * netio.h, netio.cc (net_method, net_proxy_host, net_proxy_port,)
239 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
240 net_ftp_user, net_ftp_passwd):
241 As above.
242
243 * ConnectionSetting.cc, net.cc:
244 Change include, refer to variables in new location.
245
0a49fe44
MB
2462005-05-04 Max Bowsher <maxb@ukf.net>
247
248 * PickLine.cc: Remove file - redundant.
249 * Makefile.am (setup_SOURCES): Adjust.
250
7f3324d2
MB
2512005-05-04 Max Bowsher <maxb@ukf.net>
252
253 * package_version.h (packageversion::set_requirements):
254 Remove deftrust argument default value.
255
2562005-05-04 Max Bowsher <maxb@ukf.net>
2ef95e81
MB
257
258 * package_version.cc (DependencyProcessor): Remove trivial class.
259 (select, processOneDependency): Do not use DependencyProcessor, just
260 pass parameters normally.
261
d20a2e29
MB
2622005-05-04 Brian Dessent <brian@dessent.net>
263
264 Fix bug #820: Clicking Curr, etc., causes some dependencies to not
265 be installed.
266
267 * choose.cc (ChooserPage::changeTrust):
268 Add a missing "packagedb.markUnVisited ()".
269
9bd063e0
MB
2702005-05-03 Max Bowsher <maxb@ukf.net>
271
272 * PickCategoryLine.cc (PickCategoryLine::click):
273 * PickPackageLine.cc (PickPackageLine::click):
274 Abandon use of trivial packagemeta::PrepareForVisit() wrapper.
275
276 * package_meta.h (packagemeta::PrepareForVisit): Remove.
277 * package_meta.cc (packagemeta::PrepareForVisit): Remove.
278
97b50ad7
MB
2792005-05-03 Max Bowsher <maxb@ukf.net>
280
281 * choose.h (ChooserPage::ifChecked): Remove.
282 (ChooserPage::changeTrust): Convert from template to ordinary function.
283 * choose.cc (ChooserPage::changeTrust): As above, plus avoid the use
284 of custom class SetRequirement, when bind2nd(mem_fun(...),...) can
285 achieve the same effect.
286 * package_meta.h (SetRequirement): Remove, now unused.
287
98b84622
MB
2882005-05-03 Max Bowsher <maxb@ukf.net>
289
290 * package_meta.h (packagemeta::set_requirements):
291 Remove default argument which seems inappropriate.
292 * PickPackageLine.cc (PickPackageLine::click):
293 Make an argument explicit, and not that it seems like the wrong value.
294
7c86285f
MB
2952005-05-03 Brian Dessent <brian@dessent.net>
296
297 Fix part of bug #853 - proxy port not remembered.
298
299 * net.cc (doing_loading): New static boolean.
300 (load_dialog): Use the boolean to prevent save_dialog() from taking
301 action due to field changes due to initialization.
302 (save_dialog): Check the boolean and respond appropriately.
303
9ad9a0b0
MB
3042005-04-19 Max Bowsher <maxb@ukf.net>
305
306 * postinstall.cc (RunFindVisitor::visitFile): Fix crash on
307 encountering a postinstall script with a name of 4 characters or less.
308 Bug introduced on 2004-12-25.
309
946198be
MB
3102005-04-05 Max Bowsher <maxb@ukf.net>
311
312 The Big Cleanup: Phase "rfc1738"
313
314 * rfc1738.cc, rfc1738.h: Delete.
315 * csu_util/rfc1738.cc: Reimport latest version from upstream source.
316 Make thread-safe. Rewrite C++ wrapper in terms of std::string.
317 Document the divergences from the upstream source.
318 * csu_util/rfc1738.h: Recreate for the std::string version of the
319 C++ wrapper.
320
321 * Makefile.am (setup_SOURCES): Sync with added/removed files.
322 * IniParseFindVisitor.cc: Modify #includes.
323 (IniParseFindVisitor::visitFile): Change function name, as the new
324 C++ wrapper does not contain an irregularity that the old one did.
325 * download.cc: Modify #includes.
326 * ini.cc: Modify #includes.
327
e76de0f5
MB
3282005-04-05 Max Bowsher <maxb@ukf.net>
329
330 Remove setup's internal compression libraries, instead relying on the
331 mingw-foo packages which have been part of the Cygwin net distribution
332 for some time now. At the same time, reorganize the README file to
333 inform about the change, and make some additional tidy-ups there whilst
334 working there.
335
336 * GUIDELINES: Remove, contents transferred to README.
337 * README: Add build instructions. Delete unconfirmed and fixed bugs
338 sections. Incorporate the former contents of GUIDELINES.
339
340 * bz2lib/: Remove.
341 * zlib/: Remove.
342 * Makefile.am (DIST_SUBDIRS, SUBDIRS):
343 * configure.in: Remove AC_CONFIG_SUBDIRS for removed subdirs.
344 * compress_bz.h: Remove complex _WIN32 preprocessor conditional.
345 * compress_gz.h: Fix #include file name.
346 * archive_tar_file.cc: Remove unused #include.
347 * install.cc: Remove unused #include.
348
069a187a
MB
3492005-01-27 Max Bowsher <maxb@ukf.net>
350
351 Set CYGWIN=nontsec, for postinstall scripts.
352
353 * main.cc (main): putenv("CYGWIN=nontsec").
354
b4cf6208
MB
3552005-01-27 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
356
357 Fix corrupt display of ini parse percentage in log file.
358
359 * ini.cc (GuiParseFeedback): Use a sensible data type for lastpct.
360
eff7a094
MB
3612004-12-29 Max Bowsher <maxb@ukf.net>
362
363 * site.cc (get_site_list): Filter the incoming mirrors list to contain
364 only URL schemes that we can read.
365
2c539780
MB
3662004-12-28 Max Bowsher <maxb@ukf.net>
367
368 The Big Cleanup: Phase "hash"
369
370 * hash.cc, hash.h: Delete.
371 * Makefile.am (setup_SOURCES): Sync with deleted files.
372
373 * package_mets: Modify includes.
374 (standard_dirs): Remove.
375 (hash::add_subdirs): Remove.
376 (packagemeta::uninstall): Re-implement using STL set instead of
377 homebrew hash.
378
4abaa9f9
MB
3792004-12-28 Max Bowsher <maxb@ukf.net>
380
381 * String++.h (operator std::string): Take care to never do
382 std::string((char*)NULL) - it causes a hang!
383
a77b6167
MB
3842004-12-27 Max Bowsher <maxb@ukf.net>
385
386 The Big Cleanup: Phase "log"
387
388 * log.cc, log.h: Delete old C-style compatibility wrapper around the
389 logging subsystem.
390 * Makefile.am (setup_SOURCES): Sync with deleted files.
391
392 * AntiVirus.cc, archive_tar_file.cc, ini.cc, install.cc,
393 * io_stream_cygfile.cc, localdir.cc, msg.cc, net.cc, netio.cc,
394 * netio.h, nio-ftp.cc, nio-ftp.h, root.cc, source.cc:
395 Throughout, refine includes, and update code using the old
396 compatibility wrapper to C++ streams style code.
397
b16e07fc
MB
3982004-12-27 Max Bowsher <maxb@ukf.net>
399
400 * compress.cc: Refine includes. Remove placeholder function
401 definitions. Make destructor an empty function.
402 * compress.h: Refine includes. Make placeholder functions pure
403 virtual. Add missing const on buffer argument to write function,
404 to match derived classes.
405 * compress_bz.cc, compress_gz.cc: Refine includes. Throw exception,
406 rather than logging and returning an error, when an unimplemented
407 function is called.
408 * compress_bz.h, compress_gz.h: Refine includes.
409
2b734ec7
MB
4102004-12-26 Max Bowsher <maxb@ukf.net>
411
412 The Big Cleanup: Phase "version"
413
414 * String++.h (operator std::string): Add.
415 * desktop.cc, fromcwd.cc: Remove irrelevant include.
416
417 * version.cc, version.h: Delete, replacing all functionality in new
418 files.
419
420 * setup_version.h: Add, taking over declaration of generated version
421 symbol functionality.
422
423 * Makefile.am (setup_SOURCES): Sync with new/deleted files.
424 (setup_version.c): Rename the symbol 'version' to 'setup_version'.
425 * main.cc: Modify includes.
426 (main): Adapt to setup_version rename.
427 * splash.cc: Modify includes.
428 (SplashPage::OnInit): Adapt to setup_version rename.
429
430 * csu_util/version_compare.cc, csu_util/version_compare.h: Add,
431 containing a completely rewritten replacement for canonical_version().
432
433 * IniDBBuilderPackage.cc: Modify includes.
434 (IniDBBuilderPackage::buildVersion): Use new version_compare API.
435 * ini.cc: Modify includes.
436 (setup_version): Rename...
437 (ini_setup_version): ...to this.
438 (do_local_ini, do_remote_ini): Adapt to above change.
439 (do_ini_thread): Adapt to above change. Use new version_compare API.
440
0f45aabe
MB
4412004-12-25 Max Bowsher <maxb@ukf.net>
442
443 * install.cc (Installer::installOneSource): Remove a stray "break;"
444 left over from the switch-case -> if-else conversion in the previous
445 change.
446
4875ac88
MB
4472004-12-25 Max Bowsher <maxb@ukf.net>
448
449 The Big Cleanup: Phase "win32"
450
451 * win32.h: Major overhaul. Document why we use _WIN32_IE. Move out
452 fragment dealing with alloca() to the single file in which it is used.
453 Remove fragment dealing with _MAX_PATH, and convert all uses of it
454 elsewhere to MAX_PATH. Remove random include of <stdarg.h>. Remove
455 NOCOMATTRIBUTE, as setup contains no code which it affects. Remove
456 includes of <wininet.h> and <windowsx.h> - see later in this log.
457 (IsWindowsNT): New inline function, a much simpler implementation of
458 Win32::OS().
459
460 * win32.cc: Delete.
461
462 * Makefile.am (setup_SOURCES): Remove "win32.cc".
463
464 * AntiVirus.cc (detect), PickPackageLine.cc (PickPackageLine::paint),
465 * install.c (Installer::installOneSource):
466 Use IsWindowsNT(), not Win32::OS().
467 * main.cc (main): Use IsWindowsNT(), not locally defined iswinnt.
468
469 * PickView.cc (PickView::WindowProc), netio.cc (auth_proc),
470 * proppage.cc (PropertyPage::DialogProc):
471 Avoid using obfuscating macros from <windowsx.h>.
472
473 * archive.cc: Include or #define alloca() in the only file in which
474 it is used.
475
476 * nio-ie5.h: Include <wininet.h> here, where it is actually needed,
477 rather than in "win32.h" which is included almost everywhere.
478
479 * archive_tar.cc, archive_tar.h, cygpackage.cc, cygpackage.h,
480 * desktop.cc, find.cc, install.cc, main.cc, mklink2.c, mount.cc,
481 * script.cc: Use MAX_PATH, not _MAX_PATH.
482
f4a981ab
MB
4832004-12-25 Max Bowsher <maxb@ukf.net>
484
485 Remove some overcomplications.
486
487 * Makefile.am (setup_SOURCES): Remove FilterVisitor.{cc,h}.
488 * FilterVisitor.cc, FilterVisitor.h: Delete.
489 * String++.cc (strmatch, String::matches): Remove.
490 * String++.h (String::matches): Remove.
491 * postinstall.cc: Do not include "FilterVisitor.h".
492 (RunFindVisitor): Exclude items with the extension ".done".
493 (do_postinstall_thread): Remove overcomplicated exclusion of items
494 with the extension ".done".
495
768d880e
MB
4962004-12-24 Max Bowsher <maxb@ukf.net>
497
498 * String++.cc, String++.h: Remove unused and incomplete code.
499 * LogFile.cc (LogFile::log_save): Don't leak memory.
500 * filemanip.cc, geturl.cc, root.cc, version.cc:
501 Don't pointlessly create temporary copies strings.
502
db165a9a
MB
5032004-12-23 Max Bowsher <maxb@ukf.net>
504
505 * choose.cc (ChooserPage::OnNext): Relegate some overly verbose
506 logging to an #ifdef DEBUG section.
507 * geturl.h (dismiss_url_status_dialog): Remove stale function
508 declaration, for which there is no definition.
509 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
510 Motivated by the recent unexplained hang bug, add some extra logging.
511
0229b1d7
MB
5122004-11-22 Max Bowsher <maxb@ukf.net>
513
514 * MD5++.cc, MD5++.h: Remove this class.
515 * csu_util/MD5Sum.cc, csu_util/MD5Sum.h: New more complete MD5 class.
516 * Makefile.am (setup_SOURCES): Adjust to new files.
517 * download.cc (validateCachedPackage): Simplify, using the new class.
518 * install.cc (md5_one): Ditto.
519 * package_source.h (packagesource::md5): Change to be an object of the
520 new class.
521
2c4261a8
MB
5222004-11-22 Max Bowsher <maxb@ukf.net>
523
ba102d1c
MB
524 * main.cc (main): Fix bug in one of the 2004-11-19 commits.
525 Avoid referring to the theLog pointer before it is set.
2c4261a8 526
9132ff16
MB
5272004-11-20 Max Bowsher <maxb@ukf.net>
528
529 * res.rc (IDD_SOURCE): Clarify the radio-button option descriptions.
530 Re-layout the radio buttons.
531
6beebaa3
MB
5322004-11-20 Max Bowsher <maxb@ukf.net>
533
534 Repair the broken detection of wrongly-sized package files.
535
536 * download.cc (validateCachedPackage): Make static, since not used
537 elsewhere. Improve logging. Migrate file-size tests to here, alongside
538 the MD5 tests.
539 (check_for_cached): Remove broken testing of file-size, now covered by
540 the above. Code cleanups.
541
54ff37c8
MB
5422004-11-19 Max Bowsher <maxb@ukf.net>
543
544 * package_version.cc (dumpAndList): Make dependencies much more
545 readable in full log output.
546
4d7a6eeb
MB
5472004-11-19 Max Bowsher <maxb@ukf.net>
548
549 * proppage.cc (PropertyPage::DialogProc): Wrap in a TOPLEVEL_CATCH
550 block, since allowing exceptions to unwind into the guts of Windows is
551 quite disasterous.
552
c66b9174
MB
5532004-11-19 Max Bowsher <maxb@ukf.net>
554
555 * main.cc (main): Move option parsing code earlier - it must execute
556 before any significant object creations, which might test options in
557 their initialization.
558
82b64f8a
MB
5592004-11-19 Max Bowsher <maxb@ukf.net>
560
561 * main.cc (main): Remove some junk code - either commented out, or
562 contained within unreachable preprocessor conditional sections.
563
4fa49408
MB
5642004-11-19 Max Bowsher <maxb@ukf.net>
565
566 * install.cc (Installer::installOneSource): Avoid leaking the open
567 file handles of every tarball that is installed.
568
0e9a5c4f
MB
5692004-11-19 Max Bowsher <maxb@ukf.net>
570
571 * package_source.h (packagesource::Canonical, packagesource::Base)
572 (packagesource::Filename): Add "const" specification to accessor
573 methods.
574
6b68e703
MB
5752004-11-18 Max Bowsher <maxb@ukf.net>
576
577 * archive.h (archive::~archive): Define a pure virtual destructor to
578 enforce the abstract nature of this class.
579 * archive.cc (archive::~archive): Pure virtual destructors require an
580 implementation! Add one.
581 * io_stream.h (io_stream::destroyed): Remove this severely
582 brain-damaged implementation of a weakly-enforced abstract class.
583 The pure virtual destructor was strongly enforcing the abstract nature
584 anyway.
585 * io_stream.cc (io_stream::~io_stream): Empty out horribly pointless
586 code from the pure virtual destructor.
587 * archive_tar.cc (archive_tar::~archive_tar): Remove all
588 reference to the removed "destroyed" member.
589 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
590 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
591 * compress_gz.cc (compress_gz::~compress_gz): Ditto.
592 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Ditto.
593 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
594 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
595
51200ef2
MB
5962004-11-17 Max Bowsher <maxb@ukf.net>
597
598 * mount.cc (create_mount): Fix operator precedence error introduced in
599 first 2004-11-11 commit - warned of by gcc 3.3.3 but not 3.4.1 !
600
f5d45c3b
MB
6012004-11-13 Max Bowsher <maxb@ukf.net>
602
603 Miscellaneous cleanup.
604
605 * geturl.cc (getUrlToStream): Make static.
606 * geturl.h (getUrlToStream): Remove declaration.
607
608 * geturl.cc, geturl.h, netio.cc, netio.h, nio-ftp.cc, nio-ftp.h,
609 nio-http.cc, nio-http.h:
610 Remove unused "allow_ftp_auth" flag throughout.
611
f4d80c3f
MB
6122004-11-11 Max Bowsher <maxb@ukf.net>
613
614 * libmd5-rfc: New directory, to hold code imported from the libmd5-rfc
615 project in a clearly delineated fashion.
616 * libmd5-rfc/README: New file.
617 * md5.c, md5.h: Delete...
618 * libmd5-rfc/md5.c, libmd5-rfc/md5.h: ...and replace with pristine
619 versions from upstream (only change is restoration of upstream CVS
620 keyword expansions).
621 * libmd5-rfc/md5main.c: New file.
622 * Makefile.ami (setup_SOURCES): Edit file paths.
623 * download.cc, install.cc: Edit include paths.
624
68d49419
MB
6252004-11-11 Max Bowsher <maxb@ukf.net>
626
627 * dialog.cc (fatal): Make capable of handling a passed-in error code,
628 as an alternative to calling GetLastError().
629 * dialog.h (fatal): Adjust prototype as above.
630 * mount.cc (create_mount): Use the above to correctly report errors.
631
af111c7d
MB
6322004-10-28 Max Bowsher <maxb@ukf.net>
633
634 * LogFile.cc (LogFile::getFileName), splash.cc (SplashPage::Create),
635 threebar.cc (ThreeBarProgressPage::SetBar2):
636 Migrate from cistring and string resources
637 to String and string literals.
638 * localdir.cc: Remove unneeded #include of "cistring.h".
639 * cistring.cc, cistring.h: Remove this now-redundant class.
640 * Makefile.am: Remove mention of the above removed files.
641 * res.rc, resource.h: Remove obsolete strings and IDs, both those
642 obseleted by and obselete before the above changes.
643 * res.rc: Merge the 2 adjacent STRINGTABLEs.
644
8a264069
MB
6452004-10-27 Max Bowsher <maxb@ukf.net>
646
647 * Makefile.am (setup_SOURCES): Add "RECTWrapper.h". It was missing.
648
b4b8ab8d
MB
6492004-10-25 Bas van Gompel <cygsup-patch.buzz@bavag.tmfweb.nl>
650
651 * package_source.cc (packagesource::set_canonical):
652 Fix one-off in 'base' when ini is in same dir as package.
653
49560a44
MB
6542004-10-25 Max Bowsher <maxb@ukf.net>
655
656 * main.cc (next_dialog): Remove this legacy global variable.
657 * download.cc (do_download_thread): Return a value instead of setting
658 a global variable, then returning void.
659 (do_download_reflector): Look for the next dialog code as a return
660 value instead of a global variable.
661
99ff5a8b
MB
6622004-10-25 Max Bowsher <maxb@ukf.net>
663
664 * port.h: Remove this redundant file - all contained definitions are
665 duplicated in "win32.h".
666 * Makefile.am, UserSetting.cc, UserSettings.cc, archive.cc,
667 archive_tar.cc, archive_tar_file.cc, choose.cc, compress.cc,
668 compress_bz.cc, compress_gz.cc, desktop.cc, find.cc, fromcwd.cc,
669 iniparse.y, install.cc, io_stream_cygfile.cc, io_stream_file.cc,
670 main.cc, netio.cc, site.cc, version.cc:
671 Remove all references to "port.h".
672
46d04e97
MB
6732004-10-25 Max Bowsher <maxb@ukf.net>
674
675 Fix compilation with w32api 3.1 and later.
676
677 * ControlAdjuster.h, RECTWrapper.h, cistring.h, propsheet.h,
678 window.cc, window.h: Include "win32.h" not <windows.h> directly.
679 * win32.h (WINBASEAPI): Define to empty string.
680
5524909e
IP
6812004-09-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
682
683 * script.cc (run): Kill stdin when running scripts.
684
84b9cc5e
MB
6852004-09-01 Max Bowsher <maxb@ukf.net>
686
687 * Makefile.am: Oops. Unwanted keyword expansion ate the code of the
688 previous commit. Restore the code, escaped to not look like a keyword.
689
012374fe
MB
6902004-09-01 Max Bowsher <maxb@ukf.net>
691
692 * Makefile.am: Simplify the shell incantation for getting the revision
693 of ChangeLog from grep-and-sed to just sed.
694
b4113ac0
MB
6952004-08-31 Max Bowsher <maxb@ukf.net>
696
697 Attain GCC 3.4 compatibility.
698
699 * PackageSpecification.h (PackageSpecification): Make the
700 unnecessarily private copy-constructor public.
701
fc2ba841
MB
7022004-08-30 Max Bowsher <maxb@ukf.net>
703
704 Rework the implementation of not including -Werror for specific files,
705 to a way that does not require hardcoding modified automake output back
706 into its input.
707
708 * Makefile.am (AM_CXXFLAGS, BASECXXFLAGS): Seperate out -Werror.
709 (autoload.o): Drop this rule, -finline-functions is no longer required
710 and -Werror is acceptable here now we have __attribute__ ((used)).
711 (WARNONLY_CFLAGS, inilex.o): Drop these.
712 (EXTRA_PROGRAMS): Add a fake "warnonly" program.
713 (warnonly_CXXFLAGS): Set to the $(BASECXXFLAGS).
714 (warnonly_SOURCES): Set to "inilex.cc".
715 (EXTRA_setup_SOURCES): Set to $(warnonly_SOURCES).
716 (setup_SOURCES): Remove "inilex.cc".
717 (setup_LDADD): Add "warnonly-inilex.o".
718
d3c2a043
MB
7192004-08-30 Max Bowsher <maxb@ukf.net>
720
721 Move closer to GCC 3.4 compatibility.
722
723 * IOStreamProvider.h, io_stream_cygfile.cc, io_stream_cygfile.h,
724 io_stream_file.cc: Do not incorrectly use "enum" after it has been
725 hidden inside a typedef.
726 * archive.h: In "virtual func() = 0;", the 0 is a language construct,
727 not some symbol that might evaluate to 0, and gcc 3.4 enforces this.
728 * autoload.c (DllInfo.name): Silence warning by making const.
729 (DLL, autoload_common): __attribute__ ((used)) is now required to
730 prevent gcc being over-eager in it's optimization, and removing these
731 seemingly-unused (used only from assembly) functions.
732 Silences some warnings, too.
733 * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): The options
734 -Wstrict-prototypes -Wmissing-prototypes do not apply to C++ and
735 g++ 3.4 complains about them.
736
072fb49a
MB
7372004-08-29 Max Bowsher <maxb@ukf.net>
738
739 * Exception.h: Reformatting, #include more, remove incorrect and
740 less-than-useful comments.
741 (TOPLEVEL_CATCH): New preprocessor macro.
742
743 * LogFile.cc (LogFile::operator()): Throw an exception object, not a
744 char* string.
745
746 Wrap the top-level of each thread (including the main thread) in a
747 try...catch block, in order to display a useful error message if an
748 exception is not caught.
749 * download.cc (do_download_reflector): Here ...
750 * ini.cc (do_ini_thread_reflector): ... and here ...
751 * install.cc (do_install_reflector: ... and here ...
752 * main.cc (main): ... and here ...
753 * postinstall.cc (do_postinstall_thread): ... and here ...
754 * site.cc (do_download_site_info_thread): ... and here!
755
756 * msg.h: Include a missing header requirement.
757 * res.rc (IDS_UNCAUGHT_EXCEPTION, IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO):
758 New strings.
759 * resource.h (IDS_UNCAUGHT_EXCEPTION)
760 (IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): New IDs.
761
56c41dda
MB
7622004-08-28 Max Bowsher <maxb@ukf.net>
763
764 * res.rc (IDS_WINDOW_INIT_BADMSG): New string.
765 * resource.h (IDS_WINDOW_INIT_BADMSG): New string resource ID.
766 * window.cc (Window::FirstWindowProcReflector): Convert an abort()
767 into a descriptive error.
768
abdd4b38
MB
7692004-08-24 Max Bowsher <maxb@ukf.net>
770
771 The Doug Lee replacement malloc was no longer hooked up with the
772 buildsystem in any way. Pruning the remaining unused file.
773
774 * dlmalloc.c: Removed.
775
24649384
MB
7762004-08-18 Max Bowsher <maxb@ukf.net>
777
778 "librsync is not wire-compatible with rsync 2.x, and is not likely
779 to be in the future." -- librsync.sourceforge.net
780
781 So, it is of no practical use to setup. Therefore, removing all
782 rsync related files and code from setup.
783
784 * rsync: Directory removed.
785 * Makefile.am: Remove rsync support from the buildsystem.
786 * configure.in: Ditto.
787 * README: Since it seems vanishingly unlikely that it will ever happen,
788 remove rsync support from the wishlist.
789 * io_stream_rsync.cc: Remove.
790 * io_stream_rsync.h: Remove.
791
2800a92a
RC
7922004-04-25 Robert Collins <rbtcollins@hotmail.com>
793
24649384
MB
794 * package_meta.cc (packagemeta::set_requirements): fix problem with
795 libpcre0 not being pulled in automatically.
2800a92a 796
304e9816
RC
7972004-04-25 Robert Collins <rbtcollins@hotmail.com>
798
24649384
MB
799 * IniDBBuilderPackage.cc (dumpAndList):
800 Move out to packageversion for reuse.
304e9816 801 * package_meta.cc (packagemeta::logAllVersions): log dependencies.
24649384
MB
802 * package_version.cc (packageversion::depends):
803 provide a const accessor.
304e9816
RC
804 (dumpAndList): Moved from INIDBBuilder.cc.
805 * package_version.h: declare new method and function.
806
5419ce48
RC
8072003-12-21 Robert Collins <rbtcollins@hotmail.com>
808
809 * main.cc (main): Update to head libgetopt++ syntax.
810
201741b7
RC
8112003-11-2 Robert Collins <rbtcollins@hotmail.com>
812
813 * ControlAdjuster.h (ControlPosition::CP_MIDDLE): Rename to
814 CP_CENTERED.
815 * ControlAdjuster.cc: Ditto.
816
081bf320
RC
8172003-10-31 Frank Richter <frichter@gmx.li>
818
819 * localdir.cc (OnNext): When SelectDirectoryA() fails, display a
820 message with the error returned from the system instead of just
821 'could not change dir'. Also, offer the user to 'Retry', 'Ignore' the
822 error or 'Abort' the directory change.
823
4b6e5406
RC
8242003-10-31 Frank Richter <frichter@gmx.li>
825
826 * propsheet.cc (PropSheetWndProc): Don't do child resizing if a the
827 window gets minimized. Otherwise some glitches (e.g. wrong child
828 sizes) occur.
829 Added support for WM_GETMINMAXINFO. Prevents the property sheet from
830 getting smaller than the original size.
831
576a2b0b
RC
8322003-11-1 Robert Collins <rbtcollins@hotmail.com>
833
834 * ControlAdjuster.h (ControlDimension): Add.
835 (ControlAdjuster): Factor adjust functionality into ControlInfo.
836 * ControlAdjuster.cc (ControlAdjuster::adjust): Ditto.
837 (ControlAdjuster::ControlInfo::adjust): Ditto.
838
a8d753b6
RC
8392003-10-31 Igor Pechtchanski <pechtcha@cs.nyu.edu>
840
841 * ControlAdjuster.h (ControlPosition): New enum type.
842 (ControlInfo::horizontalPos, ControlInfo::verticalPos): New
843 instance variables.
844 (ControlInfo::anchorLeft, ControlInfo::anchorTop,
845 ControlInfo::anchorRight, ControlInfo::anchorBottom): Remove.
846 * ControlAdjuster.cc (ControlAdjuster::AdjustControls): Switch to
847 using position specifiers instead of anchors.
848 * choose.cc (ChooserControlsInfo): Ditto.
849 * proppage.cc (DefaultControlsInfo): Ditto.
850 * propsheet.cc (PropSheetControlsInfo): Ditto.
851 * site.cc (SiteControlsInfo): Position specifiers for site
852 selection dialog controls.
853 * threebar.cc (ThreeBarControlsInfo): Position specifiers for
854 progress dialog controls.
855
c9feb168
RC
8562003-10-27 Ralf Habacker <ralf.habacker@freenet.de>
857
858 * main.cc (HelpOption): New instance.
859 (main): Added help command line option handling.
860 * localdir.cc (LocalDirOption): New instance.
861 (LocalDirSetting::load): allow setting localdir from command line.
862
ee91d9be
RC
8632003-10-16 Frank Richter <frichter@gmx.li>
864
865 * ControlAdjuster.cc: New file, helper to move elements of a dialog
866 along when the it's resized.
867 * ControlAdjuster.h: Ditto.
868 * Makefile.am: Add new source files.
869 * proppage.cc (PropertyPage::DialogProc): Adjust some common
870 controls (Cygwin icon top right, separator below) when a page is
871 resized.
872 (PropertyPage::PropertyPage): Dito.
873 * propsheet.cc (IsDialog): New. Test whether a window is a dialog.
874 Used internally by resize logic.
875 (EnumPages): New. Used internally by resize logic: resizes the
876 property sheet's individual pages.
877 (PropSheetWndProc): New. Hook for the propery sheet window proc.
878 (PropSheetProc): More style tweaks, add maximize box and thick border
879 as well. Hook into the property sheet's window proc.
880 (PropSheet::AdjustPageSize): New. Adjust the metrics of a single page
881 to fit nicely into the property sheet. Part of resize logic.
882 * res.rc (All dialogs): The top-right Cygwin icon and top separator
883 now have IDs distinct from IDC_STATIC, so their metrics can be
884 adjusted upon a resize. Also, all those Cygwin icons are at the exact
885 same spot now.
886 * choose.cc (ChooserPage::ChooserPage): Now the controls on the
887 chooser page move/size when the page size is changed.
888 * choose.h: Dito.
889
1622a084
RC
8902003-10-23 Jerry D. Hedden <jerry@hedden.us>
891
892 * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings.
893 (ConnectionSetting::save): Save proxy settings.
894
7f6de8c0
RC
8952003-10-07 Robert Collins <rbtcollins@hotmail.com>
896
897 * proppage.h (PropertyPage::wantsActivation): const correctness fix.
898
587a67fc
MB
8992003-08-19 Max Bowsher <maxb@ukf.net>
900
901 * win32.h: Define NOMINMAX only if not already defined - because
902 libstdc++-v3 3.3.1 defines NOMINMAX itself.
903
58b12a06
MB
9042003-08-03 Max Bowsher <maxb@ukf.net>
905
906 * ChangeLog: Fix broken line-wrapping throughout. Clarify that
907 "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs.
908
56a7c49e
MB
9092003-08-03 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
910
911 * propsheet.cc (Copyright): Update copyright dates.
912 (PropSheet::PropSheet): Remove NumPropPages initialization.
913 (PropSheet::CreatePages): Use PropertyPages.size() instead of
914 NumPropPages.
915 (PropSheet::Create): Ditto.
916 (PropSheet::AddPage): Change to use new PropertyPages std::vector<>.
917 * propsheet.h (Copyright): Update copyright dates.
918 (File Scope): Include <vector>.
919 (PropSheet::PropertyPages): Change from array to vector<>.
920 (PropSheet::NumPropPages): Remove.
921
25130a4d
MB
9222003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
923
924 Changes modified by Max Bowsher <maxb@ukf.net>
925 * splash.cc (Copyright): Update copyright dates.
926 (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in
927 base class.
928 * proppage.h (PropertyPage::setTitleFont): Declare.
929 * proppage.cc (Copyright): Update copyright dates.
930 (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code,
931 including that from splash.cc into new function...
932 (PropertyPage::setTitleFont): Create, using moved code. Change font
933 "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change.
934 Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of
935 style for future "Finished" page.
936
62489576
MB
9372003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
938
939 * propsheet.cc: Include "resource.h".
940 (PropSheet::Create): Add the Cygwin icon in the left of the title bar.
941
106d8160
MB
9422003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
943
944 * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment.
945
5296fc07
MB
9462003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
947
948 * proppage.h (Copyright): Update copyright dates.
949 (PropertyPage): Document OnNext and OnBack.
950
5039f845
MB
9512003-07-31 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
952
953 * proppage.cc (PropertyPage::Create): Use more self-documenting
954 MAKEINTRESOURCE() instead of cast to LPCSTR.
955
672d28ad
RC
9562003-07-31 Robert Collins <rbtcollins@hotmail.com>
957
958 * README: Mark completed items complete.
959
c59b8da6
MB
9602003-07-31 Pierre Humblet <pierre.humblet@ieee.org>
961
962 * main.cc (set_default_sec): Set token owner from token user.
963 Always try to set the token primary group to Users or Admins.
964
25e21380
IP
9652003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
966
967 * String++.h (String::replace): New instance functions.
968 * String++.cc (String::replace): Implement.
969 * filemanip.cc (backslash): Change to use String::replace.
970 * desktop.cc (make_cygwin_bat): Escape '%' in path.
971
346627e7
IP
9722003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
973
974 * String++.h (TOSTRING): New macro.
975 * UserSettings.cc (UserSettings::deRegisterSetting): Fix
976 erroneous __LINE__/__FILE__ usage.
977 * download.cc (validateCachedPackage, check_for_cached): Ditto.
978 * geturl.cc (getUrlToStream): Ditto.
979 * install.cc (md5_one): Ditto.
980
d9f4a2ba
MB
9812003-07-30 Max Bowsher <maxb@ukf.net>
982
983 * ini.cc (do_ini_thread): Return bool.
984 (do_ini_thread_reflector): Put returned bool in lParam.
985 * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new
986 meaning of lParam. Replace erroneous use of do_fromcwd with
987 SetActivePageByID (IDD_SOURCE).
988
39b42ff3
RC
9892003-07-30 Robert Collins <rbtcollins@hotmail.com>
990
991 * ConnectionSetting.cc: New file, persist connection type selection.
992 * ConnectionSetting.h: Ditto.
993 * net.cc: Hold a ConnectionSetting instance to trigger the logic.
994 (NetPage::OnInit): Don't force net_method to any value.
995 * Makefile.am: Add new source files.
996
6ff96351
RC
9972003-07-30 Robert Collins <rbtcollins@hotmail.com>
998
999 * SourceSetting.cc: New file, persist source selection.
1000 * SourceSetting.h: Ditto.
1001 * source.cc: Hold a Source setting instance to trigger the logic.
1002 * Makefile.am: Add new source files.
1003
f0fd8856
RC
10042003-07-30 Robert Collins <rbtcollins@hotmail.com>
1005
1006 * UserSettings.h (UserSettings::settingFileForLoad): Extracted method
1007 from LocalDirSetting::load().
1008 * UserSettings.cc (UserSettings::settingFileForLoad): Ditto.
1009 * UserSettings.h (UserSettings::settingFileForSave): Extracted method
1010 from LocalDirSetting::save().
1011 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
1012 * localdir.cc (LocalDirSetting::load): Extract location logic to
1013 UserSettings.
1014 (LocalDirSetting::save): Extract location logic to UserSettings.
1015 * site.cc (SiteSetting::getSavedSites): Use
1016 UserSettings::settingFileForLoad.
1017 (SiteSetting::save): Use UserSettings::settingFileForSave.
1018
bb8e2353
RC
10192003-07-30 Robert Collins <rbtcollins@hotmail.com>
1020
1021 * PickView.cc: Adjust ::GetClientRect(..) to the inherited one
1022 throughout.
1023
b28e9f01
MB
10242003-07-29 Max Bowsher <maxb@ukf.net>
1025
1026 Based on a patch by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
1027 * AntiVirus.cc (AntiVirusPage::wantsActivation): Define.
1028 * AntiVirus.h (AntiVirusPage::wantsActivation): Declare.
1029 * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by
1030 RootPage::wantsActivation.
1031 * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(),
1032 and skip to next page in sequence if activation is refused.
1033 * proppage.h (PropertyPage::wantsActivation): Default implementation.
1034 * root.cc (RootPage::wantsActivation): Define.
1035 * root.h (RootPage::wantsActivation): Declare.
1036 * source.cc: Don't include "AntiVirus.h".
1037 (SourcePage::OnNext): Remove logic subsumed by
1038 RootPage::wantsActivation.
1039 (SourcePage::OnBack): Remove logic subsumed by
1040 AntiVirusPage::wantsActivation.
1041 * splash.cc: Don't include "AntiVirus.h" or "dialog.h".
1042 (SplashPage::OnNext): Remove - subsumed by
1043 AntiVirusPage::wantsActivation.
1044 * splash.h (SplashPage::OnNext): Remove declaration.
1045
ec2dbbf0
RC
10462003-07-29 Robert Collins <rbtcollins@hotmail.com>
1047
1048 * PickView.h (PickView::refresh): New method.
1049 * PickView.cc (PickView::refresh): Extracted from various
1050 ChooserPage callers.
1051 * choose.cc: Use PickView::refresh wherever possible.
1052
bc16bb7d
RC
10532003-07-29 Robert Collins <rbtcollins@hotmail.com>
1054
1055 * choose.h (ChooserPage::createListView): Remove last parameter.
1056 (ChooserPage::getDefaultListViewSize): Extracted method.
1057 * choose.cc (ChooserPage::createListView): Remove last parameter.
1058 (ChooserPage::getDefaultListViewSize): Extracted method.
1059
952ea3fe
RC
10602003-07-29 Robert Collins <rbtcollins@hotmail.com>
1061
1062 * choose.cc (ChooserPage::createListView): Remove unneeded
1063 parameter.
1064 * choose.h: Ditto.
1065
55c6e691
MB
10662003-07-29 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1067
1068 * dialog.h (do_fromcwd): Change function declaration.
1069 * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate
1070 use of next_dialog, return true or false instead.
1071 * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return
1072 value instead of next_dialog.
1073
2f18f94d
RC
10742003-07-29 Robert Collins <rbtcollins@hotmail.com>
1075
1076 * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage.
1077 * choose.h (ChooserPage::fillMissingCategory): Delete.
1078 * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage.
1079 * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust
1080 callers.
1081
525531ca
RC
10822003-07-29 Robert Collins <rbtcollins@hotmail.com>
1083
1084 * PickView.h (CATEGORY_EXPANDED): Move from choose.h
1085 (CATEGORY_COLLAPSED): Move from choose.cc.
1086 (PickView::setViewMode): Move from ChooserPage.
1087 * choose.h (CATEGORY_EXPANDED): Delete.
1088 (CATEGORY_COLLAPSED): Delete.
1089 (ChooserPage::setViewMode): Delete.
1090 * PickView.cc (PickView::setViewMode): Move from ChooserPage.
1091 * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers
1092 throughout.
1093
0f61a6a4
MB
10942003-07-28 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1095
1096 * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the
1097 page to display next, since it follows in the default page ordering
1098 anyway.
1099
6d751ec8
MB
11002003-07-28 Max Bowsher <maxb@ukf.net>
1101
1102 * dialog.h: (NEXT): Remove obsolete macro.
1103 * site.cc (save_dialog): Remove use of NEXT(), and non-functional
1104 unnecessary error handler.
1105
358712d8
RC
11062003-07-28 Robert Collins <rbtcollins@hotmail.com>
1107
1108 * package_meta.h (packagemeta::addToCategoryAll): Declare.
1109 * package_meta.cc (packagemeta::addToCategoryAll): New method,
1110 separated to allow clear iteration.
1111 * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is
1112 meant to be added unconditionally.
1113
31f0ccce
RC
11142003-07-27 Robert Collins <rbtcollins@hotmail.com>
1115
1116 * Generic.h: New file, home for generic programming tools.
1117 (visit_if): Move here from package_meta.cc.
1118 Adjust to be fully parameterised.
1119 * package_meta.h (packagemeta::hasNoCategories): Query for generic
1120 programming.
1121 (packagemeta::setDefaultCategories): set categories for packages
1122 with none.
1123 * package_meta.cc: Move visit_if out. Adjust users for
1124 full paramterised operation.
1125 (packagemeta::hasNoCategories): Implement.
1126 (packagemeta::setDefaultCategories): Implement.
1127 * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to
1128 reduce duplicate code.
1129 (ChooserPage::setExistence): Delete.
1130 * choose.h (ChooserPage::setExistence): Rename to
1131 packagedb::setExistence.
1132 * package_db.h (packagedb::setExistence): Declare.
1133 * package_db.cc (packagedb::setExistence): Copy from choose.cc
1134
dbdc1d9d
RC
11352003-07-27 Robert Collins <rbtcollins@hotmail.com>
1136
1137 * localdir.h (LocalDirPage::OnInit): Remove.
1138 * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting
1139 ::load().
1140 (LocalDirSetting::load): Copied from LocalDirPage::OnInit.
1141 * site.h (SitePage::OnInit): Remove.
1142 (SitePage::getSavedSites): New member, replaces get_saved_sites.
1143 (SitePage::registerSavedSite): New member, replaces
1144 register_saved_site.
1145 * site.cc (SitePage::OnInit): Move to SiteSetting::load().
1146 (SiteSetting::load): Copied from SitePage::OnInit.
1147 (SitePage::getSavedSites): Renamed from get_saved_sites.
1148 (SitePage::registerSavedSite): Renamed from register_saved_site.
1149 (do_download_site_info_thread): Don't look at the list size for
1150 determining if the download was successful.
1151
22120c90
RC
11522003-07-27 Robert Collins <rbtcollins@hotmail.com>
1153
1154 * choose.h (ChooserPage::setViewMode): Remove HWND from
1155 signature.
1156 (ChooserPage::defaultTrust): Ditto.
1157 Move to PickView.
1158 (ChooserPage::ifChecked): Use Window helper function
1159 IsButtonChecked.
1160 * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND()
1161 throughout.
1162 Update all callers with new signature.
1163 (ChooserPage::defaultTrust): Ditto.
1164 Move to PickView.
1165 * PickView.h (PickView::defaultTrust): Declare.
1166 * PickView.cc (PickView::defaultTrust): Copy from chooser.cc.
1167
9c9cfce7
RC
11682003-07-27 Robert Collins <rbtcollins@hotmail.com>
1169
1170 * PickView.h (PickView::lv): Eliminate.
1171 * PickView.cc (PickView::init): Replace use of lv with
1172 GetHWND().
1173 (PickView::list_click): Ditto.
1174 * choose.h (ChooserPage::lv): Eliminate.
1175 * choose.cc: Replace lv with chooser->GetHWND()
1176 throughout.
1177
d2be933d
RC
11782003-07-27 Robert Collins <rbtcollins@hotmail.com>
1179
1180 * PickView.h (PickView::chooser): Eliminate.
1181 (PickView::list_vscroll): Make non-static.
1182 (PickView::list_hscroll): Ditto.
1183 (PickView::list_click): Ditto.
1184 (PickView::paint): Ditto.
1185 * PickView.cc (PickView::list_vscroll): Eliminate use
1186 of PickView::chooser.
1187 (PickView::list_hscroll): Ditto.
1188 (PickView::list_click): Ditto.
1189 (PickView::paint): Ditto.
1190 * choose.cc (Chooser::createListView): Eliminate use
1191 of PickView::chooser.
1192
693916f8
RC
11932003-07-27 Robert Collins <rbtcollins@hotmail.com>
1194
1195 * PickView.h (PickView): Inherit from Window.
1196 (PickView::RegisterWindows): Move from ChooserPage.
1197 (PickView::listview_proc): Likewise.
1198 (PickView::paint): Ditto.
1199 (PickView::list_click): Ditto.
1200 (PickView::list_hscroll): Ditto.
1201 (PickView::list_vscroll): Ditto.
1202 (PickView::lv): Ditto.
1203 (PickView::chooser): Ditto.
1204 (PickView::Create): Override Windows::Create as we migrate.
1205 (PickView::registerWindowClass): Renamed RegisterWindows.
1206 (PickView::WindowClassAtom): Prevent double registration.
1207 (PickView::init): Declare.
1208 * PickView.cc: Adjust for new inheritance.
1209 (PickView::RegisterWindows): Move from ChooserPage.
1210 (PickView::listview_proc): Likewise.
1211 (PickView::paint): Ditto.
1212 (PickView::list_click): Ditto.
1213 (PickView::list_hscroll): Ditto.
1214 (PickView::list_vscroll): Ditto.
1215 (PickView::lv): Ditto.
1216 (PickView::chooser): Ditto.
1217 (PickView::Create): Introduce stub.
1218 (PickView::RegisterWindows): Rename
1219 (PickView::init): Extracted from constructor to allow
1220 reordering.
1221 * chooser.h (ChooserPage::registerWindows): Rename to
1222 PickView::RegisterWindows.
1223 (ChooserPage::listview_proc): Likewise.
1224 (ChooserPage::paint): Ditto.
1225 (ChooserPage::list_click): Ditto.
1226 (ChooserPage::list_hscroll): Ditto.
1227 (ChooserPage::list_vscroll): Ditto.
1228 (ChooserPage::lv): Duplicate into PickView, observe
1229 as non-static.
1230 (ChooserPage::chooser): Ditto.
1231 * chooser.cc (ChooserPage::registerWindows): Delete.
1232 (ChooserPage::listview_proc): Ditto.
1233 (ChooserPage::paint): Ditto.
1234 (ChooserPage::list_click): Ditto.
1235 (ChooserPage::list_hscroll): Ditto.
1236 (ChooserPage::list_vscroll): Ditto.
1237 (ChooserPage::createListView): Create() on PickView.
1238 * window.h (Window::RegisterWindowClass): Make virtual
1239 to allow Create to become a Template Method, and rename
1240 to registerWindowClass as it's not static.
1241 * window.cc (Window::registerWindowClass): Ditto.
1242 (Window::FirstWindowProcReflector): BUGFIX: Set window
1243 handle to prevent races with the window procedure.
1244
724c2956
RC
12452003-07-27 Robert Collins <rbtcollins@hotmail.com>
1246
1247 * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode.
1248 (default_trust): Rename to ChooserPage::defaultTrust.
1249 (fill_missing_category): Rename to ChooserPage::fillMissingCategory.
1250 (set_existence): Rename to ChooserPage::setExistence.
1251 (register_windows): Rename to ChooserPage::registerWindows.
1252 (listview_proc): Rename to ChooserPage::listview_proc.
1253 (paint): Rename to ChooserPage::paint.
1254 (list_click): Rename to ChooserPage::list_click.
1255 (list_hscroll): Rename to ChooserPage::list_hscroll.
1256 (list_vscroll): Rename to ChooserPage::list_vscroll.
1257 (lv): Rename to ChooserPage::lv.
1258 (chooser): Rename to ChooserPage::chooser.
1259 * choose.h (ChooserPage::setViewMode): Declare.
1260 (ChooserPage::defaultTrust): Declare.
1261 (ChooserPage::fillMissingCategory): Declare.
1262 (ChooserPage::setExistence): Declare.
1263 (ChooserPage::registerWindows): Declare.
1264 (ChooserPage::listview_proc): Declare.
1265 (ChooserPage::paint): Declare.
1266 (ChooserPage::list_click): Declare.
1267 (ChooserPage::list_hscroll): Declare.
1268 (ChooserPage::list_vscroll): Declare.
1269 (ChooserPage::lv): Declare.
1270 (ChooserPage::chooser): Declare.
1271
d05ae76a
RC
12722003-07-27 Robert Collins <rbtcollins@hotmail.com>
1273
1274 * choose.cc (create_listview): Use for_each instead of explicit
1275 iteration.
1276 (create_listview): Rename to ChooserPage::createListview.
1277 * package_meta.h (packagemeta::set_requirements): Explicitly separate
1278 the 1 and 2 parameter versions.
1279
12802003-07-27 Robert Collins <rbtcollins@hotmail.com>
69711722
RC
1281
1282 * String++.h (String::operator !=): Declare for char * and String.
1283 * String++.cc (String::operator !=): Implement.
1284 * package_meta.cc(StringConcatenator): Move above all users.
1285 (_visit_if): Predicate support for visitors.
1286 (packagemeta::getReadableCategoryList): Refactor to use
1287 StringConcatenator with a predicate.
1288 * choose.h: Remove unneeded c++ guards.
1289
cda26207
RC
12902003-07-26 Robert Collins <rbtcollins@hotmail.com>
1291
58b12a06
MB
1292 * choose.cc (scan_downloaded_files): Rename to
1293 packagemeta::ScanDownloadedFiles.
cda26207
RC
1294 (scanAVersion): Rename to packageversion::scan.
1295 (GetParentRect): Rename to ChooserPage::getParentRect.
1296 * choose.h (ChooserPage::getParentRect): Declare.
1297 * package_meta.h (packagemeta::ScanDownloadedFiles): Declare.
1298 * package_version.h (packageversion::scan): Declare.
1299 * package_version.cc (packageversion::scan): Move from choose.cc
58b12a06
MB
1300 * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from
1301 choose.cc
cda26207 1302
edc3c6fc
RC
13032003-07-26 Robert Collins <rbtcollins@hotmail.com>
1304
1305 * choose.cc (ChooserPage::OnNext): log before starting activity threads.
1306 (ChooserPage::OnInit): Remove temporary variable frame.
1307 (ChooserPage::setPrompt): Extract method from OnInit.
1308 (choose_inst_text): Remove unused variable.
1309 * choose.h(ChooserPage::setPrompt): Declare
1310 * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present
1311 caption.
1312
d55e14fe
RC
13132003-07-26 Robert Collins <rbtcollins@hotmail.com>
1314
1315 Remove package specific code from choose.cc.
1316 Update copyrights where appropriate.
1317 * choose.cc(ChooserPage::OnNext): Extract logging to
1318 packagemeta::logSelectionStatus.
1319 * package_meta.cc(packagemeta::logSelectionStatus): Extract from
1320 ChooserPage::OnNext.
1321 (StringConcatenator): helper for logSelectionStatus.
1322 (action_caption): Make const.
1323 * package_meta.h(packagemeta): Declare logSelectionStatus.
1324 (packagemeta::action_caption): Make const.
1325 * package_version.cc(packageversion::sourcePackage): Make const.
1326 * package_version.h(packageversion::sourcePackage): Make const.
1327
12f8ac69
RC
13282003-07-26 Robert Collins <rbtcollins@hotmail.com>
1329
1330 * choose.cc: Update copyright.
1331 (ChooserPage::keepClicked): Extracted from OnMessageCmd.
1332 (ChooserPage::changeTrust): Ditto.
1333 * choose.h (ChooserPage): Declare keepClicked and changeTrust.
1334 (ChooserPage::ifChecked): Extracted from OnMessageCmd.
58b12a06
MB
1335 * package_meta.h (SetRequirement): Adapter for visiting package
1336 collections.
12f8ac69 1337
93d7e783
MB
13382003-07-26 Max Bowsher <maxb@ukf.net>
1339
1340 * tests/.cvsignore: New file, listing Makefile.in.
1341
dea6cc21
RC
13422003-07-26 Robert Collins <rbtcollins@hotmail.com>
1343
1344 Save used local cache dir from initial run of setup, so the user doesn't
1345 need to retype it.
58b12a06
MB
1346 * localdir.h (LocalDirSetting): UserSetting class for the local cache
1347 dir.
1348 * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and
1349 update callers.
dea6cc21 1350
0df9be37
RC
13512003-07-26 Robert Collins <rbtcollins@hotmail.com>
1352
1353 Save used site from initial run of setup, so the user doesn't need to
1354 retype it.
1355 * main.cc (main): Load and save all user settings.
1356 * site.cc (SiteSetting::save): Migrate logic from save_site_url.
58b12a06
MB
1357 (SitePage::OnNext): Use ChosenSites.save() to remove uneeded
1358 save_site_url call.
0df9be37
RC
1359 (save_site_url): Delete.
1360 * site.h (save_site_url): Remove declaration.
1361 * .cvsignore: Update autoconf generated files.
1362
bf137801
RC
13632003-07-26 Robert Collins <rbtcollins@hotmail.com>
1364
1365 * tests/Makefile.am: Driver for test suite.
1366 * tests/UserSettingTest.cc: Test UserSetting interface.
1367 * tests/UserSettingsTest.cc: Test UserSettings interface.
1368 * Makefile.am: Add the tests dir to recurse into.
1369 * configure.in: Ditto.
58b12a06
MB
1370 * UserSetting.h: Add load and save methods to allow global
1371 serialisation.
bf137801
RC
1372 Add explicit copy and assignment operators to prevent synthetics.
1373 Make the constructor protected to prevent direct instantiation.
1374 * UserSettings.h (UserSettings::loadAllSettings): New method.
1375 (UserSettings::savedAllSettings): New method.
1376 * UserSettings.cc: Implement new methods.
1377 * site.cc: Implement stubs for new required UserSetting methods.
1378 * site.h (ChosenSite): Ditto.
58b12a06
MB
1379 * bz2lib/: Ran automake.
1380 * zlib/: Ran automake.
bf137801 1381
3d5a4f16
MB
13822003-07-23 Max Bowsher <maxb@ukf.net>
1383
1384 * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT().
1385 * root.cc (RootPage::OnNext): Ditto.
1386 (RootPage::OnBack): Ditto.
1387 * install.cc (do_install_thread): Remove obsolete use of next_dialog.
1388 * main.cc (main): Ditto.
1389 * postinstall.cc (do_postinstall_thread): Ditto.
1390
7108d406
MB
13912003-07-23 Max Bowsher <maxb@ukf.net>
1392
1393 * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other)
1394 (do_root, do_site, do_source, do_splash): Remove declarations, since
1395 these functions no longer exist.
1396
b1c23913
MB
13972003-07-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1398
1399 * choose.cc (initialized): Remove obsolete file scope variable.
1400
d52a6cc8
MB
14012003-07-18 Max Bowsher <maxb@ukf.net>
1402
1403 * res.rc: Make caption of every dialog page begin with "Cygwin Setup".
1404 This aids recognition when minimized.
1405 Prompted by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
1406
9d53f045
MB
14072003-07-10 Jeremy White <jwhite@codeweavers.com>
1408
1409 * mount.cc, root.cc, site.cc: Make StringOptions required,
1410 thereby making --longopt <parm> behave as a newbie would expect.
1411
12e726c4
MB
14122003-07-08 Max Bowsher <maxb@ukf.net>
1413
1414 * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h,
1415 hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h,
1416 nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h,
1417 version.h: Add inclusion guard.
1418 * root.h: Standardize naming of inclusion guard.
1419
c93bc6d0
MB
14202003-06-23 Max Bowsher <maxb@ukf.net>
1421
1422 * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h,
1423 IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h,
1424 IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h,
1425 PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h,
1426 PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h,
1427 String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h,
1428 category.h, choose.h, compress.h, compress_bz.h, compress_gz.h,
1429 cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h,
1430 io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h,
1431 io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h,
1432 package_source.h, package_version.h, proppage.h, propsheet.h, script.h,
1433 site.h, source.h, splash.h, threebar.h, win32.h, window.h:
1434 Standardize naming and placement of inclusion guards.
1435
4a2af5fb
MB
14362003-06-22 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
1437
1438 * res.rc (all dialogs): Change font from "MS Sans Serif" to
1439 "MS Shell Dlg".
1440
8b726ef6
MB
14412003-06-22 Max Bowsher <maxb@ukf.net>
1442
1443 * Makefile.am: Clarify comment.
1444 Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around.
1445 (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning.
1446 (AM_CFLAGS): Add -Winline, and -Wmissing-declarations.
1447
1e9ebf8a
MB
14482003-06-22 Max Bowsher <maxb@ukf.net>
1449
1450 * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional.
1451
0a539fe4
MB
14522003-06-05 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1453
1454 * window.h (SETUP_WINDOW_H): Rename multi-include guard.
1455 (Copyright): Update.
1456 (RECTWrapper): New forward declaration.
1457 (Window::Create): Move.
1458 (Window::MoveWindow): New overload declaration.
1459 * window.cc: (RECTWrapper.h) Include.
1460 (Copyright): Update.
1461 (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead
1462 of C-style casts.
1463 (Window::MoveWindow): New overload.
1464
3c0ca7aa
MB
14652003-05-31 Max Bowsher <maxb@ukf.net>
1466
1467 * res.rc: Resize title controls to fully fill available width.
1468
e0d021d0
MB
14692003-05-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1470
1471 * RECTWrapper.h: New file.
1472
1e3b2ad4
RC
14732003-04-12 Robert Collins <rbtcollins@hotmail.com>
1474
1475 * script.cc (Script::extension): Extract method from Script::run.
1476 (Script::run): Extract extension generation to Script::extension.
1477 * script.h (Script::extension): Declare.
1478
2533f348
RC
14792003-04-12 Robert Collins <rbtcollins@hotmail.com>
1480
1481 * script.cc (run_script): Remove.
1482 (try_run_script): Inline method run_script.
1483 * script.h (run_script): Remove.
1484
34ea5b6d
RC
14852003-04-12 Robert Collins <rbtcollins@hotmail.com>
1486
1487 * postinstall.cc (RunScript::operator()): Use new run syntax.
1488 * script.h (Script::run): Eliminate to_log parameter.
1489 * script.cc (Script::run): Ditto.
1490 (run_script): Use new run syntax.
1491
9f27ab95
RC
14922003-04-12 Robert Collins <rbtcollins@hotmail.com>
1493
1494 * script.cc (Script::run): Eliminate temp variable 'f2'.
1495 Rename temp variable 'f2' to 'windowsName' for increased clarity.
1496
783ed9c5
RC
14972003-04-12 Robert Collins <rbtcollins@hotmail.com>
1498
1499 * script.cc (Script::run): Eliminate temp variable 'fname'.
1500
0900bd5b
RC
15012003-04-12 Robert Collins <rbtcollins@hotmail.com>
1502
1503 * script.cc (Script::run): Eliminate temp variable 'dir'.
1504
294e5067
RC
15052003-04-12 Robert Collins <rbtcollins@hotmail.com>
1506
1507 * script.cc (run_script): Always pass TRUE to Script::run.
1508 * script.h (run_script): Remove optional to_log parameter.
1509
a0e56f67
RC
15102003-04-12 Robert Collins <rbtcollins@hotmail.com>
1511
1512 * script.cc (run_script): Move functionality into Script.
1513 (Script::run): Absorb run_script.
1514
8c242540
RC
15152003-04-12 Robert Collins <rbtcollins@hotmail.com>
1516
1517 * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we
1518 are about to perform a visit.
1519 * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we
1520 are about to perform a visit.
1521 * package_db.cc (packagedb::markUnVisited): Convenience wrapper -
1522 mark all packages as unvisited.
1523 * package_db.h (packagedb::markUnVisited): Declare.
1524 * package_meta.cc (packagemeta::PrepareForVisit): New static method
1525 to prepare for a loop-free visit.
1526 (packagemeta::packagemeta): Adjust for new member.
1527 (packagemeta::set_requirements): Only visit a node once.
1528 (packagemeta::visited): Get and Set methods for new member visited_.
1529 * package_meta.h (packagemeta::PrepareForVisit): Declare.
1530 (packagemeta::visited): Declare.
1531 (packagemeta::visited_): Declare.
1532
5f4b0e57
MB
15332003-04-07 Max Bowsher <maxb@ukf.net>
1534
1535 * download.cc: Add command line option to suppress MD5 checks.
1536 (validateCachedPackage): Test option and possibly skip.
1537
e46e15bf
RC
15382003-04-02 Robert Collins <rbtcollins@hotmail.com>
1539
1540 Merge in setup-200303-troubleshooting fixes.
1541
15422003-04-02 Robert Collins <rbtcollins@hotmail.com>
1543
1544 * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code.
1545 (NTSecurity::setDefaultSecurity): Ditto.
1546
15472003-04-02 Robert Collins <rbtcollins@hotmail.com>
1548
1549 * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL
1550 buffer sizing.
1551
15522003-04-02 Robert Collins <rbtcollins@hotmail.com>
1553
1554 * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation.
1555
15562003-04-02 Robert Collins <rbtcollins@hotmail.com>
1557
58b12a06
MB
1558 * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for
1559 auto_ptr use.
e46e15bf
RC
1560
15612003-04-02 Robert Collins <rbtcollins@hotmail.com>
1562
1563 * main.cc (NTSecurity::NoteFailedAPI): Helper function.
1564 Use throughout NTSecurity routines.
1565 (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage.
1566
15672003-04-02 Robert Collins <rbtcollins@hotmail.com>
1568
58b12a06
MB
1569 * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining
1570 active code.
e46e15bf
RC
1571
15722003-04-02 Robert Collins <rbtcollins@hotmail.com>
1573
1574 * main.cc (NTSecurity::GroupInfo): Extract group query code.
1575 (NTSecurity::setDefaultDACL): Disable ~ 50% of code.
1576
15772003-04-02 Robert Collins <rbtcollins@hotmail.com>
1578
58b12a06
MB
1579 * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security
1580 code.
e46e15bf
RC
1581
15822003-04-01 Robert Collins <rbtcollins@hotmail.com>
1583
58b12a06
MB
1584 * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of
1585 sz. User TokenGroupCollection to abstract token searching logic,
1586 eliminate isadmin and isuser temporary variables.
e46e15bf
RC
1587 (TokenGroupCollection): New class for querying token group information.
1588
15892003-04-01 Robert Collins <rbtcollins@hotmail.com>
1590
1591 * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation.
1592 Move local variables to just before first use.
1593 SetTokenInformationFailures where being handled inconsistently.
1594 Remove assignments from if statements.
1595 (NTSecurity::esid): Rename to everyOneSID.
1596 (NTSecurity::initialiseEveryOneSID): new method.
1597 (NTSecurity::setDefaultDACL): Extract method for default DACL logic.
1598
15992003-04-01 Robert Collins <rbtcollins@hotmail.com>
1600
1601 * main.cc (SIDWrapper): Manage SID memory.
1602 (HANDLEWrapper): Likewise for HANDLES.
1603 (NTSecurity): Worker class for set_default_sec().
1604 (set_default_sec): Move body into NTSecurity::setDefaultSecurity().
58b12a06
MB
1605 (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory
1606 managing objects.
e46e15bf 1607
da0b54f3
MB
16082003-04-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1609
1610 * cygwin.ico: Added two new resolutions, 64x64 and 72x72.
1611
3baca7c9
RC
16122003-03-29 Robert Collins <rbtcollins@hotmail.com>
1613
1614 * GUIDELINES: New file documenting code guidelines.
1615
11e37aca
MB
16162003-03-26 Max Bowsher <maxb@ukf.net>
1617
1618 * .cvsignore: Add cfgaux.
1619
18a3405d
RC
16202003-03-26 Robert Collins <rbtcollins@hotmail.com>
1621
11e37aca
MB
1622 * package_version.cc (_defaultversion::accessible): Override and make
1623 always false.
1624 (_packageversion::accessible): Fix a couple of logic bugs resulting in
1625 incorrect trues.
18a3405d
RC
1626 * package_version.h (_packageversion::accessible): Make virtual.
1627
39ba3555
MB
16282003-03-25 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1629
1630 * threebar.h (WM_APP_START_POSTINSTALL): New message.
1631 (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message.
1632 * threebar.cc (ThreeBarProgressPage::OnMessageApp):
1633 Add handling for WM_APP_START_POSTINSTALL and
1634 WM_APP_POSTINSTALL_THREAD_COMPLETE.
1635 * install.cc (do_install_thread): Set next_dialog to
1636 IDD_S_POSTINSTALL.
1637 * desktop.cc (DesktopSetupPage::OnFinish): Move the
1638 do_postinstall call to ThreeBarProgressPage::OnMessageApp.
1639 * script.h (Script::fullName): New member function.
1640 (Script::run): New member function.
1641 (Script::ETCPostinstall): New static member constant.
1642 * script.cc (Script::fullName): Implement.
1643 (Script::run): Implement.
1644 (Script::ETCPostinstall): Define.
1645 (Script::isAScript): Use ETCPostinstall instead of a
1646 hardcoded string constant.
1647 (run): Enable "#if 0"'d code.
1648 * postinstall.cc (Progress): New extern variable.
1649 (RunFindVisitor::visitFile): Add script to vector
1650 instead of running.
1651 (RunFindVisitor::_scripts): New member variable.
1652 (RunScript): New helper class for use in for_each.
1653 (do_postinstall_thread): Rename do_postinstall to. Add
1654 Progress bar and text setting. Add package count.
1655 (do_postinstall_reflector): New static function.
1656 (do_postinstall): Rename to do_postinstall_thread.
1657 Create a thread instead.
1658
1069407c
MB
16592003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1660
1661 * script.cc (run): Add file_out parameter.
1662 Redirect output of subprocess to file, creating the
1663 path if necessary. Minimize the script window.
1664 (run_script): Add optional to_log boolean parameter.
1665 If to_log, redirect output to temporary file and then
1666 import it into LOG_BABBLE.
1667 (OutputLog): New helper class.
1668 (operator<<): New operation on OutputLog.
1669 * script.h (run_script): Add optional to_log parameter.
1670 * postinstall.cc (RunFindVisitor::visitFile): Instruct
1671 run_script() to log script output.
1672 (do_postinstall): Ditto.
1673
84fd41a9
RC
16742003-03-20 Robert Collins <rbtcollins@hotmail.com>
1675
1676 * package_meta.cc (packagemeta::set_action): The logic
1677 test for the default action was reversed.
1678
864a5ec1
MB
16792003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1680
1681 * postinstall.cc (do_postinstall): Filter out '*.done'.
1682 * FilterVisitor.h: New header file. Declare the
1683 FilterVisitor, Filter, and ExcludeNameFilter classes.
1684 * FilterVisitor.cc: New file. Implement FilterVisitor,
1685 Filter, and ExcludeNameFilter.
1686 * String++.h (String::matches): New instance function.
1687 * String++.cc (String::matches): Implement.
1688 (strmatch) Import and adapt for <buf,len> strings.
1689 * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and
1690 FilterVisitor.h to value.
1691
560ac5e2
MB
16922002-03-18 Max Bowsher <maxb@ukf.net>
1693
1694 * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess().
1695 Use passed exit_code even if been_here.
1696 Remove incorrect _CYGWIN_ preprocessor conditional.
1697
ad646f43
RC
16982003-03-16 Robert Collins <rbtcollins@hotmail.com>
1699
e0312c44
RC
1700 * package_db.h (PackageDBConnectedIterator): Typedef
1701 for connected loop detection collection iterator.
1702 * package_db.cc (ConnectedLoopDetector): An
1703 implementation of R.E. Tarjans strongly connected
1704 set visitor algorithm.
1705 * postinstall.cc (do_postinstall): Use the new iterator
1706 for visiting postinstall scripts.
ad646f43
RC
1707
17082003-03-16 Robert Collins <rbtcollins@hotmail.com>
1709
1710 * install.cc: Introduce Installer class.
1711 (init_dialog): Rename to Installer::initDialog.
1712 (progress): Rename to Installer::progress.
1713 (standard_dirs): Rename to Installer::StandardDirs.
1714 (uninstall_one): Rename to Installer::uninstallOne.
1715 (replace_one): Rename to Installer::replaceOne.
e0312c44
RC
1716 (log_ror_failure): Rename to
1717 Installer::replaceOnRebootFailed.
1718 (log_ror_success): Rename to
1719 Installer::replaceOnRebootSucceeded.
ad646f43
RC
1720 (install_one_source): Rename to Installer::installOneSource.
1721 Note script files as they are installed.
1722 * package_version.cc (packageversion::addScript): Implement.
1723 (packageversion::scripts): Implement.
e0312c44
RC
1724 * package_version.h (packageversion::addScript): Record the
1725 presence of a script.
ad646f43 1726 * script.h (Script): New class to track scripts.
e0312c44
RC
1727 * postinstall.cc (do_postinstall): Iterate through the
1728 package listed scripts before searching for scripts.
1729 * String++.cc (String::substr): Second argument needed to
1730 be signed.
1731 * String++.h (String::substr): Second argument needed to
1732 be signed.
ad646f43 1733
c0a46d04
MB
17342003-03-16 Max Bowsher <maxb@ukf.net>
1735
1736 * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and
1737 autom4te.cache.
1738
3d7ae5a2
MB
17392003-03-16 Max Bowsher <maxb@ukf.net>
1740
1741 * UserSettings.cc (UserSettings::Instance): Remove premature return.
1742
92f9402a
RC
17432003-03-15 Robert Collins <rbtcollins@hotmail.com>
1744
1745 * script.cc (run): Rename variable b to createSucceeded.
1746
17472003-03-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1748
1749 * script.cc (run): Close unneeded handles.
1750
b49f570f
RC
17512003-03-15 Robert Collins <rbtcollins@hotmail.com>
1752
1753 * configure: Remove.
1754 * aclocal.m4: Remove.
1755 * Makefile.in: Remove.
1756 * cfgaux: Remove.
1757 * cfgaux/compile: Remove.
1758 * cfgaux/config.guess: Remove.
1759 * cfgaux/config.sub: Remove.
1760 * cfgaux/depcomp: Remove.
1761 * cfgaux/install-sh: Remove.
1762 * cfgaux/ltmain.sh: Remove.
1763 * cfgaux/missing: Remove.
1764 * cfgaux/mkinstalldirs: Remove.
1765
b6001c0d
MB
17662003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1767
1768 * install.cc (replace_one): Clear Text3.
1769
46ccc05f
MB
17702003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1771
1772 * install.cc (install_one_source): Add logging for successful
1773 replace-on-reboot scheduling. Factor out duplicate code.
1774 Set rebootneeded on Win9x.
1775 (log_ror_failure): New static function.
1776 (log_ror_success): New static function.
1777
c27b09ba
RC
17782003-03-14 Robert Collins <rbtcollins@hotmail.com>
1779
1780 * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
1781 Igor Pechtchanski <pechtcha@cs.nyu.edu>.
1782
a081d4ff
MB
17832003-03-13 Max Bowsher <maxb@ukf.net>
1784
1785 * Update included zlib to 1.1.4.
1786
f430003c
RC
17872003-03-13 Robert Collins <rbtcollins@hotmail.com>
1788
46ccc05f
MB
1789 * install.cc (do_install_thread): Use a query method rather than temp
1790 variable do_skip.
f430003c 1791
46ccc05f 17922003-03-09 Pavel Tsekov <ptsekov@gmx.net>
f430003c
RC
1793
1794 * install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
1795 instead of IDS_CORRUPT_PACKAGE when asking the user to take
1796 action if the hash verification check fails for a source package.
1797 Do not increase the value of 'total_bytes' variable if the
1798 user chooses to skip over a package, which failed the hash
1799 verification.
1800
48c7d667
MB
18012003-03-10 Max Bowsher <maxb@ukf.net>
1802
1803 * Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
1804
aaeee283
RC
18052003-03-10 Robert Collins <rbtcollins@hotmail.com>
1806
1807 * UserSettings.cc (UserSettings::init): Really initialize all members.
1808
ead15931
RC
18092003-03-10 Robert Collins <rbtcollins@hotmail.com>
1810
1811 * Exception.h: Add a logic error exception id.
1812 * Makefile.am: Add new sources.
1813 * UserSettings.cc: New file.
1814 * UserSettings.h: New file.
1815 * UserSetting.cc: New file.
1816 * UserSetting.h: New file.
1817 * site.h: Add a SiteSetting as example of a UserSetting.
46ccc05f
MB
1818 * site.cc (ChosenSites): Add a instance of SiteSetting to trigger
1819 registration.
ead15931 1820
c1754473
RC
18212003-03-10 Robert Collins <rbtcollins@hotmail.com>
1822
46ccc05f
MB
1823 * compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
1824 lasterr.
c1754473
RC
1825 (compress_bz::error): Return lasterr which will indicate any error.
1826
52620058
RC
18272003-03-10 Robert Collins <rbtcollins@hotmail.com>
1828
1829 * choose.h (ChooserPage): Override OnActivate.
46ccc05f
MB
1830 * choose.cc (ChooserPage::OnActivate): Refresh the current view when
1831 activating the dialog.
52620058 1832
6e754226
RC
18332003-03-09 Robert Collins <rbtcollins@hotmail.com>
1834
46ccc05f
MB
1835 * package_version.cc (_defaultversion::pick(bool)): Override this and
1836 do nothing.
1837 (packageversion::pick(bool): Use a mutator function rather than direct
1838 member access.
1839 * package_version.h (_packageversion::pick(bool)): Move method from
1840 _packageversion.
6e754226 1841
970149e8
RC
18422003-02-16 Pavel Tsekov <ptsekov@gmx.net>
1843
1844 * install.cc (install_one_source): Remove the MD5 verification
1845 code.
1846 Delay the creation of the package listing file.
1847 (do_install_thread): Check the hashes for packages which need
1848 to be installed before the uninstall step. Allow the user to
1849 skip over packages, which fail the hash verification.
1850 (md5_one): Define new function.
1851 * res.rc (IDS_SKIP_PACKAGE): New string resource.
1852 * resource.h (IDS_SKIP_PACKAGE): New macro definition.
1853
f37b36a3
RC
18542003-02-16 Pavel Tsekov <ptsekov@gmx.net>
1855
1856 * Exception.h: Declare new constructor.
1857 (Exception::_message): Change the type from 'const char *' to
1858 'class String'.
1859 (Exception::~Exception): Implement destructor (make gcc shut up).
1860 * Exception.cc: Implement new constructor.
1861 (Exception::what): Use String::cstr_oneuse ().
1862 * download.cc (validateCachedPackage): Use the constructor, which
1863 takes String& as its second argument, when throwing objects
1864 of type Exception.
1865 (check_for_cached): Ditto.
1866 * install.cc (install_one_source): Ditto.
1867
eef9ea26
RC
18682003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1869
1870 * res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
1871 log filename to %s.
1872 (IDS_MISSING_LOG): New string resource.
1873 * resource.h (IDS_MISSING_LOG): New resource.
1874 * LogFile.cc (LogFile::exit): Pass log filename for
1875 LOG_BABBLE to note().
1876 (LogFile::getFileName): New function.
1877 * LogFile.h (LogFile::getFileName): New function.
1878
514b100e
RC
18792003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
1880
1881 * String++.cc: Don't include concat.h.
1882 * Makefile.am: Remove concat.cc and concat.h references.
1883 * concat.h: Remove.
1884 * concat.cc: Remove.
1885
56c60dcc
MB
18862003-03-09 Max Bowsher <maxb@ukf.net>
1887
1888 * bootstrap.sh: Add sanity check of current directory.
1889 Recurse into libgetopt++ if needed.
1890
4f4b9def
RC
18912003-03-09 Robert Collins <rbtcollins@hotmail.com>
1892
1893 * Update readme of bugs and wishes.
1894
ed6137e5
MB
18952003-03-05 Max Bowsher <maxb@ukf.net>
1896
1897 * netio.cc (save_dialog): Allocate an empty string if the password is
1898 null, so that an empty password is accepted elsewhere in setup.
1899 (check_if_enable_ok): An empty password is OK.
1900
e0aec95e
MB
19012003-03-05 Brian Keener <bkeener@thesoftwaresource.com>
1902
ed6137e5 1903 * PickView.cc (PickView::views): Add two new views for Skipped
e0aec95e
MB
1904 packages and Installed Packages not requiring update.
1905 (PickView::set_headers () ): Ditto.
1906 (PickView::clear_view (void) ): Ditto.
1907 (PickView::views::caption () ): Add two new captions for the new
1908 views added for Skipped and Installed Packages.
1909 (PickView::scroll () ): Modify Scroll Bar property to Disable
ed6137e5 1910 instead of disappearing when there is nothing to Scroll.
e0aec95e
MB
1911 * PickView.h: Add two new views for Skipped packages and Installed
1912 packages to public class view.
1913 * choose.cc (list_click () ): Modify Scroll Bar property to Disable
ed6137e5 1914 instead of disappearing when there is nothing to Scroll.
e0aec95e
MB
1915 (listview_proc () ): Ditto.
1916 (set_view_mode): Add two new views for Skipped Packages and Installed
1917 Packages not requiring update. Modify Scroll Bar property to Disable
1918 instead of disappearing when there is nothing to scroll.
1919 * res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
1920 Button and View Button Caption to make room for longer captions.
1921
c7fb2f36
MB
19222003-03-04 Max Bowsher <maxb@ukf.net>
1923
1924 * compress_gz.cc (compress_gz::construct):
1925 Fix broken checkin dated 2002-07-03.
1926
d5be1d23
MB
19272003-02-28 Max Bowsher <maxb@ukf.net>
1928
1929 * main.cc (set_default_sec): Add logging.
1930
adaa168a
MB
19312003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
1932
1933 * main.cc (set_default_dacl): Replace with set_default_sec.
1934 (set_default_sec): Attempt to change the default group to
1935 Users or Administrators if it is None, in addition to setting
1936 Everyone in the default DACL.
1937 (main): Call set_default_sec instead of set_default_dacl.
1938
3a8d1127
MB
19392003-01-31 Max Bowsher <maxb@ukf.net>
1940
1941 * install.cc (install_one_source): Fix spacing in log message.
1942
c7230a28
MB
19432003-01-19 Max Bowsher <maxb@ukf.net>
1944
1945 * resource.h (IDC_CHOOSE_KEEP): Define.
1946 * res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
1947 * choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
1948 (ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
1949
ac949c48
MB
19502003-01-15 Max Bowsher <maxb@ukf.net>
1951
1952 * mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
1953 * io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
1954 * proppage.h: Include "win32.h" instead of <windows.h>.
1955
4f618d88
MB
19562003-01-15 Max Bowsher <maxb@ukf.net>
1957
1958 * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
1959
1606c4e9
MB
19602002-12-11 Abraham Backus <abraham@backus.com>
1961
1962 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
1963 unless non-default.
1964
c4e25cde
MB
19652002-12-11 Max Bowsher <maxb@ukf.net>
1966
1967 * package_meta.cc: Change 'endl' to 'endLog' as appropriate.
1968 * package_version.cc: Ditto.
1969
bfdf6ac2
MB
19702002-09-22 Max Bowsher <maxb@ukf.net>
1971
1972 * PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
1973 * package_meta.h (packagemeta::getReadableCategoryList): Declare.
1974 * package_meta.cc (packagemeta::getReadableCategoryList): Implement.
1975 * PickPackageLine.cc (PickPackageLine::paint): Change to use
1976 getReadableCategoryList.
1977 Fix x2 argument to IntersectClipRect.
1978
63c82708
RC
19792002-11-25 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1980
1981 * window.h (Window::GetWindowRect): New method declaration.
1982 (Window::GetClientRect): Ditto.
1983 (Window::MoveWindow): Ditto.
1984 (Window::ScreenToClient): Ditto.
1985 * window.cc (REFLECTION_INFO): Remove.
1986 (ReflectionInfo): Remove.
1987 (Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
1988 of the horrid REFLECTION_INFO hack to hook the Window instance to the
1989 HWND instance.
1990 (Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
1991 available.
1992 (Window::Create): Change to use new WM_NCCREATE reflection procedure
1993 above.
1994 (Window::GetWindowRect): New method.
1995 (Window::GetClientRect): New method.
1996 (Window::MoveWindow): New method.
1997 (Window::CenterWindow): Use new methods, also specify "::" for some non-
1998 member functions with the same names.
1999 (Window::ScreenToClient): New method.
2000
58983805
RC
20012002-11-26 Robert Collins <rbtcollins@hotmail.com>
2002
2003 * AntiVirus.cc: Change the short option again! It's now 'A'.
2004 * desktop.cc (etc_profile): Remove.
2005 (make_etc_profile): Remove.
2006 (uexists): Remove.
2007 (make_passwd_group): Remove.
2008 (do_desktop_setup): Don't call removed functions.
2009
b2028692
RC
20102002-11-26 Robert Collins <rbtcollins@hotmail.com>
2011
2012 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
2013 Marcel's patch.
2014
2d8e4784
RC
20152002-07-08 Marcel Telka <marcel@telka.sk>
2016
b2028692 2017 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
2d8e4784
RC
2018 reply (code 227) to the PASV command.
2019
3a87705e
RC
20202002-11-26 Robert Collins <rbtcollins@hotmail.com>
2021
2022 * IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
2023 Sort the packages db once all the new packages have been added.
2024 * IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
2025 Declare this.
2026
bd4e91a7
RC
20272002-11-26 Robert Collins <rbtcollins@hotmail.com>
2028
2029 * choose.cc (ChooserPage::OnNext): Remove extracted comment.
2030 * package_version.cc (processOneDependency): Return once selecting
2031 a package (bugfix to prevous rework).
2032 Log if the default trust fails the package specification.
2033
f416a2b6
RC
20342002-11-26 Robert Collins <rbtcollins@hotmail.com>
2035
2036 * package_meta.h (packagemeta::logAllVersions): Declare.
2037 (packagemeta::trustLabel): Ditto.
2038 * choose.cc (ChooserPage::OnNext): Get each package to log all it's
2039 versions.
2040 * package_meta.cc (packagemeta::logAllVersions): Implement.
2041 (packagemeta::trustLabel): Ditto.
2042
14485ab2
RC
20432002-11-25 Robert Collins <rbtcollins@hotmail.com>
2044
2045 * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
2046
f9e903a3
RC
20472002-11-25 Robert Collins <rbtcollins@hotmail.com>
2048
2049 * AntiVirus.cc: New file.
2050 * AntiVirus.h: Ditto.
2051 * LogFile.cc: Include AntiVirus.h for class definition.
2052 (LogFile::exit): Trigger AntiVirus::AtExit().
2053 * MakeFile.am(setup_SOURCES): Add AntiVirus files.
2054 * autoload.c: Declare Service Control Manager related API's.
2055 * main.cc: Include AntiVirus.h for class definition.
2056 (main): Add the AntiVirus page in.
2057 * res.rc: Define IDD_VIRUS.
2058 * resource.h: Define IDD_VIRUS related control ID's.
2059 * splash.h: Override OnNext.
2060 * splash.cc: Only show AntiVirus page when one has been detected.
2061 * source.cc: Ditto.
2062
05c5b8a6
RC
20632002-11-25 Robert Collins <rbtcollins@hotmail.com>
2064
2065 * package_version.cc (DependencyProcessor): Create convenience class.
2066 (select): Extract version selection method.
2067 (processOneDependency): Check for a satisfactory trusted version
2068 first.
2069
20702002-11-10 Robert Collins <rbtcollins@hotmail.com>
15004270
RC
2071
2072 * main.cc (main): Use the factory for LogFile.
2073 * String++.cc: Update to use sstream.
58b12a06 2074 (String::String): Use a ostringstream for libC++ 3.2.
15004270
RC
2075 * LogFile.h (LogFile): Make createLogFile static.
2076
05c5b8a6 20772002-11-10 Robert Collins <rbtcollins@hotmail.com>
51629951
RC
2078
2079 * main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
2080
666bf37d
RC
20812002-11-04 Max Bowsher <maxb@ukf.net>
2082
2083 * Exception.h (Exception::what): Add throw() specification,
2084 to agree with libstdc++-v3.
2085 * Exception.cc (Exception::what): Ditto.
2086 * IniDBBuilderPackage.h: Add 'std::' where needed.
2087 * PickCategoryLine.h: Ditto.
2088 * category.h: Ditto.
2089 * package_db.h: Ditto.
2090 * package_meta.h: Ditto.
2091 * package_source.h: Ditto.
2092 * package_version.h: Ditto.
2093 * site.h: Ditto.
2094 * win32.h: Define NOMINMAX before including <windows.h>.
2095 * package_meta.cc: Add 'using namespace std;'.
2096 (packagemeta::set_requirements): Remove default parameter values
2097 from definition (gcc3 likes them only in declaration).
2098 * package_version.cc: Add 'using namespace std;'.
2099 (packageversion::set_requirements): Remove default parameter
2100 values from definition (gcc3 likes them only in declaration).
2101
37decc22
RC
21022002-11-10 Robert Collins <rbtcollins@hotmail.com>
2103
2104 * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
2105 header includes it.
2106
21072002-11-04 Max Bowsher <maxb@ukf.net>
2108
2109 * compress_bz.h: #undef small before including bzlib.h - if we are
2110 going to hide the fact that we are _WIN32 from bzlib, then we need
2111 to #undef small for it as well (bad windows.h clash).
2112
a55c8f45
RC
21132002-11-10 Robert Collins <rbtcollins@hotmail.com>
2114
2115 * localdir.cc: Update the extern LogFile to be a pointer.
2116 (save_local_dir): Change . to -> for the above.
2117 * main.cc (theFile): Change from an instance to a pointer.
2118 (main): Change . to -> for the above.
2119
c83c52d8
RC
21202002-11-10 Robert Collins <rbtcollins@hotmail.com>
2121
2122 * LogFile.cc: use 'std::' where needed throughout.
2123 (LogFile::createLogFile): Implement a factory for LogFile.
2124 (LogFile::LogFile): Update for use with the factory, and to
2125 handle the latest g++ library changes.
2126 (LogFile::operator()): Ditto.
2127 (LogFile::endEntry()): Ditto.
2128 * LogFile.h: Ditto.
2129 * LogSingleton.cc: Ditto.
2130 * LogSingleton.h: Ditto.
2131
318af134
RC
21322002-11-04 Max Bowsher <maxb@ukf.net>
2133
2134 * String++.h: Add 'std::' where needed.
2135
6625e635
RC
21362002-11-04 Max Bowsher <maxb@ukf.net>
2137
2138 * IniDBBuilderPackage.cc: Add 'using namespace std;'.
2139 * IniParseFindVisitor.cc: Ditto.
2140 * LogFile.cc: Ditto.
2141 * LogSingleton.cc: Ditto.
2142 * PickView.cc: Ditto.
2143 * String++.cc: Ditto.
2144 * choose.cc: Ditto.
2145 * download.cc: Ditto.
2146 * find.cc: Ditto.
2147 * install.cc: Ditto.
2148 * io_stream.cc: Ditto.
2149 * io_stream_file.cc: Ditto.
2150 * package_db.cc: Ditto.
2151 * root.cc: Ditto.
2152 * site.cc: Ditto.
2153
955bf437
RC
21542002-11-04 Max Bowsher <maxb@ukf.net>
2155
2156 * LogSingleton.h: Add 'std::' where needed.
2157
b34fb59f
RC
21582002-11-04 Max Bowsher <maxb@ukf.net>
2159
2160 * archive_tar_file.cc: Include <algorithm>.
2161 Change min(a,b) to std::min(a,b)
2162 * compress_bz.cc: Ditto.
2163 * compress_gz.cc: Ditto.
2164
326fbcb8
RC
21652002-11-04 Max Bowsher <maxb@ukf.net>
2166
2167 * res.rc: Change a #-comment (invalid) to a //-comment.
2168
4361306f
RC
21692002-11-04 Max Bowsher <maxb@ukf.net>
2170
2171 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
58b12a06
MB
2172 (inilint_LDADD): Remove -lstd++.
2173 (setup_LDADD): Ditto.
4361306f 2174
05d7b7f2
RC
21752002-09-22 Max Bowsher <maxb@ukf.net>
2176
2177 * IniDBBuilderPackage.cc: Update DEBUG code to current class
2178 layout.
2179
f2ff9838
RC
21802002-09-21 Robert Collins <rbtcollins@hotmail.com>
2181
2182 * choose.h: Add OnUnattended method.
2183 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
2184 control via command line options.
2185 (DesktopSetupPage::OnUnattended): Implement.
2186 (DesktopSetupPage::OnMessageApp): Implement.
2187 * desktop.h (DesktopSetupPage::OnUnattended): declare.
2188 (DesktopSetupPage::OnMessageApp): Ditto.
2189 * download.cc (do_download_thread): Support unattended mode.
2190 * install.cc (do_install_thread): Ditto.
2191 * localdir.h: Ditto.
2192 * main.cc (main): Ditto.
2193 * net.cc (NetPage::OnUnattended): Ditto.
2194 * net.h (NetPage::OnUnattended): Declare.
2195 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
2196 * proppage.h (PropertyPage::OnUnattended): Declare.
2197 * root.cc (RootPage::OnInit): Support unattended mode.
2198 (RootPage::OnUnattended): Implement.
2199 * root.h (RootPage::OnUnattended): Declare.
2200 * site.cc (register_saved_site): Extract Method from get_saved_sites.
2201 (get_saved_sites): Remove common code for adding a site.
2202 (SitePage::OnInit): Support unattended mode.
2203 (SitePage::OnUnattended): Implement.
2204 * site.h (SitePage::OnUnattended): Declare.
2205 * source.cc (SourcePage::OnActivate): Support unattended mode.
2206 (SourcePage::OnUnattended): Implement.
2207 * source.h (SourcePage::OnUnattended): Declare.
2208 * splash.h (SplashPage::OnUnattended): Declare.
2209 * state.cc (unattended_mode): Declare.
2210 * state.h (unattended_mode): Declare.
2211 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
2212
707f3d66
RC
22132002-09-21 Robert Collins <rbtcollins@hotmail.com>
2214
2215 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
2216
ec13f13c
RC
22172002-07-15 Robert Collins <rbtcollins@hotmail.com>
2218
2219 * package_version.cc (packageversion::sources): Implement this.
2220 * download.cc (do_download_thread): Support multiple files per package.
2221
e5662e0a
RC
22222002-07-15 Robert Collins <rbtcollins@hotmail.com>
2223
2224 * package_version.h (packageversion::sources): Support multiple files in
2225 a single package version.
2226 * package_version.cc (_packageversion::accessible): Ditto.
2227 (packageversion::source): Ditto.
2228
60daae94
RC
22292002-07-15 Robert Collins <rbtcollins@hotmail.com>
2230
2231 * iniparse.y: Implement support for multiple source files for a source
2232 package.
2233 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
2234 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
2235 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
2236 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
2237 stub as preparation.
2238
4f591f9d
RC
22392002-07-13 Robert Collins <rbtcollins@hotmail.com>
2240
2241 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
2242 packages under all circumstances - slightly higher overheader, simpler
2243 code.
2244 * download.cc (do_download_thread): Correctly download source
2245 packages.
2246 * package_meta.cc (checkForInstalled): Remove.
2247 (checkForUpgradeable): Ditto.
2248 (checkForSatisfiable): Ditto.
2249 (processOneDependency): Ditto.
2250 (packagemeta::set_requirements): Move guts to packageversion.
2251 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
2252 (checkForUpgradeable): Ditto.
2253 (checkForSatisfiable): Ditto.
2254 (processOneDependency): Ditto.
2255 (packageversion::set_requirements): Ditto.
2256 * package_version.h (packageversion::set_requirements): Declare.
2257
b1ff53ed
RC
22582002-07-13 Robert Collins <rbtcollins@hotmail.com>
2259
2260 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
2261 (IniDBBuilder::buildBeginBinary): Implement.
2262 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
2263 (IniDBBuilder::buildBeginBinary): Ditto.
2264 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
2265 Implement.
2266 (IniDBBuilderPackage::buildBeginBinary): Ditto.
2267 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
2268 Declare.
2269 (IniDBBuilderPackage::buildBeginBinary): Ditto.
2270 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
2271 T_UNKNOWN.
2272 * iniparse.y: Full support for parsing a debian Sources file in-line in
2273 setup.ini.
2274 * package_version.cc (packageversion::binaries): Implement.
2275 * package_version.h (packageversion::binaries): Declare list of what
2276 packages are created from a given source package.
2277 (_packageversion::binaries): Ditto.
2278
233a3e17
RC
22792002-07-10 Robert Collins <rbtcollins@hotmail.com>
2280
2281 * iniparse.y: Add basis for support for parsing a debian Sources file.
2282 * inilex.l: Ditto.
2283
cfae3b8d
RC
22842002-07-09 Robert Collins <rbtcollins@hotmail.com>
2285
2286 Change custom container code for packagedb::packages to STL containers
2287 throughout.
2288 * IniDBBuilderPackage.cc: Ditto.
2289 * PickView.cc: Ditto.
2290 * choose.cc: Ditto.
2291 * desktop.cc: Ditto.
2292 * download.cc: Ditto.
2293 * install.cc: Ditto.
2294 * package_db.cc: Ditto.
2295 * package_db.h: Ditto.
2296 * Makefile.am: Remove list.h references.
2297 * list.h: Remove.
2298
09130e58
RC
22992002-07-08 Max Bowsher <maxb@ukf.net>
2300
2301 * PickView.cc (PickView::PickView): Set font of package list header to
2302 the same as used in the rest of the package list.
2303
a75ed5ce
RC
23042002-07-08 Robert Collins <rbtcollins@hotmail.com>
2305
2306 * install.cc (NoReplaceOnReboot): New command line option to prevent
2307 replacing in use files.
2308 (install_one_source): Check the option and use it.
2309 * README: Update TODO lists.
2310
0cf68afd
RC
23112002-07-08 Robert Collins <rbtcollins@hotmail.com>
2312
2313 * PickCategoryLine.cc: Change bucket to use STL container syntax
2314 throughout.
2315 (PickCategoryLine::paint): Use new Category type syntax.
2316 * PickCategoryLine.h: Use STL vectors rather than custom containers
2317 throughout.
2318 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
2319 Use new add_category syntax.
2320 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
2321 (PickView::insert_category): Ditto.
2322 (PickView::init_headers): Ditto.
2323 * category.cc: Trim obsolete code.
2324 * category.h: Replace interconnecting class with a typedef to
2325 facilitate leveraging STL maps.
2326 * choose.cc (fill_missing_category): Use updated pkg.add_category
2327 syntax.
2328 (default_trust): Use new Category type syntax.
2329 (set_view_mode): Ditto.
2330 (create_listview): Ditto.
2331 * package_db.cc (categories): Ditto.
2332 * package_db.h: Update headers list to include needed headers.
2333 (packagedb::categories): Replace custom list with STL map.
2334 * package_meta.cc: Use new Category type syntax throughout.
2335 (packagemeta::add_category): Implement new syntax.
2336 * package_meta.h: Remove commented out source.
2337 (packagemeta::add_category): Update syntax to decouple interface from
2338 packagedb.
2339
89374d4a
CF
23402002-07-06 Christopher Faylor <cgf@redhat.com>
2341
2342 * site.cc (do_download_site_info_thread): Correct spelling error.
2343
405d7186
RC
23442002-07-06 Robert Collins <rbtcollins@hotmail.com>
2345
2346 * PickCategoryLine.h: Include required header list.h.
2347 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
2348 containers for listing of packages per category and vice verca.
2349 * PickView.cc (PickView::insert_pkg): Ditto.
2350 (PickView::insert_category): Ditto.
2351 * String++.h (String::caseless): STL helper to allow trivial containers
2352 of Strings with case insensitive comparisons.
2353 * category.h: Adjust to use STL containers for listing of packages per
2354 category and vice verca.
2355 * choose.cc (fill_missing_category): Ditto.
2356 (default_trust): Ditto.
2357 (ChooserPage::OnNext): Ditto.
2358 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
2359 (packagemeta::packagemeta): Adjust for new category list name.
2360 (packagemeta::~packagemeta): Adjust to use STL containers for listing
2361 of packages per category and vice verca.
2362 (packagemeta::set_action): Ditto.
2363 * package_meta.h (CategoryPackage): Remove.
2364 (packagemeta): Adjust to use STL containers for listing of packages per
2365 category and vice verca.
2366
080bec6e
RC
23672002-07-05 Robert Collins <rbtcollins@hotmail.com>
2368
2369 * io_stream.cc: Use STL containers rather than custom ones.
2370 (io_stream::registerProvider): Ditto.
2371 (findProvider): Ditto.
2372
3f34f364
RC
23732002-07-05 Robert Collins <rbtcollins@hotmail.com>
2374
2375 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
2376 Use STL collections for download site collections.
2377 (IniDBBuilderPackage::add_correct_version): Ditto.
2378 (IniDBBuilderPackage::process_src): Ditto.
2379 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
2380 accessible() call to abstract package availability.
2381 * choose.cc (scanAVersion): Use STL collections for download site
2382 collections.
2383 * download.cc (check_for_cached): Ditto.
2384 (download_one): Ditto.
2385 * package_meta.cc (packagemeta::set_action): Use the packageversion
2386 accessible() call to abstract package availability.
2387 * package_source.h: Use STL containers rather than custom containers.
2388 (site): Create a == operator to allow STL container use.
2389 (packagesource::sites): Use STL containers rather than custom
2390 containers.
2391 * package_version.cc (_packageversion::accessible): Use STL containers
2392 for download site containers.
2393
e2cdf72c
RC
23942002-07-05 Robert Collins <rbtcollins@hotmail.com>
2395
2396 * LogFile.cc: Use STL containers rather than custom containers.
2397 (filedef): Create == and < operators for STL use.
2398 (files): Convert to an STL set.
2399 (LogFile::setFile): Use STL operations on files.
2400 (LogFile::exit): Ditto.
2401
3bac26a1
RC
24022002-07-05 Robert Collins <rbtcollins@hotmail.com>
2403
2404 * ini.cc (do_remote_ini): Use STL collection for site collection.
2405 * site.cc: Include site.h first to ensure it's parsable standalone.
2406 Use STL algorithms.
2407 (site_list): Convert to an STL container.
2408 (all_site_list): Ditto.
2409 (site_list_type::site_list_type): Implement copy constructor.
2410 (site_list_type::operator=): Implement assignment operator.
2411 (site_list_type::operator ==): Implement.
2412 (site_list_type::operator <): Ditto.
2413 (save_dialog): Use STL collection calls for site collection.
2414 (save_site_url): Ditto.
2415 (get_site_list): Ditto.
2416 (get_saved_sites): Ditto.
2417 (do_download_site_info_thread): Ditto.
2418 (SitePage::OnNext): Ditto.
2419 (SitePage::PopulateListBox): Ditto.
2420 (SitePage::OnMessageCmd): Ditto.
2421 * site.h: Use STL vectors instead of custom code.
2422 (site_list_type::site_list_type): Declare.
2423 (site_list_type::operator=): Ditto.
2424 (site_list_type::operator ==): Ditto.
2425 (site_list_type::operator !=): Ditto.
2426 (site_list_type::operator <): Ditto.
2427 (site_list_type::operator <=): Ditto.
2428 (site_list_type::operator >): Ditto.
2429 (site_list_type::operator >=): Ditto.
2430 (site_list): Convert to an STL container.
2431 (all_site_list): Ditto.
2432
528a8edb
RC
24332002-07-05 Robert Collins <rbtcollins@hotmail.com>
2434
2435 * choose.cc (default_trust): Check package accessibility before
2436 triggering an install. (Suggested by Pavel).
2437
24382002-07-03 Pavel Tsekov <ptsekov@gmx.net>
2439
2440 * compress_gz.cc (compress_gz::construct): Always initialize key members
2441 to ensure the destructor does the right thing.
2442
4e868a01
RC
24432002-07-03 Pavel Tsekov <ptsekov@gmx.net>
2444
2445 * filemanip.cc (parse_filename): Do not try to parse empty
2446 strings (filenames).
2447 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
2448 extracted good package name and filename.
2449
7f2b9277
RC
24502002-07-03 Robert Collins <rbtcollins@hotmail.com>
2451
2452 * package_meta.cc (packagemeta::set_requirements): Automatically select
2453 version of dependent packages that satisfies the requirements.
2454 Use processOneDependency to trigger the install of those packages.
2455 (checkForInstalled): Check that the package remains installed.
2456 (processOneDependency): Helper function for dependent packages.
2457 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
2458 debug information.
2459 Clear out all current state on new packages.
2460 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
2461 across.
2462
84c4f5d1
RC
24632002-07-02 Robert Collins <rbtcollins@hotmail.com>
2464
2465 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
2466 nb: inilint is still incomplete, as the packageversion code is not
2467 ready for database-less linking.
2468 * site.cc (get_site_list): When the same site is reentered by the user
2469 replace the old one. (Suggested by John Marshall).
2470
64cd7f94
RC
24712002-07-02 Robert Collins <rbtcollins@hotmail.com>
2472
2473 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
2474 Clear out package selections when generating implicit source packages.
2475 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
2476 (PackageSpecification::_operators::satisfies): Implement.
2477 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
2478 Worker function for testing versions.
2479
3c196821
RC
24802002-07-01 Robert Collins <rbtcollins@hotmail.com>
2481
2482 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
2483 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
2484 * IniDBBuilderPackage.cc: Use the STL algorithms.
2485 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
2486 functions for the same variable throughout.
2487 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
2488 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
2489 and set an empty source package.
2490 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
2491 to record an install package.
2492 (IniDBBuilderPackage::buildPackageSource): Move source package logic
2493 out from process_src, as it now occurs at separate times.
2494 (IniDBBuilderPackage::buildPackageRequirement): Remove.
2495 (IniDBBuilderPackage::buildSourceName): Use renamed package
2496 specifiation accessor for clarity.
2497 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
2498 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
2499 than custom code.
2500 Remove source package references.
2501 (IniDBBuilderPackage::process_src): Remove source package code as it's
2502 now handled separately.
2503 Set Path information before merging versions, to prevent dangling
2504 pointers.
2505 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
2506 Remove.
2507 (IniDBBuilderPackage::cpv): Remove.
2508 (IniDBBuilderPackage::cbpv): New generic binary working variable.
2509 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
2510 (IniDBBuilderPackage::csp): Source package variable for disjoint
2511 source packages.
2512 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
2513 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
2514 * PickPackageLine.cc: Adjust packageversion accessors to the new
2515 reference calls. (i.e. -> to .) throughout.
2516 (PickPackageLine::paint): Use accessible() for clarity.
2517 Use new split out source package logic.
2518 (PickPackageLine::click): Ditto.
2519 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
2520 to the new reference calls. (i.e. -> to .) throughout.
2521 Use new split out source package logic.
2522 * choose.cc: Don't depend on a specific package type.
2523 Adjust packageversion accessors to the new reference calls. (i.e. -> to
2524 .) throughout.
2525 (set_existence): Use accessible () for clarity.
2526 (default_trust): Simplify a little.
2527 (scanAVersion): Factored out code from scan_downloaded_files for
2528 clarity.
2529 (scan_downloaded_files): Factor out inner loop for clarity.
2530 (ChooserPage::OnNext): Don't dump the dependency list,
2531 it's parsing is robust now!.
2532 * cygpackage.cc (createInstance): Use a factory method to create new
2533 objects.
2534 (cygpackage::cygpackage): Make this private for use by the factory.
2535 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
2536 Remove key usage as it's obsolete.
2537 * cygpackage.h (cygpackage): Inherit from _packageversion, not
2538 packageversion.
2539 (cygpackage::createInstance): New factory.
2540 (cygpackage::cygpackage): Make private.
2541 * desktop.cc (make_passwd_group): Use new packageversion reference.
2542 * download.cc (do_download_thread): Use changeRequested() for clarity.
2543 Use new packageversion reference calls.
2544 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
2545 requires code.
2546 * install.cc: Adjust -> to ., and use the new accessor functions for
2547 packageversion throughout.
2548 * package_db.cc: Adjust -> to ., and use the new accessor functions for
2549 packageversion throughout.
2550 (packagedb::packagedb): Use the new cygpackage factory.
2551 (packagedb::flush): Leverage String to remove buffer overflow chance in
2552 sprintf.
2553 (packagedb::findBinary): Find a binary meta package that has a version
2554 matching a given specification.
2555 (packagedb::findSource): Ditto, but for source.
2556 * package_db.h (packagedb::findBinary): Declare.
2557 (packagedb::findSource): Ditto.
2558 * package_meta.cc: Adjust packageversion accessors to the new
2559 reference calls. (i.e. -> to .) throughout.
2560 Include the package_meta header first to ensure it parses standalone.
2561 Use the STL algorithms.
2562 (packagemeta::packagemeta): Create a copy constructor to allowing
2563 cloning binary package metadata to source package metadata.
2564 (packagemeta::~packagemeta): Use the STL coleltion code rather than
2565 custom collection code.
2566 (packagemeta::add_version): Ditto.
2567 (packagemeta::set_installed): Ditto.
2568 (packagemeta::SDesc): Ditto.
2569 (hasSDesc): Helper function for find_if.
2570 (checkForInstalled): Ditto.
2571 (checkForUpgradeable): Ditto.
2572 (checkForSatisfiable): Ditto.
2573 (packagemeta::action_caption): Update for split out source packages.
2574 (packagemeta::set_action): Ditto.
2575 (packagemeta::set_requirements): Support multi-valued dependency
2576 lists - a|b & c|d - with versioned package specifications.
2577 (packagemeta::accessible): Helper member to improve abstraction.
2578 (packagemeta::sourceAccessible): Ditto.
2579 * package_meta.h: Adjust packageversion accessors to the new
2580 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
58b12a06 2581 (packagemeta::packagemeta): Declare copy constructor.
3c196821
RC
2582 Remove self initialising members.
2583 (packagemeta::set_action): Update parameters for new packageversion.
2584 (packagemeta::trustp): Ditto.
2585 (packagemeta::versions): Becomes an STL set.
2586 * package_source.h (packagesource::Cached): Const correctness change.
2587 * package_version.cc: Rewrite the packageversion interface to remove
2588 the cygpackage nonvirtual members, and provide a copy by value,
2589 pointer semantics reference counting wrapper class to ease use and
2590 comparison of packageversions.
2591 Change existing packageversion class to _packageversion throughout.
2592 (_defaultversion): A trivial concrete class to prevent specialcasing
2593 the default constructor for packageversion;
2594 (packageversion::packageversion): Implement.
2595 (packageversion::~packageversion): Ditto.
2596 (packageversion::operator=): Ditto.
2597 (packageversion::operator !): Ditto.
2598 (packageversion::operator bool): Ditto.
2599 (packageversion::operator ==): Ditto.
2600 (packageversion::operator !=): Ditto.
2601 (packageversion::operator <): Ditto.
2602 (packageversion::Name): Ditto.
2603 (packageversion::Canonical_version): Ditto.
2604 (packageversion::setCanonicalVersion): Ditto.
2605 (packageversion::getfirstfile): Ditto.
2606 (packageversion::getnextfile): Ditto.
2607 (packageversion::SDesc): Ditto.
2608 (packageversion::set_sdesc): Ditto.
2609 (packageversion::LDesc): Ditto.
2610 (packageversion::set_ldesc): Ditto.
2611 (packageversion::sourcePackage): Ditto.
2612 (packageversion::sourcePackageSpecification): Ditto.
2613 (packageversion::setSourcePackageSpecification): Ditto.
2614 (packageversion::depends): Ditto.
2615 (packageversion::predepends): Ditto.
2616 (packageversion::recommends): Ditto.
2617 (packageversion::suggests): Ditto.
2618 (packageversion::replaces): Ditto.
2619 (packageversion::conflicts): Ditto.
2620 (packageversion::provides): Ditto.
2621 (packageversion::picked): Ditto.
2622 (packageversion::pick): Ditto.
2623 (packageversion::changeRequested): Ditto.
2624 (packageversion::uninstall): Ditto.
2625 (packageversion::source): Ditto.
2626 (packageversion::accessible): Ditto.
2627 (_packageversion::sourcePackage): Ditto.
2628 (_packageversion::accessible): Ditto.
2629 (_packageversion::changeRequested): Ditto.
2630 * package_version.h: Rewrite the packageversion interface to remove
2631 the cygpackage nonvirtual members, and provide a copy by value,
2632 pointer semantics reference counting wrapper class to ease use and
2633 comparison of packageversions.
2634 Change existing packageversion class to _packageversion throughout.
2635 (Dependency): Remove.
2636 (packageversion): New wrapper class.
2637 (_packageversion): Renamed from packageversion.
2638 (_packageversion::setCanonicalVersion): New method.
2639 (_packageversion::sourcePackage): Ditto.
2640 (_packageversion::sourcePackageSpecification): Ditto.
2641 (_packageversion::setSourcePackageSpecification): Ditto.
2642 (_packageversion::changeRequested): Ditto.
2643 (_packageversion::bin): Rename to source.
2644 (_packageversion::src): Remove.
2645 (_packageversion::accessible): New method.
2646 (_packageversion::references): Allow reference counting.
2647 (_packageversion::sourceVersion): Cached the best-match source
2648 package version.
2649
387cb501
RC
26502002-06-27 Robert Collins <rbtcollins@hotmail.com>
2651
2652 * compress_bz.h (compress_bz::position): Track how much has been read.
2653 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
2654 (compress_bz::read): Track amount read by the client.
2655 (compress_bz::tell): And report it when asked.
2656
7d702af3
RC
26572002-06-27 Robert Collins <rbtcollins@hotmail.com>
2658
2659 * Makefile.am (snapshot): Automate snapshot creation some more.
2660
08cd08c3
RC
26612002-06-27 Robert Collins <rbtcollins@hotmail.com>
2662
2663 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
2664 (mbox): Ditto.
2665 * ini.cc (fprintf): Ditto.
2666 * log.cc (log): Ditto.
2667 * package_db.cc (packagedb::sourcePackages): Split out source packages
2668 from binary packages.
2669 * package_db.h: Ditto.
2670
aa1e3b4d
RC
26712002-06-27 Robert Collins <rbtcollins@hotmail.com>
2672
2673 * PackageSpecification.h: New file. Abstracts the ability to refer
2674 to another package, by name, or name and version.
2675 * PackageSpecification.cc: Ditto.
2676 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
2677 (IniDBBuilder::buildPackageSource): Ditto.
2678 (IniDBBuilder::buildBeginDepends): New method for versioned
2679 dependencies.
2680 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
2681 satisfied before pre-install.
2682 (IniDBBuilder::buildPriority): New method, for getting the package
2683 Priority.
2684 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
2685 (IniDBBuilder::buildMaintainer): Who maintains the package?
2686 (IniDBBuilder::buildArchitecture): What platform is it for?
2687 (IniDBBuilder::buildInstallSize): How big is the binary download?
2688 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
2689 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
2690 (IniDBBuilder::buildBeginRecommends): What other packages are
2691 recommended with this one?
2692 (IniDBBuilder::buildBeginSuggests): And suggested?
2693 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
2694 (IniDBBuilder::buildBeginConflicts): And collide with?
2695 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
2696 package names) does this provide?
2697 (IniDBBuilder::buildDescription): Grab a multi line description one
2698 line at a time.
2699 (IniDBBuilder::buildSourceName): What source package should be used to
2700 install the source for this binary package?
2701 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
2702 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
2703 list of package specifications.
2704 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
2705 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
2706 to the current specification.
2707 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
2708 operator act on?
2709 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
2710 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
2711 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
2712 (IniDBBuilderPackage::process_src): Streamline and split out
2713 functionality.
2714 (IniDBBuilderPackage::setSourceSize): From process_src.
2715 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
2716 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
2717 (IniDBBuilderPackage::currentOrList): Track the current Or list.
2718 (IniDBBuilderPackage::currentAndList): Track the current And list.
2719 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
2720 progress on parsing.
2721 (IniParseFeedback::iniName): Tell what ini filename we are currently
2722 processing.
2723 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
2724 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
2725 Make the feedback object non-const to allow mutating methods which are
2726 needed when the object has state.
2727 (IniParseFindVisitor::visitFile): Tell the caller the name of each
2728 .ini found.
2729 Initialise the parser with the feedback object to allow it to tell of
2730 progress.
2731 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
2732 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
2733 (setup_SOURCES): Add the new PackageSpecification sources.
2734 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
2735 builder syntax to setup binary package details.
2736 * choose.cc: Use the LogSingleton calls throughout.
2737 * configure.in: Create the INILINT substitution correctly for recent
2738 autotool configurations.
2739 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
2740 rather than a string built from an int. Thanks to Pavel Tsekov for
2741 identifying the bug.
2742 (cygpackage::getnextfile): Ditto.
2743 * download.cc: Use LogSIngletion calls throughout.
58b12a06 2744 (validateCachedPackage): A refactoring of the
aa1e3b4d
RC
2745 check_for_cached code to eliminate duplciation.
2746 (check_for_cached): Use validateCachedPackage to check packages.
2747 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
2748 parsing progress.
2749 (do_remote_ini): Ditto.
2750 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
2751 progress reporting.
2752 * inilex.l: Identify new symbols - operators, and multi line plain text.
2753 Releases files.
2754 * inilintmain.cc (show_help): Provide basic infomation on inilint.
2755 * iniparse.y: Adjust for the new builder syntax, and process debian
2756 Release files.
2757 * io_stream_file.cc: Always include mkdir.h.
2758 * list.h: Factor index location into a private routine.
2759 (list::findindex): Implement this.
2760 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
2761 builds. NB: This breaks cygwin build functionality still.
2762 * package_meta.cc: Use the LogSingleton calls throughout.
2763 (packagemeta::set_requirements): Adjust for object changes in
2764 dependencies.
2765 * package_meta.h (packagemeta::packagemeta): Initialise new members.
2766 (packagemeta::architecture): What platform does this package run on?
2767 This may need to move in the future to a per packagefile object.
58b12a06 2768 (packagemeta::priority): What priority does this package have?
aa1e3b4d
RC
2769 * package_source.h (packagesource::packagesource): Initialise new
2770 members.
2771 (packagesource::installedSize): How much space does the package need?
2772 (packagesource::setInstalledSize): Tell the amount.
2773 (packagesource::_installedSize): And store it.
2774 * package_version.cc (packageversion::sourcePackage): return the
2775 source package.
2776 (packageversion::setSourcePackage): And set it.
2777 * package_version.h: Declare the package_version.cc changes.
2778 (packageversion::depends): New package specification AND list.
2779 (packageversion::predepends): Ditto.
2780 (packageversion::recommends): Ditto.
2781 (packageversion::suggests): Ditto.
2782 (packageversion::replaces): Ditto.
2783 (packageversion::conflicts): Ditto.
2784 (packageversion::provides): Ditto.
2785 (packageversion::sourcePackage): What source package is needed?
2786 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
2787 the bottom bar.
2788 * threebar.h: Declare the threebar.cc change.
2789
27902002-06-27 John Marshall <johnm@falch.net>
2791
2792 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
2793 * site.cc (SitePage::OnMessageCmd): Ditto
2794
2a994e0b
RC
27952002-06-15 Robert Collins <rbtcollins@hotmail.com>
2796
2797 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
2798
ceff7035
RC
27992002-06-15 Robert Collins <rbtcollins@hotmail.com>
2800
2801 * package_meta.cc (packagemeta::set_action): When installing packages
2802 with no binaries, choose the source package.
2803
9bd27040
RC
28042002-06-10 Robert Collins <rbtcollins@hotmail.com>
2805
2806 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
2807 Bowshers fix for the crash with a root level setup.ini.
2808 * README: Update todos.
2809
1dcff4a0
RC
28102002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
2811
2812 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
2813 GNU long name extension support.
2814
0773e4f2
RC
28152002-05-27 Robert Collins <rbtcollins@hotmail.com>
2816
2817 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
2818 unescape 0 length strings.
2819
a828d772
RC
28202002-05-20 Robert Collins <rbtcollins@hotmail.com>
2821
2822 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
2823 when local with no cached file, and install the default source if the
2824 default version has no binary.
2825
67829ce0
RC
28262002-05-19 Robert Collins <rbtcollins@hotmail.com>
2827
2828 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
2829 method.
2830 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
2831 setup version created the ini file.
2832 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
2833 method.
2834 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
2835 feedback strategy.
2836 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
2837 Require a feedback strategy.
2838 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
2839 * Makefile.in: Regenerate.
2840
4849e2fc
RC
28412002-05-19 Robert Collins <rbtcollins@hotmail.com>
2842
2843 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
2844 trick to delete read only files.
2845 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
2846 remove files.
2847 * Makefile.am (release): Tweak to be more helpful.
2848 * Makefile.in: Regenerate.
2849
7cb35117
RC
28502002-05-19 Robert Collins <rbtcollins@hotmail.com>
2851
2852 * Makefile.am (release): Tweak to be more helpful.
2853 * Makefile.in: Regenerate.
7cb35117 2854
5090e3ce
RC
28552002-05-19 Robert Collins <rbtcollins@hotmail.com>
2856
2857 * Makefile.am (release): Tweak to be more helpful.
2858 * Makefile.in: Regenerate.
2859
9e9b881a
RC
28602002-05-19 Robert Collins <rbtcollins@hotmail.com>
2861
2862 * choose.cc (scan_downloaded_files): When a non-installed version
2863 has neither bin nor src cached files for local installs,
2864 remove the version from availability.
2865
ea36e064
RC
28662002-05-19 Robert Collins <rbtcollins@hotmail.com>
2867
2868 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
2869
b401ef47
RC
28702002-05-19 Robert Collins <rbtcollins@hotmail.com>
2871
2872 * rsync: New support library, contains librsync. This is not (yet)
2873 rsync interoperable.
2874 * configure.in: --with-rsync to enable rsync support. (Not complete).
2875 * Makefile.am: Enable building with rsync.
2876 * Makefile.in: Regenerate.
2877 * configure: Ditto.
2878 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
2879 an array.
2880 (IniDBBuilder::buildPackageSource): Ditto.
2881 * IniDBBuilder.h: Ditto.
2882 * IniDBBuilderPackage.cc: Ditto.
2883 * IniDBBuilderPackage.h: Ditto.
2884 * FindVisitor.cc: New file.
2885 * FindVisitor.h: New file, interface for visiting a file system
2886 aggregate.
2887 * IniParseFindVisitor.cc: New file.
2888 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
2889 found setup.ini's.
2890 * README: Update TODO's.
2891 * String++.cc (String::String): New constructor for <string> inter-
2892 operability.
2893 (String::substr): New method.
2894 * String++.h: Ditto.
2895 * choose.cc (scan2): Remove.
2896 (scan_downloaded_files): Simplify.
2897 * dialog.h: Include parsing pre-requirements.
2898 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
2899 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
2900 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
2901 * find.h: Ditto.
2902 * fromcwd.cc: Remove unneeded includes.
2903 (is_test_version): Remove.
2904 (found_file): Remove.
2905 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
2906 (found_ini): Remove.
2907 (do_fromcwd): Remove commented code that has be replaced elsewhere.
2908 * ini.cc (local_ini): Remove.
2909 (findBuilder): Remove.
2910 (find_routine): Remove.
2911 (do_local_ini): Use new IniParseFindVisitor.
2912 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
2913 unsigned char.
2914 * postinstall.cc: Remove non-core includes.
2915 (run_script_in_postinstall): Remove.
2916 (RunFindVisitor): Trivial Visitor, runs each found script.
2917 (do_postinstall): Use new find syntax.
2918
0d4e0aad
CF
29192002-05-14 Christopher Faylor <cgf@redhat.com>
2920
2921 * ini.cc (find_routine): Don't clear buffer it it's NULL.
2922
29232002-05-14 Christopher Faylor <cgf@redhat.com>
2924
2925 * filemanip.h (trail): Declare.
2926 * filemanip.cc (trail): New function.
2927 (find_tar_ext): Use trail() instead of strstr().
2928 * fromcwd.cc (check_ini): Ditto.
2929 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
2930 should now be fully qualified. Set ini_filename. Reset error_buf and
2931 error_count for any subsequent ini file parsing.
2932 (ini_filename): New static variable for parse error reporting.
2933 (yyerror): Use full path of setup.ini in error message. Subtract one
2934 from line number if at bol.
2935 * find.cc (found_part): Eliminate.
2936 (find_sub): Call for_each with full path found rather than just file
2937 component.
2938 (find): Don't calculate found_part.
2939 * inilex.l (ini_init): Flush input buffer and reset line number.
2940 (yybol): New function. Exports YY_AT_BOL.
2941 * iniparse.y: Increase stack depth to allow more tokens to be processed.
2942 (yyparse): Remove newline from error condition to allow subsequent
2943 per-line error processing to proceed normally.
2944
29452002-05-14 Christopher Faylor <cgf@redhat.com>
2946
2947 * find.cc (find_sub): Be more defensive in preserving trailing parts of
2948 components when doing recursive directory searches or calling user
2949 supplied for_each().
2950 * ini.cc (find_routine): Don't assume that any path name with
2951 "setup.ini" in it is actually a setup.ini file. Only honor trailing
2952 components. Copy path argument to temporary storage when unescaping
2953 to prevent nuking of argument.
2954
874c569a
RC
29552002-05-12 Robert Collins <rbtcollins@hotmail.com>
2956
2957 * CONTRIBUTORS: New file.
2958
f6a81f69
RC
29592002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
2960
2961 * choose.cc: Run indent.
2962 (nextbutton): Remove static variable.
2963 (default_trust): Remove use of nextbutton.
2964 (set_view_mode): Ditto.
2965 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
2966 rbset() sets the prev/next/curr radio buttons properly.
2967 (dialog_cmd): Delete function.
2968 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
2969 ChooserPage::OnInit.
2970 (do_choose): Delete function. Move pre-DialogBox() code to
2971 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
2972 (WM_APP_START_CHOOSE): Remove define.
2973 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
2974 (do_choose_thread): Delete function.
2975 (ChooserPage::OnActivate): Delete method.
2976 (ChooserPage::OnMessageApp): Delete method.
2977 (ChooserPage::OnInit): New method.
2978 (ChooserPage::OnNext): New method.
2979 (ChooserPage::OnBack): New method.
2980 (ChooserPage::OnMessageCmd): New method.
2981 * choose.h: Run indent.
2982 (ChooserPage::OnMessageApp): Delete declaration.
2983 (ChooserPage::OnActivate): Ditto.
2984 (ChooserPage::OnMessageCmd): New declaration.
2985 (ChooserPage::OnInit): Ditto.
2986 (ChooserPage::OnNext): Ditto.
2987 (ChooserPage::OnBack): Ditto.
2988 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
2989 with IDD_CHOOSE.
2990 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
2991 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
2992 * res.rc (IDD_CHOOSE): Remove dialog template.
2993 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
2994
74617327
RC
29952002-05-12 Robert Collins <rbtcollins@hotmail.com>
2996
2997 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
2998 corrupt log file entries.
2999 * geturl.cc: Convert to the new LogSingleton logging.
3000
3272d625
RC
30012002-05-12 Robert Collins <rbtcollins@hotmail.com>
3002
3003 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
3004 setup.ini.
3005
fc687221
RC
30062002-05-12 Robert Collins <rbtcollins@hotmail.com>
3007
3008 * geturl.h: Declare getUrlToStream.
3009 * geturl.cc (getUrlToStream): New function.
3010 (get_url_to_membuf): Refactor to use getUrlToStream.
3011
902c8a3f
RC
30122002-05-11 Robert Collins <rbtcollins@hotmail.com>
3013
3014 * Makefile.am: Add a release target to automate some of the routine
3015 work.
3016 * Makefile.in: Regenerate.
3017
2ab26cdb
RC
30182002-05-11 Robert Collins <rbtcollins@hotmail.com>
3019
3020 * choose.cc (scan_downloaded_files): On local installs remove all
3021 mirror sites if no cached copy of a package is found.
3022
94852d65
RC
30232002-05-10 Robert Collins <rbtcollins@hotmail.com>
3024
3025 * Makefile.in: Regenerate.
58b12a06 3026 * iniparse.y: Use left recursion, not right in the lines rule to
94852d65
RC
3027 avoid stack overflows.
3028 * README: Update TODO's.
3029 * io_stream_file.cc: Native builds need to include sys/stat.h
3030
3548fbc3
RC
30312002-05-06 John Marshall <jmarshall@acm.org>
3032
3033 * site.cc (SitePage::OnMessageCmd): recalculate navigation
3034 button activation when "Add" is pressed.
3035 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
3036
30372002-05-07 Robert Collins <rbtcollins@hotmail.com>
2b48ecd0
RC
3038
3039 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
3040 depending on platform.
3041 Add file:// support.
3042 * configure.in: Set conditional MINGWTARGET if compiling against mingw
3043 libraries.
3044 * Makefile.in: Regenerate.
3045 * configure: Ditto.
3046 * io_stream_file.cc: Only use win32 calls when building for mingw.
3047
19911586
RC
30482002-05-05 Robert Collins <rbtcollins@hotmail.com>
3049
3050 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
3051 * configure.in: Ditto.
3052 Fix incorrect header checking syntax.
3053 * aclocal.m4: Regenerate.
3054 * configure: Regenerate.
3055 * Makefile.in: Regenerate.
3056 * io_stream.cc: Remove platform specific and provider specific code.
3057 (io_stream::registerProvider): New method, registers a Url provider with
3058 the io_stream code.
3059 Make all methods consistently throw invalid_argument exceptions when
3060 a provider that is requested is not present.
3061 (findProvider): New private function, finds a provider.
3062 * io_stream.h: Declare io_stream::registerProvider.
3063 * io_stream_cygfile.cc: Create a Provider class to register with
3064 io_stream.cc.
3065 * io_stream_file.cc: Ditto.
3066 * archive.cc: Remove unneeded includes.
3067 * archive_tar.cc: Remove unneeded includes.
3068 * archive_tar.h: Add required include.
3069 * archive_tar_file.cc: Remove unneded includes.
3070 * choose.cc: Remove unneeded includes:
3071
bf4ffcd9
RC
30722002-05-04 Robert Collins <rbtcollins@hotmail.com>
3073
3074 * io_stream.cc: Use the new log interface thruout.
3075
9f4a0c62
RC
30762002-05-04 Robert Collins <rbtcollins@hotmail.com>
3077
3078 * log.cc (log): Reimplement via LogSingleton.
3079 (log_save): Remove.
3080 (exit_setup): Remove.
3081 * log.h (log_save): Remove.
3082 (exit_setup): Remove.
3083 * LogSingleton.cc: New file.
3084 * LogSingleton.h: New file.
3085 * LogFile.cc: New file.
3086 * LogFile.h: New file.
3087 * Makefile.am (inilint_SOURCES): Add the new log interface.
3088 (setup_SOURCES): Add the new log interface and the concrete File
3089 implementation.
3090 * Makefile.in: Regenerate.
3091 * archive.cc: Use the new log interface thruout.
3092 * archive_tar.cc: Ditto.
3093 * main.cc: Ditto.
3094 * dialog.cc (fatal): Use the new log interface.
3095 * ini.cc (do_ini_thread): Use the log interface to exit.
3096 * isntall.cc (do_install_thread): Ditto.
3097 * netio.cc (auth_cmd): Ditto.
3098 * msg.cc (fatal): Ditto.
3099 * localdir.cc (save_local_dir): Save to different files depending on
3100 the mode, and if a root dir exists.
3101
076654e7
RC
31022002-05-04 Robert Collins <rbtcollins@hotmail.com>
3103
3104 * IniDBBuilder.cc: New file.
3105 * IniDBBuilder.h: New file.
3106 * IniDBBuilderPackage.cc: New file.
3107 * IniDBBuilderPackage.h: New file.
3108 * PackageTrust.h: New file.
3109 * IniState.h: Remove, wasn't thought out well enough.
3110 * Makefile.am (inilint_SOURCES): Add more requirements.
3111 (setup_SOURCES): Add new Builder base and concrete classes.
3112 * Makefile.in: Regenerate.
3113 * String++.cc (String::String): Implement int contructor.
3114 * String++.h (String): Declare int constructor.
3115 * archive_tar.cc (archive_tar::next_file_name): Return String() when
3116 no filename exists.
3117 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
3118 it's not needed.
3119 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
3120 (find_routine): Use new IniDBBuilder to configure the parser.
3121 (do_local_ini): Ditto.
3122 (do_remote_ini): Ditto.
3123 * ini.h: Use IniDBBuilder to initialise parsing.
3124 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
3125 swapped.
3126 (ini_init): Use an IniDBBuilder rather than static variables.
3127 * iniparse.y: Hand off all the object creation to a builder, rather
3128 than hardcoding the behaviour. This allows run-time configured
3129 behaviour.
3130 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
3131 method, it's not needed.
3132 * io_stream_file.h (io_stream_file): Ditto.
3133 * mount.cc (cygpath): Return String() for missing mounts.
3134 * package_meta.cc (packagemeta::SDesc): Return String() for blank
3135 descriptions.
3136 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
3137 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
3138 usage.
3139 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
3140 String constructor usage.
3141 * site.h (site_list_type): Ditto.
3142
6391823e
RC
31432002-05-03 Robert Collins <rbtcollins@hotmail.com>
3144
3145 * String++.h: Declare a << operator that accepts String objects.
3146 * String++.cc: We need iostream for..
3147 (operator <<): this. Provide a << operator that accepts String objects.
3148 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
3149 Change from vargs to a String parameter.
3150 * inilintmail.cc: Remove the gui related headers.
3151 (yyerror): Implement this for parsing.
3152 * iniparse.y: Use the new yyerror syntax.
3153
b92028a4
RC
31542002-05-03 Robert Collins <rbtcollins@hotmail.com>
3155
3156 * Makefile.am: Add IniState.h.
3157 * Makefile.in: Regenerate.
3158 * IniState.h: New file.
3159 * choose.cc: Don't include ini.h - it's not needed.
3160 * configure: Regenerate.
3161 * desktop.cc: Don't include ini.h - it's not needed.
3162 * download.cc: Ditto.
3163 * fromcwd.cc: Ditto.
3164 * ini.cc: Use IniState.h to track each parsing calling.
3165 (find_routine): Ditto.
3166 (do_remote_ini): Ditto.
3167 (do_ini_thread): Ditto.
3168 * ini.h (ini_init): Adjust parameters to include state object.
3169 * inilex.l: Declare parser state variable.
3170 (ini_init): Adjust parameters to include state object.
3171 * iniparse.y: Remove obsolete setup_timestamp and setup_version
3172 declarations.
3173 (setup_header): Use new state variable to track time and version.
3174 (add_correct_version): Ditto.
3175 * install.cc: Don't include ini.h - it's not needed.
3176
e0a4db64
RC
31772002-05-03 Robert Collins <rbtcollins@hotmail.com>
3178
3179 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
3180 * io_stream_file.cc: Don't include filemanip.h.
3181 (io_stream_file::get_size): Implement here to remove filemanip
3182 dependency.
3183 * io_stream_cygfile.cc: Don't include filemanip.h.
3184 (io_stream_cygfile::get_size): Implement here to remove filemanip
3185 dependency.
3186 Implement a stat based version for when win32 is not available.
3187 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
3188 * filemanip.cc: Don't include win32.h - be platform independent.
3189 Include strings.h and io_stream.h as part of that.
3190 (get_file_size): Leverage io_streams and remove win32 implementation.
3191 * download.cc (check_for_cached): Use io_stream syntax for
3192 get_file_size.
3193 (download_one): Ditto.
3194
31952002-05-02 Robert Collins <rbtcollins@hotmail.com>
ac65f5c5
RC
3196
3197 * configure.in: Correct a typo in last change.
3198 * configure: Regenerate.
3199 * Makefile.in: Regenerate.
3200
e0a4db64 32012002-05-02 Robert Collins <rbtcollins@hotmail.com>
e06ded88
RC
3202
3203 * configure.in: Check for string.h and string.
3204 * configure: Regenerate.
3205 * Makefile.in: Regenerate.
3206
1fd0694a
RC
32072002-05-01 Robert Collins <rbtcollins@hotmail.com>
3208
3209 * res.rc (IDD_SPLASH): Remove white box.
3210
89ca06c0
RC
32112002-05-01 Robert Collins <rbtcollins@hotmail.com>
3212
3213 Oops! forgot to list these in the last checkin.
3214 * inilintmain.cc: New file.
3215 * md5.h: New file - imported md5 source, BSD style licence.
3216 * md5.cc: New file - imported md5 source, BSD style licence.
3217 * Exception.cc: New file.
3218 * Exception.h: New file.
3219 * MD5++.cc: New file.
3220 * MD5++.h: New file.
3221
58ee6135
RC
32222002-05-01 Robert Collins <rbtcollins@hotmail.com>
3223
3224 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
3225 Remove -fno-rtti, we need it for exceptions.
3226 (AM_CXXFLAGS): Ditto.
3227 (WARNONLY_CFLAGS): Ditto.
3228 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
3229 (setup_LDFLAGS): Add and set to -mwindows.
3230 (setup_SOURCES): Add new sources.
3231 * Makefile.in: Regenerate.
3232 * README: Update TODO.
3233 * choose.cc (scan_downloaded_files): Use ini information if it's
3234 available.
3235 * configure: Regenerate.
3236 * download.cc (check_for_cached): Make reusable from elsewhere.
3237 Throw exceptions on errors (as opposed to failures).
3238 Check MD5 sum when it's known.
3239 (download_one): Never force a download.
3240 Handle corrupt package exceptions.
3241 * ini.cc (find_routine): Reverse escape the URL to correctly identify
3242 the site URL.
3243 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
3244 * iniparse.y: Allow calculation of MD5 sums, and allow src only
3245 packages.
3246 (process_src): New helper function.
3247 * isntall.cc (install_one_source): Check MD5 sums when possible.
3248 Throw exceptions on errors.
3249 (do_install_thread): Handle exceptions for installation calls.
3250 * package_source.h: Store MD5 information.
3251 * propsheet.cc (PropSheet::Create): Add a useful comment.
3252 * res.rc (IDS_INSTALL_ERROR): Define.
3253 (IDS_CORRUPT_PACKAGE): Define.
3254 * resource.h (IDS_INSTALL_ERROR): Define.
3255 (IDS_CORRUPT_PACKAGE): Define.
3256 * rfc1738.cc (rfc1738_unescape_part): Implement.
3257 * rfc1738.h (rfc1738_unescape_part): Declare.
3258
45e01f23
RC
32592002-04-29 Robert Collins <rbtcollins@hotmail.com>
3260
3261 * Makefile.am: Remove dependecy rules that automake emits.
3262 Correct badly copied dependency info for manually compiled files.
58b12a06 3263 (setup_SOURCES): Add all used headers.
45e01f23
RC
3264 (EXTRA_DIST): Include non compilate but required sources.
3265 (setup_LDADD): Remove mingw32, it is autodetected.
3266 * Makefile.in: Regenerate.
3267 * String++.h: sys/types is a system header.
3268 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
3269 Use ExitThread.
3270 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
3271 portable).
3272 * configure: Regenerate.
3273 * configure.in: Check for mingw32/cygwin specific headers and libraries.
3274 * cygpackage.h: Include the win32.h header to get correct macro
3275 definitions in all situations.
3276 * download.cc (do_download_reflector): Make into a Win32 thread routine.
3277 Use ExitThread.
3278 (do_download): Use Win32 threads.
3279 * ini.cc: Ditto.
3280 * install.cc: Ditto.
3281 * (WinMain): Adjust to build valid command line using application
3282 under both mingw32 and cygwin.
3283 * mount.cc (set)cygdrive_flags): Create new system flags if the
3284 user requests system and the value does not exist.
3285 * nio-http.cc: Define a _strnicmp for cygwin.
3286 * package_db.cc: Include <errno.h> if it exists.
3287 * site.cc (do_download_site_info_thread): Make into a Win32 thread
3288 routine.
3289 Use ExitThread.
3290 (do_download_site-Info): Use Win32 threads.
3291 * state.cc: Explicity declare variables to avoid header conflicts
3292 caused by '#define extern" on cygwin.
3293 * win32.h: Include <alloca.h> if it exists.
3294 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
3295 (_access): Define as access if not defined by windows.h.
3296
8bb9dad9
RC
32972002-04-27 Robert Collins <rbtcollins@hotmail.com>
3298
3299 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
3300
6908b7d7
RC
33012002-04-27 Robert Collins <rbtcollins@hotmail.com>
3302
3303 * Makefile.am: Add libgetopt++ to the subdirs list.
3304 Search the libgetopt++ header directory.
3305 Link against libgetopt++.la.
3306 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
3307 (setup_LDADD): Explicitly include res.o.
3308 * Makefile.in: Regenerate.
3309 * aclocal.m4: Regenerate.
3310 * bootstrap.sh: Call libtoolize.
3311 * configure: Regenerate.
3312 * configure.in: Add libtool support and configure libgetopt++.
3313 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
3314 (DesktopSetupPage::OnInit): Use the simpler syntax.
3315 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
3316 declaration.
3317 * main.cc: Include getopt++/GetOption.h.
3318 (main): Use simpler syntax.
3319 * cdefs.h: Remove.
3320 * getopt.h: Remove.
3321 * getopt.c: Remove.
3322 * GetOption.h: Remove.
3323 * GetOption.cc: Remove.
3324 * Option.h: Remove.
3325 * Option.cc: Remove.
3326
9063358a
RC
33272002-04-26 Robert Collins <rbtcollins@hotmail.com>
3328
3329 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
3330
f6100b6f
RC
33312002-04-26 Robert Collins <rbtcollins@hotmail.com>
3332
3333 * aclocal.m4: New file, cached macros.
3334 * bootstrap.sh: New file, calls required autotools in appropriate
3335 order.
3336 * Makefile.am: New file, input Makefile for automake.
3337 * Makefile,in: Now a generated file - regenerate.
3338 * configure: Regenerate.
3339 * configure.in: Add automake support.
3340 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
3341 automake's VERSION define.
3342 * iniparse.y: Ditto.
3343
db04fc41
RC
33442002-04-26 Robert Collins <rbtcollins@hotmail.com>
3345
3346 * cdefs.h: New file, imported to allow getopt.c to build without
3347 cygwin headers.
3348 * getopt.h: New file, imported to allow building without cygwin headers.
3349 * getopt.c: Ditto.
3350 * bz2lib: New directory, contains copy of bz2lib.
3351 * cfgaux: New directory, contains autotool helper scripts.
3352 * Makefile,in: Adjust library and target definitions for building
3353 outside the sourceware tree.
3354 * compress_bz.h: Use new bz2lib header location.
3355 * mount.cc: Import key defines and enums to be independent of cygwin
3356 headers.
3357 * configure.in: Update to autoconf 2.53, and to be sourceware
3358 independent.
3359 * configure: Regenerate.
3360
931f2755
RC
33612002-04-12 Robert Collins <rbtcollins@hotmail.com>
3362
3363 * mklink2.cc (make_link_2): Tweak to work with current w32api
3364 headers.
3365
33662002-04-10 Pavel Tsekov <ptsekov@gmx.net>
3367
3368 * version.cc (canonicalize_version): Fix a call delete[]
3369 to delete the allocated address.
3370
33712002-03-29 Robert Collins <rbtcollins@hotmail.com>
3372
3373 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
3374 to Ton van Overbeek for locating the bug area.
3375
49cf3899
RC
33762003-03-27 Robert Collins <rbtcollins@hotmail.com>
3377
3378 * PickView.cc (PickView::insert_pkg): Be more generic with
3379 object use.
3380 (PickView::insert_category): Ditto.
3381 (PickView::~PickView): Create.
3382 * PickView.h (PickView::~PickView): Declare.
3383
1be8f8fd
RC
33842003-03-27 Robert Collins <rbtcollins@hotmail.com>
3385
3386 * Makefile.in (OBJS): Add new commandline objects.
3387 * desktop.cc (NoShortCutsOption): New option code.
3388 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
3389 * desktop.h (NoShortCutsOption): New concrete command line option class.
3390 * main.cc (WinMain): Process command line options.
3391 * GetOption.h: New file, singleton command line class.
3392 * GetOption.cc: New file, implementation of the above.
3393 * Option.h : New file, abstract option for GetOption.
3394 * Option.cc: New file, implement constructor and destructor.
3395
f2e49cf8
RC
33962002-03-26 Pavel Tsekov <ptsekov@gmx.net>
3397
58b12a06 3398 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
f2e49cf8
RC
3399
34002002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
3401
58b12a06
MB
3402 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
3403 to textheight, so large fonts work.
f2e49cf8
RC
3404
34052003-03-26 Robert Collins <rbtcollins@hotmail.com>
3406
58b12a06
MB
3407 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
3408 symlinks.
f2e49cf8
RC
3409
34102003-03-26 Robert Collins <rbtcollins@hotmail.com>
3411
58b12a06
MB
3412 * io_stream_cygfile.cc (cwd): New static for cwd storage.
3413 (io_stream_cygfile::normalise): New method.
3414 (io_stream_cygfile::io_stream_cygfile): Use it.
3415 (io_stream_cygfile::exists): Ditto.
3416 (io_stream_cygfile::remove): Ditto.
3417 (io_stream_cygfile::mklink): And again.
3418 (cygmkdir_p): Yes, again.
3419 (io_stream_cygfile::move): And once more.
3420 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
3421 (io_stream_cygfile::cwd): Ditto.
f2e49cf8 3422
51ebb760
RC
34232003-03-26 Robert Collins <rbtcollins@hotmail.com>
3424
3425 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
3426 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
3427 Overbeek for the report).
3428 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
3429 Make g++ compatible.
3430 * mklink2.c: Remove.
3431 * site.cc (site_list_type::init): Delete the correct memory addres.
3432 Thanks to Pavel Tsekov for tracking this down.
3433
e7d67c03
RC
34342002-03-20 Robert Collins <rbtcollins@hotmail.com>
3435
3436 * win32.h: Only define alloca if it's not already.
3437
2fa7c5a4
RC
34382002-03-20 Robert Collins <rbtcollins@hotmail.com>
3439
58b12a06
MB
3440 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave
3441 installed packages alone.
2fa7c5a4
RC
3442 * README: Update with latest requests.
3443 * Various: MTC fixes from setup200202 branch.
3444
7bf13fc9
CF
34452002-03-19 Christopher Faylor <cgf@redhat.com>
3446
3447 * Makefile.in (setup_version.c): Add back magic which allows detection
3448 of setup.exe version number.
3449
2fa7c5a4
RC
34502002-03-17 Robert Collins <rbtcollins@hotmail.com>
3451
58b12a06 3452 * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
2fa7c5a4
RC
3453 calculation on win9x systems.
3454
34552002-03-16 Robert Collins <rbtcollins@hotmail.com>
3456
58b12a06
MB
3457 * install.cc (install_one_source): Write the correct length of a string
3458 to the lst file (Thanks to Pavel Tsekov for reporting the bug).
2fa7c5a4
RC
3459
34602002-03-15 Robert Collins <rbtcollins@hotmail.com>
3461
3462 * choose.cc (list_click): Always refresh the entire chooser, as our
58b12a06
MB
3463 package state change mechanism is broken with the new improved list
3464 classes.
2fa7c5a4
RC
3465
34662002-03-15 Robert Collins <rbtcollins@hotmail.com>
3467
58b12a06
MB
3468 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd
3469 and /etc/group.
2fa7c5a4
RC
3470
34712002-03-15 Robert Collins <rbtcollins@hotmail.com>
3472
58b12a06
MB
3473 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored
3474 out from paint().
3475 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and
3476 the new bin tickbox.
2fa7c5a4
RC
3477 (PickPackageLine::click): Handle the new bin tickbox.
3478 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
3479 * PickView.cc (pkg_headers): Add a Bin? column.
3480 (cat_headers): Ditto.
3481 (PickView::set_headers): Ditto.
3482 (PickView::init_headers): Ditto.
3483 * PickView.h (PickView): Ditto.
58b12a06
MB
3484 * choose.cc (list_click): Use the new name for src_col to set the clip
3485 rectangle.
2fa7c5a4
RC
3486
34872002-02-24 Michael A Chase <mchase@ix.netcom.com>
3488
3489 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
3490 fixup.
3491
34922002-02-24 Michael A Chase <mchase@ix.netcom.com>
3493
3494 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
3495 call.
3496 (make_passwd_group): Ditto.
3497 * localdir.cc (save_local_dir): Ditto.
3498 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
3499 Add "cygfile://" prefix to io_stream::open() calls.
3500
204315f9
RC
35012002-02-24 Robert Collins <rbtcollins@hotmail.com>
3502
3503 * log.cc (log_save): Fix creating /var/log.
3504 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
3505
58db1046
RC
35062002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3507
3508 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
3509 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
3510 * resource.h: Add IDS_CYGWIN_SETUP and
3511 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
3512
3513 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
3514 operator (::SetWindowText()).
3515
3516 * threebar.cc: Run indent.
3517 (cistring.h): Add include.
3518 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
3519 global scope operator.
3520 (SetBar2): Add logic for writing percent complete into window title.
3521
3522 * window.h: Run indent.
3523 (SetWindowText): New function.
3524 (String): Add forward declaration.
3525 * window.cc: Run indent.
3526 (String++.h): Add include.
3527 (SetWindowText): New function.
3528
490717ef
RC
35292002-02-24 Robert Collins <rbtcollins@hotmail.com>
3530
3531 * README: Update TODO list.
3532 * install.cc (install_one): Fix src package location.
3533 (do_install_thread): Fix creating directories.
3534
7c6ef2c3
RC
35352002-02-19 Robert Collins <rbtcollins@hotmail.com>
3536
3537 * choose.cc: Include cygpackage.h for scan2 use.
3538 (set_existence): Ignore setup.ini mirrors when installing from cwd.
3539 (scan2): Process any valid file.
58b12a06
MB
3540 Add cache entries when a file matching a setup.ini listed version is
3541 found.
7c6ef2c3
RC
3542 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
3543 * filemanip.h (filemanip::pkgtar): Remove.
3544 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
3545 (packagemeta::~packagemeta): Move from package_meta.h
3546 Remove and delete all version and category information.
3547 * package_meta.h (CategoryPackage): Create a destructor.
3548 (packagemeta::~packagemeta): Move to .cc file.
3549
35502002-02-19 Robert Collins <rbtcollins@hotmail.com>
3551
3552 * install.cc (install_one_source): Make NULL cached package names cause
3553 errors.
3554
bb087dce
RC
35552002-02-18 Michael A Chase <mchase@ix.netcom.com>
3556
3557 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
3558 unnecessarily.
3559
35602002-02-18 Michael A Chase <mchase@ix.netcom.com>
3561
3562 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
3563
c90bc3df
RC
35642002-02-19 Robert Collins <rbtcollins@hotmail.com>
3565
3566 * mount.cc (create_mount): Avoid a const char*->char* warning.
3567 (read_mounts): Ditto.
3568
3bab9a49
RC
35692002-02-05 Jason Tishler <jason@tishler.net>
3570
58b12a06 3571 * download.cc (do_download_thread): Fix off-by-one error.
3bab9a49 3572
1ac649ed
RC
35732002-02-19 Robert Collins <rbtcollins@hotmail.com>
3574
3575 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
3576 * configure (CXXFLAGS): Regenerate.
3577 * Makefile.in (iniparse.o): Build via default rules - no errors now.
3578 * README: TODO list updates.
3579
35802002-02-19 Michael A Chase <mchase@ix.netcom.com>
3581
3582 * String++.cc (String::concat):: Remove.
3583 (String::vconcat):: Ditto.
3584 * String++.h (String::concat):: Remove.
3585 (String::vconcat):: Ditto.
3586 * archive_tar.cc: Don't include concat.h.
3587 * archive_tar_file.cc: Don't include concat.h.
3588 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
3589 (compress_bz::seek): Ditto.
3590 (compress_bz::~compress_bz): Ditto.
3591 * compress_gz.cc (compress_gz::peek): Ditto.
3592 (compress_gz::error): Ditto.
3593 (compress_gz::~compress_gz): Ditto.
3594 * concat.cc (vconcat): Remove.
3595 (concat): Ditto.
3596 * concat.h (vconcat): Remove.
3597 (concat): Ditto.
3598 * desktop.cc (desktop_icon): Use new cygpath.
3599 (make_etc_profile): Ditto.
3600 (uexists): Ditto.
3601 (make_passwd_group): Ditto.
3602 (save_icon): Ditto.
3603 (check_desktop): Remove concat use.
3604 (check_start_menu): Ditto.
3605 * download.cc (download_one): Use new mkpath_p correctly.
3606 Use LOG_PLAIN.
3607 * fromcwd.cc: Don't include concat.h.
3608 * geturl.cc (get_url_to_membuf): Use String log() call.
3609 (get_url_to_file): Ditto.
3610 * install.cc: Don't include concat.h.
3611 (uninstall_one): Use LOG_PLAIN.
3612 (replace_one): Ditto.
3613 (install_one_source): Ditto.
3614 (install_one): More char to String conversion.
3615 (do_install_thread): Use new cygpath.
3616 Use new create_mount.
3617 * io_stream.cc (io_stream::move): Use new log().
58b12a06
MB
3618 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new
3619 cygpath.
1ac649ed
RC
3620 (io_stream_cygfile::exists): Ditto.
3621 (io_stream_cygfile::remove): Ditto.
3622 (io_stream_cygfile::mklink): Ditto.
3623 (io_stream_cygfile::write): Ditto.
3624 (cygmkdir_p): Ditto.
3625 (io_stream_cygfile::move): Ditto.
3626 * io_stream_file.cc: Don't include log.h.
3627 (io_stream_file::write): Don't log unneeded messages.
3628 * localdir.cc: Don't include concat.h.
3629 (LocalDirPage::OnNext): Use LOG_PLAIN.
3630 * log.cc: Don't include log.h.
3631 (exit_setup): Use new cygpath.
3632 * log.h (log_level): Add new level LOG_PLAIN.
3633 * main.cc (WinMain): Use new log().
3634 * mount.cc (SLASH_P): New macro from concat.h.
3635 (cygpath): Make String version globally visible.
3636 Remove varargs version.
3637 * mount,h: Ditto.
3638 * msg.cc (mbox): Use LOG_PLAIN.
3639 * net.cc (NetPage::OnNext): Ditto.
3640 * nio-ftp.cc (ftp_line): Use new log().
3641 * nio-http.cc: Don't include log.h.
3642 (retry_get): Use alternative url variable.
3643 * package_db.cc: Don't include concat.h.
3644 (packagedb::flush): Don't use concat.
3645 * package_meta.cc: Don't include concat.h.
3646 (packagemeta::uninstall): Use new cygpath.
3647 * postinstall.cc (do_postinstall): Ditto.
3648 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
3649 * script.cc: Don't include concat.h.
3650 (init_run_script): Use new cygpath.
3651 (run_script): More char * to String conversion.
3652 (try_run_script): Ditto.
3653 * site.cc: Don't include concat.h.
3654 (SitePage::OnNext): Use LOG_PLAIN.
3655 (SitePage::OnMessageCmd): Use new log().
3656 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
3657
3c054baf
RC
36582002-02-19 Robert Collins <rbtcollins@hotmail.com>
3659
3660 * Makefile.in (OBJS): Add new object.
58b12a06
MB
3661 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the
3662 name.
3c054baf
RC
3663 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
3664 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
3665 (PickLine::Pickline): Accept a String for the key.
58b12a06
MB
3666 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to
3667 Strings.
3668 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is
3669 automatically initialised now.
3c054baf 3670 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
58b12a06
MB
3671 (PickView::init_header): Move category length checking out of the inner
3672 loop for efficiency.
3c054baf
RC
3673 Convert all char use to Strings.
3674 * PickView.h: Include the String++ header.
3675 (PickView::note_width): Update the prototype.
3676 * String++.cc: New file, implements a reference counting string class.
3677 * String++.h: New file, declares a reference counting string class.
3678 * archive.cc: Include String++ instead of concat.
3679 (archive::extract_file): Convert char * usage to Strings.
3680 * archive.h: Inlude the String++ header.
3681 (archive::extract_file): Update prototype.
3682 (archive::next_file_name): Convert to a String.
3683 (archive::linktarget): Ditto.
3684 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
3685 (archive_tar::linktarget): Ditto.
3686 * arhive_tar.h: Update the copyright.
3687 Explicitly include the relevant headers.
3688 (tar_map_result_type): Convert to String usage.
3689 (archive_tar::next_file_name): Update prototype.
3690 (archive_tar::linktarget): Ditto.
3691 * category.cc (Category::Category): Update initialisers.
3692 Convert to String usage.
3693 (Categorycmp): Update to String usage.
3694 * category.h: Include the String++ header.
3695 (Category::Category): Update to String usage.
3696 (Category::name): Ditto.
3697 (Category::key): Ditto.
3698 * choose.cc: Remove concat.h, it's not needed.
3699 (scan2): Update to String usage.
3700 (do_choose): Ditto.
3701 * cygpackage.cc: Update includes for use of String class.
3702 (cygpackage::cygpackage): Update for String usage.
3703 (cygpackage::set_canonical_version): Ditto.
3704 (cygpackage::destroy): Ditto.
3705 (cygpackage::getfirstfile): Ditto.
3706 (cygpackage::getnextfile): Ditto.
3707 (cygpackage::Name): Ditto.
3708 (cygpackage::Vendor_version): Ditto.
3709 (cygpackage::Package_version): Ditto.
3710 (cygpackage::Canonical_version): Ditto.
3711 (cygpackage::set_sdesc): Ditto.
3712 (cygpackage::set_ldesc): Ditto.
3713 * cygpackage.h: Include String++.h for parsing this file.
3714 (cygpackage::cygpackage): Update for String usage.
3715 (cygpackage::set_canonical_version): Ditto.
3716 (cygpackage::destroy): Ditto.
3717 (cygpackage::getfirstfile): Ditto.
3718 (cygpackage::getnextfile): Ditto.
3719 (cygpackage::Name): Ditto.
3720 (cygpackage::Vendor_version): Ditto.
3721 (cygpackage::Package_version): Ditto.
3722 (cygpackage::Canonical_version): Ditto.
3723 (cygpackage::set_sdesc): Ditto.
3724 (cygpackage::set_ldesc): Ditto.
3725 (cygpackage::name): Ditto.
3726 (cygpackage::vendor): Ditto.
3727 (cygpackage::packagev): Ditto.
3728 (cygpackage::canonical): Ditto.
3729 (cygpackage::fn): Ditto.
3730 (cygpackage::sdesc): Ditto.
3731 (cygpackage::ldesc): Ditto.
3732 * desktop.cc: Update includes for use of String class.
3733 (batname): Update for String usage.
3734 (iconname): Ditto.
3735 (make_link): Ditto.
3736 (start)menu): Ditto.
3737 (desktop_icon): Ditto.
3738 (make_cygwin_bat): Ditto.
3739 (make_etc_profile): Ditto.
3740 (uexists): Ditto.
3741 (make_passwd_group): Ditto.
3742 (save_icon): Ditto.
3743 (check_desktop): Ditto.
3744 (check_startmenu): Ditto.
3745 * dialog.cc (eget): Update for String usage.
3746 (egetString): New function.
3747 (eset): New variant for Strings.
3748 * dialog.h: Include String++.h for parsing this file.
3749 (egetString): New function.
3750 (eset): New variant for Strings.
3751 * diskfull.cc (diskfull): Update for String usage.
3752 * diskfull.h: Include String++.h for parsing this file.
3753 (diskfull): Update for String usage.
3754 * download.cc: Update includes for use of String class.
3755 (check_for_cached): Update for String usage.
3756 (download_one): Ditto.
3757 * filemanip.cc (get_file_size): Ditto.
3758 (base): Ditto.
3759 (parse_filename): Ditto.
3760 (backslash): Ditto.
3761 * filemanip.h: Include String++.h for parsing this file.
3762 (fileparse): Update for String usage.
3763 (base): Ditto.
3764 (parse_filename): Ditto.
3765 Don't consider '_' to be a separator.
3766 (backslash): Ditto.
3767 * find.cc: Update includes for use of String class.
3768 (find_sub): Make more flexible.
3769 (find): Update for String usage.
3770 * find.h (find): Use Strings.
3771 * fromcwd.cc (found_file): Update for String usage.
3772 * geturl.cc: Ditto.
3773 (init_dialog): Ditto.
3774 (get_url_to_membuf): Ditto.
3775 (get_url_to_string): Ditto.
3776 (get_url_to_file): Ditto.
3777 * geturl.h: Ditto.
3778 (get_url_to_membuf): Ditto.
3779 (get_url_to_string): Ditto.
3780 (get_url_to_file): Ditto.
3781 * hash.h: Ditto.
3782 (add_subdirs): Ditto.
3783 * ini.cc: Update includes for String usage.
3784 (find_routine): Update for String usage.
3785 (do_remote_ini): Ditto.
3786 (do_ini_thread): Ditto.
3787 * ini.h (ini_init): Ditto.
3788 * inilex.l: Update includes for String usage.
3789 (ini_init): Update for String usage.
3790 * iniparse.y: Ditto.
3791 (add_correct_version): Ditto.
3792 * install.cc: Update includes for String usage.
3793 (install_one_source): Update for String usage.
3794 (uninstall_one): Ditto.
3795 (replace_one): Ditto.
3796 (install_one_source): Ditto.
3797 (do_install_thread): Ditto.
3798 * io_stream.cc: Update includes for String usage.
3799 (io_stream::open): Update for String usage.
3800 (io_stream::mkpath_p): Ditto.
3801 (io_stream::remove): Ditto.
3802 (io_stream::mklink): Ditto.
3803 (io_stream::move_copy): Ditto.
3804 (io_stream::move): Ditto.
3805 (io_stream::exists): Ditto.
3806 * io_stream.h: Update includes to allow correct parsing.
3807 (io_stream::open): Update for String usage.
3808 (io_stream::mkpath_p): Ditto.
3809 (io_stream::remove): Ditto.
3810 (io_stream::mklink): Ditto.
3811 (io_stream::move_copy): Ditto.
3812 (io_stream::move): Ditto.
3813 (io_stream::exists): Ditto.
3814 * io_stream_cygfile.cc: Update includes for String usage.
3815 (get_root_dir_now): Update for String usage.
3816 (io_stream_cygfile::io_stream_cygfile): Ditto.
3817 (io_stream_cygfile::~io_stream_cygfile): Ditto.
3818 (io_stream_cygfile::exists): Ditto.
3819 (io_stream_cygfile::remove): Ditto.
3820 (io_stream_cygfile::mklink): Ditto.
3821 (cygmkdir_p): Ditto.
3822 (io_stream_cygfile::set_mtime): Ditto.
3823 (io_stream_cygfile::move): Ditto.
3824 (io_stream_cygfile::get_size): Ditto.
3825 * io_stream_cygfile.h: Update includes for String usage.
3826 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
3827 (io_stream_cygfile::~io_stream_cygfile): Ditto.
3828 (io_stream_cygfile::exists): Ditto.
3829 (io_stream_cygfile::remove): Ditto.
3830 (io_stream_cygfile::mklink): Ditto.
3831 (cygmkdir_p): Ditto.
3832 (io_stream_cygfile::set_mtime): Ditto.
3833 (io_stream_cygfile::move): Ditto.
3834 (io_stream_cygfile::get_size): Ditto.
3835 (io_stream_cygfile::fname): Ditto.
3836 (io_stream_cygfile::lmode): Ditto.
3837 * io_stream_file.cc: Update includes for String usage.
3838 (io_stream_file::io_stream_file): Update for String usage.
3839 (io_stream_file::~io_stream_file): Ditto.
3840 (io_stream_file::exists): Ditto.
3841 (io_stream_file::remove): Ditto.
3842 (io_stream_file::mklink): Ditto.
3843 (io_stream_file::set_mtime): Ditto.
3844 (io_stream_file::move): Ditto.
3845 (io_stream_file::get_size): Ditto.
3846 * io_stream_file.h: Update includes for String usage.
3847 * io_stream_file.cc: Update includes for String usage.
3848 (io_stream_file::io_stream_file): Update for String usage.
3849 (io_stream_file::~io_stream_file): Ditto.
3850 (io_stream_file::exists): Ditto.
3851 (io_stream_file::remove): Ditto.
3852 (io_stream_file::mklink): Ditto.
3853 (io_stream_file::set_mtime): Ditto.
3854 (io_stream_file::move): Ditto.
3855 (io_stream_file::get_size): Ditto.
3856 (io_stream_file::fname): Ditto.
3857 (io_stream_file::lmode): Ditto.
3858 * localdir.cc: Update includes for String usage.
3859 (save_local_dir): Update for String usage.
3860 (check_if_enable_next): Ditto.
3861 (load_dialog): Ditto.
3862 (browse_cb): Ditto.
3863 (LocalDirPage::OnInit): Ditto.
3864 (LocalDirPage::OnNext): Ditto.
3865 * log.cc: Update includes for String usage.
3866 (struct LogEnt): Update for String usage.
3867 (log): Ditto.
3868 (log_save): Ditto.
3869 (exit_setup): Ditto.
3870 * log.h: Update includes for String usage.
3871 (log_level): Update for String usage.
3872 (log): Ditto.
3873 (log_save): Ditto.
3874 * main.cc (WinMain): Update for String usage.
3875 * mklink2.c (make_link_2): Update for String usage.
3876 * mklink2.h (make_link_2): Update for String usage.
3877 * mount.cc: Update includes for String usage.
3878 (mount_table): Update for String usage.
3879 (find2): Ditto.
3880 (create_mount): Ditto.
3881 (remove1): Ditto.
3882 (remove_mount): Ditto.
3883 (read_mounts): Ditto.
3884 (set_root_dir): Ditto.
3885 (get_root_dir): Ditto.
3886 (path_prefix_p): Ditto.
3887 (cygpath): Ditto.
3888 * mount.h: Update includes for String usage.
3889 (create_mount): Update for String usage.
3890 (remove_mount): Ditto.
3891 (cygpath): Ditto.
3892 (set_root_dir): Ditto.
3893 (get_root_dir): Ditto.
3894 * msg.cc (mbox): Ditto.
3895 * net.cc (NetPage::OnNext): Ditto.
3896 * package_db.cc (packagedb::flush): Ditto.
3897 (packagedb::packages): Ditto.
3898 (packagedb::categories): Ditto.
3899 * package_db.h: Update includes for String usage.
3900 (packagedb::packages): Update for String usage.
3901 (packagedb::categories): Ditto.
3902 * package_meta.cc: Update includes for String usage.
3903 (hash::add_subdirs): Update for String usage.
3904 (packagemeta::uninstall): Ditto.
3905 (packagemeta::SDesc): Ditto.
3906 (packagemeta::action_caption): Ditto.
3907 * package_meta.h: Update includes for String usage.
3908 (packagemeta::packagemeta): Update for String usage.
3909 (packagemeta::~packagemeta): Ditto.
3910 (packagemeta::uninstall): Ditto.
3911 (packagemeta::SDesc): Ditto.
3912 (packagemeta::action_caption): Ditto.
3913 (package_source.cc site::site): Ditto.
3914 (packagesource::set_canonical): Ditto.
3915 (packagesource::set_cached): Ditto.
3916 * package_source.h: Update includes for String usage.
3917 (site::site): Update for String usage.
3918 (packagesource::set_canonical): Ditto.
3919 (packagesource::set_cached): Ditto.
3920 (packagesource::packagesource): Ditto.
3921 (packagesource::sites): Ditto.
3922 (packagesource::cached): Ditto.
3923 * package_version.h: Update includes for String usage.
3924 (Dependency): Update for String usage.
3925 (packageversion): Ditto.
3926 * postinstall.cc: Update includes for String usage.
3927 (do_postinstall): Update for String usage.
3928 * res.rc (IDD_LOCAL_DIR): Fix typo again!
3929 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
3930 * rfc1738.h: Update includes for String usage.
3931 (rfc1738_escape_part): Update for String usage.
3932 * root.cc: Update includes for String usage.
3933 (check_if_enable_next): Update for String usage.
3934 (save_dialog): Ditto.
3935 (browse_cb): Ditto.
3936 (directory_is_absolute): Ditto.
3937 (directory_is_rootdir): Ditto.
3938 (directory_has_spaces): Ditto.
3939 (RootPage::OnInit): Ditto.
3940 (RootPage::OnNext): Ditto.
3941 * script.cc: Update includes for String usage.
3942 (init_run_script): Update for String usage.
3943 (run): Ditto.
3944 (run_script): Ditto.
3945 (try_run_script): Ditto.
3946 * script.h: Update includes for String usage.
3947 (run_script): Update for String usage.
3948 (try_run_script): Ditto.
3949 * site.cc site_list): Ditto.
3950 (all_site_list): Ditto.
3951 (other_url): Eliminate.
3952 (site_list_type::init): Update for String usage.
3953 (site_list_type::site_list_type): Ditto.
3954 (get_site_list): Ditto.
3955 (get_saved_sites): Ditto.
3956 (do_download_site_info_thread): Ditto.
3957 (SitePage::OnNext): Ditto.
3958 (SitePage::OnActivate): Ditto.
3959 (SitePage::PopulateListBox): Ditto.
3960 (SitePage::OnMessageCmd): Handle empty url's.
3961 * site.h: Update includes for String usage.
3962 (site_list_type::site_list_type): Update for String usage.
3963 (site_list_type::init): Ditto.
3964 (site_list_type::~site_list_type): Ditto.
3965 (site_list_type::url): Ditto.
3966 (site_list_type::displayed_url): Ditto.
3967 (site_list_type::key): Ditto.
3968 * source.cc (SourcePage::OnDeactivate): Ditto.
3969 * state.h: Update includes for String usage.
3970 (local_dir): Update for String usage.
3971 (trust_level): Remove.
3972 * version.cc: Update includes for String usage.
3973 (canonicalize_version): Update for String usage.
3974 * version.h: Update includes for String usage.
3975 (canonicalize_version): Update for String usage.
3976
08233ec7
CF
39772002-02-15 Christopher Faylor <cgf@redhat.com>
3978
3979 * filemanip.c (parse_filename): Revert previous change.
3980
94dffbdd
CF
39812002-02-14 Christopher Faylor <cgf@redhat.com>
3982
3983 * filemanip.c (parse_filename): Don't treat '_' as a version number
3984 introducer.
3985
cef493d7
CF
39862002-01-29 Christopher Faylor <cgf@redhat.com>
3987
3988 * configure: Regenerate.
3989
57219197
RC
39902002-01-27 Robert Collins <rbtcollins@hotmail.com>
3991
94dffbdd
CF
3992 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
3993 <Hoeck@extern.lrz-muenchen.de>
57219197 3994
cc7493c3
RC
39952002-01-27 Robert Collins <rbtcollins@hotmail.com>
3996
3997 * README: Update Todo's.
3998 * list.h: Run indent.
3999 (list): New methods checksize and insert to reduce code duplication.
4000 (list::registerbykey): Use them.
4001 (list::registerbyobject): Ditto.
94dffbdd
CF
4002 (list::removebyindex): Copy each object individually - safe for non
4003 trivial objects.
cc7493c3
RC
4004 (list::checksize): Implement.
4005 (list::insert): Implement.
4006
a900d1fa
RC
40072002-01-27 Robert Collins <rbtcollins@hotmail.com>
4008
4009 * Makefile.in: Remove the dlmalloc object by default.
94dffbdd
CF
4010 * install.cc (do_install_thread): Remove the mallinfo call for 'working
4011 around' the crashing issue.
a900d1fa 4012 * package_db.h: Include <string.h> - it's needed to parse this.
94dffbdd 4013 * package_source.cc (site::site): Move here from the header file.
a900d1fa
RC
4014 * package_source.h (site): Stop the constructor being inlinable.
4015
9835fb4a
RC
40162002-01-26 Robert Collins <rbtcollins@hotmail.com>
4017
4018 * filemanip.cc (find_tar_ext): Add a descriptive comment.
4019
40202002-01-25 Michael A Chase <mchase@ix.netcom.com>
4021
4022 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
4023 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
94dffbdd
CF
4024 * install.cc (install_one_source): Add space between words in log()
4025 call.
cef493d7 4026
77ba23d8
RC
40272002-01-22 Robert Collins <rbtcollins@hotmail.com>
4028
94dffbdd
CF
4029 * log.cc (exit_setup): When saving to the download dir, explicity
4030 specify the path.
77ba23d8 4031
6dc75764
RC
40322002-01-22 Robert Collins <rbtcollins@hotmail.com>
4033
94dffbdd
CF
4034 * archive.cc (extract_file): Separate out the prefix and the URL
4035 scheme.
6dc75764 4036 * archive.h (archive::extract_file): Ditto.
94dffbdd
CF
4037 * install.cc (install_one_source): Ditto. Use the new
4038 archive::extract_file syntax.
6dc75764
RC
4039 (replace_one): Use the new syntax.
4040 (io_stream.cc): Add some log info for links.
4041
7e8fc33c
RC
40422002-01-22 Robert Collins <rbtcollins@hotmail.com>
4043
4044 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
4045 (PickCategoryLine::paint): Use the new action method.
4046 (PickCategoryLine::click): Set the action for all children.
4047 (PickCategoryLine::set_action): New method.
4048 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
4049 (PickCategoryLine::current_default): Use packagemeta _actions class.
94dffbdd
CF
4050 * PickLine.h (PickLine::set_action): New abstract method that requires
4051 including package_meta.h.
7e8fc33c
RC
4052 * PickPackageLine.cc (PickPackageLine::set_action): New method.
4053 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
4054 * list.h (getbykey): A const correctness fix.
4055 * package_meta.cc: Run indent.
4056 (packagemeta::Default_action): New const.
4057 (packagemeta::Install_action): Ditto.
4058 (packagemeta::Reinstall_action): Ditto.
4059 (packagemeta::Uninstall_action): Ditto.
4060 (packagemeta::_actions::caption): New method.
4061 (packagemeta::_actions::operator++): Ditto.
4062 (packagemeta::set_action): New overload.
4063 * package_meta.h (packagemeta::_actions): New class.
4064 (packagemeta::set_action): Declare this.
4065
2c9254b6
RC
40662002-01-22 Robert Collins <rbtcollins@hotmail.com>
4067
4068 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
4069 * choose.cc: Don't define alloca anymore, it's done in win32.h
4070
97647369
RC
40712002-01-22 Robert Collins <rbtcollins@hotmail.com>
4072
4073 * PickPackageLine.cc: New file.
4074 * PickPackageLine.h: New file.
4075 * PickLine.cc: New file.
4076 * PickLine.h: New file.
4077 * PickCategoryLine.cc: New file.
4078 * PickCategoryLine.h: New file.
4079 * PickView.cc: New file.
4080 * PickView.h: New file.
4081 * Makefile.in: Add new objects to setup.exe.
4082 Backout -fno-exceptions option.
4083 * choose.cc: Include PickView.h.
4084 Remove view related defines and static variables.
4085 (_pkg_headers): Moved to PickView.cc.
4086 (_cat_headers): Ditto.
4087 (view::views::Unknown): Ditto.
4088 (view::views::PackageFull):
4089 (view::views::Package):
4090 (view::views::Category):
4091 (pkgtrustp): Moved to package_meta.cc.
4092 (add_required): Moved to package_meta.cc.
4093 (pick_category_line::empty): Moved to PickCategoryLine.cc
4094 (paint): Adjust for moved static variables.
4095 (view::scroll): Moved to PickView.cc.
4096 (list_vscroll): Adjust for moved static variables.
4097 (list_hscroll): Ditto.
4098 (list_click): Ditto.
4099 (note_width): Moved to PickView.cc.
4100 (view::view): Ditto.
4101 (view::set_view_mode): Ditto.
4102 (view::mode_caption): Ditto.
4103 (view::views::caption): Ditto.
4104 (view::set_headers): Ditto.
4105 (DoInsertItem): Ditto.
4106 (view::init_headers): Ditto.
4107 (view::insert_pkg): Ditto.
4108 (view::insert_category): Ditto.
4109 (view::clear_view): Ditto.
4110 (view::views::operator++): Ditto.
4111 (view::click): Ditto.
4112 (default_trust): Adjust for moved statics.
4113 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
4114 (pick_pkg_line::click): Ditto.
4115 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
4116 (pick_category_line::paint): Ditto.
4117 (pick_category_line::click): Ditto.
4118 (set_view_mode): Adjust for moved statics.
4119 (create_listview): Ditto.
58b12a06
MB
4120 * choose.h: Remove Category and packagemeta forward defines -
4121 not needed.
97647369
RC
4122 Don't include unneeded headers list and package_meta.
4123 (_header): Move to PickView.h.
4124 (pick_line): Move to PickLine.h.
4125 (pick_pkg_line): Move to PickPackageLine.h.
4126 (pick_category_line): Move to PickCategoryLine.h.
4127 (view): Move to PickView.h.
4128 * ini.h (trusts): Move to package_meta.h.
4129 * package_meta.h (trusts): New enum.
4130 (packagemeta::set_requirements): New helper method.
4131 (packagemeta::trustp): Ditto.
4132
b566778e
CF
41332002-01-21 Christopher Faylor <cgf@redhat.com>
4134
4135 * choose.h (view): Move forward declaration of views into public area
4136 or g++ v3 will complain.
4137
f71e9756
CF
41382002-01-21 Christopher Faylor <cgf@redhat.com>
4139
4140 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
4141 * win32.h (alloca): Define as __builtin_alloca.
4142 * io_stream_memory.cc: Add include file.
4143
e9440f0f
RC
41442002-01-21 Robert Collins <rbtcollins@hotmail.com>
4145
58b12a06
MB
4146 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as
4147 destroyed.
e9440f0f
RC
4148 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
4149 * compress.cc (compress::~compress): Be less verbose.
4150 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
4151 Mark the stream as destroyed.
58b12a06
MB
4152 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as
4153 destroyed.
4154 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not
4155 marked as destroyed.
cef493d7 4156 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
e9440f0f
RC
4157 stream as destroyed.
4158 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
4159 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
cef493d7 4160
5e0464a1
RC
41612002-01-21 Robert Collins <rbtcollins@hotmail.com>
4162
4163 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
4164 (OBJS): Link in malloc objects.
4165 * category.cc (category): Use new char, not strdup.
4166 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
4167 (do_choose): Use new char, not malloc.
4168 * concat.cc (vconcat): Ditto.
4169 * cygpackage.cc (cygpackage): Use new char, not strdup.
4170 (set_canonical_version): Ditto.
4171 (cygpackage::destroy): Use delete[], not free.
4172 * desktop.cc (uexists): Ditto.
4173 * dialog.cc (egest): Use new char, not strdup.
4174 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
4175 * hash.cc (hash::hash): Use delete instead of free.
4176 (hash::add): Use new char, not strdup.
4177 * ini.cc (do_remote_ini): Use delete[] not free.
4178 * inilex.l: Use new char, not strdup.
4179 (ini_init): Ditto.
4180 * iniparse.y: Ditto.
4181 Use a local package_db rather than a static one.
4182 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
4183 (do_install_thread): Call mallinfo to force a consistency check. Appears
4184 to fix a 'inuse' error in -DDEBUG builds.
4185 Use delete[] for strings.
58b12a06
MB
4186 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new
4187 char, not strdup.
5e0464a1
RC
4188 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
4189 (io_stream_cygfile::remove): Use new char, not strdup.
58b12a06
MB
4190 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not
4191 strdup.
5e0464a1
RC
4192 (io_stream_file::io_stream_file): Use delete[], not free.
4193 (io_stream_file::remove): Use new char, not strdup.
4194 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
4195 * io_stream_memory.h (memblock): Use new char, not malloc.
4196 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
4197 * main.cc (WinMain): Use new char, not strdup.
4198 * mount.cc (find2): Use new char, not malloc.
4199 (read_mounts): Ditto.
4200 (cygpath): Use new char, not strdup.
4201 * netio.cc (NetIO::~NetIO): Use delete[], not free.
4202 (NetIO::set_url): Use new char, not strdup.
4203 (NetIO::get_ftp_auth): Use delete[], not free.
4204 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
4205 Use new char instead of strdup.
4206 * nio-http.cc (base64_encode): Use new char, not malloc.
4207 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
4208 * package_source.h (~ packagesource): Use delete[] instead of delete.
4209 * port.h (strdup): Deprecate the use of strdup.
4210 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
4211 * script.cc (init_run_script): Us delete[], not free.
4212 (run_script): Ditto.
4213 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
4214 (SimpleSocket::invalidate): Use delete[], not free.
4215 * site.cc (site_list_type::init): Use new char instead of strdup.
4216 * site.h (~site_list_type): Use delete[], not free.
4217
ad3c7385
RC
42182002-01-20 Robert Collins <rbtcollins@hotmail.com>
4219
4220 * Makefile.in (OBJS): Add win32.o - win32 support functions.
4221 * README: Update todos.
58b12a06
MB
4222 * archive.cc (extract_file): Support a suffix for appending to extracted
4223 files.
ad3c7385
RC
4224 * archive.h: Ditto.
4225 * choose.cc (set_view_mode): Use the new view::views class.
4226 (view::views::Unknown): New static for defaulting view::views variables.
4227 (view::views::PackageFull): New static for the current view.
4228 (view::views::Package): Ditto.
4229 (view::views::Category): Ditto.
4230 (topbucket::paint): Remove.
4231 (topbucket::empty): Rename to pick_category_line::empty.
4232 (topbucket::~topbucket): Remove.
4233 (paint): Use the new view::views class.
4234 Don't paint 'all' as a category when showing package categoies.
4235 (pick_category_line::actiontext): New method.
58b12a06
MB
4236 (pick_category_line::paint): Make showing the category optional, and
4237 show the 'category action'.
ad3c7385 4238 (pick_category_line::click): Make showing the category optional, and
58b12a06
MB
4239 differentiate between the name being clicked, and the action
4240 description.
ad3c7385
RC
4241 (view::view): Use the new view::views class.
4242 (view::set_view_mode): Ditto.
4243 (view::mode_caption): Ditto.
4244 (view::views::caption): New method.
4245 (view::set_headers): Use the new view::views class.
4246 (view::clear_view): Ditto.
cef493d7 4247 (viewsplusplus): Replaced by
ad3c7385
RC
4248 (view::views::operator++): New operator.
4249 (set_view_mode): Use the new view::views class.
4250 (create_listview): Ditto.
4251 (dialog_cmd): Ditto.
4252 * choose.h (actions): Remove.
4253 (views): Remove.
4254 (pick_line): Add a new convenience constructor.
4255 (top_bucket): Remove.
4256 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
4257 (view::views): New class.
4258 * ini.h: Don't include choose.h
4259 (is_download_action): Remove.
4260 (is_upgrade_action): Remove.
4261 (is_uninstall_action): Remove.
4262 (is_full_action): Remove.
4263 * install.cc (num_replacements): New static.
4264 (rebootneeded): Ditto.
4265 (replace_one): Handle upgrades separate from removal or new installs.
4266 (install_one_source): Handle in use files.
4267 (install_one): Don't repeat upgrades.
4268 (do_install_thread): Initialize new statics.
4269 Order actions as uninstall, replace, install.
4270 Warn about rebooting if needed.
4271 * res.rc (IDS_REBOOT_REQUIRED): New string.
4272 * resource.h (IDS_REBOOT_REQUIRED): Give value.
4273 * win32.h: Declare class Win32, and update copyright and intent message.
4274 * win32.cc: New file.
4275
edef4f57
CV
42762002-01-15 Corinna Vinschen <corinna@vinschen.de>
4277
4278 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
4279 * package_meta.cc (packagemeta::uninstall): Check for additional
4280 Windows shortcut. Unset R/O file attribute before trying to delete
4281 file.
4282
21f325d7
RC
42832002-01-09 Robert Collins <rbtcollins@hotmail.com>
4284
58b12a06
MB
4285 * choose.cc (pkgtrustp): Fall back to installed if a package is not
4286 present in the current trust level. For prev, fall back via curr.
21f325d7
RC
4287 (set_existence): Allow sources with no sites, but cached files to be
4288 kept.
4289 (pick_category_line::paint): Start drawing clickable categories.
4290 * fromcwd.cc (found_file): Reinstate local file scanning.
4291
858f100d
RC
42922002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4293
cef493d7 4294 * fromcwd.cc: Run indent.
858f100d
RC
4295 (do_fromcwd): Reverse sense of comment. Set next_dialog
4296 to IDD_CHOOSER instead of IDD_CHOOSE.
4297 * ini.cc (find_routine): Remove "/" from "/setup.ini".
cef493d7 4298
d343da15
RC
42992001-01-07 Robert Collins <rbtcollins@hotmail.com>
4300
4301 * category.cc (Categorycmp): Add a const safe version.
4302 * category.h (Categorycmp): Add a const safe version.
4303 (Category): Add operator ==.
4304 * choose.cc (fill_missing_category): Add every package to "All".
58b12a06
MB
4305 (pick_category_line::paint): Add support for hidden labels, and a tree
4306 depth.
d343da15
RC
4307 (pick_category_line::click): Ditto.
4308 (view::view): Pass in a top level category to use.
4309 (view::insert_pkg): Special case - skip category "All".
4310 (view::insert_category): Ditto.
4311 (view::clear_view): Set the contents label state.
4312 (create_listview): Pass in a top level category to view().
4313 * choose.h (topbucket): Make bucket available to derived classes.
4314 (pick_category_line): Add support for hidden labels, and a tree depth.
4315 Remove our second copy of bucket.
4316 (view): Pass in a top level category to the constructor.
4317 Use pick_category_line to allow three level display.
4318
bcf20115
RC
43192001-01-06 Robert Collins <rbtcollins@hotmail.com>
4320
4321 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
4322 * iniparse.y (add_correct_version): Copy descriptions across.
58b12a06
MB
4323 * package_meta.cc (SDesc): Iterate through versions, return the first
4324 with a description.
bcf20115
RC
4325 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
4326
bc78a6d5
RC
43272001-01-04 Robert Collins <rbtcollins@hotmail.com>
4328
4329 * script.cc (run_script): Change cygpath:// to cygfile://.
4330 * install.cc (do_install_thread): Fix off-by-one errors.
4331
4f4e55c2
RC
43322001-01-04 Robert Collins <rbtcollins@hotmail.com>
4333
4334 * package_db.cc (packagedb::flush): Fix an off-by-one error.
4335
8e9aa511
RC
43362002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
4337
4338 * Makefile.in (realclean): more clean.
4339 (OBJS): Add script.o.
4340 * postinstall.cc (run_script_in_etc_postinstall): New function.
4341 (do_postinstall): Split off new funtion init_run_script ().
4342 (init_run_script):
4343 (run):
4344 (run_script): Move to script.cc. Replace some deprecated remove
4345 and move calls.
4346 * script.h:
4347 * script.cc: New file.
4348 * Forward port cygwin-20010707.jcn3.patch.
4349 * package_meta.cc (uninstall): Run pre- and postremove scripts.
4350 * install.cc: Typo fix.
4351 (do_install): Run script initialisation.
cef493d7 4352
b7301c43
RC
43532001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4354
4355 * cistring.cc: Run d2u.
4356 * cistring.h: Run d2u.
4357
4358 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
4359 from the generated /etc/profile. Bash will source this file
4360 automatically, and having this here merely results in .bashrc being
4361 executed twice. Run d2u.
4362 * desktop.h: Run d2u.
4363
4364 * propsheet.cc: Run d2u.
4365 (PropSheetProc): New function. Add minimize box here instead of in
4366 PropertyPage::DialogProc.
4367 (PropSheet::Create): Change to use creation callback PropSheetProc.
4368 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
4369
4370 * propsheet.h: Run indent, d2u.
4371 * proppage.h: Run indent, d2u.
4372
4373 * proppage.cc: Run d2u.
4374 (PropertyPage::DialogProc): Remove minimize-box-adding
4375 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
4376 Add support for calling virtual OnMessageCmd. Add setting of fonts in
4377 WM_INITDIALOG handler.
4378 (resource.h): New include for resource IDs.
4379
4380 * res.rc: Resize and rearrange property page dialog templates
4381 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
4382 specification. Run d2u.
4383 (IDD_SITE): Add an edit control and an "Add" button in order to
4384 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
4385 (IDD_OTHER_URL): Remove dialog template.
4386 (IDD_DLSTATUS): Remove dialog template.
4387
4388 * site.cc: Run d2u.
4389 (SitePage::OnBack): Remove NEXT() macro invocation.
4390 (SitePage::OnActivate): New member function.
4391 (load_dialog): Remove. Functionality subsumed into
4392 SitePage::OnActivate.
4393 (save_dialog): Change to support both list and user URLs. Remove
4394 OTHER_IDX and mirror_idx logic.
4395 (SitePage::PopulateListBox): New member function.
4396 (SitePage::CheckControlsAndDisableAccordingly): New member function.
4397 (SitePage::OnMessageCmd): New override.
4398 (check_if_enable_next): Remove.
4399 (dialog_cmd): Remove.
4400 (do_download_site_info_thread): Remove calls to NEXT() macro.
4401 (SitePage::Create): Call the single-param PropertyPage::Create
4402 overload.
4403 (other_url): New static taken from other.cc.
4404 (SitePage::OnNext): Remove mirror_idx logic.
4405 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
4406 list box populating code, now handled in SitePage::PopulateListBox.
4407 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
4408 (save_site_url): Fix potential buffer overflow problem. Switched to
4409 TCHAR in grossly premature preparation for multilingual support.
4410 * site.h: Run d2u.
4411 (SitePage::OnActivate): New member function.
4412 (SitePage::CheckControlsAndDisableAccordingly) New member.
4413 (SitePage::OnMessageCmd): New override.
4414 (do_download_site_info_thread): Add MessageBox call on failure to
4415 download site list.
4416
4417 * splash.cc: Run d2u.
4418 (SplashPage::OnInit): Set the font for the title.
4419 * splash.h: Run d2u.
4420
4421 * threebar.cc: Run d2u.
4422 * threebar.h: Run d2u.
4423
4424 * window.h: Run d2u.
4425 (Window::IsButtonChecked): New member function declaration.
4426 (Window::OnMessageCmd): New member function.
4427 (Window::SetDlgItemFont): New member function declaration.
4428 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
4429 members.
4430 * window.cc: Run d2u.
4431 (Window::IsButtonChecked): New member function definition.
4432 (Window::SetDlgItemFont): New member function definition.
4433 (Window::Window): Add initialization for FontCounter.
4434 (Window::~Window): Delete any fonts we created.
4435
4436 * geturl.cc: Run d2u.
4437 (progress): Remove the "3" field width from the "%3d"
4438 percent-complete format indicator. Causes line to not start at
4439 beginning of text box, and does little to help with "jumping", since
4440 the "bytes downloaded so far" field is variable-width anyway. Change
4441 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
4442 painfully slow connections, or temporary slowdowns in faster
4443 connections should such more-instantaneous functionality become
4444 available.
4445
4446 * net.h: Run d2u.
4447 (NetPage::OnMessageCmd): New member function declaration.
4448 (NetPage::CheckIfEnableNext): New member function declaration.
4449 * net.cc: Run d2u.
4450 (NetPage::OnMessageCmd): New member function definition.
4451 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
4452 (check_if_enable_next): Remove.
4453 (NetPage::CheckIfEnableNext): New member function, subsumes
4454 check_if_enable_next.
4455 (propsheet.h): Add include.
4456 (NetPage::Init): Add call to CheckIfEnableNext.
4457 (load_dialog): Remove call to check_if_enable_next.
4458 (NetPage::Create): Call single-template-ID-parameter overload of
4459 PropertyPage::Create instead of three-parameter one.
4460
4461 * Makefile.in (OBJS): Remove other.o.
4462 * other.cc: Remove file.
4463
df62e023
RC
44642002-01-01 Robert Collins <rbtcollins@hotmail.com>
4465
4466 * README: Update TODO's.
4467 * choose.cc (set_existence): Delete non installed packages with no
4468 mirrors.
4469 (fill_missing_category): Fix an off-by-one error.
cef493d7 4470 (default_trust): Ditto. Also delete any unused categories.
df62e023
RC
4471 (view::init_headers): Fix an off-by-one error.
4472 (set_view_mode): Ditto.
4473 (set_view_mode): Ditto.
4474 (create_listview): Ditto.
4475 (dialog_cmd): Ditto.
4476 (do_choose): Ditto.
4477 * io_stream.cc: Indent.
4478 * io_stream.h: Ditto.
4479 * package_db.cc: Ditto.
4480 * package_meta.h: Const correctness for SDesc ();
4481 * proppage.cc: Run d2u and indent.
4482 * propsheet.cc: Run d2u and indent.
4483 * window.cc: Run d2u and indent.
4484 * window.h: Run d2u and indent.
4485
cec57ee1
CF
44862001-12-28 Christopher Faylor <cgf@redhat.com>
4487
e98c531e 4488 * Makefile.in (iniparse.o): Accommodate newer bisons.
cec57ee1 4489
ab57ceaa
RC
44902001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4491
4492 * window.h (Window): New file, new class.
4493 * window.cc (Window): New file, new class.
4494
4495 * threebar.h (ThreeBarProgressPage): New file, new class.
4496 * threebar.cc (ThreeBarProgressPage): New file, new class.
4497
4498 * splash.h (SplashPage): New file, new class.
4499 * splash.cc (SplashPage): Replace file with implementation of new
4500 class.
4501
4502 * source.h (SourcePage): New file, new class.
4503 * source.cc: Run indent.
4504 (SourcePage): Add class implementation to this file.
4505 (do_source): Remove, functionality subsumed by SourcePage::Create()
4506 and SourcePage::OnDeactivate().
cef493d7 4507 (dialog_proc): Remove, functionality subsumed by
ab57ceaa
RC
4508 SourcePage::OnActivate().
4509
4510 * site.h: Run indent.
4511 (SitePage): Add class declaration.
4512 * site.cc: Run indent.
4513 (SitePage): Add class implementation.
4514 (do_download_site_info_thread): New function.
4515 (context): New var. Context info for do_download_site_info_thread().
4516 (do_download_site_info): New function.
4517 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
4518 (SitePage::OnBack): SitePage class implementation..
4519 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
4520 by SitePage members.
4521 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
4522 functionality.
4523 (do_site): Remove, now handled by do_download_site_info_thread() and
4524 SitePage::OnNext functionality.
4525 (get_site_list): Remove dismiss_url_status_dialog() call.
4526
4527 * root.h (RootPage): New file, new class.
4528 * root.cc: Run indent.
4529 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
4530 (dialog_proc): Remove.
4531 (do_root): Remove
4532 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
4533 (RootPage::OnInit): New member function. Move get_root_dir() logic to
4534 here from do_root().
4535 (RootPage::Create): New member function.
cef493d7 4536 (RootPage::OnNext): New member function. Move IDOK logic from
ab57ceaa
RC
4537 dialog_cmd() to here.
4538 (RootPage::OnBack): New member function.
4539
4540 * propsheet.h (PropSheet): New file, new class.
4541 * propsheet.cc (PropSheet): New file, new class.
4542
4543 * proppage.h (PropertyPage): New file, new class.
4544 * proppage.cc (PropertyPage): New file, new class.
4545
4546 * postinstall.cc (do_postinstall): Add owner parameter.
4547
4548 * other.cc (do_other): Add owner parameter.
4549
4550 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
cef493d7 4551 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
ab57ceaa 4552 get_ftp_auth().
cef493d7 4553 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
ab57ceaa
RC
4554 get_proxy_auth(),
4555 and get_ftp_auth().
cef493d7 4556 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
ab57ceaa
RC
4557 get_auth(), get_proxy_auth().
4558
4559 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
cef493d7 4560 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
ab57ceaa
RC
4561 NetIO::get_ftp_auth)
4562 (auth_common): Add owner param. Pass owner param to DialogBox.
cef493d7 4563 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
ab57ceaa
RC
4564 owner param to auth_common().
4565
4566 * net.h (NetPage): New file, new class.
4567 * net.cc: Run indent.
4568 (net.h, threebar.h): Add includes.
4569 (Progress): Add extern.
4570 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
4571 property sheet logic. Saved temporarily for reference.
cef493d7 4572 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
ab57ceaa
RC
4573 NetPage::OnNext, NetPage::OnBack):
4574 New implementation of NetPage class members.
4575 (do_net): Remove.
4576 (dialog_proc): Remove.
4577
4578 * msg.h (fatal, note, yesno): Add owner param.
4579 * msg.c (fatal, note, yesno, mbox): Add owner param.
4580 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
4581 now that we have a parent.
4582
4583 * main.cc: Run indent.
cef493d7 4584 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
ab57ceaa
RC
4585 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
4586 headers.
4587 (root_dialog_proc): extern into this file.
4588 (Progress): Progress dialog defined here, used in several other files.
4589 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
4590 Site, Chooser, Desktop pages and MainWindow sheet. Call
4591 InitCommonControls() to make sure Windows is set up for our use of
4592 property sheets. Add pages to sheet.
4593 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
4594 now handled by the PropSheet class.
4595 (root.h): Add include.
4596
4597 * log.cc (log_save): Pass NULL parent to fatal().
4598 (exit_setup): Pass NULL parent to note().
4599
4600 * localdir.h (LocalDirPage): New file, new class.
4601 * localdir.cc: Run indent.
4602 (localdir.h): New include.
4603 (threebar.h): New include.
4604 (Progress): extern into this file.
4605 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
cef493d7 4606 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
ab57ceaa
RC
4607 LocalDirPage.
4608 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
4609 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
4610 (do_local_dir): Remove.
4611 (dialog_proc): Remove.
4612 (cwd): Remove, not used by anything.
4613
4614 * install.cc: Run indent.
4615 (process.h, threebar.h): New includes.
4616 (Progress): extern into this file.
4617 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
4618 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
4619 ThreeBarProgressPage.
cef493d7 4620 (dialog_cmd, dialog_proc, dialog): Removed, handled in
ab57ceaa 4621 ThreeBarProgressPage.
cef493d7
CF
4622 (init_dialog): Remove all mention of the above ins_* handles. Now
4623 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
ab57ceaa
RC
4624 ThreeBarProgressPage instance Progress directly.
4625 (progress): Alter bar update logic to call ThreeBarProgressPage
4626 instance Progress directly.
4627 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
4628 instance Progress directly.
cef493d7 4629 (install_one_source): Alter SetWindowText()s to call
ab57ceaa
RC
4630 ThreeBarProgressPage
4631 instance Progress directly. Pass NULL parent to note().
cef493d7 4632 (do_install_thread): Rename from do_install(), added owner param.
ab57ceaa
RC
4633 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
4634 directly.
4635 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
cef493d7 4636 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
ab57ceaa
RC
4637 fatal().
4638 (do_install_reflector): New function.
4639 (do_install): New function.
4640
4641 * ini.cc (process.h, threebar.h): New includes.
4642 (Progress): externed into this file.
4643 (find_routine): Pass NULL parent to note().
4644 (do_local_ini): Add owner param.
cef493d7 4645 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
ab57ceaa
RC
4646 and note(). Remove call to dismiss_url_status_dialog().
4647 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
cef493d7 4648 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
ab57ceaa
RC
4649 to IDD_CHOOSER on exit.
4650 (do_ini_thread_reflector): New function.
4651 (context): New var. Context for do_ini_thread.
4652 (do_ini): New function.
4653
4654 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
4655 owner param.
cef493d7 4656 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
ab57ceaa 4657 gw_iprogress)
cef493d7 4658 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
ab57ceaa
RC
4659 Removed.
4660 (threebar.h): New include.
4661 (Progress): externed into this file.
cef493d7 4662 (dialog_cmd, dialog_proc, dialog): Removed, handled by
ab57ceaa 4663 ThreeBarProgressPage now.
cef493d7 4664 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
ab57ceaa 4665 SetWindowText()s
cef493d7 4666 and bar setting SendMessage()s to call ThreeBarProgressPage instance
ab57ceaa
RC
4667 Progress directly. Remove "one bar only" logic, this is now handled
4668 explicitly in the ThreeBarProgressPage class.
cef493d7 4669 (progress): Altered bar and text update logic to call
ab57ceaa
RC
4670 ThreeBarProgressPage instance Progress directly. Changed kbps
4671 calculation to floating point and now print out a single decimal
4672 place.
4673 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
4674 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
cef493d7 4675 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
ab57ceaa
RC
4676 update logic to call ThreeBarProgressPage instance Progress directly.
4677 (dismiss_url_status_dialog): Remove.
4678
4679 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
4680 false, was true.
4681
4682 * download.cc: Run indent.
4683 (process.h, threebar.h): New includes.
4684 (Progress): externed into this file.
4685 (download_one): Add owner param. Pass it to get_url_to_file().
4686 (do_download_thread): Renamed from do_download. Add owner param. When
4687 calculating total_download_bytes, take binpicked and srcpicked into
4688 account. Remove call to dismiss_url_status_dialog(), no longer needed.
4689 Pass owner handle to download_one() and yesno().
4690 (do_download_reflector, do_download): New functions.
4691 (context): New var. Context for do_download_thread().
4692
4693 * dialog.h (D(x)): Add owner param.
4694
4695 * desktop.h (DesktopSetupPage): New file, new class.
4696 * desktop.cc: Run indent.
4697 (desktop.h): Add include.
cef493d7 4698 (dialog_proc, do_desktop): Remove, now handled in
ab57ceaa
RC
4699 DesktopSetupPage::OnInit().
4700 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
4701 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
4702 resp.
4703 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
4704 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
4705 of DesktopSetupPage.
4706
4707 * cistring.h: New file, new class.
4708 * cistring.cc: New file, new class.
4709
4710 * choose.h: Run indent.
4711 (Chooser): New class declaration.
4712 * choose.cc: Run indent.
cef493d7 4713 (do_choose): Add owner param. Pass it to DialogBox() and
ab57ceaa
RC
4714 fatal().
4715 (Chooser): New class implementation.
4716
4717 * res.rc (IDS_VERSION_INFO): New string.
4718 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
4719 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
4720 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
4721 throughout.
4722 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
4723 TAB control navigation etc. Give the controls a reasonable tab order.
4724 Grouped radio buttons. Something's still not right, can't tab away
4725 from back/next/cancel group reliably.
4726 * resource.h (IDD_CHOOSER): New dialog ID.
4727
4728 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
4729 threebar.o, and window.o.
4730
cc41a057
RC
47312001-12-21 Robert Collins <rbtcollins@hotmail.com>
4732
58b12a06
MB
4733 * choose.cc (listview_proc): Update the scrollbar when the headers are
4734 dragged.
cc41a057
RC
4735 (pick_pkg_line::paint): Clip columns to prevent overlap.
4736
cbfc4215
RC
47372001-12-20 Robert Collins <rbtcollins@hotmail.com>
4738
4739 * Makefile.in: Add libcomctl32.a for setup.exe.
4740 * archive.h (archive): Prevent non-child direct creation of the class.
58b12a06
MB
4741 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and
4742 assignment.
cbfc4215
RC
4743 * choose.cc: Include commctrl for the choose header.
4744 (NEW_COL_SIZE_SLOP): Define without magic numbers.
4745 (pkgtrustp): Convert to function.
4746 (set_action): Remove.
cef493d7 4747 (add_required, fill_missing_category,default_trust): Use list syntax for
cbfc4215
RC
4748 package list.
4749 Use new set_action.
4750 (choose_caption): Remove.
4751 (topbucket::paint): New method.
4752 (topbucket::empty): Ditto.
4753 (topbucket::click): Ditto.
4754 (topbucket::~topbucket): Ditto.
4755 (paint): Remove i,ii and p as they are obsolete.
4756 Remove header drawing code.
4757 Use new chooser method to paint the chooser.
4758 Use new chooser itemcount method.
4759 (scroll_common): Rename to view::scroll.
4760 Scroll the header window separately.
58b12a06
MB
4761 (list_vscroll, list_hscroll, list_click): Update for new chooser
4762 methods.
cbfc4215
RC
4763 (listview_proc): Look for header messages.
4764 (note_width): Accept stringless calls.
4765 (pick_line::set_line): Remove.
4766 (pick_line::paint): Remove.
58b12a06
MB
4767 (pick_pkg_line::paint): Paint this one line, using the header column
4768 widths.
4769 (pick_category_line::paint): Paint this category, and anything in the
4770 bucket.
cbfc4215
RC
4771 (pick_line::click): Remove.
4772 (pick_pkg_line::click): Handle a click.
4773 (pick_category_line::click): Handle a click.
4774 (_view): Rename all to view.
4775 (view::view): Initialise the control contents.
4776 (view::set_headers): Work with the header control.
4777 (view::init_headers): Use list syntax for package list.
4778 Rearrange the width logic a little.
4779 (view::insert_pkg): Update to use the hierarchy.
4780 (view::insert_category): Ditto.
4781 (view::insert_at, view::insert_under): Remove.
4782 (view::clear_view): Update to use the hierarchy.
4783 (view::click): Update to use the hierarchy.
4784 (set_view_mode): Use list syntax for package list.
4785 Update for new chooser methods.
4786 (DoInsertItem): New helper function. (Needs a home somewhere).
58b12a06
MB
4787 (create_listview): Remove choose control code and use the constructor
4788 instead.
cbfc4215
RC
4789 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
4790 * choose.h: Include newly required headers list and package_meta.
4791 (_voew): Rename to view.
4792 (pick_line): Convert to an ABC.
4793 (pick_pkg_line): New class.
4794 (pick_catgory_line): New class.
4795 (topbucket): New class.
4796 (view::scroll): New method created from listview_scroll function.
4797 * desktop.cc (make_passwd_group): Use list syntax for package list.
4798 * download.cc (do_download): Use list syntax for package list.
4799 * fromcwd.cc (found_file): Use list syntax for package list.
4800 * iniparse.y (pacakges): Use list syntax for package list.
4801 * install.cc (uninstall_one): Use list syntax for package list.
4802 (do_install): Use list syntax for package list.
58b12a06
MB
4803 * io_stream.h (io_stream): Prevent non-child direct creation of the
4804 class.
cbfc4215
RC
4805 Prevent inaccurate synthetic copy and assignment.
4806 * list.h: Include required header stdlib.
4807 Work on const correctness.
4808 * package_db.cc (packagedb::getpackagebyname): Remove.
4809 (packagedb::packagedb): Remove custom list code, and make db a local.
4810 (packagedb::getfirstpackage): Remove.
4811 (packagedb::getnextpackage): Remove.
4812 (packagedb::addpackage): Remove.
4813 (flush): Remove custom list code.
4814 (packagedb::registerpackage): Remove.
4815 (packagedb::packages): New static member.
4816 (packagedb::task): New static member.
4817 * package_db.h (PackageDBActions): New enum.
4818 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
4819 addpackage, registerpackage, packages, packagecount, curr_package, db.
4820 Add packages, task.
4821 * pacakge_meta.cc: Include package_db.h.
4822 (packagemeta::action_caption): New method.
4823 (packagemeta::set_action): New method.
4824 * package_meta.h (CategoryPackage): Initialise key.
4825 (packagemeta): Initialise key.
4826 Add set_action and action_caption methods.
4827 Prevent inaccurate synthetic copy and assignment.
4828 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
4829 * source.cc: Include package_db for db manipulation.
4830 (save_dialog): Set the db task.
58b12a06
MB
4831 * win32.h: Tell the w32 include headers what IE version to
4832 expect/require.
cbfc4215 4833
cd8e5750
RC
48342001-12-06 Robert Collins <rbtcollins@hotmail.com>
4835
4836 * README: Wishlist updates.
4837
5519d243
RC
48382001-12-04 Robert Collins <rbtcollins@hotmail.com>
4839
4840 * package_db.cc (getnextpackage): Don't overrun the array.
4841
de6a1a64
RC
48422001-12-04 Robert Collins <rbtcollins@hotmail.com>
4843
4844 * Makefile.in (OBJS): Add setup_version.o.
4845 (version.c): Rename to setup_version.
4846 * choose.cc (set_action): Prevent NULL pointer dereference.
4847 (package_sort): Remove.
4848 * fromcwd.cc (canonicalize_version): Moved to version.cc.
58b12a06
MB
4849 (check_ini): New function for use with find to see if there is a cached
4850 setup.ini.
de6a1a64
RC
4851 (do_fromcwd): Check for a cached setup.ini from any mirror site.
4852 * ini.cc (find_routine): New function, for finding cached setup.ini's.
4853 (do_local_ini): New function, drives parsing of local ini's.
58b12a06
MB
4854 (do_remote_ini): New function, drives parsing and caching of remote
4855 ini's.
de6a1a64
RC
4856 (do_ini): Move guts to do_remote_ini and do_local_ini.
4857 * list.h (removebyindex): New method.
4858 * other.cc (save_dialog): Use new site_list and all_site_list to add the
4859 new site to the site picklist.
4860 (dialog_cmd): Only save the dialog when exiting the dialog.
4861 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
4862 * site.cc (site_list_type): Move to site.h
4863 (site_list): New global, sites chosen by the user.
4864 (all_site_list): New global, all potential sites.
58b12a06
MB
4865 (site_list_type::init): New method, parses a mirror.lst URL string into
4866 a site_list_type object.
de6a1a64
RC
4867 (site_list_type::site_list_type): New method.
4868 (check_if_enable_next): Examine the control, not a local variable.
4869 (load_dialog): Select all the user chosen sites by default.
cef493d7 4870 (save_dialog): Adjust for multiple selection semantics.
de6a1a64 4871 (save_site_url): Save all user chosen sites.
58b12a06
MB
4872 (dialog_cmd): Don't save the dialog when the listbox recieves a message
4873 - thats not needed.
de6a1a64
RC
4874 Remove obsolete other_url reference.
4875 (dialog_proc): Use all_site_list instead of site_list.
4876 (site_sort): Remove.
4877 (get_site_list): Remove malloc use - use list template instead.
4878 Move site_list_type initialisation to site_list_type::init().
4879 (get_initial_list_idx): Renamed to ...
4880 (get_saved_sites): this. Also read in multiple sites to the site_list.
4881 (do_site): Use all_site_list not site_list.
4882 Log all chosen sites.
4883 * site.h: New file, defines site related class, functions and variables.
4884 * state.h: Add comment about use of state.h
4885 (mirror_site): Remove.
4886 (other_url): Remove.
4887 (MIRROR_SITE): Remove.
4888 * version.cc: New file, for version-handling and related functions.
4889
341988b9
RC
48902001-12-02 Robert Collins <rbtcollins@hotmail.com>
4891
4892 * Makefile.in: Add filemanip.o to setup.
4893 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
4894 * archive_tar.h (archive_tar_file): Implement get_size virtual.
4895 (archive_tar): Ditto.
58b12a06
MB
4896 * choose.cc (set_action): Use [] operator instead of getnth - its more
4897 readable.
341988b9
RC
4898 (paint): Ditto.
4899 (_view::init_headers): Ditto.
4900 (_view::insert_pkg): Ditto.
4901 (set_view_mode): Ditto.
4902 (scan2): Ditto.
4903 (do_choose): Ditto.
4904 (base): Moved to filemanip.cc.
4905 (find_tar_ext): Ditto.
4906 (parse_filename): Ditto.
4907 (_Info::_Info): Remove.
4908 * compress_bz.h (compress_bz): Implement get_size virtual.
4909 * compress_gz.h (compress_gz): Implement get_size virtual.
58b12a06
MB
4910 * cygpackage.cc (cygpackage::destroy): Use array delete for char *
4911 objects.
341988b9 4912 * download.cc (get_file_size): Move to filemanip.cc.
58b12a06
MB
4913 (check_for_cached): Use [] operator instead of getnth - its more
4914 readable.
341988b9
RC
4915 (download_one): Ditto.
4916 * filemanip.cc: New file.
58b12a06
MB
4917 * geturl.cc (init_dialog): Make url a pointer to const as it is not
4918 modified.
4919 (get_url_to_membuf): New function - contains get_url_to_string worker
4920 code.
341988b9
RC
4921 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
4922 * geturl.h: Declare new prototype.
4923 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
4924 Tidy up the error code a little.
4925 * ini.h: Remove __cplusplus protection for ini_init.
4926 (_Info): Remove.
4927 * inilex.l: Remove old globals.
4928 (ini_init): Use an io_stream for getting the characters.
4929 (ini_getchar): Ditto.
4930 * iniparse.y: Declare yylex as a C++ function.
58b12a06
MB
4931 (add_correct_version): Use [] operator instead of getnth - its more
4932 readable.
341988b9
RC
4933 * io_stream.cc (io_stream::move_copy): Use the copy method.
4934 (io_stream::copy): New method to simply copy from one stream to another.
58b12a06
MB
4935 * io_stream.h (io_stream): New static method copy, and virtual method
4936 get_size.
341988b9
RC
4937 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
4938 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
4939 * io_stream_file.cc (io_stream_file::get_size): Implement this.
4940 * io_stream_file.h (io_stream_file::get_size): Declare this.
4941 * io_stream_memory.h: Include errno as it's neded to parse the header.
4942 (io_stream_memory::get_size): Implement this.
4943 (io_stream_memory::st_size): Delete this.
4944 * list.h: Change getnth into the [] operator.
58b12a06
MB
4945 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being
4946 modified.
341988b9
RC
4947 (NetIO::set_url): Ditto.
4948 (NetIO::open): Ditto.
4949 * netio.h: As for netio.cc.
58b12a06
MB
4950 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect
4951 Purl not being modified.
341988b9
RC
4952 * nio-file.h: Ditto.
4953 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
4954 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
4955 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
4956 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
4957 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
4958 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
4959 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
4960 * package_source.cc (packagesource::set_canonical): Ditto.
4961 (packagesource::set_cached): Ditto.
4962 * package_source.h (site::~site): Ditto.
58b12a06
MB
4963 * site.cc: Change site_list_type to a class, and search and replace
4964 sort_key to key globally.
341988b9 4965
071c1c54
RC
49662001-12-01 Robert Collins <rbtcollins@hotmail.com>
4967
58b12a06
MB
4968 * package_source.cc (packagesource::set_canonical): Filename was out by
4969 one.
071c1c54 4970
4fe323f9
RC
49712001-11-30 Robert Collins <rbtcollins@hotmail.com>
4972
4973 * Makefile.in (OBJS): Remove category_list - it's not needed.
4974 * README: More wishlist updates.
4975 * category.cc (Category::Category): Initialise new members.
4976 (Categorycmp): New function.
4977 * category.h (Category): New member key for template use.
4978 * category_list.cc: Remove.
4979 * category_list.h: Remove.
4980 (Categorycmp): New function prototype.
4981 * choose.cc: Remove category_list - not needed.
cef493d7 4982 (set_action): Only show the 'source' option when the source is actually
4fe323f9
RC
4983 available.
4984 (add_required): Fix recursion limiter to 5.
4985 (fill_missing_category): Use list access.
4986 (default_trust): Ditto.
4987 (pick_line::paint): Ditto.
4988 (_view::init_headers): Ditto.
4989 (_view::insert_pkg): Ditto.
4990 (_view::insert_category): Ditto.
4991 (_view::click): Ditto.
4992 (set_view_mode): Ditto.
4993 (do_choose): Ditto.
4994 * cygpackage.h: Remove category_list - not needed.
4995 * geturl.cc (get_url_to_string): Fix null byte insertion.
4996 * inipatse.y: Remove category_list - not needed.
4997 (categories): Use list access.
4998 * package_db.cc: Ditto.
4999 * package_db.h: Remove category_list - not needed.
5000 (packagedb): Use the list template for categories.
5001 * package_meta.cc (add_category): Ditto.
5002 * package_meta.h (CategoryPackage): Link to the category as well.
cef493d7 5003 (packagemeta): Use a list of CategoryPackages instead of Categories
4fe323f9
RC
5004 for more memory efficient cross-referencing.
5005
7d66d192
RC
50062001-11-30 Robert Collins <rbtcollins@hotmail.com>
5007
58b12a06
MB
5008 * package_db.cc (packagedb::flush): Write a canonical version for all
5009 packages irrespective of the media they were installed from.
7d66d192 5010
bb849dbd
RC
50112001-11-29 Robert Collins <rbtcollins@hotmail.com>
5012
5013 * Makefile.in (OBJS): Add package_source and rfc1738.
5014 * README: Wishlist update.
5015 * category_list.cc (register_category): Use references.
5016 * category_list.h (CategoryList): Ditto.
5017 * choose.cc (isinstalled): Remove.
5018 (pkgtrustp): New macro.
5019 (set_action): Use packagemeta.
5020 (add_required): Ditto.
58b12a06
MB
5021 (choose_caption): Example package to choose caption, rather than state
5022 flags.
bb849dbd
RC
5023 (check_existence): Remove.
5024 (set_existence): Remove old code.
5025 (fill_missing_category): Use packagemeta.
5026 (keep_or_skip): Remove.
5027 (default_trust): Use packagemeta and set trust values directly.
5028 (pick_line::set_line): Use packagemeta.
5029 (_view::insert_pkg): Ditto.
5030 (_view::insert_category): Ditto.
5031 (_view::click): Ditto.
5032 (set_view_mode): Ditto. Also remove "exclude" code.
5033 (create_listview): Use packagemeta.
5034 (dialog_cmd): Ditto.
5035 (getpkgbyname): Remove
5036 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
5037 (read_installed_db): Remove.
5038 (package_sort): Use packagemeta.
58b12a06
MB
5039 (do_choose): Use packagemeta. Don't sort the packages - the db does
5040 that.
bb849dbd
RC
5041 * choose.h: Use packagemeta.
5042 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
5043 (cygpackage::cygpackage): Ditto.
5044 (cygpackage::set_canonical_version): Copy the passed string.
5045 (cygpackage::~cygpackage): Move cleanup code to destroy().
5046 (cygpackage::destroy): New function.
5047 (cygpackage::getfirstfile): Use a separate buffer.
5048 (cygpackage::getnextfile): Ditto.
5049 (cygpackage::Canonical_version): New function.
5050 (cygpackage::set_sdesc): Ditto.
5051 (cygpackage::set_ldesc): Ditto.
5052 * cygpackage.h (cygpackage::Canonical_version): New method.
5053 (cygpackage::set_sdesc): New method.
5054 (cygpackage::set_ldesc): New method.
5055 (cygpackage::SDesc): New method.
5056 (cygpackage::LDesc): New method.
5057 (cygpackage::set_canonical_version): New method.
5058 * desktop.cc: Include packagedb headers.
5059 (make_password_group): Use packagemeta.
5060 * download.cc: Include packagedb headers.
58b12a06
MB
5061 (check_for_cached): New method to find any cached file and fill out the
5062 database info.
bb849dbd
RC
5063 (download_one): Take a packagesource, support multiple mirrors.
5064 (do_download): Use packagemeta.
5065 * from cwd.cc: Include packagedb headers.
5066 (found_file): Use packagemeta.
5067 * ini.cc (do_ini): Beginning of multiple-mirror support.
5068 * ini.h (CategoryPackage): Remove.
5069 (Dependency): Remove.
5070 (Package): Remove.
58b12a06
MB
5071 (new_package,getpkgbyname,getpackagecategorybyname,add_category):
5072 Remove.
bb849dbd
RC
5073 * inilex.l: Support multiple mirrors.
5074 * iniparse.y: Include packagedb headers.
5075 (parser): Use packagemeta.
5076 (new_package): Remove.
5077 (add_correct_version): New function.
5078 (new_requirement): Remove.
5079 (add_category): Remove.
5080 * install.cc (uninstall_one): Use packagemeta.
5081 (install_one_source): New function.
5082 (install_one): Use packagemeta.
5083 (do_install): Use packagemeta.
5084 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
58b12a06
MB
5085 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the
5086 file after setting the mtime, it makes no sense, and results in 0 length
5087 files.
bb849dbd
RC
5088 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
5089 * list.h: New file, template class for a form of list.
5090 * package_db.cc (packagedb::registerpackage): New function.
5091 * package_db.h (packagedb::npackages ()): New method.
5092 * package_meta.cc (packagemeta::add_version): Use list template.
5093 (packagemeta::set_installed): Ditto.
5094 (packagemeta::add_category): New method.
5095 * package_meta.h: Include necessary headers to parse the class.
5096 (CategoryPackage): New class.
5097 (packagemeta): Initialise all members.
5098 (packagemeta::SDesc): New method.
5099 (packagemeta::Categories): New method.
5100 (packagemeta::add_category): Ditto.
5101 (packagemeta::versions): Change to be a list instance.
5102 * package_source.cc (packagesource::set_canonical): New method.
5103 (packagesource::set_cached): New method.
5104 * package_source.h: Include necessary headers to parse the class.
5105 (site): New class.
5106 (packagesource::packagesource): Initialize all members.
5107 (packagesource): Make this class non-abstract.
5108 * package_version.cc (packageversion::packageversion): New method.
5109 * package_version.h (Dependency): New class.
5110 (packageversion::Canonical_vesion): New method.
5111 (packageversion::SDesc): New method.
5112 (packageversion::LDesc): New method.
5113 (packageversion::new_requirement): Ditto.
5114 (packageversion::srcpicked, binpicked): What to install.
5115 (packageversion::src, bin): Installation source data.
5116 * rfc1738.cc: New file. Escapes special characters in URL's.
5117 * rfc1738.h: Ditto.
5118
90d14922
RC
51192001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5120
5121 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
5122 SimpleSocket::gets() returns a zero-length string, so that we
5123 don't end up eating the entire stream thinking it's all header info.
5124
7c7034e8
RC
51252001-11-23 Robert Collins <rbtcollins@hotmail.com>
5126
5127 * install.cc (badrename): Remove.
58b12a06
MB
5128 (do_install): Use packagedb flush method to write
5129 /etc/setup/installed.db.
7c7034e8
RC
5130 * io_stream.cc (io_stream::move_copy): New method.
5131 (io_stream::move): New method.
5132 * io_stream.h (io_stream): New methods move and move_copy.
5133 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
5134 * io_stream_cygfile.h (io_stream_cygfile): New method move.
5135 * io_stream_file.cc (io_stream_file::move): New method.
5136 * io_stream_file.h (io_stream_file): New method move.
5137 * package_db.cc (packagedb::flush): New method.
5138 * package_db.h (packagedb): New method flush.
5139
fa0c0d10
RC
51402001-11-23 Robert Collins <rbtcollins@hotmail.com>
5141
5142 * Makefile.in (OBJS): Add package_version.
5143 * ategory.cc (Category::Category): Update constructors.
5144 * category_list.cc (CategoryList::register_category): Insert correctly.
5145 * choose.cc: Include package_version.h, not package.h.
5146 * cygpackage.cc: Ditto.
5147 (cygpackage::uninstall): New method.
5148 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
5149 New method uninstall.
5150 * hash.cc (add, has, enumerate): Change prototype to be accurate.
5151 * hash.h (hash): Change prototypes to be accurate.
5152 * ini.h (_Info): New parameterless constructor.
5153 (CategoryPackage): New constructor.
5154 (Package): Ditto.
5155 * install.cc: Don't include unneeded headers.
5156 Include package database headers.
5157 (hash::add_subdirs): Remove.
58b12a06
MB
5158 (uninstall_one): Use packagemeta->uninstall to perform the
5159 uninstallation. Don't uninstall source packages.
5160 (do_install): Just can uninstall_one once as we ignore source packages
5161 now. Don't copy the installed.old database accross, instead iterate
5162 through the packagedb packages list and write the installed packages
5163 out.
fa0c0d10
RC
5164 * package_db.cc: Include package_version.h, not package.h.
5165 (packagedb::packagedb): Never let db be undefined.
5166 Record the installation filename, so we can reconstruct installed.db.
5167 (packagedb::addpackage): Insert packages in alpha sorted order.
5168 (packagedb::categories): Initialise correctly.
5169 * package_meta.cc: Include win32 and mount headers as a workaround to
5170 current io_stream limitations. Include a TODO about that.
5171 (standard_dirs): New, from install.cc.
5172 (hash::add_subdirs): New, from install.cc.
5173 (packagemeta::set_installed): Rename genericpackage to packageversion.
5174 (packagemeta::uninstall): New method.
5175 * package_meta.h: Rename genericpackage to packageversion.
5176 (packagemeta): Update constructor.
5177 (add_version, set_installed): Rename genericpackage to packageversion.
5178 (uninstall): New method.
5179 (installed_from): New member.
5180 * package_source.cc: New file.
5181 * package_source.h: New file.
5182 * package_version.cc: New file.
5183 * package_version.h: New file.
5184 * package.cc: Removed.
5185 * package.h: Removed.
cef493d7 5186
7b606ae5
RC
51872001-11-21 Robert Collins <rbtcollins@hotmail.com>
5188
5189 * Makefile.in (OBJS): Add category.o and category_list.o.
5190 * category.h: New file.
5191 * category.cc: New file.
5192 * category_list.h: New file.
5193 * category_list.cc: New file.
5194 * choose.cc: Include category headers.
5195 (fill_missing_category): Use package_db to access global categories.
5196 (_view::insert_pkg): Ditto.
5197 (_view::insert_category): Ditto.
5198 (set_view_mode): Ditto.
5199 (getcategorybyname): Remove.
5200 * cygpackage.h: Include category_list.h to parse this correctly.
5201 (cygpackage): New virtual &Categories.
5202 * ini.h (_CategoryPackage): More C to C++ conversion.
5203 (Category): Remove.
5204 (getcategorybyname): Remove.
5205 (register_category): Remove.
5206 * iniparse.y: Include package db and category headers.
5207 (categories): Use package_db to access global categories.
5208 (category): Remove.
5209 (ncategories): Remove.
5210 (register_category): Remove.
5211 * package.h: New virtual &Categories.
58b12a06
MB
5212 * package_db.cc (packagedb::packagedb): Don't read the installed db
5213 twice.
7b606ae5 5214 (packagedb::categories): Declare.
58b12a06
MB
5215 * package_db.h (packagedb): New member categories for global categories
5216 list.
7b606ae5 5217
d0fa1c4e
RC
52182001-11-21 Robert Collins <rbtcollins@hotmail.com>
5219
5220 * choose.h: Don't include ini.h
5221 * ini.h: Allow pure c++ in the header file.
5222
24cbae7f
RC
52232001-11-21 Robert Collins <rbtcollins@hotmail.com>
5224
5225 * install.cc (do_install): Write a version 2 installed.db file.
58b12a06
MB
5226 * package_db.cc (packagedb::packagedb): Read version 1 and 2
5227 installed.db files.
24cbae7f 5228
7939f6d1
RC
52292001-11-21 Robert Collins <rbtcollins@hotmail.com>
5230
5231 * Makefile.in (OBJS): Add package abstraction objects.
5232 * choose.cc: Include package abstraction headers.
5233 (read_installed_db): Use packagedb class and ignore installed sources.
5234 * cygpackage.cc: New file.
5235 * cygpackage.h: New file.
5236 * filemanip.h (get_file_size): Use unixy types.
5237 * package.h: New file.
5238 * package.cc: New file.
5239 * package_db.cc: New file.
5240 * package_db.h: New file.
5241 * package_meta.cc: New file.
5242 * package_meta.h: New file.
5243
33bc0053
RC
52442001-11-21 Robert Collins <rbtcollins@hotmail.com>
5245
5246 * REAME: Updates to wishlist.
5247
12ccadc0
RC
52482001-11-16 Robert Collins <rbtcollins@hotmail.com>
5249
5250 * README: Updated and added my list of wishlist and todo items.
5251
ca9506cc
RC
52522001-11-14 Robert Collins <rbtcollins@hotmail.com>
5253
5254 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
5255 * archive_tar.cc (archive_tar::write): New prototype.
5256 (archive_tar::seek): New method.
5257 * archive.h (archive_tar_file): Update write() and add seek().
5258 (archive_tar): Ditto.
5259 * archive_tar_file.cc (archive_tar_file::write): New prototype.
5260 (archive_tar_file::seek): New method.
5261 * compress_bz.cc (compress_bz::write): New prototype.
5262 (compress_bz::seek): New function.
5263 * compress_bz.h (compress_bz): Update write() and add seek().
5264 * compress_gz.cc (compress_gz::write): New prototype.
5265 (compress_gz::seek): New function.
5266 * compress_gz.h (compress_gz): Update write() and add seek().
5267 * geturl.cc: Include io_stream headers.
5268 (GUBuf): Remove.
5269 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
5270 * io_stream.h (io_stream_seek_t): New enum.
5271 (io_stream): Update write() and add seek().
5272 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
5273 (io_stream_cygfile::seek): New function.
58b12a06
MB
5274 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add
5275 seek().
ca9506cc
RC
5276 * io_stream_file.cc (io_stream_file::write): New prototype.
5277 (io_stream_file::seek): New function.
5278 * io_stream_file.h (io_stream_file): Update write() and add seek().
5279
2db33f10
RC
52802001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
5281
5282 * localdir.cc: Add headers unistd.h and port.h.
cef493d7 5283 (save_local_dir): Expand search logic to include local directory for
2db33f10
RC
5284 location of file last-cache.
5285 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
cef493d7 5286 (do_local_dir): Expand search logic to include local directory for file
2db33f10
RC
5287 last-cache.
5288 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
cef493d7 5289 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
2db33f10 5290 Internet.
cef493d7 5291 (do_source): Default to Install from Internet on first entry or
2db33f10
RC
5292 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
5293
03a6c5b1
RC
52942001-11-13 Robert Collins <rbtcollins@hotmail.com>
5295
5296 * choose.cc (find_tar_ext): Only match at the end of the string.
5297 (getpkgbyname): Prevent NULL pointer dereference.
5298
b24c88b3
RC
52992001-11-13 Robert Collins <rbtcollins@hotmail.com>
5300
5301 * Makefile.in (CFLAGS): Add warnings and -Werr.
58b12a06
MB
5302 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter
5303 what.
b24c88b3
RC
5304 (OBJS): Add io_stream class' objects.
5305 (autoload.o): Use WARNONLY_FLAGS.
5306 (inilex.o): Ditto.
5307 (iniparse.o): Ditto.
5308 * archive.cc: New file.
5309 * archive.h: New file.
5310 * archive_tar.cc: New file.
5311 * archive_tar.h: New file.
5312 * archive_tar_file.cc: New file.
5313 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
5314 * choose.cc: Use io_stream.h, not mount.h.
5315 Run indent.
58b12a06
MB
5316 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an
5317 extension.
b24c88b3
RC
5318 (read_installed_db): Use io_streams.
5319 * choose.h: Run indent.
5320 * compress.cc: New file.
5321 * compress.h: New file.
5322 * compress_bz.cc: New file.
5323 * compress_bz.h: New file.
5324 * compress_gz.cc: New file.
5325 * compress_gz.h: New file.
5326 * concat.cc: Run indent.
5327 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5328 * concat.h: Run indent.
5329 * desktop.cc: Run indent.
5330 Include mklink2.h rather than redefining by hand.
5331 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5332 (etc_profile): Fix compiler warning (deprecated conversion).
5333 (make_link): Fix compiler warning (deprecated conversion).
5334 Tidy up use of args variable - consolidate into argbuf.
5335 (start_menu): Fix compiler warning (deprecated conversion).
5336 (desktop_icon): Fix compiler warning (deprecated conversion).
5337 (make_etc_profile): Fix compiler warning (deprecated conversion).
5338 (uexists): Fix compiler warning (deprecated conversion).
5339 (check_desktop): Fix compiler warning (deprecated conversion).
5340 (check_startmenu): Fix compiler warning (deprecated conversion).
5341 * dialog.cc: Run indent.
5342 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5343 (fatal): Fix compiler warning (deprecated conversion).
5344 * dialog.h: Run indent.
5345 * diskfull.cc: Run indent.
5346 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5347 * download.cc: Run indent.
5348 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5349 (download_one): Fix compiler warning (signed vs unsigned comparison).
5350 * filemanip.h: Run indent.
5351 * find.cc: Run indent.
5352 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5353 (find): Fix compiler warning (deprecated conversion).
5354 * find.h: Run indent.
5355 * fromcwd.cc: Run indent.
5356 * geturl.cc: Run indent.
5357 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5358 (dialog_cmd): Return a value.
5359 (dialog_proc): Remove unused variables.
5360 Return a value.
5361 (get_url_to_file): Fix compiler warning (deprecated conversion).
5362 * geturl.h: Run indent.
5363 * hash.cc: Run indent.
5364 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5365 * hash.h: Run indent.
5366 * ini.cc: Run indent.
5367 Use io_streams.
5368 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5369 (do_ini): Use io_streams for local io.
5370 * ini.h: Run indent.
5371 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
5372 Fix compiler warning (brackets for truth assignment).
5373 * install.cc: Run indent.
5374 Fix compiler warning (/* in comment).
5375 Use io_streams.
5376 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5377 (dialog_cmd): Return a value.
5378 (dialog_proc): Return a value.
5379 (start_tics): Deleted - was unused.
5380 (badrename): Fix compiler warnings (unused, deprecated conversion).
5381 (standard_dirs): Fix compiler warning (deprecated conversion).
5382 (exists): Remove.
5383 (uninstall_one): Convert to io_streams.
5384 (install_one): Convert to io_streams.
5385 (do_install): Convert to io_streans.
5386 Fix compiler warning (deprecated conversion).
5387 * io_stream.cc: New file.
5388 * io_stream.h: New file.
5389 * io_stream_cygfile.cc: New file.
5390 * io_stream_cygfile.h: New file.
5391 * io_stream_file.cc: New file.
5392 * io_stream_file.h: New file.
5393 * localdir.cc: Run indent.
5394 Use io_streams.
5395 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5396 (get_root_dir_now): Remove.
5397 (save_local_dir): Convert to io_streams.
5398 (dialog_cmd): Return a value.
5399 (do_local_dir): Convert to io_streams.
5400 (log.cc): Run indent.
5401 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5402 (log): Fix compiler warning (deprecated conversion).
5403 (log_save): Fix compiler warning (deprecated conversion).
5404 * log.h: Run indent.
5405 (log): Fix compiler warning (deprecated conversion).
5406 (log_save): Fix compiler warning (deprecated conversion).
5407 * main.cc: Run indent.
5408 Don't include "netio.h".
5409 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5410 (netio_test): Remove.
5411 (sid_auth): Fix compiler warning (partially bracketed initialiser).
5412 (WinMain): Return a value.
5413 * mkdir.cc: Run indent.
5414 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5415 * mklink2.c: Run indent.
5416 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5417 (mkcygsymlink): New function.
5418 * mklink2.h: New file.
5419 * mount.cc: Run indent.
5420 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5421 (create_mount): Remove unused variables.
5422 (cygpath): Fix compiler warning (signed vs unsigned comparison).
5423 * mount.h: Run indent.
5424 * msg.cc: Run indent.
5425 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5426 (msg): Fix compiler warning (deprecated conversion).
5427 (mbox): Fix compiler warning (deprecated conversion).
5428 * msg.h: Run indent.
5429 (msg): Fix compiler warning (deprecated conversion).
5430 * net.cc: Run indent.
5431 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5432 (dialog_cmd): Return a value.
5433 * netio.cc: Run indent.
5434 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5435 (auth_cmd): Return a value.
5436 * netio.h: Run indent.
5437 * nio-file.cc: Run indent.
5438 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5439 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
5440 * nio-file.h: Run indent.
5441 * nio-ftp.cc: Run indent.
5442 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5443 * nio-ftp.h: Run indent.
5444 * nio-http.cc: Run indent.
5445 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5446 * nio-http.h: Run indent.
5447 * nio-ie5.cc: Run indent.
5448 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5449 * nio-ie5.h: Run indent.
5450 * other.cc: Run indent.
5451 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5452 (dialog_cmd): Return a value.
5453 * port.h: Run indent.
5454 * postinstall.cc: Run indent.
5455 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5456 (cmd): Fix compiler warning (deprecated conversion).
5457 (eun): Fix compiler warning (deprecated conversion).
5458 * root.cc: Run indent.
5459 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5460 * simpsock.cc: Run indent.
5461 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5462 * simpsock.h: Run indent.
5463 * site.cc: Run indent.
5464 Use io_streams.
5465 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5466 (get_root_dir_now): Remove.
5467 (save_site_url): Convert to io_streams.
5468 (dialog_cmd): Return 0.
5469 (get_initial_list_idx): Convert to io_streans.
5470 * source.cc: Run indent.
5471 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5472 (check_if_enable_next): Remove.
5473 (load_dialog): Remove unused variables.
5474 (save_dialog): Ditto.
5475 (dialog_cmd): Return a value.
5476 * splash.cc: Return a value.
5477 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5478 (dialog_cmd): Return a value.
5479 * state.cc: Run indent.
5480 (cvsid): Fix compiler warnings (unused, deprecated conversion).
5481 * state.h: Run indent.
5482 * tar.h: Remove.
5483 * tar.cc: Remove.
5484
398dd7b2
CF
54852001-11-12 Christopher Faylor <cgf@redhat.com>
5486
5487 * desktop.cc (start_menu): Change start menu name to "Cygwin".
5488 (check_startmenu): Ditto.
5489
c29ee141
CF
54902001-11-11 Christopher Faylor <cgf@redhat.com>
5491
5492 * choose.cc (parse_filename): Finish reorganization by correctly
5493 decrementing p in memmove.
5494
3a8276de
CF
54952001-11-11 Christopher Faylor <cgf@redhat.com>
5496
5497 * choose.cc (parse_filename): Reorganize code to work around gcc
5498 optimization problem.
5499
6eea52fb
RC
55002001-11-09 Gareth Pearce <tilps@hotmail.com>
5501
5502 * choose.cc (set_action): Allow skip as an option for installed
5503 packages that have version number not listed in setup.ini.
5504
cf99b153
RC
55052001-11-10 Robert Collins <rbtcollins@hotmail.com>
5506
5507 * choose.cc (set_cation): Backout last change.
5508 (choose_caption): Ditto.
5509
55e204f6
RC
55102001-11-10 Robert Collins <rbtcollins@hotmail.com>
5511
5512 * ini.h (actions): Remove - transferred to choose.h.
5513 (views): Ditto.
5514 * choose.h: Protect class's from "C" compilers.
5515 (actions): New enum, from ini.h. This may not be the 'right' place
5516 but that place doesn't exist yet.
5517 (_views): New enum, from ini.h.
58b12a06
MB
5518 * choose.cc (set_action): Handle installed packages with a version not
5519 in setup.ini.
55e204f6
RC
5520 (choose_caption): Ditto.
5521 * iniparse.y: Rearrange header order to handle new ini.h.
5522
55232001-11-10 Robert Collins <rbtcollins@hotmail.com>
5524
5525 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
5526 (registry_category): Fix compiler warning (deprecated conversion).
5527 * iniparse.y (registry_category): Ditto.
58b12a06
MB
5528 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated
5529 conversion).
55e204f6
RC
5530 (add_requried): Remove unused variable.
5531 (choose_caption): Handle all enumeration values via a default.
5532 (paint): Fix compiler warnings (unused, deprecated conversion).
58b12a06
MB
5533 (scroll_common): Fix compiler warnings (unused, signed vs unsigned
5534 comparison).
55e204f6
RC
5535 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
5536 (note_width): Fix compiler warnings (deprecated conversion).
5537 (keep_or_skip): Fix compiler warnings (unused).
5538 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
5539 (set_view_mode): Fix compiler warnings (unused).
58b12a06
MB
5540 (create_listview): Fix compiler warnings (unused, incorrect format,
5541 reaches end of function).
55e204f6 5542 (dialog_proc): Fix compiler warnings (unused).
58b12a06
MB
5543 (read_installed_db): Fix compiler warnings (unused, deprecated
5544 conversion).
55e204f6
RC
5545 * choose.h (_header): Fix compiler warnings (deprecated conversion).
5546 (_view): Ditto.
5547
67a55ad9 55482001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
cef493d7 5549
67a55ad9
RC
5550 * simpsock.h (SimpleSocket::invalidate): Declare new method.
5551 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
5552 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
5553 memory for buf in the constructor.
5554 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
5555 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
5556 (SimpleSocket::write): Check object consistency - return -1 on error.
5557 invalidate() the object on socket write error.
5558 (SimpleSocket::fill): Check object consistency - return -1 on error.
5559 invalidate() the object if socket read error is encountered and there
5560 is no more data available in the internal read buffer.
5561 Allocate memory for the internal read buffer.
5562 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
5563 during fill() and no more data is available in the internal read buffer.
5564 (SimpleSocket::read): Check object consistency - return -1 on error.
5565 invalidate() the object if socket read error is encountered.
5566 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
5567 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
5568 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
5569 (NetIO_FTP::read): Use NetIO_FTP::ok().
5570 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
5571 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
5572
5898e300
RC
55732001-11-09 Robert Collins <rbtcollins@hotmail.com>
5574
58b12a06
MB
5575 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated
5576 conversion).
5577 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated
5578 conversion).
5898e300
RC
5579 (SimpleSocket::printf): Ditto.
5580 (SimpleSocket::write): Ditto.
5581 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
5582 printf and write.
58b12a06
MB
5583 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated
5584 conversion).
5898e300 5585 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
58b12a06
MB
5586 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated
5587 conversion).
5898e300 5588
8e58f8fd
RC
55892001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
5590
5591 * geturl.cc (get_url_to_string): clean up memory leak
5592 (get_url_to_file): ditto
cef493d7 5593
4b4002ab
RC
55942001-11-06 Robert Collins <rbtcollins@hotmail.com>
5595
5596 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
5597 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
5598
94525fd9
RC
55992001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
5600
5601 * fromcwd.cc (found_file): Free() memory containing the version and
58b12a06
MB
5602 filepath information for a given package, before replacing the pointers
5603 which reference this memory.
94525fd9
RC
5604
56052001-11-06 Robert Collins <rbtcollins@hotmail.com>
ca83c665
RC
5606
5607 * fromcwd: Fix compiler warnings for cvsid.
5608 (canonicalize_version): Fix compilter warnings.
5609 (do_fromcwd): Ditto.
5610 * version.h: Fix compiler warnings for canonicalize_version.
5611
ce1f9ec2
RC
56122001-11-03 Robert Collins <rbtcollins@hotmail.com>
5613
5614 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
5615
89d82ec7
RC
56162001-11-02 Robert Collins <rbtcollins@hotmail.com>
5617
5618 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
5619
c8fea72a
RC
56202001-11-02 Robert Collins <rbtcollins@hotmail.com>
5621
58b12a06
MB
5622 * choose.cc (set_action): Correctly allow skip for any uninstalled
5623 package.
8114d309
RC
5624
56252001-11-02 Robert Collins <rbtcollins@hotmail.com>
5626
58b12a06
MB
5627 * choose.cc (default_trust): Change the "Required" forced install
5628 category to "Base".
c8fea72a 5629
f557695e
RC
56302001-11-02 Robert Collins <rbtcollins@hotmail.com>
5631
5632 * choose.cc: Ran indent.
58b12a06
MB
5633 (set_action): When the requested trust level is missing and the level
5634 was not user requested, set the action to ACTION_SAME_CURR.
f557695e 5635
9a60dafc
CF
56362001-11-01 Christopher Faylor <cgf@redhat.com>
5637
cef493d7 5638 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
f557695e
RC
5639
56402001-11-02 Robert Collins <rbtcollins@hotmail.com>
5641
5642 * choose.cc (_view::init_headers): Resync with the paint logic.
9a60dafc 5643
878faffd
RC
56442001-11-02 Robert Collins <rbtcollins@hotmail.com>
5645
58b12a06
MB
5646 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently
5647 installed packages.
878faffd 5648
05bfdf26
RC
56492001-11-02 Robert Collins <rbtcollins@hotmail.com>
5650
58b12a06
MB
5651 * choose.cc (default_trust): Autoset currently installed packages per
5652 the user's selection of prev/curr/exp.
05bfdf26 5653
0b9af00c
RC
56542001-11-02 Robert Collins <rbtcollins@hotmail.com>
5655
5656 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
5657
7cefe128
RC
56582001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
5659
5660 * geturl.cc (is_showing): Remove.
5661 (is_local_install): New static variable. Controls whether the
5662 progress dialog and the supporting thread will be created.
58b12a06
MB
5663 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32
5664 API.
7cefe128 5665 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
cef493d7 5666 This prevents the progress dialog to gain control over the
7cefe128
RC
5667 application and fixes the "setup.exe going to background" problem.
5668 (progress): Use is_local_install.
5669 (get_url_to_string): Set is_local_install.
5670 (dismiss_url_status_dialog): Use is_local_install.
5671 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
5672 (init_dialog): Remove usage of SetForegroundWindow.
cef493d7 5673 This prevents the progress dialog to gain control over the
7cefe128
RC
5674 application and fixes the "setup.exe going to background" problem.
5675
42a99ed1
RC
56762001-11-02 Robert Collins <rbtcollins@hotmail.com>
5677
5678 * choose.cc (list_click): Change r to row for clarity.
5679 When we shrink the list below 1 page, scroll to the top of the list.
5680 (_view::click): Return the actual change for contractions.
58b12a06
MB
5681 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32
5682 API.
42a99ed1 5683
45c2d7d3
RC
56842001-11-02 Robert Collins <rbtcollins@hotmail.com>
5685
58b12a06
MB
5686 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir
5687 selection order.
45c2d7d3
RC
5688 * localdir.cc: Ran indent.
5689 (get_root_dir_now): New function.
5690 (save_local_dir): New function.
58b12a06
MB
5691 (dialog_cmd): Use it and swap cygwin root selection and local dir
5692 selection order.
45c2d7d3 5693 (do_local_dir): If there is a saved local dir, read it in.
58b12a06
MB
5694 * net.cc (dialog_cmd): Swap cygwin root selection and local dir
5695 selection order.
45c2d7d3
RC
5696 * root.cc (dialog_cmd): Ditto.
5697 * source.cc (dialog_cmd): Ditto.
5698
2399c54d
RC
56992001-11-01 Robert Collins <rbtcollins@hotmail.com>
5700
5701 * choose.cc(list_vscroll): Return 0 as required by win32.
5702 (list_hscroll): Ditto.
5703 (list_click): Ditto.
5704
8e4402a9
RC
57052001-11-01 Robert Collins <rbtcollins@hotmail.com>
5706
5707 * argv.cc: Remove.
5708 * argv.h: Remove.
5709 * main.cc(WinMain): Use __argv to retrieve command line parameters.
5710 * Makefile,in: Remove argv.o.
5711
c168185f
RC
57122001-11-01 Matt Hargett <matt@use.net>
5713
cef493d7
CF
5714 * geturl.cc (progress): Change int to unsigned int to eliminate
5715 lint warnings.
5716 * (get_url_to_string): Check for NULL pointer.
5717 * mount.cc (find2): Use free instead of delete for malloc'd
5718 memory.
5719 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
c168185f 5720
f97a1ece
RC
57212001-10-31 Robert Collins <rbtcollins@hotmail.com>
5722
58b12a06
MB
5723 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen]
5724 with neither a package nor a category. The lines[linen] bug was reported
5725 by Matt (matt@usa.net).
5726 (read_installed_db): Bugfix for testing whether a package has a source
5727 tarball. Reported by Matt (matt@usa.net).
5728 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid
5729 programmer confusion and lint errors. Reported by Matt (matt@usa.net).
f97a1ece 5730
d52ed64b
RC
57312001-10-31 Robert Collins <rbtcollins@hotmail.com>
5732
58b12a06
MB
5733 * argv.cc: New file, converts arguments for -mwindows
5734 programs. (Simplified derivation from dcrt0.cc.)
d52ed64b
RC
5735 * argv.h: New file.
5736 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
5737 Add mingw_getopt.o build rule.
5738 * main.cc(WinMain): Initialise argv and argc for use by getopt.
5739
392ba1ba
CF
57402001-10-27 Christopher Faylor <cgf@redhat.com>
5741
5742 * res.rc: Rearrange info on top line slightly.
5743
31324d15
CF
57442001-10-27 Christopher Faylor <cgf@redhat.com>
5745
5746 * desktop.cc (make_passwd_group): Move file creation earlier in the
5747 process to ensure that passwd-grp.bat reflects desired operation.
5748
57492001-27-10 Trevor Forbes <t4bs@hotmail.com>
5750
5751 * postinstall.cc (each): Remove "*.done" file else rename will fail.
5752
ee411d77
CF
57532001-10-16 Christopher Faylor <cgf@redhat.com>
5754
5755 * res.rc: Oops. Take 640x480 screen size into account.
5756
e74944da
CF
57572001-10-16 Christopher Faylor <cgf@redhat.com>
5758
5759 * res.rc: Enlarge chooser screen.
5760
e368cfb9
CF
57612001-10-12 Christopher Faylor <cgf@redhat.com>
5762
5763 * Makefile.in: Accomodate changes to w32api_include macro.
5764
a6ba3670
CF
57652001-10-12 Christopher Faylor <cgf@redhat.com>
5766
5767 * Makefile.in: Use correct flags for windres.
5768
683e96f6
CF
57692001-10-12 Christopher Faylor <cgf@redhat.com>
5770
5771 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
5772
2c18c00b
CF
57732001-10-12 Christopher Faylor <cgf@redhat.com>
5774
5775 * choose.cc (pick_line::paint): Reorganize after botched patch.
5776
0f61a05a
CF
57772001-10-12 Christopher Faylor <cgf@redhat.com>
5778
5779 * choose.cc (pick_line::paint): Add missing declaration.
5780
308d6f3e
CF
57812001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
5782
5783 * choose.cc (pick_line::paint): Add package name to sdesc for display.
5784
3bcf85be
RC
5785Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
5786
5787 * choose.cc (_view::insert_pkg): Correctly exit loop.
5788 * iniparse.y (register_category): Always insert new categories.
5789
fb2cd8f6
CF
5790Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
5791
5792 * inilex.l (yylex): For comments, eat all characters up to, but not
5793 including newline.
5794
127b32e1
CF
5795Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
5796
5797 * fromcwd.cc (found_file): Use correct package name when adding an
5798 unknown package rather than random stack garbage.
5799
2cd555aa
CF
5800Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
5801
5802 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
5803
4254cc64
CF
5804Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
5805
5806 * desktop.cc (etc_profile): Leave environment variables untouched.
5807
acbae401
CV
58082001-08-07 Corinna Vinschen <corinna@vinschen.de>
5809
5810 * autoload.c: Add dynamic load statements for NT/W2K
5811 advapi32 functions not available in 9x/ME.
5812 * main.cc (set_default_dacl): New function.
5813 (WinMain): Call `set_default_dacl' if running on NT/W2K.
5814
969a294c
CF
5815Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
5816
5817 * ini.h (_CategoryPackage): Change pkg field to pkgname for
5818 consistency.
5819 * choose.cc: Use pkgname field when referencing _CategoryPackage
5820 throughout.
5821 (fill_missing_category): Don't add excluded packages.
5822 (default_trust): Ditto.
5823 (_view::insert_pkg): Ditto.
5824 * iniparse.y (register_category): Use consistent variable name.
5825
9eeb0e83
ED
58262001-07-09 Egor Duda <deo@logos-m.ru>
5827
5828 * choose.cc: Use system foreground color for text output.
5829
06560feb
CF
5830Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
5831
5832 * choose.cc (set_action): Use default trust for determining reinstall
5833 and source only.
5834 (default_trust): Set default trust.
5835 (pick_line::paint): Allow source selection when reinstalling or
5836 retrieving.
5837
1fb09149
CF
5838Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
5839
5840 * choose.cc (isinstalled): Modify to properly accomodate special case
5841 of "download only".
5842 (set_action): Check downloaded components, not installed components if
5843 "download only".
5844 (set_existence): Always include full list of files when "download
5845 only".
5846
14cfffa5
CF
5847Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
5848
5849 * choose.cc (pick_line::paint): Properly display "na" field when no
5850 source exists.
5851
f54385f6
CF
5852Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
5853
5854 * choose.cc (scan2): Ensure that older versions do not show up in
5855 "Test" slot.
5856
85b1fb54
CF
5857Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
5858
5859 * choose.cc (set_action): Allow "Skip" action if trust != installed.
5860 * res.rc: Fix copyright.
5861
2dada532
CF
5862Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
5863
5864 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
5865 boxes.
06c6d195 5866 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
2dada532
CF
5867
5868 * choose.cc: Restore some more changes from 2001-06-25, throughout.
5869 (paint): Wrap some excessively long lines.
5870 (pick_line::paint): Ditto. Move the arrow in the "Current" column
5871 right to where it belongs. Move the source checkbox slightly to the
5872 right.
5873 (do_choose): List categories and required packages in setup.log.full.
5874
5875Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
5876
58b12a06
MB
5877 * choose.cc (scan2): Restore source scanning eliminated by previous
5878 checkin.
2dada532 5879
1b13eeec
CF
5880Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
5881
5882 * ini.h (struct _Info): Add "derived" element.
5883 * choose.cc (scan2): Try to place unknown tar files into proper slot
5884 when package exists in setup.ini but tar file does not.
5885
9307254d
RC
5886Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
5887
5888 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
5889 (do_choose): Log the first category name.
5890
3467d79f
CF
5891Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
5892
5893 *ini.h: Reapply 2001-06-25 changes.
5894 * choose.cc (add_required): Ditto. Default to "Keep" state if
5895 UNINSTALL and product is installed. Default to curr state if SKIP,
5896 etc.
5897 (keep_or_skip): New function. Returns skip or keep state depending on
5898 installed state of package.
5899 (default_trust): Use keep_or_skip to set state.
5900 (_view::insert_pkg): Use calloc to allocate lines.
5901 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
5902
8f53e82a
RC
5903Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
5904
1fb09149 5905 * choose.cc: Remove globals full_list, headers, package_indexes and
8f53e82a
RC
5906 nindexes.
5907 Add globals cat_headers, pkg_headers and chooser.
5908 (add_required): New function.
5909 (paint): Use the chooser for header details.
5910 Call into the chooser to paint each line.
1fb09149 5911 (list_click): Use new global variables.
8f53e82a
RC
5912 Call into the chooser to handle the click.
5913 Repaint the entire view if packages have been added or removed.
5914 (note_width): Get passed a headers struct rather than using a global
5915 variable.
5916 (fill_missing_category): New function.
5917 (default_trust): Skip non-"Required" or "Misc" packages.
5918 (pick_line::set_line (Package *)): New function.
5919 (pick_line::set_line (Category *)): New function.
5920 (pick_line::paint): New function.
5921 (pick_line::click): New function.
5922 (_view::_view): New function.
5923 (_view::set_view_mode): New function.
5924 (_view::mode_caption): New function.
5925 (_view::set_headers): New function.
5926 (_view::init_header): New function.
5927 (_view::insert_pkg): New function.
5928 (_view::insert_category): New function.
5929 (_view::insert_at): New function.
5930 (_view::insert_under): New function.
5931 (_view::clear_view): New function.
5932 (viewsplusplus): New function.
5933 (_view::client): New function.
5934 (set_view_mode): Use new chooser functionality.
5935 (set_full_list): Use new global variables.
5936 (create_listview): Instantiate chooser.
5937 Remove all hardcoded headers[] code.
5938 (dialog_cmd): On trust changes, check dependencies.
5939 (getcategorybyname): New function.
5940 (getpackagecategorybyname): New function.
5941 (scan2): Use case-insensitive package comparison.
5942 (do_choose): Use fill_missing_category ().
5943 Show some category data.
5944 * ini.h: Protect against multiple inclusion.
5945 (views) New enum.
5946 (_CategoryPackage): New struct.
5947 (_Category): New struct.
5948 (_Package): Change category to Category * from char *.
5949 (extern Category category): New global variable.
5950 (extern in ncategories): Ditto.
5951 (getcategorybyname): New prototype.
5952 (catpackagecategorybyname): New prototype.
5953 (register_category): New prototype.
5954 (add_category): New prototype.
5955 * iniparse.y: Parse multiple categories per package.
2dada532
CF
5956 (category): New global variable.
5957 (ncategories): New global variable.
8f53e82a
RC
5958 (new_package): Compare package against NULL, not 0.
5959 (new_requirement): Source formatting fix.
5960 (register_category): New function.
5961 (add_category): New function.
5962 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
5963 IDC_CHOOSE_VIEWCAPTION: New control.
5964 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
5965 IDC_CHOOSE_VIEWCAPTION: New control.
5966 Increment _APS_NEXT_CONTROL_VALUE.
5967
26a27c14
CF
5968Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
5969
e19ad6a3 5970 * choose.cc (paint): Wrap excessively long lines.
26a27c14
CF
5971 (list_click): Ditto.
5972 (create_listview): Ditto.
5973 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
5974 setup.log.full. Allow "Yes" for source exists in setup.log.full when
5975 installing from local directories.
5976
97312777
CF
5977Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
5978
5f9f0d8d
CF
5979 * choose.cc (set_action): Only clear srcpicked when moving to next
5980 state. Allow source installation if it exists in the current "trust"
5981 state. Don't move to skip state when package is installed.
97312777
CF
5982 (list_click): Don't allow source clicking when no source is available.
5983 (set_full_list): Display package when not is_full_action.
5984 * ini.h (is_full_action): Define.
5985
72fd1d1e
CF
5986Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
5987
5988 * install.cc (check_for_old_cygwin): New function. First stab at
5989 checking for old cygwin versions.
5990 (do_install): Call check_for_old_cygwin if there were no errors during
5991 the install.
5992
41ac91b5 5993Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
86202506
CF
5994
5995 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
5996 than zeroed "source" element.
5997
80429b97
CF
5998Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
5999
6000 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
6001 the highest available "hole" in the trust array.
6002
654ea642
CF
6003Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
6004
6005 * choose.cc (set_existence): Use pointer method for indexing in trust
6006 array.
6007 (create_listview): Ditto.
6008 (scan2): Ditto. Also, use consistent variable name for indexing into
6009 trust array.
6010 * ini.h (Package): Reorganize info array for easier scanning.
6011
e98d90bd
CF
6012Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
6013
6014 * choose.cc (isinstalled): Eliminate special download only test.
6015 (set_action): Don't move to next state if in ACTION_SAME range and not
6016 incrementing.
6017 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
6018 downloading.
6019 (do_choose): Sort packages after all packages have been read.
6020 Accomodate the fact that first element in trust array is empty so that
6021 log files don't report the wrong trust value.
6022 * iniparse.y (new_package): Malloc space for package name or suffer
6023 memory corruption.
6024
38c97581
CF
6025Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
6026
6027 * ini.h (Dependency): New structure. Declare new function.
58b12a06
MB
6028 * inilex.l (yylex): Detect new setup.ini options - category and
6029 requires.
38c97581
CF
6030 * iniparse.y: Declare new setup.ini token values.
6031 (yyparse): Parse new token values.
6032 (new_requirement): New function.
6033
6034Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
6035
6036 * choose.cc (read_installed_db): Eliminate obsolete code.
6037
3ae6c15c
CF
6038Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
6039
6040 * choose.cc (set_action): Set trust on "redo".
6041 (_Info::_Info): New constructor.
6042 (read_installed_db): Use new constructor. Use trusts type for
6043 iterator.
6044 * ini.h (struct _Info): Label struct, add constructor.
6045 (Package): Make installed_ix a type 'trusts.'
6046 * install.cc (uninstall_one): Unset any installed info for current
6047 package.
6048 (install_one): Allocate new Info struct for installed reflecting new
6049 installed info.
6050 (do_install): Don't output line to installed.db if package is being
6051 uninstalled.
6052
9c0a9876
CF
6053Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
6054
6055 * choose.cc (getpkgbyname): Use consistent method for scanning package
6056 array.
6057
68b27c12
CF
6058Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
6059
6060 * choose.cc: Add some comments.
6061 (getpkgbyname): Use strcasecmp for comparisons.
6062
07108cc2
CF
6063Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
6064
f0984dcb 6065 * install.cc (do_install): Avoid checking for download action if
07108cc2
CF
6066 package wasn't currently retrieved.
6067
c46a33a9
CF
6068Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
6069
6070 * choose.cc: Eliminate extra array throughout. Use element in package
6071 structure instead. Use pointers rather than array indexes where
6072 appropriate.
6073 (set_action): New function to set next action based on current.
6074 (choose_caption): New function. Returns display caption.
6075 (check_existence): Change arguments. Use pointer to 'info' structure.
6076 (set_existence): Use pointer rather than array index.
6077 (default_trust): Use trusts enum for second argument.
6078 (set_full_list): Honor exclude element in package structure.
6079 (build_labels): Eliminate.
6080 (base): Make global. Use const char * argument.
6081 (get_package_version): Eliminate.
6082 (getpkgbyname): New function.
6083 (read_installed_db): Use parse_filename to get version info.
6084 * desktop.cc (make_passwd_group): Use getpkgbyname function.
6085 * download.cc (get_file_size): const argument.
6086 (do_download): Use is_download_action to determine when something
6087 should be downloaded.
6088 * filemanip.h: Add some functions.
6089 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
6090 * ini.h: Use enums for actions and trusts.
6091 (is_download_action): New macro.
6092 (is_upgrade_action): Ditto.
6093 (is_uninstall_action): Ditto.
6094 (struct Package): Add new fields.
6095 * inilex.l (yylex): Detect new setup.ini options.
6096 * iniparse.y: Declare new tokens.
6097 (yyparse): Detect exclude keyword. Fill out version field even if
6098 version == 0.
6099 (new_package): Use greater granularity when allocating package array to
6100 avoid repeated calls to realloc.
6101 * install.cc (exists): const argument.
6102 (uninstall_one): Take pkg argument.
6103 (install_one): Ditto. Eliminate unneeded arguments which can be
6104 derived from package info.
6105 (do_install): Iterate over package array using a pointer. Use
6106 is_download_action to control when package should be downloaded.
6107 * tar.cc (tar_open): const argument.
6108 * tar.h: Refloect const argument.
6109
7cc06fd3
CF
61102001-05-31 Michael Chase mchase@ix.netcom.com
6111
6112 * main.cc (WinMain): Add setup version to starting setup.log entry
6113
9522028b
CF
6114Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
6115
6116 * inilex.l: Add + to list of valid string characters.
6117
e9b1aaa7
CF
6118Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
6119
6120 * Makefile.in: Remove more stuff in the clean target.
6121
8e1299fa
CF
6122Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
6123
6124 * Makefile.in: Correctly generate iniparse.h.
6125
85553593
CV
6126Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
6127
6128 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
6129 * geturl.h: Change declaration of `get_url_to_file' accordingly.
6130 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
6131 Set member `ftp_auth'.
6132 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
6133 to constructors of derived classes.
6134 (NetIO::get_ftp_auth): New method.
6135 * netio.h: Change class definition accordingly.
6136 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
6137 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
6138 Add code for ftp authentication retry.
6139 * nio-ftp.h: Change class definition accordingly.
6140 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
6141 Add code for ftp authentication retry in case of proxy connection.
6142 * nio-http.h: Change class definition accordingly.
6143 * res.rc: Add FTP authentication dialog.
6144 * resource.h: Add new constants used in res.rc.
6145 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
6146
c4174b9c
CF
6147Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
6148
6149 * res.rc (IDD_SPLASH): Add a copyright year.
6150
0af2d779
CF
6151Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
6152
6153 * Makefile.in: Make iniparse.y produce a c++ file.
6154 * choose.cc (set_existence): Revert 2001-05-27 change.
6155 * ini.cc: Remove "C" from declaration of yyparse.
6156 * iniparse.y (yyparse): Fill out version field by default when a binary
6157 install is detected and no version has been set yet.
6158 * install.cc (do_install): Mount things earlier so that we can use
6159 proper mount table settings. Don't remove mounts since they are now
6160 honored.
6161 * mount.cc (create_mount): Reread the mount table after establishing a
6162 new mount.
6163 (read_mounts): Explicitly clear root_here to allow multiple uses of
6164 this function. Ensure that there is no garbage in the table when we've
6165 exhausted all of the mounts in the registry.
6166 (cygpath): Accomodate ./ in path.
6167
85b43844
CF
6168Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
6169
0af2d779
CF
6170 Use parse_filename method to parse filenames throughout. Use
6171 get_root_dir to retrieve the current root directory throughout. Set
6172 const in argument list, where appropriate, throughout.
6173 * choose.cc (set_existence): Detect case of uninstalled package with no
6174 version.
85b43844
CF
6175 (parse_filename): New function.
6176 * filemanip.h (fileparse): New structure.
6177 * mount.cc (read_mounts): Remember where we found the root mount.
6178 (set_root_dir): New function.
6179 (get_root_dir): Ditto.
6180 * mount.h: Declare new functions.
6181 * site.cc (get_root_dir_now): Renamed from get_root_dir.
6182 (save_site_url): Use new function name.
6183 (get_initial_list_idx): Ditto.
6184
08f8c762
CF
6185Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
6186
6187 * choose.cc: Use a constant throughout to deal with chooser icon
6188 length.
6189 * res.rc (IDD_CHOOSE): Increase size of chooser box.
6190
47f8d8b3
CF
61912001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
6192
6193 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
6194 use when Redownload or Sources Only selected.
6195
6a748750
CF
6196Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
6197
6198 Reformat file after botched patch formatting.
6199 * choose.cc (which_trust): Eliminate variable.
6200 (default_trust): Don't set which_trust.
6201 (do_choose): Use selected trust when reinstalling or installing source.
6202
a351e48c
CF
6203Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
6204
6205 Change concat to cygpath throughout.
6206 Change map_filename to cygpath throughout.
6207 * concat.cc (vconcat): New function.
6208 (concat): Use vconcat.
6209 * concat.h: Reflect above.
6210 * install.cc (map_filename): Eliminate.
6211 (install_one): Free dest_file.
6212 * mount.cc (find2): Expect input key to be pointing to mount record.
6213 (in_table): New function.
6214 (is_admin): Move from root.cc.
6215 (read_mounts): New function.
6216 (path_prefix_p): New function.
6217 (cygpath): New function.
6218 * mount.h: Define new functions and structure.
6219 * root.cc (in_table): Move to mount.cc.
6220 (do_root): Call read_mounts to initialize root stuff and mount table.
6221 * site.cc (get_root_dir): Ditto.
6222
e227ee24
CF
62232001-05-09 Matt Hargett <matt@use.net>
6224
6225 * Makefile.in: Remove *.rc from clean.
6226
25fd2965
CF
6227Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
6228
6229 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
6230 TRUST_PREV which produced "0" versions.
6231
42bf5b92
CF
62322001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
6233
6234 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
6235 _APS_NEXT_CONTROL_VALUE to account for addition of
6236 IDC_CHOOSE_INST_TEXT.
6237 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
6238 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
6239 hot keys to select Prev, Curr, Exp.
6240 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
6241 define for LOOP_PACKAGES to include new actions ACTION_REDO and
6242 ACTION_SRC_ONLY.
6243 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
6244 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
6245 source Checkbox to use.
6246 (build_labels): Add logic to allow for selection of Source only
6247 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
6248 current version binary.
6249 (dialog_proc): Add conditional display for file selection prompt based
6250 on download vs install using IDC_CHOOSE_INST_TEXT.
6251 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
6252 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
6253 handle the instance where Source Download/Install was selected. Modify
6254 log file to store appropriate information regarding Action selected and
6255 the new actions that were added (I.E.: ACTION_REDO and
6256 ACTION_SRC_ONLY).
6257 * download.cc: Add include for <unistd.h> and "port.h".
6258 (download_one): Modify parameter list to include the selected action
6259 for the file to be downloaded. Modify size check against expected size
6260 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
6261 .tmp file to also remove the destination file if exists due to ability
6262 to redownload source and binary now.
6263 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
6264 calculation of Download Bytes. Modify to also use ACTION_REDO and
6265 ACTION_SRC_ONLY in determining files selected for download.
6266 * install.cc (uninstall_one): Add check to treat a Reinstall like an
6267 upgrade so current version will be uninstalled prior to reinstall.
6268 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
6269 uninstalling and installing binary and source packages.
6270 * desktop.cc (make_passwd_group): Modify logic to account for a Source
6271 only cygwin install when checking for cygwin to determine need for
6272 mkpasswd and mkgroup.
6273
6274Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
8a09aa99
CF
6275
6276 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
6277 Removed WS_DISABLED from "OK" buttons to accomodate default focus
6278 changes in net.cc and source.cc.
6279 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
6280 a default is selected.
6281 * winsup/cinstall/source.cc (dialog_proc): Ditto.
6282 (check_if_enable_next): Removed. No longer needed since a radio button
6283 will always be selected.
6284 (load_dialog): Removed call to check_if_enable_next.
6285 (dialog_cmd): Ditto. Also added default to switch.
6286
87bdba0c
CF
6287Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
6288
6289 * res.rc: Resize affected text.
6290
8293fc16
CF
6291Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
6292
6293 * net.cc (do_net): Default to direct download.
87bdba0c 6294 * res.rc: Move default selections to the top.
8293fc16 6295
ed96c6da
EB
62962001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
6297
6298 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
6299 Must now include <windows.h> and not the pieces.
6300 * choose.cc (create_listview): Clean up type mismatch problems.
6301 * dialog.h (NEXT(id)): Ditto.
6302 * geturl.cc (dialog): Ditto.
6303 * install.cc (dialog): Ditto.
6304 * splash.cc (load_dialog): Ditto.
6305
fe94cc29
CF
6306Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
6307
6308 * tar.cc (class gzbz): Define dummy virtual functions.
6309
fb087b80
CF
6310Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
6311
6312 * Makefile.in: Add bz2 include/library support.
6313 * filemanip.h: New file.
fe94cc29
CF
6314 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
6315 .tar.bz2 found.
fb087b80
CF
6316 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
6317 (read_installed_db): Ditto.
6318 (do_choose): Ditto.
6319 * fromcwd.cc (found_file): Ditto.
6320 (do_fromcwd): Ditto.
6321 * tar.cc (class gzbz): New super class for uncompression support.
6322 (gz): New class for gzip support.
6323 (bz): New class for bzip2 support.
6324 (tar_open): Use gzbz class to control file opening.
6325 (tar_ftell): Ditto for returning position in file.
6326 (skip_file): Ditto for reading file.
6327 (tar_next_file): Ditto.
6328 (tar_read_file): Ditto.
6329 (tar_close): Ditto for close.
6330
6331 * zlib/configure.in: Force NM substitution.
6332
6333 * source.cc (do_source): Default to "Install from Internet".
6334
88bcaf07
CF
63352001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
6336
6337 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
6338 `stat'.
6339 * choose.cc (list_click): Correct inability to select source code for
6340 download.
6341 (scan2): Modify to skip source tarballs when scanning disk for
6342 installable packages.
6343
ef45c299
CV
63442001-03-10 Chris Abbey <chris_abbey@yahoo.com>
6345
6346 * install.cc: install sources into /usr/src instead
6347 of /, also include the sizes of source tarballs
6348 in total_bytes.
6349 * download.cc: include sizes of source tarballs in
6350 total_download_bytes.
6351
9fe1181b
CV
6352Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
6353
6354 * download.cc (get_file_size): Remove `static'.
6355
2bfdb848
CV
6356Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
6357
6358 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
6359
60c632b3
CV
63602001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
6361
6362 * choose.cc (paint): Modify message for nothing to download vs
6363 nothing to install/update based on installation method.
6364 (list_click): Modify to skip versions in selection process if
88bcaf07 6365 installing from local directory and installation file does not exist.
60c632b3
CV
6366 Also leaves Source Action set to N/A if the source file does not exist
6367 and installing from local directory.
6368 (check_existence): New method to check current existence of installation
6369 files based on selected installation method.
6370 (set_existence): New method to set the current existence of installation
6371 files based on selected installation method.
6372 (best_trust): Modify decision process for best trust to base decision on
6373 current trust selected (IE: Prev, Curr, or Test), existence of file and
6374 installation method selected.
6375 (default_trust): Add logic to capture the current trust level and the
6376 trust selected for the given package.
88bcaf07 6377 (set_full_list): Expand decision criteria for displaying a package in
60c632b3
CV
6378 the selection list to include file existence/non-existence and selected
6379 installation method.
6380 (build_labels): Modify criteria for label addition to include
6381 installation method and file existence/non-existence.
88bcaf07 6382 (create_listview): Modify to establish package trust level for each
60c632b3
CV
6383 package before setting up the display list. Also modification to set
6384 current trust button as the default.
88bcaf07 6385 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
60c632b3
CV
6386 a reset of the selection list in addition to setting the default trust.
6387 (get_package_version): New method to provide reusable code for
6388 determining the package version from the file name for a specified
6389 trust.
6390 (scan2): Modify to use new method get_package_version and
6391 also enhance handling of the build for the structures package and
6392 extra.
6393 (read_installed_db): Modify to use the new method
6394 get_package_version and also enhance handling of the build for the
6395 structures package and extra.
88bcaf07 6396 (do_choose): Add additional initialization of package and extra
60c632b3
CV
6397 structures. Modify to use read_installed_db all the time despite
6398 install method. Modify output to setup.log.full log file to increase
6399 readability by adding additional spacing, expanded code and available
6400 versions.
6401 * ini.h: Add new fields install_exists, source_exists and
88bcaf07 6402 partial_list_display to the structure definition for package.
60c632b3
CV
6403 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
6404 pushbuttons by replacing with Radio Buttons thus allowing the
6405 operator to better determine which is selected.
6406
2f9645a1
CV
64072001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
6408
88bcaf07 6409 * download.cc (do_download): Add new variables total_download_bytes and
2f9645a1
CV
6410 total_download_bytes_sofar for download progress meter. Add loop
6411 to accumulate the total bytes to download from the selected packages.
6412 * geturl.cc: Add state.h and diskfull.h to include list. Add new
6413 variables gw_iprogress, gw_pprogress, gw_progress_text,
6414 gw_pprogress_text, and gw_iprogress_text to allow for addition of
6415 total packages download progress meter and disk full percent
6416 progress meter. Add variables total_download_bytes and
6417 total_download_bytes_sofar for use by progress meters.
88bcaf07
CF
6418 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
6419 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
6420 allow for addition of total packages download progress meter and disk
6421 full percent progress meter.
2f9645a1
CV
6422 (init_dialog): Ditto.
6423 (progress): Ditto.
6424 (get_url_to_file): Ditto.
6425 * geturl.h: Add external definition for total_download_bytes and
6426 total_download_bytes_sofar.
88bcaf07 6427 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
2f9645a1
CV
6428 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
6429 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
6430 download meters.
88bcaf07 6431 * resource.h: Add new fields for progress meters and text and update
2f9645a1
CV
6432 _APS_NEXT_CONTROL_VALUE.
6433
b41962a3
CV
6434Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
6435
6436 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
6437 for NULL.
6438
6439Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
01954c34
CV
6440
6441 * download.cc (download_one): Add missing parenthesis.
6442
88a77116
CV
6443Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
6444
6445 * download.cc (get_file_size): New function. Eliminates the need
6446 to call `stat'.
6447 (download_one): Call `get_file_size' instead of `stat'. This
6448 workarounds a problem with mingw's `stat' call.
6449
577f35ed
EB
64502001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
6451
6452 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
6453 This is to allow cinstall to build with 2.95.2-7 and to make the
6454 use of headers consistent.
6455
38f5563e
DD
64562000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
6457
6458 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
6459
c0a7e0f2
DD
6460Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
6461
6462 * winsup/cinstall/res.rc: Added accelerators and improved focus
6463 order.
6464
72826a5b
CF
64652000-12-10 Egor Duda <deo@logos-m.ru>
6466
6467 * choose.cc (paint): Use system background color for text output.
6468
6469Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
6470
6471 * Makefile.in: Use CXX for linking and for compiling .cc files.
6472 * configure.in: Find correct c++ compiler.
6473 * configure: Regenerate.
6474
67bebcb5
DD
64752000-11-17 DJ Delorie <dj@redhat.com>
6476
6477 * splash.cc (load_dialog): Make message more obvious.
6478 * res.rc: Ditto.
6479
25fb9139
CF
6480Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
6481
6482 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
6483 necessary for newer compilers.
6484
ef2007fd
CV
6485Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
6486
6487 * desktop.cc: Include "ini.h" and "version.h".
6488 (make_passwd_group): Skip the function on 9x/ME boxes when an
6489 older version of Cygwin has been installed which doesn't
6490 support mkpasswd/mkgroup on 9x/ME.
6491 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
6492 * ini.h: ...here.
6493
277b4d56
CV
6494Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
6495
6496 * desktop.cc (make_passwd_group): Don't exit when started
6497 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
6498
f8a6415f
DD
6499Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
6500
6501 * install.cc (do_install): Add call to set_cygdrive_flags to sync
6502 the mount modes.
6503 * mount.cc (set_cygdrive_flags): New function.
6504 (get_cygdrive_flags): Ditto.
6505 (default_cygdrive): Ditto.
6506 (set_cygdrive_flags): Ditto.
6507 * mount.h: Add prototype for set_cygdrive_flags.
6508
3b9077d4
DD
65092000-10-23 DJ Delorie <dj@redhat.com>
6510
6511 * ini.h: add source actions
6512 * fromcwd.cc: check for available sources
6513 * res.rc: add checkbox bitmaps
6514 * resource.h: ditto
6515 * check-*.bmp: new
6516 * choose.cc: add source column
6517 * download.cc: download sources if called for
6518 * install.cc: [un]install sources too
6519
1b1b33ac
DD
65202000-10-22 DJ Delorie <dj@redhat.com>
6521
6522 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
6523 ignore it wrt full_list if there's already a version installed.
6524 (do_choose): Sort the list.
6525 (package_sort): New.
6526
2a1a01e0
DD
65272000-10-12 DJ Delorie <dj@redhat.com>
6528
6529 * res.rc: Add more error strings.
6530 * resource.h: Ditto.
6531 * iniparse.y (new_package): re-initialize if needed.
6532 * download.cc (do_download): Keep track of errors; notify and
6533 allow retry.
6534 * install.cc (do_install): Ditto.
6535
1a9886fe
DD
65362000-10-05 DJ Delorie <dj@redhat.com>
6537
6538 * Makefile.in: fix %.cc rule
6539
40aef45e
DD
65402000-10-04 DJ Delorie <dj@redhat.com>
6541
6542 * desktop.cc: quote HOME and USER, don't . ./.profile
6543
6544 * choose.cc (build_labels): don't include in partial list just
6545 because there's a *previous* version available.
6546
6547 * install.cc (do_install): if installing from local directory with
6548 setup.ini and the file isn't found, look in "." also. Note errors.
6549
dd3f7f9b
DD
65502000-10-02 DJ Delorie <dj@redhat.com>
6551
6552 * ini.cc (do_ini): save setup.ini locally
6553
65542000-10-02 Chris Abbey <cabbey@bresnanlink.net>
6555
6556 * desktop.cc: quote escapes in prompt
6557
fee2a8d0
DD
65582000-10-02 Jason Tishler <jt@dothill.com>
6559
6560 * root.cc (is_admin): New function.
6561 (read_mount_table): Check for administrative priviledges and set
6562 installation scope as appropriate.
6563
a03db251
DD
65642000-09-28 DJ Delorie <dj@redhat.com>
6565
6566 * nio-ftp.cc (ftp_line): handle continuations more robustly
6567
b151e01e 65682000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
0b758d4c
DD
6569
6570 * res.rc: increased the size of the site dialog (IDD_SITE) & the
6571 corresponding list box to provide for more URL's to be listed.
6572 Modified the position of the Back, Next and Cancel buttons to
6573 correspond to the new size of the dialog.
6574
d07591a3
DD
65752000-09-13 DJ Delorie <dj@redhat.com>
6576
6577 * install.cc (do_install): update disk fullness once per package
6578 to improve performance
6579
6580 * choose.cc (create_listview): call ReleaseDC
6581
89725f30
DD
6582Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
6583
6584 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
6585 returned, as it seems Samba 2.0.6+ returns this instead of
6586 ERROR_PATH_NOT_FOUND
88bcaf07 6587
6fbc690d
CF
6588Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
6589
6590 * site.cc (get_initial_list_idx): Don't default to saved URL if it
6591 refers to sources.
6592
13d27274
DD
65932000-09-07 DJ Delorie <dj@redhat.com>
6594
6595 * splash.cc: use version.h, not local decl
6596 * res.rc: add "old version" message
6597 * resource.h: ditto
6598 * version.h: new
6599 * fromcwd.cc (canonicalize_version): make global
89725f30
DD
6600 * iniparse.y: add setup-version support, fix bug in blank line
6601 handling
6602
13d27274
DD
6603 * inilex.l: add [exp] as alias for [test], add setup-version
6604 * Makefile.in (version.c): add setup-version tag
6605
6606 * desktop.cc (do_desktop): remove 1.1 version number
6607 (do_desktop_setup): ditto
6608
6609 * ini.cc (do_ini): zero out package list just in case we redo it.
6610
8cfbc487
DD
66112000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
6612
6613 * choose.cc (list_click): Check for nindexes==0; if so, return.
6614
c92e1307
DD
66152000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
6616
6617 * localdir.cc: new, local package directory selection dialog; cd
6618 into selected directory
6619 * Makefile.in (OBJS): add localdir.o
6620 * dialog.h: add prototype for do_local_dir
6621 * main.cc (WinMain): initialize local_dir to cwd; add call to
6622 do_local_dir
6623 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
6624 * source.cc (dialog_cmd): ditto
6625 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
6626 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
6627 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
6628 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
6629 * state.h: add local_dir variable
6630
66312000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
50225eae
DD
6632
6633 * desktop.cc: added logic to handle to the new dialog and to
6634 default the setting for the new checkboxes based on whether the
6635 desktop icon or start menu link already exist.
6636 (desktop_icon): correction to desktop directories for desktop icon
6637 creation. Additional logic added for Win95 which does not appear
6638 to have Common Directories so if Common selected and null uses
6639 normal directory.
6640 (start_menu): Additional logic added for Win95 which does not
6641 appear to have Common Directories so if Common selected and null
6642 uses normal directory.
6643 (do_desktop_setup): moved the saving of the icon, creation of the
6644 bat file, profile, passwd, Start Menu link and desktop shortcut to
6645 this method from do_desktop. Made the creation of the desktop
6646 icon and start menu link conditional on settings of new dialog
6647 created for desktop.
6648 * install.cc (do_install): changed next from IDD_S_DESKTOP to
6649 IDD_DESKTOP.
6650 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
6651 * res.rc: added new resource to create a desktop dialog with 2
6652 checkboxes for creating the desktop icon and start menu link.
6653 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
6654 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
6655 * state.h: added root_menu and root_desktop for use in dialog.
6656
4a83b7b0
DD
66572000-08-29 DJ Delorie <dj@redhat.com>
6658
6659 * choose.cc (scan_downloaded_files): scan for existing files, so
6660 that the user only sees new downloads.
6661
6662 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
6663 * site.cc (do_site): if we can't download the mirror list, go back
6664 to the net setup box to choose another transport.
6665 * autoload.c: add more functions
6666 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
6667 * resource.h: add WININET message
6668
6669 * net.cc (do_net): no longer default to IE5
6670 * simpsock.h (class SimpleSocket): new, simplify socket operations
6671 * simpsock.cc: ditto
6672 * nio-http.h: new, for direct http protocol
6673 * nio-http.cc: ditto
6674 * nio-ftp.h: new, for direct http protocol
6675 * nio-ftp.cc: ditto
6676 * netio.cc (set_url): move initialization here to handle redirections
6677 (open): add direct http/ftp
6678 * netio.h (NetIO::set_url): new
6679
6680 * log.cc (log_save): create directory for log if needed
6681
6682 * hash.cc, hash.h: new
6683 * Makefile: add hash.o
6684 * choose.cc: enable "uninstall" option
6685 * download.cc: invert action test to accomodate uninstalling
6686 * ini.h: add ACTION_UNINSTALL
6687 * install.cc: add uninstall functionality
6688 * res.rc: make install tag changeable
6689 * resource.h: add uninstall resources
6690
6691 * res.rc: update mirror list URL
88bcaf07 6692
50f64a4b
DD
66932000-08-24 DJ Delorie <dj@redhat.com>
6694
89b1a15b
DD
6695 * log.cc, log.h: new files
6696 * Makefile.in (OBJS): add log.o
6697 * tar.cc: use exit_setup instead of exit
6698 * dialog.cc (fatal): use exit_setup instead of ExitProcess
6699 * msg.cc (fatal): ditto
6700 * install.cc (dialog_cmd): ditto
6701 * ini.cc (do_ini): ditto
6702 * main.cc (main): add logging
6703 * source.cc (do_source): ditto
6704 * root.cc (do_source): ditto
6705 * site.cc (do_site): ditto
6706 * other.cc (do_other): ditto
6707 * net.cc (do_net): ditto
6708 * choose.cc (do_choose): ditto
6709 * download.cc (do_download): ditto
6710 * install.cc (do_install): ditto
6711 * msg.cc (fatal): ditto
6712
6713 * res.rc: mark password boxes as *being* password boxes.
6714
58b12a06
MB
6715 * fromcwd.cc (canonicalize_version): use multiple buffers so that
6716 multiple calls won't use the same buffer.
50f64a4b
DD
6717 * choose.cc (create_listview): don't default to full list if no changes
6718 (base): return computed value, not temporary :-(
6719 (do_choose): don't use installed.db if we're only downloading.
6720
348860fa
DD
67212000-08-23 DJ Delorie <dj@redhat.com>
6722
6723 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
6724 * nio-ie5.h (flush_io): new
6725 * netio.cc (load_dialog): note when we're initializing the dialog
6726 box, and ignore changes to the edit fields then.
6727
5f48f258
DD
67282000-08-21 DJ Delorie <dj@redhat.com>
6729
6730 * README: Update
6731
6732 * fromcwd.cc (found_file): don't remember the canonicalized version
6733
6734 * choose.cc (paint): print "nothing to do" message when list is empty.
6735 (build_labels): Use version "0.0" if no version is available.
6736 (create_listview): default to full list if nothing to install/update.
6737 (base): new, returns basename of file
6738 (read_installed_db): compare base names, not full paths
6739
713bbe5f
DD
67402000-08-11 DJ Delorie <dj@redhat.com>
6741
6742 * choose.cc: add new chooser dialog
6743 * fromcwd.cc: use IDD_CHOOSE
6744 * ini.cc: use IDD_CHOOSE
6745 * main.cc: use IDD_CHOOSE
6746 * ini.h: cosmetic changes
6747 * res.rc: add choose dialog, bitmaps
6748 * choose-spin.bmp: new
6749 * choose-rtarrow.bmp: new
6750 * resource.h: add choose dialog controls
6751
6752 * mount.cc: remove debug statement
88bcaf07 6753
2e9cbac5
DD
67542000-08-08 DJ Delorie <dj@redhat.com>
6755
6756 * Makefile.in (version.c): make version checking more robust
6757 * splash.cc (load_dialog): handle case where there's no version
6758
8507f105
DD
67592000-08-07 DJ Delorie <dj@redhat.com>
6760
6761 * (all): add cvsid tags
6762 * Makefile.in: generate version.c from ChangeLog, add splash.o
6763 * splash.o: new
6764 * res.rc: add splash screen
88bcaf07 6765
f5d0464b
DD
67662000-08-02 DJ Delorie <dj@redhat.com>
6767
4e8ff53f
DD
6768 * net.cc: remove proxy password code
6769 * res.rc: remove proxy user/pass from net, add auth dialogs
6770 * netio.cc,h: add sys/proxy auth methods
6771 * nio-ie5: use them, check for http status codes
6772 * state.h: add system authorization
6773
f5d0464b
DD
6774 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
6775 meaning an url)
6776
76cbfa85
DD
67772000-08-02 Norman Vine <nhv@yahoo,com>
6778
6779 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
6780
e92c4436
DD
67812000-08-01 DJ Delorie <dj@redhat.com>
6782
bf74c544
DD
6783 * postinstall.cc (each): don't rename files we ignore
6784 (do_postinstall): set CYGWINROOT to root_dir, chdir there
6785
e92c4436
DD
6786 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
6787
a6100861
DD
67882000-07-31 DJ Delorie <dj@redhat.com>
6789
6790 * desktop.cc: reverse PATH so /usr/bin precedes /bin
6791
b11b49f3
DD
67922000-07-18 DJ Delorie <dj@redhat.com>
6793
a99bdfd8
DD
6794 * autoload.c: new, autoload dlls that might not be available.
6795 * Makefile.in (OBJS): add autoload.o
6796
6797 * res.rc: rewrite root options (text/binary, system/user) to be
6798 more obvious.
6799
b5b282c4
DD
6800 * site.cc (get_site_list): trim displayed URL, sort by domain
6801
6802 * net.cc (do_net): make IE5 default to checked, for now
6803
b11b49f3
DD
6804 * choose.cc (do_choose): sort packages correctly
6805 * ini.cc (do_ini): handle parse errors more gracefully
6806 (yyerror): ditto
6807 (fprintf): line buffer output
b5b282c4 6808 (do_ini): if we can't load setup.ini, go back to the site list.
b11b49f3
DD
6809 * ini.h: add "unknown" trust level
6810 * inilex.l: absorb unknown trust levels and key/value pairs,
6811 add line number logic
6812 * iniparse.y: handle parse errors more gracefully.
6813 * install.cc: skip packages with no valid install entry
6814
1fd6d0a2
DD
68152000-07-17 DJ Delorie <dj@cygnus.com>
6816
6817 * coding standards fixups, many files
6818 * mkdir.cc: warn about deletions *before* deleting them
6819
ed3e8b9b
DD
68202000-07-17 Jeff Juliano <juliano@cs.unc.edu>
6821
6822 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
6823
6824 * other.cc (dialog_cmd): save download site URL
6825 * site.cc (get_root_dir): new
6826 (save_mirror_site): new
6827 (dialog_cmd): save download site URL
6828 (get_site_list): make list big enough to add prev site
6829 (get_initial_list_idx): new, read last-used URL from file and
6830 append it to site_list
6831 (do_site): call get_initial_list_idx
6832
6833 * concat.cc (concat): avoid segfault when first parm is null
88bcaf07 6834
f57c332f
DD
68352000-07-13 DJ Delorie <dj@cygnus.com>
6836
6837 * postinstall.cc: new
6838 * Makefile.in: add postinstall.o
6839 * concat.h: add backslash ()
6840 * concat.cc: ditto
6841 * desktop.cc (etc_profile): don't do postinstall
6842 (backslash): moved to concat.cc
6843 (uexists): new
6844 (make_postinstall_script): run directly
6845 (do_desktop): chain to do_postinstall
6846 * dialog.h: add exit_msg, do_postinstall
6847 * download.cc: use exit_msg
6848 * install.cc: ditto
6849 * main.cc: add postinstall, exit_msg
6850 * resource.h: add postinstall
d6cda811 6851 * README: add more to-do items
f57c332f 6852
3a8e3956
DD
68532000-07-12 DJ Delorie <dj@cygnus.com>
6854
6855 * desktop.cc: add /etc/postinstall/ support
1a18aed7 6856 * install.cc: add more "standard" directories
3a8e3956 6857
e0c3d906
DD
68582000-07-11 DJ Delorie <dj@cygnus.com>
6859
6860 * desktop.cc: create /etc/profile
ad09bcd9
DD
6861 * desktop.cc: fix include syntax
6862 * Makefile.in: add auto-dependencies
24e259bb
DD
6863 * root.cc: support system vs user
6864 * desktop.cc: ditto
6865 * mount.h: ditto
6866 * mount.cc: ditto
6867 * install.cc: ditto
6868 * res.rc: ditto
6869 * resource.h: ditto
6870 * state.h: ditto
84d58d4c 6871 * desktop.cc: make sure we use backslashes, not slashes.
bf1d5889
DD
6872 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
6873 * geturl.cc: change math for percentage to avoid overflow
6874 * install.cc: ditto
6875 * download.cc: post "download complete" message.
6876 * root.cc: pre-fill in defaults if needed, don't start
6877 browse at root_dir unless it's set.
a3f48e18 6878 * desktop.cc: quote $PATH in case it has spaces in it
88bcaf07 6879
904d24fe
DD
68802000-07-10 DJ Delorie <dj@cygnus.com>
6881
6882 * Makefile.in: add desktop.o and mklink2.o
6883 * dialog.h: add do_desktop
6884 * install.cc: create standard directories, call do_desktop
6885 * res.rc: add cygwin.ico as a file also
6886 * desktop.cc: new, do shortcuts, batch files, and icons
6887 * mklink2.c: new, for COM
1ab805b8 6888 * README: update to-do list
904d24fe 6889
04d6e06b
DD
68902000-07-10 DJ Delorie <dj@cygnus.com>
6891
6892 * ini.cc (do_ini): don't worry about timestamps if we're not
88bcaf07 6893 actually installing.
04d6e06b 6894
5601a13d
DD
68952000-07-09 DJ Delorie <dj@cygnus.com>
6896
6897 * Makefile.in: add -I$(srcdir) for ini.h
6898
23c9e63c
DD
68992000-07-06 DJ Delorie <dj@cygnus.com>
6900
6901 * Replace everything with a new GUI version
6902 * zlib/gzio.c: add gzctell() for progress displays
6903
69042000-06-22 DJ Delorie <dj@cygnus.com>
6905
6906 * setup.c (tarx): re-add call to write_pkg()
6907
aa32874b
DD
69082000-06-07 DJ Delorie <dj@cygnus.com>
6909
6910 * cygcalls.c: new, call cygwin1.dll functions directly
6911 * cygcalls.h: header for same
6912 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
6913 exes, fix cinstall.rc dependencies.
6914 * path.c: remove unneeded code
6915 * setup.c: use cygcalls instead of xcreate_process.
6916 uncompress embedded files with zlib
6917 add "-d" for "download only"
6918 add "-h" for help
6919 postpone mount changes until very end
6920 add download progress indicators
6921 pack multi-column listings more
6922 auto-delete temp files
6923 customize banner message according to options
6924 prompt user for text/binary mounts
6925 add warnings about empty setup directory, root installs, etc
6926
99d1bf2d
DD
69272000-05-24 DJ Delorie <dj@cygnus.com>
6928
6929 * tar.c: New file; built-in tar using zlib.
6930 * tar.h: New file; header for same.
6931 * ctar.c: New file; test program for same.
6932 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
58b12a06
MB
6933 * path.c (pathcat): convert slashes and canonicalize, instead of
6934 aborting
99d1bf2d
DD
6935 * setup.c (tarx): add support for built-in tar
6936 (main): accept unix-style slashes, check root dir for drive letters,
58b12a06
MB
6937 warn about installing in /, make sure cwd is empty for internet
6938 installs, defer mounts to end of install, support built-in tar.
99d1bf2d 6939
55650749
CF
6940Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
6941
6942 Fix compiler warnings throughout.
6943 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
6944 get_pkg_stuff.
6945 * setup.c: Make 'root' global.
6946 (istargz): Return pointer to "stem" of matched .tar.gz file.
6947 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
6948 bogus check_for_installed check.
6949 (recurse_dirs): Add preliminary support for .bat file execution.
6950 (create_uninstall): Eliminate unneeded parameter.
6951 (do_start_menu): Ditto.
6952 (mkmount): Ditto.
6953 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
6954 scanning for the version number. Eliminate unneeded argument to
6955 create_uninstall.
6956 (getdownloadsource): Add 'name' to list of names rather than url.
6957 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
6958 unneeded argument in mkmount and do_start_menu.
6959
f4dda8f0
DD
69602000-05-18 DJ Delorie <dj@cygnus.com>
6961
6962 * setup.c (optionprompt): allow multi-column, clean up message
6963 about more options, be more robust about user input.
6964 (getdownloadsource): make the mirror URL a macro.
6965 (main): do mounts after done prompting user.
6966
62844d84
CF
6967Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
6968
6969 * setup.c (cleanup): Inverse order of deletion stands a better chance
6970 of deleting cygpath.exe. Still seems to suffer from occasional races,
6971 though.
6972 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
6973 w2k.
6974 (output_file): Defend against an unlikely handle leak.
6975 (main): Don't set up signal handling until we have something special to
6976 do.
6977
ad6749c8
CF
6978Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
6979
6980 * path.c (kill_cygpath): Delete function.
6981 (exit_cygpath): Make more defensive so that it can be called at any
6982 time.
6983 (cygpath_pipe): Don't set up signal here. Do it in main().
6984 * setup.c (istargz): New function.
6985 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
6986 inexplicably fails on samba mounted partitions. Use istargz to match
6987 tar.gz tail.
6988 (processdirlisting) Use istargz to match tar.gz tail.
6989 (cleanup): Renamed from filedel.
6990 (cleanup_on_signal): New function. Called on CTRL-C.
6991 (main): Record handle of main thread so that it can be suspended when
6992 CTRL-C occurs. Set up cleanup_on_signal signal handler.
6993
460cf7b6
CF
6994Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
6995
6996 * setup.c (do_start_menu): Don't concatenate paths to already built
6997 paths.
6998
9e76799c
CF
6999Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
7000
7001 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
7002 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
7003 that.
7004 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
7005 root"-specific.
7006 * setup.c (filedel): Call exit_cygpath here so that we can be assured
7007 that cygpath subprocess has died. This allows us to delete cygpath.exe
7008 and cygwin1.dll.
7009 (optionprompt): Initialize response to -1 so that second screen of
7010 mirrors will appear.
7011 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
7012 * setup.h: Reflect init_pkgs prototype change.
7013
2cf65e6e
CF
7014Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
7015
7016 * pkg.c (init_pkgs): Accept an argument to control what root registry
7017 key should be used.
7018 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
7019 * setup.h: Reflect init_pkgs prototype change.
7020
7021Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
7022
7023 * error.c (winerror): Respond to gcc warning.
7024 * path.c (cygpath_pipe): Ditto.
7025 * setup.c (filedel): Call sa_cleanup on deleteme.
7026 (create_shortcut): Coerce argument to eliminate compiler warning.
7027 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
7028 (refmatches): New function. Tests if ref is contained in a list of
7029 packages to install.
7030 (filematches): New function. Tests if filename matches one of a list
7031 of packages to install.
7032 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
7033 test to accomodate _tar.gz.
7034 (prompt): Ensure that stdout is flushed prior to asking for input.
7035 (findhref): Initialize variables to quiet a compiler warning.
7036 (processdirlisting): Accept list of packages to install. Special case
7037 cygwin tar file version number.
7038 (downloaddir): Accept list of packages to install.
7039 (downloadfrom): Ditto.
7040 (create_uninstall): Eliminate unneeded variables. Quote arguments to
7041 regtool.
7042 (do_start_menu): Don't create uninstall bat file if updating or user
7043 specified a list of packages.
7044 (mkmount): Eliminate unneeded variables.
7045 (get_pkg_stuff): New function. Checks for previous unversioned
7046 installation.
7047 (main): Accept -u and -f options and package names on the command line.
7048 Use get_pkg_stuff to initialize package information. Umount /etc.
7049 Call recurse_dirs and downloadfrom with list of package to install.
7050 Ensure that all /usr/local directories are created. Output
7051 installation time to setup.log.
7052 * setup.h: Add some prototypes.
7053 * xsystem.c (xcreate_process): Eliminate unneeded variable.
7054
4cf88dd9
CF
7055Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
7056
7057 * setup.c (optionprompt): Don't overlap display of already seen options
7058 on next page.
7059 (geturl): Print name of site which we're connecting to rather than "ftp
7060 site".
7061 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
7062 test too simplistic?
7063 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
7064 problems when user chooses x:\ as their root.
7065 (main): For now, default to "non-update" mode. Allow -u option to
7066 signify an update.
7067
36591a07
CF
7068Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
7069
7070 * pkg.c: New file.
7071 * setup.c (tarx): Skip already installed or older packages. Report
7072 when a package has been updated.
7073 (processdirlisting): Skip already installed or older packages.
7074 (main): Detect -f option for forced installation. Initialize pkg stuff
7075 if appropriate.
7076 * setup.h: Add pkg definitions.
7077
c298ea4a
CF
7078Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
7079
7080 * setup.c (findhref): Return NULL on empty string. Eat any trailing
7081 ";something".
7082 (processdirlisting): Attempt to limit recursively processing the same
7083 directory.
7084
f4cafa7e
CF
7085Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
7086
7087 * setup.c (filedel): New function.
7088 (output_file): Keep track of files extracted from setup.exe for
7089 subsequent deletion.
7090 (tarx): Close process handle of child tar process or suffer handle
7091 leak.
7092 (getdownloadsource): Close mirror file so that it can be unlinked.
7093 (processdirlisting): Return total number of files extracted.
7094 (main): Initialize array of files to delete. Ensure that files are
7095 closed on exit. Make the directory that setup.exe is started from ==
7096 the directory where temporary files are placed. Issue an error if no
7097 files were found to download.
7098 * xsystem.c (xcreate_process): Close the thread handle. Close the
7099 process handle if we waited for it to exit.
7100
cd475210
CF
7101Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
7102
7103 * setup.c (main): Change version number output.
7104
7dff5e71
CF
7105Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
7106
7107 * setup.c (tarx): Use full path name to tar executable.
7108 (main): Build full pathname to tar executable. Create /usr/local/etc
7109 by default.
7110
99437fdb
CF
7111Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
7112
7113 * setup.c (findhref): Change method for scanning for href= to choose
7114 the last one on the line. This is still not foolproof and probably
7115 will need to be changed eventually. Don't abort if no "size" field is
7116 evident.
7117 (processdirlisting): Fix boolean algebra.
7118
0f562d55
CF
7119Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
7120
7121 * main.c (tarx): Add some code for future task of unmounting
7122 directories encountered in tar file.
7123
4356382d
CF
7124Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
7125
7126 * setup.c (findhref): Decode file size, when appropriate.
7127 (needfile): New function. Returns 1 when file should be
7128 downloaded.
7129 (processdirlisting): Always download if file size does not
7130 match. Prompt when download fails for some reason.
7131 (getdownloadsource): Accomodate findhref argument changes.
7132
6ab1ce6c
CF
7133Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
7134
7135 Throughout, use global session handle rather than reinitializing for
7136 each connect. Don't pass session as an argument to setup.c functions.
7137 * setup.c (geturl): Only issue "Connecting to.." message when using
7138 http or first time for ftp since subsequent connections will be fast.
7139 (processdirlisting): Allocate space for "N" when user has specified
7140 "N"ever option so that it can be subsequently freed.
7141 (main): Abort if we can't get the list of mirrors.
7142
37ee316b
CF
7143Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
7144
7145 * setup.c (main): Umount /bin and /lib.
7146
a59fb4fa
CF
7147Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
7148
7149 * setup.c (main): Create an empty /var/run/utmp.
7150
75f4b861
CF
7151Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
7152
7153 * Makefile.in: Add umount to list of files to include in setup.exe.
7154 * setup.c (xumount): New function for unmounting directories.
7155 (main): Unmount /usr.
7156 (mkmount): Unmount "unix directory" before trying to figure out where
7157 to create the directory.
7158
d4a66789
CF
7159Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
7160
7161 * setup.c (mkmount): Use xcreate_process to start mount process,
7162 avoiding the shell.
7163 (main): Don't do buffering on stdout or prompts won't be displayed
7164 correctly if running in a cygwin shell with CYGWIN=tty.
7165
a6c3982d
CF
7166Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
7167
7168 * setup.c (main): Remove the CYGWIN environment variable before
7169 starting any cygwin programs.
7170
0ffd5e3b
CF
7171Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
7172
7173 * setup.c (geturl): Use alternative method for finding filename part of
7174 a URL.
7175 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
7176 (downloaddir): Unlink file containing dir listing.
7177 (downloadfrom): Ditto.
7178
3e54bcf9
CF
7179Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
7180
7181 * setup.c (main): Disallow running setup.exe from the "root".
7182
005b73c4
CF
7183Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
7184
2cf65e6e 7185 Use "warning" function, where appropriate, to output warnings.
005b73c4
CF
7186 * setup.c (warning): New function -- outputs warning to console and log
7187 file.
7188 (tarx): Fix index used to reset file protection.
7189 (main): Open the log file earlier so that more stuff can be sent to it.
7190
36dc5fc8
CF
7191Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
7192
7193 * setup.c (processdirlisting): Make "N" option a little less aggressive.
7194
c73320de
CF
7195Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
7196
7197 * setup.c (tarx): Wait to after tar has completed to reset protections
7198 or suffer races with tar process.
7199
68cdfc92
CF
7200Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
7201
7202 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
7203 * setup.c (create_uninstall): Create the uninstall .bat file in the
7204 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
7205 list of files to be deleted. Fix directory detection for determining
7206 when to use 'rmdir'.
7207 (do_start_menu): Add /usr/local/bin to the path.
7208 (main): Add slop to files.array allocation so that we don't have to
7209 worry about reallocating the array when it grows too large when doing
7210 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
7211 files.
7212
35d18861
CF
7213Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
7214
7215 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
7216 download.
7217
20904de1
CF
7218Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
7219
7220 * path.c (kill_cygpath): New cleanup function.
7221 (exit_cygpath): New cleanup function.
7222 (cygpath_pipe): New function. Sets up cygpath in the background for
7223 translating filenames.
7224 (pathcvt): Use background cygpath for file translation.
7225 * setup.c (tarx): New function. Called to extract tar files, capture
7226 logging output, and translate it to Windows format.
7227 (recurse_dirs): Use 'tarx' function to extract files.
7228 (create_uninstall): Use file list built up by tarx rather than reading
7229 the log file.
7230 (mkmount): Add ability to mount root.
7231 (main): Track elapsed install time. Mount root.
7232 * starry.h: Add index field to strarry for tracking of tarx's usage of
7233 this structure.
7234 * xsystem.c (xcreate_process): Return proces handle when not waiting.
7235
c1246750
CF
7236Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
7237
7238 * path.c: New file.
7239 (pathfp): New function. Preliminary work for new -f cygpath
7240 functionality.
7241 * Makefile.in: Add new file.
7242 (pathcvt): Move to new file.
7243 (dtoupath): Ditto.
7244 (utodpath): Ditto.
7245 (pathcat): Ditto.
7246 * setup.c (processdirlisting): Always open file in text mode.
7247 (create_uninstall): Ditto.
7248 (getdownloadsource): Ditto.
7249 (main): Ditto.
7250
4b40edd0
CF
7251Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
7252
7253 * xsystem.c: New file.
7254 * Makefile.in: Accomodate new file.
7255 * setup.c (xsystem): Move to new file.
7256 (recurse_dirs): Accept handle to output log file. Don't use ">"
7257 redirection to trap tar output. Use supplied handle instead.
7258 (create_uninstall): Accept FILE pointer to opened log file. Don't
7259 unlink log file here.
7260 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
7261 (main): Open log file here and pass it to various functions. Unlink
7262 when done.
7263
6f8e3b45
CF
7264Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
7265
7266 Change occurrences of .usr.bin to .bin throughout.
7267 * setup.c (geturl): Increase number of retries to 20. Let user know
7268 what's going on during long connects.
7269 (processdirlisting): Accept "A"lways and "N"ever as update options.
7270 (create_uninstall): Load cygwin1.dll from the current directory rather
7271 than \bin.
7272 (main): Add some expository text.
7273
2a907b70
CF
7274Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
7275
7276 * Makefile.in: Change method for compressing cygwin1.dll to avoid
7277 creating a cygwin1.dll in the current directory. Ensure the addition
7278 of -nostdinc to MINGW_CFLAGS.
7279
c4285a3c
CF
7280Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
7281
7282 * Makefile.in: Augment clean target.
7283
ea615d51
RP
7284Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
7285
7286 * README: Added info about non-working mingw implementation
c1246750 7287 * gzip.exe.gz: Replace with a version from the same build as the other
ea615d51 7288 tools.
c1246750 7289 * tar.exe.gz: Replace with a version from the same build as the other
ea615d51 7290 tools.
c1246750 7291 * mount.exe.gz: Add to repository until, mingw can build setup.
ea615d51
RP
7292 * cygpath.exe.gz: ditto
7293 * cygwin1.dll.gz: ditto
c1246750
CF
7294 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
7295 for Win9x. Display only a screenfull of options at a time. Call all
7296 tools with an absolute path.
7297 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
7298 them.
ea615d51
RP
7299 * setup.dsw: ditto
7300 * zlib.dsw: ditto
7301
51954e74
CF
7302Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
7303
c1246750
CF
7304 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
7305 cygwin1.dll from ../cygwin subdirectory.
51954e74
CF
7306 * gzip.exe.gz: Update.
7307 * tar.exe.gz: Update.
7308
7b777418
CF
7309Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
7310
7311 * Makefile.in: Use ZLIB variable as a target.
7312
4306b490
CF
7313Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
7314
5e7eb909
CF
7315 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
7316 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
7317 sources.
4306b490
CF
7318 * configure.in: Locate correct objcopy.
7319 * configure: Regenerate.
7320
739457f4
CF
7321Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
7322
7323 * Makefile.in: New file.
7324 * configure.in: New file.
7325 * configure: New file.
7326 * zlib/Makefile.am: New file.
7327 * zlib/configure.in: New file.
7328 * zlib/aclocal.m4: New file.
7329 * zlib/acinclude.m4: New file.
7330 * zlib/configure: Regenerate from configure.in.
7331 * zlib/Makefile.in: Regenerate from Makefile.am
8507f105
DD
7332
7333%%% $Id$
7334$Revision$
This page took 0.92838 seconds and 5 git commands to generate.