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