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