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